diff --git a/.travis.yml b/.travis.yml index 05c2a5437..877734759 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: python dist: xenial -sudo: false matrix: include: @@ -13,29 +12,33 @@ matrix: env: TOX_ENV='docs' - python: 3.6 env: TOX_ENV='frontend' - # Django 1.11 - - python: 3.4 - env: DJANGO='dj111' SWAP='noswap' + # Django 2.2 - python: 3.5 - env: DJANGO='dj111' SWAP='noswap' - - python: 3.6 - env: DJANGO='dj111' SWAP='noswap' + env: DJANGO='dj22' SWAP='swap' - python: 3.6 - env: DJANGO='dj111' SWAP='swap' - # Django 2.2 - - python: 3.7 env: DJANGO='dj22' SWAP='noswap' - - python: 3.8 - env: DJANGO='dj22' SWAP='swap' - # Django 3.0 - python: 3.7 - env: DJANGO='dj30' SWAP='noswap' + env: DJANGO='dj22' SWAP='swap' - python: 3.8 + env: DJANGO='dj22' SWAP='noswap' + # Django 3.0, always run the lowest supported version + - python: 3.6 env: DJANGO='dj30' SWAP='swap' + - python: 3.6 + env: DJANGO='dj30' SWAP='noswap' + # Django 3.1, always run the lowest supported version + - python: 3.6 + env: DJANGO='dj31' SWAP='swap' + - python: 3.6 + env: DJANGO='dj31' SWAP='noswap' + allow_failures: + - python: 3.6 + env: DJANGO='dj31' SWAP='swap' + - python: 3.6 + env: DJANGO='dj31' SWAP='noswap' install: - pip install coverage isort tox - - "if [[ $TRAVIS_PYTHON_VERSION == '3.4' ]]; then export PY_VER=py34; fi" - "if [[ $TRAVIS_PYTHON_VERSION == '3.5' ]]; then export PY_VER=py35; fi" - "if [[ $TRAVIS_PYTHON_VERSION == '3.6' ]]; then export PY_VER=py36; fi" - "if [[ $TRAVIS_PYTHON_VERSION == '3.7' ]]; then export PY_VER=py37; fi" @@ -44,6 +47,7 @@ install: before_script: - if [ $TOX_ENV == 'frontend' ]; then + pip install -r tests/requirements/frontend.txt; nvm install 0.12.7 && nvm use 0.12.7; npm config set spin false; npm install -g npm@2; diff --git a/CHANGELOG.rst b/CHANGELOG.rst index cdeb36c75..ac0955ba0 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,9 +2,13 @@ CHANGELOG ========= -Next Version -============ +2.0.0 (unreleased) +================== + +* Added support for Django 3.1 +* Dropped support for Python 2.7 and Python 3.4 +* Dropped support for Django < 2.2 * Changed the preferred way to do model registration via model inheritance and ``mptt.AlreadyRegistered``, which is deprecated since django-mptt 0.4 diff --git a/LICENSE.txt b/LICENSE similarity index 100% rename from LICENSE.txt rename to LICENSE diff --git a/MANIFEST.in b/MANIFEST.in index 9a493f941..a1e2b374f 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,4 @@ -include LICENSE.txt +include LICENSE include README.rst recursive-include filer/locale * recursive-include filer/static * diff --git a/README.rst b/README.rst index 7c0e198e2..2ae2f08be 100644 --- a/README.rst +++ b/README.rst @@ -51,7 +51,7 @@ for all the details on how to install, configure and use django-filer. .. |coverage| image:: https://codecov.io/gh/divio/django-filer/branch/master/graph/badge.svg :target: https://codecov.io/gh/divio/django-filer -.. |python| image:: https://img.shields.io/badge/python-2.7%20%7C%203.4+-blue.svg +.. |python| image:: https://img.shields.io/badge/python-3.5+-blue.svg :target: https://pypi.org/project/django-filer/ -.. |django| image:: https://img.shields.io/badge/django-1.11%20%7C%202.1%20%7C%202.2-blue.svg +.. |django| image:: https://img.shields.io/badge/django-2.2,%203.0,%203.1-blue.svg :target: https://www.djangoproject.com/ diff --git a/aldryn_config.py b/aldryn_config.py index 8f2124588..d103249d3 100644 --- a/aldryn_config.py +++ b/aldryn_config.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from aldryn_client import forms diff --git a/docs/conf.py b/docs/conf.py index d8fa9695d..f8723efad 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # # django-filer documentation build configuration file, created by # sphinx-quickstart on Tue Nov 16 22:05:55 2010. @@ -11,12 +10,13 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys, os -sys.path.append(os.path.abspath('../')) import datetime +import os +import sys -from filer import __version__ +sys.path.append(os.path.abspath('../')) +from filer import __version__ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the diff --git a/docs/installation.rst b/docs/installation.rst index 96db1c3e1..0e1b508c9 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -14,7 +14,7 @@ The easiest way to get ``django-filer`` is simply install it with `pip`_:: Dependencies ------------ -* `Django`_ >= 1.11 +* `Django`_ >= 2.2 * `django-mptt`_ >=0.6 * `easy_thumbnails`_ >= 2.0 * `django-polymorphic`_ >= 0.7 @@ -28,9 +28,9 @@ check `Pillow doc`_. `django-polymorphic`_ version depends on `Django`_ version: -* for `Django`_ >=1.8,<1.11 use `django-polymorphic`_ 1.3.1 -* for `Django`_ >=1.11 use `django-polymorphic`_ >=2.0 +* for `Django`_ >=2.2 use `django-polymorphic`_ >=2.0 * for `Django`_ >=3.0 use `django-polymorphic`_ >=2.1 +* for `Django`_ >=3.1 use `django-polymorphic`_ >=3.0 Configuration ------------- diff --git a/filer/__init__.py b/filer/__init__.py index 71690e042..b8372e2c9 100644 --- a/filer/__init__.py +++ b/filer/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ See PEP 386 (https://www.python.org/dev/peps/pep-0386/) diff --git a/filer/admin/__init__.py b/filer/admin/__init__.py index 3a0b7f0df..1543f1535 100644 --- a/filer/admin/__init__.py +++ b/filer/admin/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.contrib import admin from ..models import Clipboard, File, Folder, FolderPermission, ThumbnailOption diff --git a/filer/admin/clipboardadmin.py b/filer/admin/clipboardadmin.py index 499fdbc57..c4644dabf 100644 --- a/filer/admin/clipboardadmin.py +++ b/filer/admin/clipboardadmin.py @@ -1,10 +1,7 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -from django.conf.urls import url from django.contrib import admin from django.forms.models import modelform_factory from django.http import JsonResponse +from django.urls import re_path from django.views.decorators.csrf import csrf_exempt from .. import settings as filer_settings @@ -40,22 +37,22 @@ class ClipboardAdmin(admin.ModelAdmin): def get_urls(self): return [ - url(r'^operations/paste_clipboard_to_folder/$', - self.admin_site.admin_view(views.paste_clipboard_to_folder), - name='filer-paste_clipboard_to_folder'), - url(r'^operations/discard_clipboard/$', - self.admin_site.admin_view(views.discard_clipboard), - name='filer-discard_clipboard'), - url(r'^operations/delete_clipboard/$', - self.admin_site.admin_view(views.delete_clipboard), - name='filer-delete_clipboard'), - url(r'^operations/upload/(?P[0-9]+)/$', - ajax_upload, - name='filer-ajax_upload'), - url(r'^operations/upload/no_folder/$', - ajax_upload, - name='filer-ajax_upload'), - ] + super(ClipboardAdmin, self).get_urls() + re_path(r'^operations/paste_clipboard_to_folder/$', + self.admin_site.admin_view(views.paste_clipboard_to_folder), + name='filer-paste_clipboard_to_folder'), + re_path(r'^operations/discard_clipboard/$', + self.admin_site.admin_view(views.discard_clipboard), + name='filer-discard_clipboard'), + re_path(r'^operations/delete_clipboard/$', + self.admin_site.admin_view(views.delete_clipboard), + name='filer-delete_clipboard'), + re_path(r'^operations/upload/(?P[0-9]+)/$', + ajax_upload, + name='filer-ajax_upload'), + re_path(r'^operations/upload/no_folder/$', + ajax_upload, + name='filer-ajax_upload'), + ] + super().get_urls() def get_model_perms(self, *args, **kwargs): """ diff --git a/filer/admin/fileadmin.py b/filer/admin/fileadmin.py index bf8f16a4b..737566d23 100644 --- a/filer/admin/fileadmin.py +++ b/filer/admin/fileadmin.py @@ -1,12 +1,9 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django import forms from django.contrib.admin.utils import unquote from django.http import HttpResponseRedirect from django.urls import reverse from django.utils.safestring import mark_safe -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ from .. import settings from ..models import File @@ -15,7 +12,7 @@ class FileAdminChangeFrom(forms.ModelForm): - class Meta(object): + class Meta: model = File exclude = () @@ -82,7 +79,7 @@ def response_change(self, request, obj): admin_url_params_encoded(request), ) return HttpResponseRedirect(url) - return super(FileAdmin, self).response_change(request, obj) + return super().response_change(request, obj) def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None): @@ -92,7 +89,7 @@ def render_change_form(self, request, context, add=False, change=False, 'is_popup': popup_status(request), 'filer_admin_context': AdminContext(request)} context.update(extra_context) - return super(FileAdmin, self).render_change_form( + return super().render_change_form( request=request, context=context, add=add, change=change, form_url=form_url, obj=obj) @@ -113,7 +110,7 @@ def delete_view(self, request, object_id, extra_context=None): if request.POST: # Return to folder listing, since there is no usable file listing. - super(FileAdmin, self).delete_view( + super().delete_view( request=request, object_id=object_id, extra_context=extra_context) if parent_folder: @@ -127,7 +124,7 @@ def delete_view(self, request, object_id, extra_context=None): ) return HttpResponseRedirect(url) - return super(FileAdmin, self).delete_view( + return super().delete_view( request=request, object_id=object_id, extra_context=extra_context) diff --git a/filer/admin/folderadmin.py b/filer/admin/folderadmin.py index 4490c58e5..49d1d5133 100644 --- a/filer/admin/folderadmin.py +++ b/filer/admin/folderadmin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, division, unicode_literals - import itertools import os import re @@ -8,7 +5,6 @@ from django import forms from django.conf import settings as django_settings -from django.conf.urls import url from django.contrib import messages from django.contrib.admin import helpers from django.contrib.admin.utils import capfirst, quote, unquote @@ -17,13 +13,13 @@ from django.db import models, router from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import get_object_or_404, render -from django.urls import reverse +from django.urls import re_path, reverse from django.utils.encoding import force_text from django.utils.html import escape from django.utils.http import urlquote, urlunquote from django.utils.safestring import mark_safe -from django.utils.translation import ugettext as _ -from django.utils.translation import ugettext_lazy, ungettext +from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy, ungettext from .. import settings from ..models import ( @@ -52,7 +48,7 @@ class AddFolderPopupForm(forms.ModelForm): folder = forms.HiddenInput() - class Meta(object): + class Meta: model = Folder fields = ('name',) @@ -83,7 +79,7 @@ def get_form(self, request, obj=None, **kwargs): if parent_id: return AddFolderPopupForm else: - folder_form = super(FolderAdmin, self).get_form( + folder_form = super().get_form( request, obj=None, **kwargs) def folder_form_clean(form_obj): @@ -139,7 +135,7 @@ def response_change(self, request, obj): admin_url_params_encoded(request), ) return HttpResponseRedirect(url) - return super(FolderAdmin, self).response_change(request, obj) + return super().response_change(request, obj) def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None): @@ -149,7 +145,7 @@ def render_change_form(self, request, context, add=False, change=False, 'is_popup': popup_status(request), 'filer_admin_context': AdminContext(request)} context.update(extra_context) - return super(FolderAdmin, self).render_change_form( + return super().render_change_form( request=request, context=context, add=add, change=change, form_url=form_url, obj=obj) @@ -208,36 +204,36 @@ def get_urls(self): return [ # we override the default list view with our own directory listing # of the root directories - url(r'^$', - self.admin_site.admin_view(self.directory_listing), - name='filer-directory_listing-root'), - - url(r'^last/$', - self.admin_site.admin_view(self.directory_listing), - {'viewtype': 'last'}, - name='filer-directory_listing-last'), - - url(r'^(?P\d+)/list/$', - self.admin_site.admin_view(self.directory_listing), - name='filer-directory_listing'), - - url(r'^(?P\d+)/make_folder/$', - self.admin_site.admin_view(views.make_folder), - name='filer-directory_listing-make_folder'), - url(r'^make_folder/$', - self.admin_site.admin_view(views.make_folder), - name='filer-directory_listing-make_root_folder'), - - url(r'^images_with_missing_data/$', - self.admin_site.admin_view(self.directory_listing), - {'viewtype': 'images_with_missing_data'}, - name='filer-directory_listing-images_with_missing_data'), - - url(r'^unfiled_images/$', - self.admin_site.admin_view(self.directory_listing), - {'viewtype': 'unfiled_images'}, - name='filer-directory_listing-unfiled_images'), - ] + super(FolderAdmin, self).get_urls() + re_path(r'^$', + self.admin_site.admin_view(self.directory_listing), + name='filer-directory_listing-root'), + + re_path(r'^last/$', + self.admin_site.admin_view(self.directory_listing), + {'viewtype': 'last'}, + name='filer-directory_listing-last'), + + re_path(r'^(?P\d+)/list/$', + self.admin_site.admin_view(self.directory_listing), + name='filer-directory_listing'), + + re_path(r'^(?P\d+)/make_folder/$', + self.admin_site.admin_view(views.make_folder), + name='filer-directory_listing-make_folder'), + re_path(r'^make_folder/$', + self.admin_site.admin_view(views.make_folder), + name='filer-directory_listing-make_root_folder'), + + re_path(r'^images_with_missing_data/$', + self.admin_site.admin_view(self.directory_listing), + {'viewtype': 'images_with_missing_data'}, + name='filer-directory_listing-images_with_missing_data'), + + re_path(r'^unfiled_images/$', + self.admin_site.admin_view(self.directory_listing), + {'viewtype': 'unfiled_images'}, + name='filer-directory_listing-unfiled_images'), + ] + super().get_urls() # custom views def directory_listing(self, request, folder_id=None, viewtype=None): @@ -484,12 +480,9 @@ def owner_search_fields(self): User model. For the built-in User model, that means username, first_name, last_name, and email. """ - try: - from django.contrib.auth import get_user_model - except ImportError: # Django < 1.5 - from django.contrib.auth.models import User - else: - User = get_user_model() + from django.contrib.auth import get_user_model + User = get_user_model() + return [ field.name for field in User._meta.fields if isinstance(field, models.CharField) and field.name != 'password' @@ -585,9 +578,9 @@ def get_actions(self, request): actions = OrderedDict() actions['files_set_public'] = self.get_action('files_set_public') actions['files_set_private'] = self.get_action('files_set_private') - actions.update(super(FolderAdmin, self).get_actions(request)) + actions.update(super().get_actions(request)) else: - actions = super(FolderAdmin, self).get_actions(request) + actions = super().get_actions(request) if 'delete_selected' in actions: del actions['delete_selected'] @@ -633,7 +626,7 @@ def move_folders(folders): return None - move_to_clipboard.short_description = ugettext_lazy( + move_to_clipboard.short_description = gettext_lazy( "Move selected files to clipboard") def files_set_public_or_private(self, request, set_public, files_queryset, @@ -684,14 +677,14 @@ def files_set_private(self, request, files_queryset, folders_queryset): return self.files_set_public_or_private(request, False, files_queryset, folders_queryset) - files_set_private.short_description = ugettext_lazy( + files_set_private.short_description = gettext_lazy( "Enable permissions for selected files") def files_set_public(self, request, files_queryset, folders_queryset): return self.files_set_public_or_private(request, True, files_queryset, folders_queryset) - files_set_public.short_description = ugettext_lazy( + files_set_public.short_description = gettext_lazy( "Disable permissions for selected files") def delete_files_or_folders(self, request, files_queryset, folders_queryset): @@ -791,7 +784,7 @@ def delete_files_or_folders(self, request, files_queryset, folders_queryset): context ) - delete_files_or_folders.short_description = ugettext_lazy( + delete_files_or_folders.short_description = gettext_lazy( "Delete selected files and/or folders") # Copied from django.contrib.admin.util @@ -936,7 +929,7 @@ def move_files_and_folders(self, request, files_queryset, folders_queryset): # Display the destination folder selection page return render(request, "admin/filer/folder/choose_move_destination.html", context) - move_files_and_folders.short_description = ugettext_lazy("Move selected files and/or folders") + move_files_and_folders.short_description = gettext_lazy("Move selected files and/or folders") def _rename_file(self, file_obj, form_data, counter, global_counter): original_basename, original_extension = os.path.splitext(file_obj.original_filename) @@ -1019,7 +1012,7 @@ def rename_files(self, request, files_queryset, folders_queryset): # Display the rename format selection page return render(request, "admin/filer/folder/choose_rename_format.html", context) - rename_files.short_description = ugettext_lazy("Rename files") + rename_files.short_description = gettext_lazy("Rename files") def _generate_new_filename(self, filename, suffix): basename, extension = os.path.splitext(filename) @@ -1151,7 +1144,7 @@ def copy_files_and_folders(self, request, files_queryset, folders_queryset): # Display the destination folder selection page return render(request, "admin/filer/folder/choose_copy_destination.html", context) - copy_files_and_folders.short_description = ugettext_lazy("Copy selected files and/or folders") + copy_files_and_folders.short_description = gettext_lazy("Copy selected files and/or folders") def _check_resize_perms(self, request, files_queryset, folders_queryset): try: @@ -1281,4 +1274,4 @@ def resize_images(self, request, files_queryset, folders_queryset): # Display the resize options page return render(request, "admin/filer/folder/choose_images_resize_options.html", context) - resize_images.short_description = ugettext_lazy("Resize selected images") + resize_images.short_description = gettext_lazy("Resize selected images") diff --git a/filer/admin/forms.py b/filer/admin/forms.py index da865d91b..75194b452 100644 --- a/filer/admin/forms.py +++ b/filer/admin/forms.py @@ -1,18 +1,15 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django import forms from django.conf import settings from django.contrib.admin import widgets from django.core.exceptions import ValidationError from django.db import models -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ from ..models import ThumbnailOption from ..utils.files import get_valid_filename -class AsPWithHelpMixin(object): +class AsPWithHelpMixin: def as_p_with_help(self): "Returns this form rendered as HTML

s with help text formated for admin." return self._html_output( diff --git a/filer/admin/imageadmin.py b/filer/admin/imageadmin.py index f8bc4724f..d0062b3fe 100644 --- a/filer/admin/imageadmin.py +++ b/filer/admin/imageadmin.py @@ -1,9 +1,6 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django import forms -from django.utils.translation import ugettext as _ -from django.utils.translation import ugettext_lazy +from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy from ..settings import FILER_IMAGE_MODEL from ..thumbnail_processors import normalize_subject_location @@ -47,7 +44,7 @@ def clean_subject_location(self): for subject location widget to receive valid coordinates on field validation errors. """ - cleaned_data = super(ImageAdminForm, self).clean() + cleaned_data = super().clean() subject_location = cleaned_data['subject_location'] if not subject_location: # if supplied subject location is empty, do not check it @@ -57,14 +54,14 @@ def clean_subject_location(self): coordinates = normalize_subject_location(subject_location) if not coordinates: - err_msg = ugettext_lazy('Invalid subject location format. ') + err_msg = gettext_lazy('Invalid subject location format. ') err_code = 'invalid_subject_format' elif ( coordinates[0] > self.instance.width or coordinates[1] > self.instance.height ): - err_msg = ugettext_lazy( + err_msg = gettext_lazy( 'Subject location is outside of the image. ') err_code = 'subject_out_of_bounds' else: @@ -74,16 +71,16 @@ def clean_subject_location(self): raise forms.ValidationError( string_concat( err_msg, - ugettext_lazy('Your input: "{subject_location}". '.format( + gettext_lazy('Your input: "{subject_location}". '.format( subject_location=subject_location)), 'Previous value is restored.'), code=err_code) - class Meta(object): + class Meta: model = Image exclude = () - class Media(object): + class Media: css = { # 'all': (settings.MEDIA_URL + 'filer/css/focal_point.css',) } diff --git a/filer/admin/patched/__init__.py b/filer/admin/patched/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/admin/patched/__init__.py +++ b/filer/admin/patched/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/admin/patched/admin_utils.py b/filer/admin/patched/admin_utils.py index e91edae47..be84d5a5d 100644 --- a/filer/admin/patched/admin_utils.py +++ b/filer/admin/patched/admin_utils.py @@ -1,36 +1,28 @@ -# -*- coding: utf-8 -*- """ Copy of ``django.contrib.admin.utils.get_deleted_objects`` and a subclass of -``django.contrib.admin.utils.NestedObjects`` that work with djongo_polymorphic +``django.contrib.admin.utils.NestedObjects`` that work with django-polymorphic querysets. -Ultimatly these should go directly into django_polymorphic or, in a more -generic way, into django itself. +Ultimately these should go directly into django-polymorphic or, in a more +generic way, into Django itself. This code has been copied from Django 1.9.4. At all locations where something has been changed, there are inline comments in the code. """ -from __future__ import absolute_import, unicode_literals - from collections import defaultdict +from django import VERSION as DJANGO_VERSION from django.contrib.admin.utils import quote from django.contrib.auth import get_permission_codename from django.db import models from django.db.models.deletion import Collector from django.urls import NoReverseMatch, reverse +from django.utils.encoding import force_text from django.utils.html import format_html from django.utils.text import capfirst -try: - from django.utils.encoding import force_text -except ImportError: - # Django < 1.5 - from django.utils.encoding import force_unicode as force_text - - def get_deleted_objects(objs, opts, user, admin_site, using): """ Find all objects related to ``objs`` that should also be deleted. ``objs`` @@ -86,7 +78,7 @@ def format_callback(obj): class NestedObjects(Collector): def __init__(self, *args, **kwargs): - super(NestedObjects, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.edges = {} # {from_instance: [to_instances]} self.protected = set() self.model_objs = defaultdict(set) @@ -106,13 +98,18 @@ def collect(self, objs, source=None, source_attr=None, **kwargs): self.add_edge(None, obj) self.model_objs[obj._meta.model].add(obj) try: - return super(NestedObjects, self).collect(objs, source_attr=source_attr, **kwargs) + return super().collect(objs, source_attr=source_attr, **kwargs) except models.ProtectedError as e: self.protected.update(e.protected_objects) - def related_objects(self, related, objs): - qs = super(NestedObjects, self).related_objects(related, objs) - return qs.select_related(related.field.name) + if DJANGO_VERSION >= (3, 1): + def related_objects(self, related_model, related_fields, objs): + qs = super().related_objects(related_model, related_fields, objs) + return qs.select_related(*[related.name for related in related_fields]) + else: + def related_objects(self, related, objs): + qs = super().related_objects(related, objs) + return qs.select_related(related.field.name) def _nested(self, obj, seen, format_callback): if obj in seen: @@ -153,5 +150,5 @@ def collect(self, objs, source_attr=None, **kwargs): # .filter() is needed, because there may already be cached # polymorphic results in the queryset objs = objs.non_polymorphic().filter() - return super(PolymorphicAwareNestedObjects, self).collect( + return super().collect( objs, source_attr=source_attr, **kwargs) diff --git a/filer/admin/permissionadmin.py b/filer/admin/permissionadmin.py index 88eea9a9b..9c63a69c9 100644 --- a/filer/admin/permissionadmin.py +++ b/filer/admin/permissionadmin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.contrib import admin from .. import settings @@ -27,7 +24,7 @@ def formfield_for_foreignkey(self, db_field, request, **kwargs): except AttributeError: remote = db_field.rel kwargs['widget'] = folder.AdminFolderWidget(remote, self.admin_site, using=db) - return super(PermissionAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) + return super().formfield_for_foreignkey(db_field, request, **kwargs) def get_model_perms(self, request): # don't display the permissions admin if permissions are disabled. diff --git a/filer/admin/permissions.py b/filer/admin/permissions.py index 49e9e5f18..a060ea924 100644 --- a/filer/admin/permissions.py +++ b/filer/admin/permissions.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.contrib import admin from django.urls import reverse diff --git a/filer/admin/thumbnailoptionadmin.py b/filer/admin/thumbnailoptionadmin.py index bed9d4cdd..9bdf5ff26 100644 --- a/filer/admin/thumbnailoptionadmin.py +++ b/filer/admin/thumbnailoptionadmin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.contrib import admin diff --git a/filer/admin/tools.py b/filer/admin/tools.py index 29d1b7686..30b48fdc2 100644 --- a/filer/admin/tools.py +++ b/filer/admin/tools.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - from django.contrib.admin.options import IS_POPUP_VAR from django.core.exceptions import PermissionDenied from django.utils.http import urlencode @@ -93,7 +90,7 @@ def admin_url_params_encoded(request, first_separator='?', params=None): class AdminContext(dict): def __init__(self, request): - super(AdminContext, self).__init__() + super().__init__() self.update(admin_url_params(request)) def __missing__(self, key): diff --git a/filer/admin/views.py b/filer/admin/views.py index 394384509..af612fe31 100644 --- a/filer/admin/views.py +++ b/filer/admin/views.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - from django import forms from django.contrib import admin from django.contrib.admin import widgets @@ -9,7 +6,7 @@ from django.http import HttpResponseRedirect from django.http.response import HttpResponseBadRequest from django.shortcuts import render -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from .. import settings as filer_settings from ..models import Clipboard, Folder, FolderRoot, tools @@ -17,7 +14,7 @@ class NewFolderForm(forms.ModelForm): - class Meta(object): + class Meta: model = Folder fields = ('name',) widgets = { diff --git a/filer/apps.py b/filer/apps.py index 4719f2f61..7bd84a295 100644 --- a/filer/apps.py +++ b/filer/apps.py @@ -1,8 +1,5 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.apps import AppConfig -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ class FilerConfig(AppConfig): diff --git a/filer/contrib/__init__.py b/filer/contrib/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/contrib/__init__.py +++ b/filer/contrib/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/contrib/django_cms/__init__.py b/filer/contrib/django_cms/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/contrib/django_cms/__init__.py +++ b/filer/contrib/django_cms/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/contrib/django_cms/cms_toolbars.py b/filer/contrib/django_cms/cms_toolbars.py index a53b47802..d65ae55a9 100644 --- a/filer/contrib/django_cms/cms_toolbars.py +++ b/filer/contrib/django_cms/cms_toolbars.py @@ -1,9 +1,6 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.urls import reverse from django.utils.encoding import force_text -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from cms.cms_toolbars import ADMIN_MENU_IDENTIFIER, ADMINISTRATION_BREAK from cms.toolbar.items import Break diff --git a/filer/fields/__init__.py b/filer/fields/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/fields/__init__.py +++ b/filer/fields/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/fields/file.py b/filer/fields/file.py index af368ba11..798b96d8d 100644 --- a/filer/fields/file.py +++ b/filer/fields/file.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import logging import warnings @@ -57,7 +54,7 @@ def render(self, name, value, attrs=None, renderer=None): # rendering the super for ForeignKeyRawIdWidget on purpose here because # we only need the input and none of the other stuff that # ForeignKeyRawIdWidget adds - hidden_input = super(ForeignKeyRawIdWidget, self).render(name, value, attrs) + hidden_input = super(ForeignKeyRawIdWidget, self).render(name, value, attrs) # grandparent super context = { 'hidden_input': hidden_input, 'lookup_url': '%s%s' % (related_url, lookup_url), @@ -84,7 +81,7 @@ def obj_for_value(self, value): obj = None return obj - class Media(object): + class Media: extra = '' if settings.DEBUG else '.min' css = { 'all': [ @@ -111,7 +108,7 @@ def __init__(self, rel, queryset, to_field_name, *args, **kwargs): self.max_value = None self.min_value = None kwargs.pop('widget', None) - super(AdminFileFormField, self).__init__(queryset, widget=self.widget(rel, site), *args, **kwargs) + super().__init__(queryset, widget=self.widget(rel, site), *args, **kwargs) def widget_attrs(self, widget): widget.required = self.required @@ -127,13 +124,13 @@ def __init__(self, **kwargs): dfl = get_model_label(self.default_model_class) if "to" in kwargs.keys(): # pragma: no cover old_to = get_model_label(kwargs.pop("to")) - if old_to != dfl: + if old_to.lower() != dfl.lower(): msg = "%s can only be a ForeignKey to %s; %s passed" % ( self.__class__.__name__, dfl, old_to ) warnings.warn(msg, SyntaxWarning) kwargs['to'] = dfl - super(FilerFileField, self).__init__(**kwargs) + super().__init__(**kwargs) def formfield(self, **kwargs): # This is a fairly standard way to set up some defaults @@ -146,4 +143,4 @@ def formfield(self, **kwargs): except AttributeError: defaults['rel'] = self.rel defaults.update(kwargs) - return super(FilerFileField, self).formfield(**defaults) + return super().formfield(**defaults) diff --git a/filer/fields/folder.py b/filer/fields/folder.py index b78175f47..e9aced2ec 100644 --- a/filer/fields/folder.py +++ b/filer/fields/folder.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import warnings from django import forms @@ -50,7 +47,7 @@ def render(self, name, value, attrs=None, renderer=None): # The JavaScript looks for this hook. attrs['class'] = 'vForeignKeyRawIdAdminField' super_attrs = attrs.copy() - hidden_input = super(ForeignKeyRawIdWidget, self).render(name, value, super_attrs) + hidden_input = super(ForeignKeyRawIdWidget, self).render(name, value, super_attrs) # grandparent super # TODO: "id_" is hard-coded here. This should instead use the correct # API to determine the ID dynamically. @@ -83,7 +80,7 @@ def obj_for_value(self, value): obj = None return obj - class Media(object): + class Media: js = ( 'filer/js/addons/popup_handling.js', ) @@ -100,6 +97,7 @@ def __init__(self, rel, queryset, to_field_name, *args, **kwargs): self.max_value = None self.min_value = None kwargs.pop('widget', None) + kwargs.pop('blank', None) forms.Field.__init__(self, widget=self.widget(rel, site), *args, **kwargs) def widget_attrs(self, widget): @@ -116,13 +114,13 @@ def __init__(self, **kwargs): dfl = get_model_label(self.default_model_class) if "to" in kwargs.keys(): # pragma: no cover old_to = get_model_label(kwargs.pop("to")) - if old_to != dfl: + if old_to.lower() != dfl.lower(): msg = "%s can only be a ForeignKey to %s; %s passed" % ( self.__class__.__name__, dfl, old_to ) warnings.warn(msg, SyntaxWarning) kwargs['to'] = dfl - super(FilerFolderField, self).__init__(**kwargs) + super().__init__(**kwargs) def formfield(self, **kwargs): # This is a fairly standard way to set up some defaults @@ -135,4 +133,4 @@ def formfield(self, **kwargs): except AttributeError: defaults['rel'] = self.rel defaults.update(kwargs) - return super(FilerFolderField, self).formfield(**defaults) + return super().formfield(**defaults) diff --git a/filer/fields/image.py b/filer/fields/image.py index a96b456a2..d1ff162bb 100644 --- a/filer/fields/image.py +++ b/filer/fields/image.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from .. import settings from .file import AdminFileFormField, AdminFileWidget, FilerFileField diff --git a/filer/fields/multistorage_file.py b/filer/fields/multistorage_file.py index e2322da92..5b48414f2 100644 --- a/filer/fields/multistorage_file.py +++ b/filer/fields/multistorage_file.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import base64 import hashlib import warnings @@ -9,7 +6,6 @@ from django.core.files.base import ContentFile from django.db.models.fields.files import FileDescriptor -import six from easy_thumbnails import fields as easy_thumbnails_fields from easy_thumbnails import files as easy_thumbnails_files @@ -57,7 +53,7 @@ class MultiStorageFileDescriptor(FileDescriptor): def __set__(self, instance, value): prev_assigned = self.field.name in instance.__dict__ previous_file = instance.__dict__.get(self.field.name) - super(MultiStorageFileDescriptor, self).__set__(instance, value) + super().__set__(instance, value) # To prevent recalculating file data related attributes when we are instantiating # an object from the database, update only if the field had a value before this assignment. @@ -121,7 +117,7 @@ def _thumbnail_base_dir(self): def save(self, name, content, save=True): content.seek(0) # Ensure we upload the whole file - super(MultiStorageFieldFile, self).save(name, content, save) + super().save(name, content, save) class MultiStorageFileField(easy_thumbnails_fields.ThumbnailerField): @@ -141,10 +137,10 @@ def __init__(self, verbose_name=None, name=None, super(easy_thumbnails_fields.ThumbnailerField, self).__init__( verbose_name=verbose_name, name=name, upload_to=generate_filename_multistorage, - storage=None, **kwargs) + storage=None, **kwargs) # grandparent super def value_to_string(self, obj): - value = super(MultiStorageFileField, self).value_to_string(obj) + value = super().value_to_string(obj) if not filer_settings.FILER_DUMP_PAYLOAD: return value try: @@ -161,7 +157,7 @@ def value_to_string(self, obj): return value def to_python(self, value): - if isinstance(value, list) and len(value) == 2 and isinstance(value[0], six.text_type): + if isinstance(value, list) and len(value) == 2 and isinstance(value[0], str): filename, payload = value try: payload = base64.b64decode(payload) diff --git a/filer/management/__init__.py b/filer/management/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/management/__init__.py +++ b/filer/management/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/management/commands/__init__.py b/filer/management/commands/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/management/commands/__init__.py +++ b/filer/management/commands/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/management/commands/filer_check.py b/filer/management/commands/filer_check.py index 9c00f543f..3a2de61b3 100644 --- a/filer/management/commands/filer_check.py +++ b/filer/management/commands/filer_check.py @@ -1,14 +1,9 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os from django.core.files.storage import DefaultStorage from django.core.management.base import BaseCommand from django.utils.module_loading import import_string -from six.moves import input - from filer import settings as filer_settings diff --git a/filer/management/commands/generate_thumbnails.py b/filer/management/commands/generate_thumbnails.py index 7fa97e810..64bf3df2f 100644 --- a/filer/management/commands/generate_thumbnails.py +++ b/filer/management/commands/generate_thumbnails.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.core.management.base import BaseCommand from filer.models.imagemodels import Image diff --git a/filer/management/commands/import_files.py b/filer/management/commands/import_files.py index 51e19fe48..dd1f20778 100644 --- a/filer/management/commands/import_files.py +++ b/filer/management/commands/import_files.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import os from django.core.files import File as DjangoFile @@ -9,14 +6,13 @@ from ...models.filemodels import File from ...models.foldermodels import Folder from ...settings import FILER_IMAGE_MODEL, FILER_IS_PUBLIC_DEFAULT -from ...utils.compatibility import upath from ...utils.loader import load_model Image = load_model(FILER_IMAGE_MODEL) -class FileImporter(object): +class FileImporter: def __init__(self, * args, **kwargs): self.path = kwargs.get('path') self.base_folder = kwargs.get('base_folder') @@ -84,9 +80,9 @@ def walker(self, path=None, base_folder=None): path = path or self.path or '' base_folder = base_folder or self.base_folder # prevent trailing slashes and other inconsistencies on path. - path = os.path.normpath(upath(path)) + path = os.path.normpath(path) if base_folder: - base_folder = os.path.normpath(upath(base_folder)) + base_folder = os.path.normpath(base_folder) print("The directory structure will be imported in %s" % (base_folder,)) if self.verbosity >= 1: print("Import the folders and files in %s" % (path,)) diff --git a/filer/migrations/0001_initial.py b/filer/migrations/0001_initial.py index 6f83ad5ba..3a8e3a499 100644 --- a/filer/migrations/0001_initial.py +++ b/filer/migrations/0001_initial.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import django.db.models.deletion from django.conf import settings from django.db import migrations, models diff --git a/filer/migrations/0002_auto_20150606_2003.py b/filer/migrations/0002_auto_20150606_2003.py index 0e1b4d42b..528a6b401 100644 --- a/filer/migrations/0002_auto_20150606_2003.py +++ b/filer/migrations/0002_auto_20150606_2003.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models diff --git a/filer/migrations/0003_thumbnailoption.py b/filer/migrations/0003_thumbnailoption.py index bb3f9a9b8..888913539 100644 --- a/filer/migrations/0003_thumbnailoption.py +++ b/filer/migrations/0003_thumbnailoption.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/filer/migrations/0004_auto_20160328_1434.py b/filer/migrations/0004_auto_20160328_1434.py index 47c1dfd02..c5bd4b4be 100644 --- a/filer/migrations/0004_auto_20160328_1434.py +++ b/filer/migrations/0004_auto_20160328_1434.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.4 on 2016-03-28 11:34 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/filer/migrations/0005_auto_20160623_1425.py b/filer/migrations/0005_auto_20160623_1425.py index 30df6855d..161f25060 100644 --- a/filer/migrations/0005_auto_20160623_1425.py +++ b/filer/migrations/0005_auto_20160623_1425.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.7 on 2016-06-23 18:25 -from __future__ import unicode_literals - import django.db.models.deletion from django.conf import settings from django.db import migrations, models diff --git a/filer/migrations/0006_auto_20160623_1627.py b/filer/migrations/0006_auto_20160623_1627.py index f35ac378b..dfda7b99a 100644 --- a/filer/migrations/0006_auto_20160623_1627.py +++ b/filer/migrations/0006_auto_20160623_1627.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.7 on 2016-06-23 20:27 -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models @@ -16,6 +13,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='image', name='file_ptr', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='%(app_label)s_%(class)s_file', serialize=False, to='filer.File'), + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='%(app_label)s_%(class)s_file', serialize=False, to='filer.File', parent_link=True), ), ] diff --git a/filer/migrations/0007_auto_20161016_1055.py b/filer/migrations/0007_auto_20161016_1055.py index d2c3b7500..8e2229e82 100644 --- a/filer/migrations/0007_auto_20161016_1055.py +++ b/filer/migrations/0007_auto_20161016_1055.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.2 on 2016-10-16 08:55 -from __future__ import unicode_literals - from django.db import migrations diff --git a/filer/migrations/0008_auto_20171117_1313.py b/filer/migrations/0008_auto_20171117_1313.py index 96794ea00..75d91c207 100644 --- a/filer/migrations/0008_auto_20171117_1313.py +++ b/filer/migrations/0008_auto_20171117_1313.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.13 on 2017-11-17 13:13 -from __future__ import unicode_literals - from django.db import migrations, models import filer.models.filemodels diff --git a/filer/migrations/0009_auto_20171220_1635.py b/filer/migrations/0009_auto_20171220_1635.py index 9383117bb..1558bc209 100644 --- a/filer/migrations/0009_auto_20171220_1635.py +++ b/filer/migrations/0009_auto_20171220_1635.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.7 on 2017-12-20 16:35 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/filer/migrations/0010_auto_20180414_2058.py b/filer/migrations/0010_auto_20180414_2058.py index 2916ed7d8..d5d0f1eb4 100644 --- a/filer/migrations/0010_auto_20180414_2058.py +++ b/filer/migrations/0010_auto_20180414_2058.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models @@ -15,6 +12,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='image', name='file_ptr', - field=models.OneToOneField(primary_key=True, serialize=False, related_name='filer_image_file', parent_link=True, to='filer.File', on_delete=django.db.models.deletion.CASCADE), + field=models.OneToOneField(primary_key=True, serialize=False, related_name='filer_image_file', parent_link=True, to='filer.File', on_delete=django.db.models.deletion.CASCADE, auto_created=False), ), ] diff --git a/filer/migrations/0011_auto_20190418_0137.py b/filer/migrations/0011_auto_20190418_0137.py index 2381f4a27..966c242a1 100644 --- a/filer/migrations/0011_auto_20190418_0137.py +++ b/filer/migrations/0011_auto_20190418_0137.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 2.2 on 2019-04-25 11:29 from django.db import migrations, models diff --git a/filer/migrations/__init__.py b/filer/migrations/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/migrations/__init__.py +++ b/filer/migrations/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/models/__init__.py b/filer/models/__init__.py index f50de4a75..de04ab0f4 100644 --- a/filer/models/__init__.py +++ b/filer/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from .clipboardmodels import * # noqa from .filemodels import * # noqa from .foldermodels import * # noqa diff --git a/filer/models/abstract.py b/filer/models/abstract.py index 1ace9a6bd..531214a0e 100644 --- a/filer/models/abstract.py +++ b/filer/models/abstract.py @@ -1,13 +1,8 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import logging import os from django.db import models -from django.utils.translation import ugettext_lazy as _ - -import six +from django.utils.translation import gettext_lazy as _ from .. import settings as filer_settings from ..utils.compatibility import PILImage @@ -57,7 +52,7 @@ def matches_file_type(cls, iname, ifile, request): return iext in ['.jpg', '.jpeg', '.png', '.gif'] def file_data_changed(self, post_init=False): - attrs_updated = super(BaseImage, self).file_data_changed(post_init=post_init) + attrs_updated = super().file_data_changed(post_init=post_init) if attrs_updated: try: try: @@ -76,7 +71,7 @@ def file_data_changed(self, post_init=False): def save(self, *args, **kwargs): self.has_all_mandatory_data = self._check_validity() - super(BaseImage, self).save(*args, **kwargs) + super().save(*args, **kwargs) def _check_validity(self): if not self.name: @@ -143,7 +138,7 @@ def height(self): def _generate_thumbnails(self, required_thumbnails): _thumbnails = {} - for name, opts in six.iteritems(required_thumbnails): + for name, opts in required_thumbnails.items(): try: opts.update({'subject_location': self.subject_location}) thumb = self.file.get_thumbnail(opts) @@ -181,7 +176,7 @@ def easy_thumbnails_thumbnailer(self): thumbnail_basedir=self.file.thumbnail_basedir) return tn - class Meta(object): + class Meta: app_label = 'filer' verbose_name = _('image') verbose_name_plural = _('images') diff --git a/filer/models/clipboardmodels.py b/filer/models/clipboardmodels.py index e4f253ae0..2a3248814 100644 --- a/filer/models/clipboardmodels.py +++ b/filer/models/clipboardmodels.py @@ -1,16 +1,10 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - from django.conf import settings from django.db import models -from django.utils.translation import ugettext_lazy as _ - -from six import python_2_unicode_compatible +from django.utils.translation import gettext_lazy as _ from . import filemodels -@python_2_unicode_compatible class Clipboard(models.Model): user = models.ForeignKey( getattr(settings, 'AUTH_USER_MODEL', 'auth.User'), @@ -37,7 +31,7 @@ def append_file(self, file_obj): def __str__(self): return "Clipboard %s of %s" % (self.id, self.user) - class Meta(object): + class Meta: app_label = 'filer' verbose_name = _('clipboard') verbose_name_plural = _('clipboards') @@ -55,7 +49,7 @@ class ClipboardItem(models.Model): on_delete=models.CASCADE, ) - class Meta(object): + class Meta: app_label = 'filer' verbose_name = _('clipboard item') verbose_name_plural = _('clipboard items') diff --git a/filer/models/filemodels.py b/filer/models/filemodels.py index bdd89c5d8..457f869a3 100644 --- a/filer/models/filemodels.py +++ b/filer/models/filemodels.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import hashlib import os from datetime import datetime @@ -10,9 +7,10 @@ from django.db import models from django.urls import NoReverseMatch, reverse from django.utils import timezone -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ -from six import python_2_unicode_compatible +from polymorphic.managers import PolymorphicManager +from polymorphic.models import PolymorphicModel from .. import settings as filer_settings from ..fields.multistorage_file import MultiStorageFileField @@ -20,14 +18,6 @@ from .foldermodels import Folder -try: - from polymorphic.models import PolymorphicModel - from polymorphic.managers import PolymorphicManager -except ImportError: - # django-polymorphic < 0.8 - from polymorphic import PolymorphicModel, PolymorphicManager - - class FileManager(PolymorphicManager): def find_all_duplicates(self): r = {} @@ -48,7 +38,6 @@ def is_public_default(): return filer_settings.FILER_IS_PUBLIC_DEFAULT -@python_2_unicode_compatible class File(PolymorphicModel, mixins.IconsMixin): file_type = 'File' _icon = "file" @@ -99,7 +88,7 @@ def matches_file_type(cls, iname, ifile, request): return True # I match all files... def __init__(self, *args, **kwargs): - super(File, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self._old_is_public = self.is_public self.file_data_changed(post_init=True) @@ -207,12 +196,12 @@ def save(self, *args, **kwargs): if self._old_is_public != self.is_public and self.pk: self._move_file() self._old_is_public = self.is_public - super(File, self).save(*args, **kwargs) + super().save(*args, **kwargs) save.alters_data = True def delete(self, *args, **kwargs): # Delete the model before the file - super(File, self).delete(*args, **kwargs) + super().delete(*args, **kwargs) # Delete the file if there are no other Files referencing it. if not File.objects.filter(file=self.file.name, is_public=self.is_public).exists(): self.file.delete(False) @@ -360,7 +349,7 @@ def logical_path(self): def duplicates(self): return File.objects.find_duplicates(self) - class Meta(object): + class Meta: app_label = 'filer' verbose_name = _('file') verbose_name_plural = _('files') diff --git a/filer/models/foldermodels.py b/filer/models/foldermodels.py index 651063fec..101f84429 100644 --- a/filer/models/foldermodels.py +++ b/filer/models/foldermodels.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - from django.conf import settings from django.contrib.auth import models as auth_models from django.core.exceptions import ValidationError @@ -8,10 +5,9 @@ from django.db.models import Q from django.urls import reverse from django.utils.http import urlquote -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ -from mptt.models import MPTTModel -from six import python_2_unicode_compatible +import mptt from .. import settings as filer_settings from . import mixins @@ -83,8 +79,7 @@ def __get_id_list(self, user, attr): return allow_list - deny_list -@python_2_unicode_compatible -class Folder(MPTTModel, mixins.IconsMixin): +class Folder(models.Model, mixins.IconsMixin): """ Represents a Folder that things (files) can be put into. Folders are *NOT* mirrored in the Filesystem and can have any unicode chars as their name. @@ -242,7 +237,7 @@ def contains_folder(self, folder_name): except Folder.DoesNotExist: return False - class Meta(object): + class Meta: # see: https://github.com/django-mptt/django-mptt/pull/577 index_together = (('tree_id', 'lft'),) unique_together = (('parent', 'name'),) @@ -254,7 +249,13 @@ class Meta(object): verbose_name_plural = _("Folders") -@python_2_unicode_compatible +# MPTT registration +try: + mptt.register(Folder) +except mptt.AlreadyRegistered: + pass + + class FolderPermission(models.Model): ALL = 0 THIS = 1 @@ -339,7 +340,7 @@ def clean(self): if not self.user and not self.group and not self.everybody: raise ValidationError('At least one of user, group, or "everybody" has to be selected.') - class Meta(object): + class Meta: verbose_name = _('folder permission') verbose_name_plural = _('folder permissions') app_label = 'filer' diff --git a/filer/models/imagemodels.py b/filer/models/imagemodels.py index a737899e5..372e41e6e 100644 --- a/filer/models/imagemodels.py +++ b/filer/models/imagemodels.py @@ -1,13 +1,10 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import logging from datetime import datetime from django.conf import settings from django.db import models from django.utils.timezone import get_current_timezone, make_aware, now -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from .abstract import BaseImage @@ -48,4 +45,4 @@ def save(self, *args, **kwargs): pass if self.date_taken is None: self.date_taken = now() - super(Image, self).save(*args, **kwargs) + super().save(*args, **kwargs) diff --git a/filer/models/mixins.py b/filer/models/mixins.py index 5329b3768..576655e13 100644 --- a/filer/models/mixins.py +++ b/filer/models/mixins.py @@ -1,12 +1,9 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.templatetags.static import static from ..settings import FILER_ADMIN_ICON_SIZES -class IconsMixin(object): +class IconsMixin: """ Can be used on any model that has a _icon attribute. will return a dict containing urls for icons of different sizes with that name. diff --git a/filer/models/thumbnailoptionmodels.py b/filer/models/thumbnailoptionmodels.py index cee756d60..41aa92fc1 100644 --- a/filer/models/thumbnailoptionmodels.py +++ b/filer/models/thumbnailoptionmodels.py @@ -1,13 +1,7 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - from django.db import models -from django.utils.translation import ugettext_lazy as _ - -from six import python_2_unicode_compatible +from django.utils.translation import gettext_lazy as _ -@python_2_unicode_compatible class ThumbnailOption(models.Model): """ This class defines the option use to create the thumbnail. diff --git a/filer/models/tools.py b/filer/models/tools.py index 5517b64c2..d7faf1d50 100644 --- a/filer/models/tools.py +++ b/filer/models/tools.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from . import Clipboard diff --git a/filer/models/virtualitems.py b/filer/models/virtualitems.py index 300d33f4f..16519fb82 100644 --- a/filer/models/virtualitems.py +++ b/filer/models/virtualitems.py @@ -1,8 +1,5 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from .. import settings as filer_settings from . import mixins diff --git a/filer/server/__init__.py b/filer/server/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/server/__init__.py +++ b/filer/server/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/server/backends/__init__.py b/filer/server/backends/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/server/backends/__init__.py +++ b/filer/server/backends/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/server/backends/base.py b/filer/server/backends/base.py index e0f8a11c8..777a98f48 100644 --- a/filer/server/backends/base.py +++ b/filer/server/backends/base.py @@ -1,13 +1,10 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import mimetypes import os from django.utils.encoding import smart_str -class ServerBase(object): +class ServerBase: """ Server classes define a way to serve a Django File object. diff --git a/filer/server/backends/default.py b/filer/server/backends/default.py index 36ba68970..abcb300b7 100644 --- a/filer/server/backends/default.py +++ b/filer/server/backends/default.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import os import stat diff --git a/filer/server/backends/nginx.py b/filer/server/backends/nginx.py index 7cc9e4cc8..c2ebb4431 100644 --- a/filer/server/backends/nginx.py +++ b/filer/server/backends/nginx.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.http import HttpResponse from .base import ServerBase diff --git a/filer/server/backends/xsendfile.py b/filer/server/backends/xsendfile.py index be12f6eb9..4e52fe352 100644 --- a/filer/server/backends/xsendfile.py +++ b/filer/server/backends/xsendfile.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.http import HttpResponse from .base import ServerBase diff --git a/filer/server/main_server_urls.py b/filer/server/main_server_urls.py index 5f4502ad3..232c1fe2a 100644 --- a/filer/server/main_server_urls.py +++ b/filer/server/main_server_urls.py @@ -1,11 +1,8 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -from django.conf.urls import url +from django.urls import re_path from . import views urlpatterns = [ - url(r'^(?P.*)$', views.serve_protected_file), + re_path(r'^(?P.*)$', views.serve_protected_file), ] diff --git a/filer/server/thumbnails_server_urls.py b/filer/server/thumbnails_server_urls.py index 555b91b08..7d2cb0395 100644 --- a/filer/server/thumbnails_server_urls.py +++ b/filer/server/thumbnails_server_urls.py @@ -1,11 +1,8 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -from django.conf.urls import url +from django.urls import re_path from . import views urlpatterns = [ - url(r'^(?P.*)$', views.serve_protected_thumbnail), + re_path(r'^(?P.*)$', views.serve_protected_thumbnail), ] diff --git a/filer/server/urls.py b/filer/server/urls.py index b8339c910..8f758dcc9 100644 --- a/filer/server/urls.py +++ b/filer/server/urls.py @@ -1,15 +1,12 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -from django.conf.urls import include, url +from django.urls import include, re_path from .. import settings as filer_settings if not filer_settings.FILER_0_8_COMPATIBILITY_MODE: urlpatterns = [ - url(r'^' + filer_settings.FILER_PRIVATEMEDIA_STORAGE.base_url.lstrip('/'), include('filer.server.main_server_urls')), - url(r'^' + filer_settings.FILER_PRIVATEMEDIA_THUMBNAIL_STORAGE.base_url.lstrip('/'), include('filer.server.thumbnails_server_urls')), + re_path(r'^' + filer_settings.FILER_PRIVATEMEDIA_STORAGE.base_url.lstrip('/'), include('filer.server.main_server_urls')), + re_path(r'^' + filer_settings.FILER_PRIVATEMEDIA_THUMBNAIL_STORAGE.base_url.lstrip('/'), include('filer.server.thumbnails_server_urls')), ] else: urlpatterns = [] diff --git a/filer/server/views.py b/filer/server/views.py index 5020202cd..a8b671ae8 100644 --- a/filer/server/views.py +++ b/filer/server/views.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.conf import settings from django.core.exceptions import PermissionDenied from django.http import Http404 diff --git a/filer/settings.py b/filer/settings.py index c5bc94274..9809b9e23 100644 --- a/filer/settings.py +++ b/filer/settings.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import logging import os diff --git a/filer/static/filer/css/admin_filer.css b/filer/static/filer/css/admin_filer.css index 6c3fe271d..edf7184af 100755 --- a/filer/static/filer/css/admin_filer.css +++ b/filer/static/filer/css/admin_filer.css @@ -1,8 +1,8 @@ /*! * @copyright: https://github.com/divio/django-filer - */@font-face{font-family:"django-filer-iconfont";src:url("../fonts/django-filer-iconfont.eot?v=3.2.0");src:url("../fonts/django-filer-iconfont.eot?v=3.2.0#iefix") format("eot"),url("../fonts/django-filer-iconfont.woff2?v=3.2.0") format("woff2"),url("../fonts/django-filer-iconfont.woff?v=3.2.0") format("woff"),url("../fonts/django-filer-iconfont.ttf?v=3.2.0") format("truetype"),url("../fonts/django-filer-iconfont.svg?v=3.2.0#django-filer-iconfont") format("svg");font-weight:normal;font-style:normal}.cms-icon,.dz-success-mark:before,.dz-error-mark:before,.dz-remove:before{display:inline-block;font:normal normal normal 14px/1 django-filer-iconfont;font-size:inherit;text-rendering:auto;-webkit-transform:translate(0, 0);transform:translate(0, 0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cms-icon-check:before{content:"\E001"}.cms-icon-remove:before{content:"\E002"}.cms-icon-trash-o:before{content:"\E003"}.dz-success-mark:before,.dz-error-mark:before,.dz-remove:before{font-size:16px;vertical-align:middle;margin-right:5px}#image_container{position:relative}#image_container img,#image_container svg{position:absolute;top:0;left:0;margin:0}.transpTiling{outline:1px solid #e3e3e3;background-image:url("data:image/gif;base64,R0lGODlhCAAIAKECAOPj4/z8/P///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7")}.transpTiling:hover{background-image:url("data:image/gif;base64,R0lGODlhCAAIAKECAEFBQXR0dP///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7")}#fileUploadFakeLink{position:relative}#fileInputUploaderContainer{position:absolute;top:0;left:-8px}.loadingThumb{width:32px;height:32px;background-image:url("../img/loading_animation.gif");background-repeat:no-repeat}#content-top-bar{margin-bottom:20px}#content-top-bar .object-tools{margin-top:-32px;text-align:right}#content-top-bar .object-tools li{display:inline-block !important;float:none !important}#content-top-bar .changelink{padding-left:15px !important;border:0 !important;font-weight:normal !important;color:#029eee !important;background:url("../img/icon_changelink.gif") 0 center no-repeat !important;background-color:transparent !important;box-shadow:none !important}.clipboard{float:left;overflow-x:auto;box-sizing:border-box;width:18% !important;margin-top:-1px !important;border:1px solid #ddd !important}.clipboard form{padding-top:0 !important}.clipboard table{margin:0;border:0 !important}.clipboard table td{border-color:#ddd;border-right:0 !important}.clipboard table th{padding-top:1px !important;padding-bottom:1px !important}.clipboard table tfoot td{border-bottom:0 !important}.clipboard .deletelink{padding:4px 10px;border:1px solid #999;background:#e1e1e1 url("../img/button-bg.gif") bottom left repeat-x}.clipboard tr td.thumbnail{width:40px}a.insertlinkButton{padding:4px;padding-left:28px;background-image:url("../img/select_item.gif");background-repeat:no-repeat}a.insertlinkButton:hover{background-image:url("../img/select_item-hover.gif")}a.small_folder_link{display:block;float:right;height:36px;padding-right:4px;padding-left:36px;line-height:36px;background-image:url("../icons/plainfolder_32x32.png");background-repeat:no-repeat}#toolbartable{overflow-x:auto}#toolbartable td{border-right:solid 1px #ddd}#toolbartable th{border-right:solid 1px #ddd}#toolbartable+.paginator{border-right:solid 1px #ddd}table thead th.thumbHeader{width:52px}.fileUploadQueueItem .fileUploadProgress .fileUploadProgressBar{background-color:black}.filebrowser #changelist{overflow:hidden}.filebrowser #changelist .change{text-align:right}.filebrowser #changelist .change a{display:block;float:right}.filebrowser #changelist .moveto{min-width:180px;text-align:right}.filebrowser #changelist .moveto a{display:inline-block;margin-right:10px}.filebrowser #changelist .moveto button{float:right}h1.folder_header{margin-bottom:0;background-image:url("../img/nav-bg.gif");background-repeat:repeat-x;background-position:bottom}html,body{min-width:320px;height:100% !important}.text-left{text-align:left}.text-right{text-align:right}.clearfix:after{content:"";display:table;clear:both}.related-widget-wrapper{float:none !important}.related-lookup.hidden{display:none !important}.tiny{font-size:12px !important;color:#999 !important}.nav-pages{position:relative;font-size:12px;color:#999 !important;padding:10px 15px;background:#fff}.nav-pages span{font-size:12px;color:#999 !important}.nav-pages .actions{float:right}#id_upload_button:before{display:none}#content #content-main{margin-top:0}.filebrowser.cms-admin-sideframe #container .breadcrumbs+#content,.filebrowser.cms-admin-sideframe #container .breadcrumbs+.messagelist+#content{margin-left:0 !important;margin-right:0 !important}.filebrowser.cms-admin-sideframe #container .breadcrumbs{left:0 !important;padding-left:20px !important}.filebrowser #container{min-width:auto}.filebrowser #container #content{padding:0;box-shadow:0 0 5px 0 rgba(0,0,0,0.2)}.filebrowser #container .breadcrumbs+#content,.filebrowser #container .breadcrumbs+.messagelist+#content{margin-left:3% !important}.filebrowser h1.folder_header{position:relative;top:6px}.filebrowser h2{display:none}.filebrowser #content-main{background-color:white}.field-file,.field-sha1{word-wrap:break-word;word-break:break-all}.well.img-preview{display:none;margin-top:0}.img-wrapper{width:180px;height:180px}.file-duplicates{clear:both;padding:20px 0 0}.delete-confirmation form .cancel-link{height:auto !important;line-height:inherit !important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.hidden{display:none !important}.filer-info-bar{min-height:15px;margin:0 0 2px !important;padding:15px 20px;box-shadow:0 0 10px -2px rgba(0,0,0,0.2);background-color:white}.image-info{position:relative;float:right;box-sizing:border-box;width:28%;margin-top:0;border:0;border-radius:3px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,0.2)}.image-info .image-details,.image-info .actions-list{margin:0;padding:0}.image-info .image-details.image-details,.image-info .actions-list.image-details{margin:10px 0;padding:0 10px}.image-info .image-details li,.image-info .actions-list li{list-style-type:none}.image-info .image-details a,.image-info .actions-list a{cursor:pointer}.image-info.image-info-detail{*zoom:1;position:static;float:none;width:100%;margin-bottom:20px;padding:25px;border-radius:0}.image-info.image-info-detail:before,.image-info.image-info-detail:after{content:" ";display:table}.image-info.image-info-detail:after{clear:both}.image-info.image-info-detail+#content-main .object-tools{margin-top:20px;margin-right:20px;background-color:transparent}.image-info.image-info-detail+#content-main .object-tools:before{display:none}.image-info.image-info-detail .image-details-left{float:left}.image-info.image-info-detail .image-details-right{float:left;margin-left:50px}.image-info.image-info-detail .icon{font-size:18px}.image-info.image-info-detail .image-details,.image-info.image-info-detail .actions-list{margin-top:0;border:0 !important}.image-info.image-info-detail .image-details.image-details,.image-info.image-info-detail .actions-list.image-details{margin-top:20px;margin-bottom:15px;padding:0}.image-info.image-info-detail .image-details dt,.image-info.image-info-detail .actions-list dt{float:left;color:#808080;font-size:13px;line-height:16px !important;font-weight:normal;margin-top:0}.image-info.image-info-detail .image-details dd,.image-info.image-info-detail .actions-list dd{color:#666;font-size:13px;line-height:16px !important;padding-left:80px;margin-bottom:5px}.image-info.image-info-detail .image-details .text,.image-info.image-info-detail .actions-list .text{font-size:13px;margin-right:15px}.image-info.image-info-detail .image-details .text strong,.image-info.image-info-detail .actions-list .text strong{font-size:13px}.image-info.image-info-detail .image-details li,.image-info.image-info-detail .actions-list li{color:#666;font-size:13px !important;font-weight:normal !important;padding:1px 0 !important;border:0 !important}.image-info.image-info-detail .image-details a,.image-info.image-info-detail .actions-list a{padding:0}.image-info.image-info-detail .image-info-title{overflow:hidden;color:#666;white-space:nowrap;text-overflow:ellipsis;padding:0 0 5px}.image-info.image-info-detail .image-info-title .icon{float:left;margin-right:5px}.image-info.image-info-detail .image-preview-container{text-align:left;margin:20px 0 0;padding:0}.image-info.image-info-detail .image-preview-container>img{margin-bottom:15px}.image-info.image-info-detail .actions-list .icon{font-size:16px}.image-info.image-info-detail .actions-list .icon:last-child{float:none}@media screen and (max-width: 720px){.image-info{float:none;width:100%}.image-info.image-info-detail .image-details-left,.image-info.image-info-detail .image-details-right{float:none;margin-left:0}}.image-info-close{position:absolute;top:-10px;right:-7px;font-size:20px;cursor:pointer}.image-info-title{padding:5px 10px;border-bottom:solid 1px #ddd}.image-info-title a{margin-left:5px}.image-preview-container{text-align:center;margin:10px 0;padding:0 10px}.image-preview-container .image-preview{display:inline-block;position:relative;margin-bottom:15px;outline:1px solid #e3e3e3;background-image:url("data:image/gif;base64,R0lGODlhCAAIAKECAOPj4/z8/P///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7")}.image-preview-container .image-preview img{display:block}.image-preview-container .image-preview-field{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.image-preview-container .image-preview-circle{position:relative;z-index:1;width:26px;height:26px;border:solid 2px #f00;margin:-13px;border-radius:30px;cursor:move;background:rgba(255,255,255,0.5)}.actions-list-dropdown a{display:block;padding:5px 10px}.actions-list-dropdown .caret-down{display:inline-block}.actions-list-dropdown .caret-right{display:none}.actions-list-dropdown.js-collapsed{border-bottom:solid 1px #ddd}.actions-list-dropdown.js-collapsed .caret-down{display:none}.actions-list-dropdown.js-collapsed .caret-right{display:inline-block}.actions-list{border-top:solid 1px #ddd}.actions-list:last-child{border-top:none}.actions-list:last-child a{border-bottom:none}.actions-list a{display:block;font-size:20px;padding:5px 10px;border-bottom:solid 1px #ddd}.actions-list .icon:first-child{width:20px}.actions-list .icon:last-child{float:right;margin-top:3px}.actions-separated-list{display:inline-block;margin:0;padding-left:0}@media screen and (max-width: 720px){.actions-separated-list{float:left;margin-left:0}}.actions-separated-list li{display:inline-block;line-height:34px;vertical-align:middle;padding:0 10px;list-style:none}@media screen and (max-width: 720px){.actions-separated-list li:first-child{padding-left:0}}.actions-separated-list li span{vertical-align:middle}.actions-separated-list li a{color:#666}.actions-separated-list span:before{font-size:18px}.search-is-focused .filter-files-container{position:static}.search-is-focused .filter-filers-container-inner{position:absolute;top:0;left:0;right:0}@media screen and (max-width: 720px){.search-is-focused .filter-filers-container-inner{position:static}}.search-is-focused .breadcrumbs-container{position:relative}.search-is-focused.breadcrumb-min-width .filter-filers-container-inner{position:static}.filter-files-container{*zoom:1;display:table-cell;vertical-align:middle;position:relative;width:245px;margin:0;padding:0;background:none;box-shadow:none;z-index:1000}.filter-files-container:before,.filter-files-container:after{content:" ";display:table}.filter-files-container:after{clear:both}@media screen and (max-width: 720px){.filter-files-container{display:block;width:auto;margin-right:0;margin-top:10px}.filter-files-container .filter-files-button{float:none}}.filter-files-container .filer-dropdown-container{position:absolute;top:0;right:0}.filter-files-container .filer-dropdown-container>a,.filter-files-container .filer-dropdown-container>a:visited,.filter-files-container .filer-dropdown-container>a:link:visited,.filter-files-container .filer-dropdown-container>a:link{display:inline-block;line-height:34px;text-align:center;width:34px;height:34px;padding:0}.filter-files-container .filer-dropdown-container.open+.filer-dropdown-menu-checkboxes{display:block;width:calc(100% - 30px)}.filter-files-container .filer-dropdown-container.open+.filer-dropdown-menu-checkboxes li{margin:0;padding:0;list-style-type:none}.filter-files-container .filter-search-wrapper{position:relative;float:left;text-align:right;width:calc(100% - 43px);margin-right:5px}@media screen and (max-width: 720px){.filter-files-container .filter-search-wrapper{float:left}}.filter-files-container .filter-search-wrapper .filer-dropdown-container span{line-height:34px !important;height:34px !important}.filter-files-container .filter-files-button{float:right;text-align:center;white-space:nowrap;height:35px;margin:0;padding:8px !important}.filter-files-container .filter-files-button .icon{position:relative;left:2px;font-size:16px !important;vertical-align:top}.filter-files-container .filter-files-field{color:#333;font-size:12px !important;line-height:35px;font-weight:normal;box-sizing:border-box;min-width:200px !important;height:35px;margin:0;padding:0 35px 0 10px !important;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:max-width 200ms}.filter-files-container .filter-files-field::-ms-clear{display:none}.filter-files-container .filer-dropdown-menu{margin-top:0 !important;margin-right:-1px !important}.filter-files-cancel{margin:5px 20px}body.dz-drag-hover .drag-hover-border{display:none !important}body.dz-drag-hover .navigator-table tbody td,body.dz-drag-hover .navigator-table tbody .unfiled td{background-color:#f1faff !important}body.reset-hover td{background-color:white !important}.drag-hover-border{position:fixed;border-top:solid 2px #0bf;border-bottom:solid 2px #0bf;pointer-events:none;z-index:100}.filebrowser .navigator-table{width:100%;margin:0;border-top:solid 1px #ddd !important;border-collapse:collapse !important}.filebrowser .navigator-table thead th,.filebrowser .navigator-table tbody td{text-align:left;font-weight:normal;vertical-align:middle;padding:5px !important;border-left:0 !important;border-bottom:1px solid #ddd;border-top:1px solid transparent;background:none !important}.filebrowser .navigator-table tbody tr.selected .action-button span{color:#454545 !important}.filebrowser .navigator-table .unfiled td{padding:12px 5px !important;background-color:#f7f7f7 !important}.filebrowser .navigator-table .unfiled td a,.filebrowser .navigator-table .unfiled td a:hover{color:#666 !important}.filebrowser .navigator-table .column-checkbox{text-align:center;width:20px;padding-left:20px !important}.filebrowser .navigator-table .column-checkbox input{vertical-align:middle;margin:0}.filebrowser .navigator-table .column-name a{color:#0bf}.filebrowser .navigator-table .column-icon{width:25px;padding-top:0 !important;padding-bottom:0 !important}.filebrowser .navigator-table .column-icon img{width:25px;height:auto}.filebrowser .navigator-table .column-action{text-align:center;width:90px;white-space:nowrap;padding-right:20px !important}.filebrowser .navigator-table .column-action a{font-size:16px !important;margin:0}.filebrowser .navigator-table .column-action .action-button{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#454545 !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#fff !important;border:1px solid #ddd !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px !important}.filebrowser .navigator-table .column-action .action-button:focus{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}.filebrowser .navigator-table .column-action .action-button:hover{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}.filebrowser .navigator-table .column-action .action-button:active{color:#454545 !important;background-color:#e6e6e6 !important;border-color:#c3c3c3 !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}.filebrowser .navigator-table .column-action .action-button:active:hover,.filebrowser .navigator-table .column-action .action-button:active:focus{color:#454545 !important;background-color:#d4d4d4 !important;border-color:#9d9d9d !important}.filebrowser .navigator-table .column-action .action-button:active{background-image:none !important}.filebrowser .navigator-table .column-action .action-button[disabled],.filebrowser .navigator-table .column-action .action-button[disabled]:hover,.filebrowser .navigator-table .column-action .action-button[disabled]:focus .filebrowser .navigator-table .column-action .action-button[disabled]:active{background-color:rgba(255,255,255,0.4) !important;border-color:rgba(221,221,221,0.4) !important;color:rgba(69,69,69,0.8) true;cursor:not-allowed;box-shadow:none !important}.filebrowser .navigator-table .column-action .action-button[disabled]:before,.filebrowser .navigator-table .column-action .action-button[disabled]:hover:before,.filebrowser .navigator-table .column-action .action-button[disabled]:focus .filebrowser .navigator-table .column-action .action-button[disabled]:active:before{color:rgba(69,69,69,0.4) true}.filebrowser .navigator-table .column-action .action-button span{font-size:16px;line-height:33px;vertical-align:middle}.filebrowser .navigator-table .no-files{color:#666;font-size:14px;text-align:center;padding:40px 0 !important;background-color:#f2f2f2 !important}.filebrowser .navigator-table .no-files span{font-size:20px;margin-right:10px}.filebrowser .navigator-table .no-files span:before{vertical-align:sub}.filebrowser .navigator-table .dz-drag-hover td{position:relative;background:#f1faff !important;box-sizing:border-box !important}.filebrowser .navigator-table .dz-drag-hover td a{color:#0bf !important}.filebrowser .navigator-table .dz-drag-hover td a.icon{color:#454545 !important;background-color:white !important}.filebrowser .navigator-table.dz-drag-hover{position:relative}.filebrowser .navigator-table.dz-drag-hover .drag-hover-border{display:none !important}.filebrowser .navigator-table.dz-drag-hover td{background:#f1faff !important;box-sizing:border-box !important}.filebrowser .navigator-table .reset-hover td,.filebrowser .navigator-table.reset-hover td{background-color:#fff !important}.filebrowser .navigator-table .reset-hover .dz-drag-hover td,.filebrowser .navigator-table.reset-hover .dz-drag-hover td{background:#f1faff !important}.navigator-top-nav{position:relative;clear:both;min-height:35px;padding:15px 20px;background:#f7f7f7;border-bottom:#ddd solid 1px}.navigator-top-nav .breadcrumbs-container-wrapper{display:table;width:100%}@media screen and (max-width: 720px){.navigator-top-nav .breadcrumbs-container-wrapper{display:block}}.navigator-top-nav .breadcrumbs-container-inner{display:table;table-layout:fixed;width:100%}.navigator-top-nav .breadcrumbs-container-inner .filer-dropdown-container{display:table-cell;width:30px;height:35px;vertical-align:middle}.navigator-top-nav .breadcrumbs-container-inner .filer-dropdown-container span{line-height:35px;height:35px;vertical-align:middle}.navigator-top-nav .breadcrumbs-container{display:table-cell;vertical-align:middle}@media screen and (max-width: 720px){.navigator-top-nav .breadcrumbs-container{position:static;margin-right:20px}}.navigator-top-nav .tools-container{*zoom:1;display:table-cell;vertical-align:middle;text-align:right;margin-top:2px}.navigator-top-nav .tools-container:before,.navigator-top-nav .tools-container:after{content:" ";display:table}.navigator-top-nav .tools-container:after{clear:both}@media screen and (max-width: 720px){.navigator-top-nav .tools-container{display:inline;text-align:left}}.navigator-top-nav .nav-button{display:inline-block;color:#666;font-size:20px;line-height:34px;vertical-align:top;margin:0 10px}.navigator-top-nav .nav-button span{vertical-align:middle}.navigator-top-nav .nav-button-filter{position:relative;top:-1px}.navigator-top-nav .nav-button-dots{margin:0;padding:0 15px}.navigator-top-nav .separator{display:inline-block;position:relative;vertical-align:top;width:1px;height:34px;margin:0 5px}.navigator-top-nav .separator:before{content:"";display:block;position:absolute;top:-14px;bottom:-11px;overflow:hidden;width:1px;background-color:#ccc}.breadcrumb-min-width .filer-navigator-breadcrumbs-dropdown-container,.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper,.breadcrumb-min-width .navigator-breadcrumbs-folder-name-wrapper,.breadcrumb-min-width .breadcrumbs-container-wrapper,.breadcrumb-min-width .breadcrumbs-container,.breadcrumb-min-width .tools-container,.breadcrumb-min-width .filter-files-container,.breadcrumb-min-width .navigator-breadcrumbs,.breadcrumb-min-width .navigator-button-wrapper{display:inline-block;text-align:left}.breadcrumb-min-width .filer-navigator-breadcrumbs-dropdown-container .actions-wrapper,.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper .actions-wrapper,.breadcrumb-min-width .navigator-breadcrumbs-folder-name-wrapper .actions-wrapper,.breadcrumb-min-width .breadcrumbs-container-wrapper .actions-wrapper,.breadcrumb-min-width .breadcrumbs-container .actions-wrapper,.breadcrumb-min-width .tools-container .actions-wrapper,.breadcrumb-min-width .filter-files-container .actions-wrapper,.breadcrumb-min-width .navigator-breadcrumbs .actions-wrapper,.breadcrumb-min-width .navigator-button-wrapper .actions-wrapper{white-space:nowrap;margin-left:0;margin-top:10px}.breadcrumb-min-width .filer-navigator-breadcrumbs-dropdown-container .actions-wrapper li:first-child,.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper .actions-wrapper li:first-child,.breadcrumb-min-width .navigator-breadcrumbs-folder-name-wrapper .actions-wrapper li:first-child,.breadcrumb-min-width .breadcrumbs-container-wrapper .actions-wrapper li:first-child,.breadcrumb-min-width .breadcrumbs-container .actions-wrapper li:first-child,.breadcrumb-min-width .tools-container .actions-wrapper li:first-child,.breadcrumb-min-width .filter-files-container .actions-wrapper li:first-child,.breadcrumb-min-width .navigator-breadcrumbs .actions-wrapper li:first-child,.breadcrumb-min-width .navigator-button-wrapper .actions-wrapper li:first-child{padding-left:0}.breadcrumb-min-width .navigator-button-wrapper{margin-top:10px}.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper{min-height:inherit}.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper .filer-dropdown-container .fa-caret-down{vertical-align:text-top}.breadcrumb-min-width .breadcrumbs-container-inner .filer-dropdown-container{display:inline-block !important}.breadcrumb-min-width .navigator-tools{white-space:normal}.breadcrumb-min-width .filter-files-container{width:100%;margin-top:10px;z-index:auto}.breadcrumb-min-width .breadcrumbs-container{margin-right:0}.breadcrumb-min-width .navigator-breadcrumbs .icon{vertical-align:middle}.breadcrumb-min-width .navigator-breadcrumbs-folder-name-wrapper{float:left;width:calc(100% - 30px)}.navigator-tools{*zoom:1;white-space:nowrap}.navigator-tools:before,.navigator-tools:after{content:" ";display:table}.navigator-tools:after{clear:both}@media screen and (max-width: 720px){.navigator-tools{display:inline}}.navigator-tools .actions-wrapper{display:inline-block;margin-bottom:0;margin-left:10px}.navigator-tools .actions-wrapper a,.navigator-tools .actions-wrapper a:hover{color:#999 !important;cursor:not-allowed}@media screen and (max-width: 720px){.navigator-tools .actions-wrapper{*zoom:1;float:none;margin-left:0}.navigator-tools .actions-wrapper:before,.navigator-tools .actions-wrapper:after{content:" ";display:table}.navigator-tools .actions-wrapper:after{clear:both}}.navigator-tools .actions-wrapper.action-selected a{color:#666 !important;cursor:pointer}.navigator-tools .actions-wrapper.action-selected .actions-separated-list{display:inline-block}.navigator-tools .actions{display:none;float:right}@media screen and (max-width: 720px){.navigator-tools .actions{*zoom:1;float:none;margin-bottom:10px}.navigator-tools .actions:before,.navigator-tools .actions:after{content:" ";display:table}.navigator-tools .actions:after{clear:both}}.navigator-tools .actions .all,.navigator-tools .actions .question,.navigator-tools .actions .clear,.navigator-tools .actions .action-counter{font-size:12px;line-height:34px;vertical-align:text-top}.navigator-tools .actions .action-counter,.navigator-tools .actions .all{color:#999}.navigator-tools .actions .question,.navigator-tools .actions .clear{margin-left:10px;padding-left:10px;border-left:solid 1px #ddd}@media screen and (max-width: 720px){.navigator-top-nav .breadcrumbs-container{float:none}.navigator-top-nav .navigator-tools{float:none}.navigator-top-nav .navigator-tools .separator:before{top:0;bottom:0}}.navigator-button-wrapper{display:inline-block;vertical-align:top;text-align:right;margin-bottom:0;margin-left:10px}@media screen and (max-width: 720px){.navigator-button-wrapper{display:block;float:none;text-align:left;margin-top:0;margin-left:0}}.navigator-button{margin-right:10px}.navigator-button,.navigator-button:visited,.navigator-button:link:visited,.navigator-button:link{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#fff !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#0bf !important;border:1px solid #0bf !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;vertical-align:top;padding:10px 20px !important}.navigator-button:focus,.navigator-button:visited:focus,.navigator-button:link:visited:focus,.navigator-button:link:focus{color:#fff !important;background-color:#00a8e6 !important;border-color:#00a8e6 !important;text-decoration:none !important}.navigator-button:hover,.navigator-button:visited:hover,.navigator-button:link:visited:hover,.navigator-button:link:hover{color:#fff !important;background-color:#00a8e6 !important;border-color:#00a8e6 !important;text-decoration:none !important}.navigator-button:active,.navigator-button:visited:active,.navigator-button:link:visited:active,.navigator-button:link:active{color:#fff !important;background-color:#0096cc !important;border-color:#0096cc !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}.navigator-button:active:hover,.navigator-button:active:focus,.navigator-button:visited:active:hover,.navigator-button:visited:active:focus,.navigator-button:link:visited:active:hover,.navigator-button:link:visited:active:focus,.navigator-button:link:active:hover,.navigator-button:link:active:focus{color:#fff !important;background-color:#007ba8 !important;border-color:#005e80 !important}.navigator-button:active,.navigator-button:visited:active,.navigator-button:link:visited:active,.navigator-button:link:active{background-image:none !important}.navigator-button[disabled],.navigator-button[disabled]:hover,.navigator-button[disabled]:focus .navigator-button[disabled]:active,.navigator-button:visited[disabled],.navigator-button:visited[disabled]:hover,.navigator-button:visited[disabled]:focus .navigator-button[disabled]:active,.navigator-button:link:visited[disabled],.navigator-button:link:visited[disabled]:hover,.navigator-button:link:visited[disabled]:focus .navigator-button[disabled]:active,.navigator-button:link[disabled],.navigator-button:link[disabled]:hover,.navigator-button:link[disabled]:focus .navigator-button[disabled]:active,.navigator-button[disabled]:focus .navigator-button:visited[disabled]:active,.navigator-button:visited[disabled]:focus .navigator-button:visited[disabled]:active,.navigator-button:link:visited[disabled]:focus .navigator-button:visited[disabled]:active,.navigator-button:link[disabled]:focus .navigator-button:visited[disabled]:active,.navigator-button[disabled]:focus .navigator-button:link:visited[disabled]:active,.navigator-button:visited[disabled]:focus .navigator-button:link:visited[disabled]:active,.navigator-button:link:visited[disabled]:focus .navigator-button:link:visited[disabled]:active,.navigator-button:link[disabled]:focus .navigator-button:link:visited[disabled]:active,.navigator-button[disabled]:focus .navigator-button:link[disabled]:active,.navigator-button:visited[disabled]:focus .navigator-button:link[disabled]:active,.navigator-button:link:visited[disabled]:focus .navigator-button:link[disabled]:active,.navigator-button:link[disabled]:focus .navigator-button:link[disabled]:active{background-color:rgba(0,187,255,0.4) !important;border-color:rgba(0,187,255,0.4) !important;color:rgba(255,255,255,0.8) true;cursor:not-allowed;box-shadow:none !important}.navigator-button[disabled]:before,.navigator-button[disabled]:hover:before,.navigator-button[disabled]:focus .navigator-button[disabled]:active:before,.navigator-button:visited[disabled]:before,.navigator-button:visited[disabled]:hover:before,.navigator-button:visited[disabled]:focus .navigator-button[disabled]:active:before,.navigator-button:link:visited[disabled]:before,.navigator-button:link:visited[disabled]:hover:before,.navigator-button:link:visited[disabled]:focus .navigator-button[disabled]:active:before,.navigator-button:link[disabled]:before,.navigator-button:link[disabled]:hover:before,.navigator-button:link[disabled]:focus .navigator-button[disabled]:active:before,.navigator-button[disabled]:focus .navigator-button:visited[disabled]:active:before,.navigator-button:visited[disabled]:focus .navigator-button:visited[disabled]:active:before,.navigator-button:link:visited[disabled]:focus .navigator-button:visited[disabled]:active:before,.navigator-button:link[disabled]:focus .navigator-button:visited[disabled]:active:before,.navigator-button[disabled]:focus .navigator-button:link:visited[disabled]:active:before,.navigator-button:visited[disabled]:focus .navigator-button:link:visited[disabled]:active:before,.navigator-button:link:visited[disabled]:focus .navigator-button:link:visited[disabled]:active:before,.navigator-button:link[disabled]:focus .navigator-button:link:visited[disabled]:active:before,.navigator-button[disabled]:focus .navigator-button:link[disabled]:active:before,.navigator-button:visited[disabled]:focus .navigator-button:link[disabled]:active:before,.navigator-button:link:visited[disabled]:focus .navigator-button:link[disabled]:active:before,.navigator-button:link[disabled]:focus .navigator-button:link[disabled]:active:before{color:rgba(255,255,255,0.4) true}.navigator-button .icon{position:relative;margin-right:5px}.navigator-button .fa-folder{top:0}.navigator-button.navigator-button-upload{margin-right:0}.upload-button-disabled{display:inline-block}.navigator-button+.filer-dropdown-menu{margin-top:-2px}.navigator{position:relative;overflow-x:auto;width:100%}.navigator form{margin:0;padding:0;box-shadow:none}.filer-dropdown-container{display:inline-block;position:relative;vertical-align:top}.filer-dropdown-container .fa-caret-down{font-size:16px}.filer-dropdown-container .filer-dropdown-menu,.filer-dropdown-container+.filer-dropdown-menu{display:none;right:0;left:auto;border:0;box-shadow:0 1px 10px rgba(0,0,0,0.25)}.filer-dropdown-container .filer-dropdown-menu>li>a,.filer-dropdown-container+.filer-dropdown-menu>li>a{display:block;color:#0bf;font-weight:normal;white-space:normal;padding:12px 20px !important}@media screen and (min-width: 720px){.filer-dropdown-container .filer-dropdown-menu>li>a,.filer-dropdown-container+.filer-dropdown-menu>li>a{white-space:nowrap}}.filer-dropdown-container .filer-dropdown-menu label,.filer-dropdown-container+.filer-dropdown-menu label{display:block;line-height:20px !important;text-transform:none;width:auto;margin:5px 0 !important;padding:0 10px !important}.filer-dropdown-container .filer-dropdown-menu input,.filer-dropdown-container+.filer-dropdown-menu input{position:relative;top:4px;vertical-align:top;margin-right:5px}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes{width:0;min-height:50px;padding:15px;border:0;box-shadow:0 1px 10px rgba(0,0,0,0.25)}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes:before,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes:before{display:none}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes .fa-close,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes .fa-close{position:absolute;top:10px;right:10px;color:#666;cursor:pointer}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes .fa-close:hover,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes .fa-close:hover{color:#0bf}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes p,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes p{color:#999 !important;font-weight:normal;text-transform:uppercase;margin-bottom:5px}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes label,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes label{color:#666 !important;font-weight:normal;padding:0 !important;margin-top:0 !important}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes label input,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes label input{margin-left:0}.filer-dropdown-container .filer-dropdown-menu a:hover,.filer-dropdown-container+.filer-dropdown-menu a:hover{color:white !important;background:#0bf !important}.filer-dropdown-container.open .filer-dropdown-menu{display:block}.filer-dropdown-container.open .filer-dropdown-menu li{margin:0;padding:0;list-style-type:none}.filer-dropdown-container+.separator{margin-right:10px}.filer-dropdown-container-down>a,.filer-dropdown-container-down>a:link,.filer-dropdown-container-down>a:visited,.filer-dropdown-container-down>a:link:visited{color:#666;font-size:20px;line-height:35px;height:35px;padding:0 10px}.filer-dropdown-container-down .filer-dropdown-menu{right:auto;left:-14px;margin-right:10px}.filer-dropdown-menu{position:absolute;top:100%;z-index:1000;display:none;float:left;min-width:160px;margin:2px 0 0;margin-top:0 !important;list-style:none;font-size:14px;text-align:left;background-color:#fff;border-radius:4px;background-clip:padding-box}.filer-dropdown-menu:before{position:absolute;top:-5px;left:35px;z-index:-1;content:'';width:10px;height:10px;margin-left:-5px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background-color:#fff}.filer-dropdown-menu.create-menu-dropdown:before{left:auto;right:17px}.navigator-breadcrumbs{*zoom:1;display:table-cell;vertical-align:middle;font-size:16px;white-space:nowrap;width:60px}.navigator-breadcrumbs:before,.navigator-breadcrumbs:after{content:" ";display:table}.navigator-breadcrumbs:after{clear:both}.navigator-breadcrumbs>a{color:#333 !important}.navigator-breadcrumbs .icon{color:#999;line-height:35px;height:35px;margin:0 5px}.navigator-breadcrumbs .icon:before{vertical-align:middle}.navigator-breadcrumbs li{list-style-type:none}.navigator-breadcrumbs-folder-name-wrapper{display:table-cell;overflow:hidden;font-size:16px;font-weight:bold;vertical-align:middle;white-space:nowrap}.navigator-breadcrumbs-folder-name{display:block;overflow:hidden;white-space:normal;line-height:35px;width:100%;height:35px}.navigator-breadcrumbs-folder-name-inner{display:block;position:relative;overflow:hidden;line-height:35px;height:35px;width:100%;text-overflow:ellipsis}.filer-navigator-breadcrumbs-dropdown-container{position:relative;float:left;vertical-align:middle;margin:0 7px 0 0}.filer-navigator-breadcrumbs-dropdown-container>a img{padding:3px 0}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown{left:-15px !important;min-width:200px;padding:0;margin-top:0;border:0;box-shadow:0 1px 10px rgba(0,0,0,0.25)}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown>li{padding:0}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown>li>a{color:#0bf;padding:12px 20px 3px !important;border-bottom:solid 1px #e1e1e1}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown>li>a:hover{color:white !important;background:#0bf !important}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown>li:last-child>a{border-bottom:none}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown img{position:relative;top:-5px;vertical-align:top;margin:0 10px 0 0}.navigator-dropdown-arrow-up{position:relative;left:20px;overflow:hidden;width:20px;height:20px;margin-top:-20px;z-index:1001}.navigator-dropdown-arrow-up:after{content:"";position:absolute;top:15px;left:5px;width:10px;height:10px;background:white;-webkit-transform:rotate(45deg);transform:rotate(45deg);box-shadow:0 1px 10px rgba(0,0,0,0.25)}.navigator-breadcrumbs-name-dropdown-wrapper{display:table;min-height:35px}.navigator-breadcrumbs-name-dropdown-wrapper .filer-dropdown-menu{left:auto;right:-80px}.navigator-breadcrumbs-name-dropdown-wrapper .filer-dropdown-menu:before{right:80px;left:auto}.navigator-breadcrumbs-name-dropdown-wrapper a{display:inline-block}.empty-filer-header-cell{display:table-cell;vertical-align:middle}.popup.app-cmsplugin_filer_image .form-row.field-image .field-box,.popup.app-cmsplugin_filer_image .field-box.field-free_link,.popup.app-cmsplugin_filer_image .field-box.field-page_link,.popup.app-cmsplugin_filer_image .field-box.field-file_link{float:none !important;margin-right:0 !important;margin-top:20px !important}.popup.app-cmsplugin_filer_image .form-row.field-image .field-box:first-child,.popup.app-cmsplugin_filer_image .field-box.field-free_link:first-child,.popup.app-cmsplugin_filer_image .field-box.field-page_link:first-child,.popup.app-cmsplugin_filer_image .field-box.field-file_link:first-child{margin-top:0 !important}.popup.app-cmsplugin_filer_image .form-row.field-image .field-box input,.popup.app-cmsplugin_filer_image .field-box.field-free_link input,.popup.app-cmsplugin_filer_image .field-box.field-page_link input,.popup.app-cmsplugin_filer_image .field-box.field-file_link input{width:100% !important}.popup.app-cmsplugin_filer_image .form-row .field-box.field-crop,.popup.app-cmsplugin_filer_image .form-row .field-box.field-upscale{margin-top:30px}.popup.delete-confirmation .colM ul{margin-bottom:25px !important}.popup .image-info-detail{padding:0;padding-bottom:25px;margin-bottom:30px;box-shadow:none;border-bottom:solid 1px #ddd}.popup.change-list.filebrowser #result_list tbody th,.popup.change-list.filebrowser #result_list tbody td{height:auto}.popup .filer-dropzone{padding:20px}.popup form .form-row .filer-dropzone .filerFile{top:32px}.popup.filebrowser #container #content{margin:0 !important}.popup .navigator-button-wrapper{float:right}@media screen and (max-width: 720px){.popup .navigator-button-wrapper{float:none}}.popup .navigator-top-nav .tools-container{width:70%}.popup .navigator-top-nav .breadcrumbs-container{width:30%}@media screen and (max-width: 720px){.popup .navigator-top-nav .tools-container,.popup .navigator-top-nav .breadcrumbs-container{width:100%}}form .form-row[class*="file"] .related-widget-wrapper-link,form .form-row[class*="img"] .related-widget-wrapper-link,form .form-row[class*="image"] .related-widget-wrapper-link,form .form-row[class*="visual"] .related-widget-wrapper-link{display:none}form .form-row .filer-dropzone{*zoom:1;position:relative;min-width:215px;border:solid 1px #ddd;border-radius:3px;background-color:#f2f2f2;box-sizing:border-box !important}form .form-row .filer-dropzone:before,form .form-row .filer-dropzone:after{content:" ";display:table}form .form-row .filer-dropzone:after{clear:both}form .form-row .filer-dropzone .z-index-fix{position:absolute;top:0;right:0;bottom:0;left:0}form .form-row .filer-dropzone.dz-drag-hover{padding-top:19px;background-color:#f1faff;border:solid 2px #0bf !important}form .form-row .filer-dropzone.dz-drag-hover .z-index-fix{z-index:1}form .form-row .filer-dropzone.dz-drag-hover .dz-message{opacity:1;display:block !important;visibility:visible}form .form-row .filer-dropzone.dz-drag-hover .filerFile{display:none}form .form-row .filer-dropzone.dz-drag-hover .dz-message,form .form-row .filer-dropzone.dz-drag-hover .dz-message .icon{color:#0bf !important}form .form-row .filer-dropzone.dz-started .fileUpload{display:none}form .form-row .filer-dropzone .dz-preview{width:100%;min-height:auto;margin-right:0;margin-bottom:0;margin-left:0;padding-bottom:10px;border-bottom:solid 1px #ddd}form .form-row .filer-dropzone .dz-preview.dz-error{position:relative}form .form-row .filer-dropzone .dz-preview.dz-error .dz-error-message{display:none}form .form-row .filer-dropzone .dz-preview.dz-error:hover .dz-error-message{display:block}form .form-row .filer-dropzone .dz-preview .dz-details{min-width:calc(100% - 80px);max-width:calc(100% - 80px);margin-top:7px;margin-left:40px;padding:0;opacity:1}form .form-row .filer-dropzone .dz-preview .dz-details .dz-filename,form .form-row .filer-dropzone .dz-preview .dz-details .dz-filename:hover,form .form-row .filer-dropzone .dz-preview .dz-details .dz-size{float:left;text-align:left}form .form-row .filer-dropzone .dz-preview .dz-details .dz-filename span,form .form-row .filer-dropzone .dz-preview .dz-details .dz-filename:hover span,form .form-row .filer-dropzone .dz-preview .dz-details .dz-size span{color:#666;border:0 !important;background-color:transparent !important}form .form-row .filer-dropzone .dz-preview .dz-remove{display:inline-block;position:absolute;top:7px;right:25px;font:0/0 a}form .form-row .filer-dropzone .dz-preview .dz-remove:before{content:"\E003"}form .form-row .filer-dropzone .dz-preview .dz-remove:before{color:#666;font-size:18px}form .form-row .filer-dropzone .dz-preview .dz-error-message{top:65px;left:0;width:100%}form .form-row .filer-dropzone .dz-preview .dz-success-mark,form .form-row .filer-dropzone .dz-preview .dz-error-mark{top:5px;right:0;left:auto;margin-top:0}form .form-row .filer-dropzone .dz-preview .dz-success-mark:before,form .form-row .filer-dropzone .dz-preview .dz-error-mark:before{color:#666}form .form-row .filer-dropzone .dz-preview .dz-success-mark svg,form .form-row .filer-dropzone .dz-preview .dz-error-mark svg{display:none}form .form-row .filer-dropzone .dz-preview .dz-success-mark:before{content:"\E001"}form .form-row .filer-dropzone .dz-preview .dz-success-mark:before{color:#693}form .form-row .filer-dropzone .dz-preview .dz-error-mark:before{content:"\E002"}form .form-row .filer-dropzone .dz-preview .dz-error-mark:before{color:red}form .form-row .filer-dropzone .dz-preview.dz-image-preview,form .form-row .filer-dropzone .dz-preview.dz-file-preview{background-color:transparent}form .form-row .filer-dropzone .dz-preview.dz-image-preview .dz-image,form .form-row .filer-dropzone .dz-preview.dz-file-preview .dz-image{overflow:hidden;width:36px;height:36px;border:solid 1px #ddd;border-radius:0}form .form-row .filer-dropzone .dz-preview.dz-image-preview .dz-image img,form .form-row .filer-dropzone .dz-preview.dz-file-preview .dz-image img{width:100%;height:auto}form .form-row .filer-dropzone .dz-preview .dz-progress{top:18px;left:0;width:calc(100% - 40px);height:10px;margin-left:40px}form .form-row .filer-dropzone .dz-message{float:right;color:gray;width:100%;margin:15px 0 0}form .form-row .filer-dropzone .icon{position:relative;top:3px;color:gray;font-size:24px;margin-right:10px}form .form-row .filer-dropzone .filerFile .related-lookup{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#fff !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#0bf !important;border:1px solid #0bf !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;float:left !important;overflow:hidden;line-height:14px;width:auto !important;height:auto !important;padding:10px 20px !important;cursor:pointer}form .form-row .filer-dropzone .filerFile .related-lookup:focus{color:#fff !important;background-color:#00a8e6 !important;border-color:#00a8e6 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .related-lookup:hover{color:#fff !important;background-color:#00a8e6 !important;border-color:#00a8e6 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .related-lookup:active{color:#fff !important;background-color:#0096cc !important;border-color:#0096cc !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}form .form-row .filer-dropzone .filerFile .related-lookup:active:hover,form .form-row .filer-dropzone .filerFile .related-lookup:active:focus{color:#fff !important;background-color:#007ba8 !important;border-color:#005e80 !important}form .form-row .filer-dropzone .filerFile .related-lookup:active{background-image:none !important}form .form-row .filer-dropzone .filerFile .related-lookup[disabled],form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:hover,form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:focus form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:active{background-color:rgba(0,187,255,0.4) !important;border-color:rgba(0,187,255,0.4) !important;color:rgba(255,255,255,0.8) true;cursor:not-allowed;box-shadow:none !important}form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:before,form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:hover:before,form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:focus form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:active:before{color:rgba(255,255,255,0.4) true}form .form-row .filer-dropzone .filerFile .related-lookup .fa{color:white;font-size:17px;margin:0 10px 0 0 !important;vertical-align:middle}form .form-row .filer-dropzone .filerFile .related-lookup:before{display:none}form .form-row .filer-dropzone .filerFile .related-lookup .choose-file,form .form-row .filer-dropzone .filerFile .related-lookup .edit-file{color:white;margin:0}form .form-row .filer-dropzone .filerFile .related-lookup .edit-file{display:none}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#454545 !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#fff !important;border:1px solid #ddd !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;float:right !important;padding:5px 0 !important;width:36px !important;height:36px !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:focus{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:hover{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:active{color:#454545 !important;background-color:#e6e6e6 !important;border-color:#c3c3c3 !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:active:hover,form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:active:focus{color:#454545 !important;background-color:#d4d4d4 !important;border-color:#9d9d9d !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:active{background-image:none !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled],form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:hover,form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:focus form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:active{background-color:rgba(255,255,255,0.4) !important;border-color:rgba(221,221,221,0.4) !important;color:rgba(69,69,69,0.8) true;cursor:not-allowed;box-shadow:none !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:before,form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:hover:before,form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:focus form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:active:before{color:rgba(69,69,69,0.4) true}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:focus{background-color:white !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change span{text-align:center;line-height:24px}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change .fa{color:#999;margin-right:0 !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change .choose-file{display:none}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change .edit-file{display:block}form .form-row .filer-dropzone .filerClearer{width:36px !important;height:36px !important}form .form-row .filer-dropzone .filerFile{position:absolute;top:32px;left:20px;width:calc(100% - 40px)}form .form-row .filer-dropzone .filerFile img[src*=nofile]{background-color:#fff}form .form-row .filer-dropzone .filerFile span:not(:empty):not('.choose-file'):not('.edit-file'){overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:calc(100% - 150px)}form .form-row .filer-dropzone .filerFile img{width:36px;height:36px;margin-right:10px;border:solid 1px #ddd;border-radius:3px}form .form-row .filer-dropzone .filerFile img[src*="nofile"]{box-sizing:border-box;margin-right:0;border:solid 1px #ddd;border-radius:3px}form .form-row .filer-dropzone .filerFile img,form .form-row .filer-dropzone .filerFile .related-lookup{display:inline-block;text-align:center !important;vertical-align:top}form .form-row .filer-dropzone .filerFile a{box-sizing:border-box;padding-top:10px !important}form .form-row .filer-dropzone .filerFile span{display:inline-block;color:#666;font-weight:normal;margin-top:6px;margin-bottom:6px;text-align:left}form .form-row .filer-dropzone .filerFile span:empty+.related-lookup{float:none !important;margin-left:0 !important}form .form-row .filer-dropzone .filerFile .filerClearer{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#454545 !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#fff !important;border:1px solid #ddd !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;float:right;width:10px;height:10px;margin:0 0 0 5px !important;padding:12px !important;border:solid 1px #ddd;border-radius:3px;cursor:pointer}form .form-row .filer-dropzone .filerFile .filerClearer:focus{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .filerClearer:hover{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .filerClearer:active{color:#454545 !important;background-color:#e6e6e6 !important;border-color:#c3c3c3 !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}form .form-row .filer-dropzone .filerFile .filerClearer:active:hover,form .form-row .filer-dropzone .filerFile .filerClearer:active:focus{color:#454545 !important;background-color:#d4d4d4 !important;border-color:#9d9d9d !important}form .form-row .filer-dropzone .filerFile .filerClearer:active{background-image:none !important}form .form-row .filer-dropzone .filerFile .filerClearer[disabled],form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:hover,form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:focus form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:active{background-color:rgba(255,255,255,0.4) !important;border-color:rgba(221,221,221,0.4) !important;color:rgba(69,69,69,0.8) true;cursor:not-allowed;box-shadow:none !important}form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:before,form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:hover:before,form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:focus form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:active:before{color:rgba(69,69,69,0.4) true}form .form-row .filer-dropzone .filerFile .filerClearer:before{color:#999 !important;vertical-align:middle;margin:0}form .form-row .filer-dropzone.filer-dropzone-mobile .filerFile{top:40px;text-align:center}form .form-row .filer-dropzone.filer-dropzone-mobile .dz-message{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:75px}form .form-row .filer-dropzone.filer-dropzone-mobile.js-object-attached .filerFile{top:32px;text-align:left}@media screen and (max-width: 810px){form .form-row .filer-dropzone.filer-dropzone-mobile.js-object-attached .filerFile.js-file-selector .description_text{text-overflow:ellipsis;width:calc(100% - 150px);overflow:hidden;height:20px}}form .form-row .filer-dropzone.filer-dropzone-mobile.js-object-attached .filerFile.js-file-selector span:not('.choose-file'):not('.edit-file'),form .form-row .filer-dropzone.filer-dropzone-mobile.js-object-attached .filerFile.js-file-selector .dz-name{width:calc(100% - 145px)}form .form-row .filer-dropzone.filer-dropzone-folder .filerFile{top:32px !important}form .form-row .filer-dropzone.filer-dropzone-folder .filerFile #id_folder_description_txt{float:left}@media screen and (max-width: 810px){form .form-row .filer-dropzone .filerFile{top:40px !important;text-align:center}form .form-row .filer-dropzone .dz-message{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:75px !important}form .form-row .filer-dropzone.js-object-attached .filerFile{top:62px !important}form .form-row .filer-dropzone.filer-dropzone-folder .filerFile{top:62px !important}}.filer-dropzone{min-height:100px !important}@media screen and (max-width: 810px){.filer-dropzone{min-height:150px !important}}.filer-dropzone .dz-upload{height:5px;background-color:#0bf}.filer-dropzone .dz-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 145px)}.filer-dropzone .dz-thumbnail{display:inline-block;overflow:hidden;vertical-align:top;width:36px;height:36px;margin-right:10px;border:solid 1px #ddd;border-radius:3px;background:#fff url("../icons/nofile_48x48.png");background-size:cover}.filer-dropzone .dz-thumbnail img{background:#fff}.filer-dropzone .dz-thumbnail img[src=""],.filer-dropzone .dz-thumbnail img:not([src]){width:104%;height:104%;margin:-2%}.filer-dropzone-info-message{position:fixed;bottom:35px;left:50%;z-index:2;text-align:center;width:270px;max-height:300px;overflow-y:auto;margin:-50px 0 0 -150px;padding:15px 15px 0;border-radius:3px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,0.2)}.filer-dropzone-info-message .icon{font-size:35px;color:#0bf}.filer-dropzone-info-message .text{margin:5px 0 10px}.filer-dropzone-upload-info{margin-top:10px}.filer-dropzone-upload-info .filer-dropzone-file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filer-dropzone-upload-info:empty{margin-top:0}.filer-dropzone-progress{height:5px;margin-top:5px;background-color:#0bf}.filer-dropzone-upload-welcome .folder{color:#0bf;padding:10px 0 0;margin:0 -15px;border-top:solid 1px #ddd}.filer-dropzone-upload-welcome .folder img,.filer-dropzone-upload-welcome .folder span{vertical-align:middle}.filer-dropzone-upload-welcome .folder img{margin-right:5px}.filer-dropzone-upload-welcome .folder .folder-inner{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 10px}.filer-dropzone-cancel{padding-top:10px;border-top:solid 1px #ddd;margin:15px -15px 10px}.filer-dropzone-cancel a{font-size:12px;color:#666 !important}.filer-dropzone-upload-success,.filer-dropzone-upload-canceled{margin:0 -15px 10px}.filer-dropzone-upload-count{padding-bottom:10px;margin:10px -15px;border-bottom:solid 1px #ddd}.filer-tooltip-wrapper{position:relative}.filer-tooltip{position:absolute;left:-30px;right:-30px;color:#666;text-align:center;font-size:12px !important;line-height:15px !important;white-space:normal;margin-top:5px;padding:10px;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,0.25);border-radius:5px;z-index:10}.filer-tooltip:before{position:absolute;top:-3px;left:50%;z-index:-1;content:'';width:9px;height:9px;margin-left:-5px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background-color:#fff}.disabled-btn-tooltip{display:none;outline:none}/*! + */@font-face{font-family:"django-filer-iconfont";src:url("../fonts/django-filer-iconfont.eot?v=3.2.0");src:url("../fonts/django-filer-iconfont.eot?v=3.2.0#iefix") format("eot"),url("../fonts/django-filer-iconfont.woff2?v=3.2.0") format("woff2"),url("../fonts/django-filer-iconfont.woff?v=3.2.0") format("woff"),url("../fonts/django-filer-iconfont.ttf?v=3.2.0") format("truetype"),url("../fonts/django-filer-iconfont.svg?v=3.2.0#django-filer-iconfont") format("svg");font-weight:normal;font-style:normal}.cms-icon,.dz-success-mark:before,.dz-error-mark:before,.dz-remove:before{display:inline-block;font:normal normal normal 14px/1 django-filer-iconfont;font-size:inherit;text-rendering:auto;transform:translate(0, 0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cms-icon-check:before{content:"\E001"}.cms-icon-remove:before{content:"\E002"}.cms-icon-trash-o:before{content:"\E003"}.dz-success-mark:before,.dz-error-mark:before,.dz-remove:before{font-size:16px;vertical-align:middle;margin-right:5px}#image_container{position:relative}#image_container img,#image_container svg{position:absolute;top:0;left:0;margin:0}.transpTiling{outline:1px solid #e3e3e3;background-image:url("data:image/gif;base64,R0lGODlhCAAIAKECAOPj4/z8/P///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7")}.transpTiling:hover{background-image:url("data:image/gif;base64,R0lGODlhCAAIAKECAEFBQXR0dP///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7")}#fileUploadFakeLink{position:relative}#fileInputUploaderContainer{position:absolute;top:0;left:-8px}.loadingThumb{width:32px;height:32px;background-image:url("../img/loading_animation.gif");background-repeat:no-repeat}#content-top-bar{margin-bottom:20px}#content-top-bar .object-tools{margin-top:-32px;text-align:right}#content-top-bar .object-tools li{display:inline-block !important;float:none !important}#content-top-bar .changelink{padding-left:15px !important;border:0 !important;font-weight:normal !important;color:#029eee !important;background:url("../img/icon_changelink.gif") 0 center no-repeat !important;background-color:transparent !important;box-shadow:none !important}.clipboard{float:left;overflow-x:auto;box-sizing:border-box;width:18% !important;margin-top:-1px !important;border:1px solid #ddd !important}.clipboard form{padding-top:0 !important}.clipboard table{margin:0;border:0 !important}.clipboard table td{border-color:#ddd;border-right:0 !important}.clipboard table th{padding-top:1px !important;padding-bottom:1px !important}.clipboard table tfoot td{border-bottom:0 !important}.clipboard .deletelink{padding:4px 10px;border:1px solid #999;background:#e1e1e1 url("../img/button-bg.gif") bottom left repeat-x}.clipboard tr td.thumbnail{width:40px}a.insertlinkButton{padding:4px;padding-left:28px;background-image:url("../img/select_item.gif");background-repeat:no-repeat}a.insertlinkButton:hover{background-image:url("../img/select_item-hover.gif")}a.small_folder_link{display:block;float:right;height:36px;padding-right:4px;padding-left:36px;line-height:36px;background-image:url("../icons/plainfolder_32x32.png");background-repeat:no-repeat}#toolbartable{overflow-x:auto}#toolbartable td{border-right:solid 1px #ddd}#toolbartable th{border-right:solid 1px #ddd}#toolbartable+.paginator{border-right:solid 1px #ddd}table thead th.thumbHeader{width:52px}.fileUploadQueueItem .fileUploadProgress .fileUploadProgressBar{background-color:black}.filebrowser #changelist{overflow:hidden}.filebrowser #changelist .change{text-align:right}.filebrowser #changelist .change a{display:block;float:right}.filebrowser #changelist .moveto{min-width:180px;text-align:right}.filebrowser #changelist .moveto a{display:inline-block;margin-right:10px}.filebrowser #changelist .moveto button{float:right}h1.folder_header{margin-bottom:0;background-image:url("../img/nav-bg.gif");background-repeat:repeat-x;background-position:bottom}html,body{min-width:320px;height:100% !important}.text-left{text-align:left}.text-right{text-align:right}.clearfix:after{content:"";display:table;clear:both}.related-widget-wrapper{float:none !important}.related-lookup.hidden{display:none !important}.tiny{font-size:12px !important;color:#999 !important}.nav-pages{position:relative;font-size:12px;color:#999 !important;padding:10px 15px;background:#fff}.nav-pages span{font-size:12px;color:#999 !important}.nav-pages .actions{float:right}#id_upload_button:before{display:none}#content #content-main{margin-top:0}.filebrowser.cms-admin-sideframe #container .breadcrumbs+#content,.filebrowser.cms-admin-sideframe #container .breadcrumbs+.messagelist+#content{margin-left:0 !important;margin-right:0 !important}.filebrowser.cms-admin-sideframe #container .breadcrumbs{left:0 !important;padding-left:20px !important}.filebrowser #container{min-width:auto}.filebrowser #container #content{padding:0;box-shadow:0 0 5px 0 rgba(0,0,0,0.2)}.filebrowser #container .breadcrumbs+#content,.filebrowser #container .breadcrumbs+.messagelist+#content{margin-left:3% !important}.filebrowser h1.folder_header{position:relative;top:6px}.filebrowser h2{display:none}.filebrowser #content-main{background-color:white}.field-file,.field-sha1{word-wrap:break-word;word-break:break-all}.well.img-preview{display:none;margin-top:0}.img-wrapper{width:180px;height:180px}.file-duplicates{clear:both;padding:20px 0 0}.delete-confirmation form .cancel-link{height:auto !important;line-height:inherit !important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.hidden{display:none !important}.filer-info-bar{min-height:15px;margin:0 0 2px !important;padding:15px 20px;box-shadow:0 0 10px -2px rgba(0,0,0,0.2);background-color:white}.image-info{position:relative;float:right;box-sizing:border-box;width:28%;margin-top:0;border:0;border-radius:3px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,0.2)}.image-info .image-details,.image-info .actions-list{margin:0;padding:0}.image-info .image-details.image-details,.image-info .actions-list.image-details{margin:10px 0;padding:0 10px}.image-info .image-details li,.image-info .actions-list li{list-style-type:none}.image-info .image-details a,.image-info .actions-list a{cursor:pointer}.image-info.image-info-detail{*zoom:1;position:static;float:none;width:100%;margin-bottom:20px;padding:25px;border-radius:0}.image-info.image-info-detail:before,.image-info.image-info-detail:after{content:" ";display:table}.image-info.image-info-detail:after{clear:both}.image-info.image-info-detail+#content-main .object-tools{margin-top:20px;margin-right:20px;background-color:transparent}.image-info.image-info-detail+#content-main .object-tools:before{display:none}.image-info.image-info-detail .image-details-left{float:left}.image-info.image-info-detail .image-details-right{float:left;margin-left:50px}.image-info.image-info-detail .icon{font-size:18px}.image-info.image-info-detail .image-details,.image-info.image-info-detail .actions-list{margin-top:0;border:0 !important}.image-info.image-info-detail .image-details.image-details,.image-info.image-info-detail .actions-list.image-details{margin-top:20px;margin-bottom:15px;padding:0}.image-info.image-info-detail .image-details dt,.image-info.image-info-detail .actions-list dt{float:left;color:#808080;font-size:13px;line-height:16px !important;font-weight:normal;margin-top:0}.image-info.image-info-detail .image-details dd,.image-info.image-info-detail .actions-list dd{color:#666;font-size:13px;line-height:16px !important;padding-left:80px;margin-bottom:5px}.image-info.image-info-detail .image-details .text,.image-info.image-info-detail .actions-list .text{font-size:13px;margin-right:15px}.image-info.image-info-detail .image-details .text strong,.image-info.image-info-detail .actions-list .text strong{font-size:13px}.image-info.image-info-detail .image-details li,.image-info.image-info-detail .actions-list li{color:#666;font-size:13px !important;font-weight:normal !important;padding:1px 0 !important;border:0 !important}.image-info.image-info-detail .image-details a,.image-info.image-info-detail .actions-list a{padding:0}.image-info.image-info-detail .image-info-title{overflow:hidden;color:#666;white-space:nowrap;text-overflow:ellipsis;padding:0 0 5px}.image-info.image-info-detail .image-info-title .icon{float:left;margin-right:5px}.image-info.image-info-detail .image-preview-container{text-align:left;margin:20px 0 0;padding:0}.image-info.image-info-detail .image-preview-container>img{margin-bottom:15px}.image-info.image-info-detail .actions-list .icon{font-size:16px}.image-info.image-info-detail .actions-list .icon:last-child{float:none}@media screen and (max-width: 720px){.image-info{float:none;width:100%}.image-info.image-info-detail .image-details-left,.image-info.image-info-detail .image-details-right{float:none;margin-left:0}}.image-info-close{position:absolute;top:-10px;right:-7px;font-size:20px;cursor:pointer}.image-info-title{padding:5px 10px;border-bottom:solid 1px #ddd}.image-info-title a{margin-left:5px}.image-preview-container{text-align:center;margin:10px 0;padding:0 10px}.image-preview-container .image-preview{display:inline-block;position:relative;margin-bottom:15px;outline:1px solid #e3e3e3;background-image:url("data:image/gif;base64,R0lGODlhCAAIAKECAOPj4/z8/P///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7")}.image-preview-container .image-preview img{display:block}.image-preview-container .image-preview-field{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.image-preview-container .image-preview-circle{position:relative;z-index:1;width:26px;height:26px;border:solid 2px #f00;margin:-13px;border-radius:30px;cursor:move;background:rgba(255,255,255,0.5)}.actions-list-dropdown a{display:block;padding:5px 10px}.actions-list-dropdown .caret-down{display:inline-block}.actions-list-dropdown .caret-right{display:none}.actions-list-dropdown.js-collapsed{border-bottom:solid 1px #ddd}.actions-list-dropdown.js-collapsed .caret-down{display:none}.actions-list-dropdown.js-collapsed .caret-right{display:inline-block}.actions-list{border-top:solid 1px #ddd}.actions-list:last-child{border-top:none}.actions-list:last-child a{border-bottom:none}.actions-list a{display:block;font-size:20px;padding:5px 10px;border-bottom:solid 1px #ddd}.actions-list .icon:first-child{width:20px}.actions-list .icon:last-child{float:right;margin-top:3px}.actions-separated-list{display:inline-block;margin:0;padding-left:0}@media screen and (max-width: 720px){.actions-separated-list{float:left;margin-left:0}}.actions-separated-list li{display:inline-block;line-height:34px;vertical-align:middle;padding:0 10px;list-style:none}@media screen and (max-width: 720px){.actions-separated-list li:first-child{padding-left:0}}.actions-separated-list li span{vertical-align:middle}.actions-separated-list li a{color:#666}.actions-separated-list span:before{font-size:18px}.search-is-focused .filter-files-container{position:static}.search-is-focused .filter-filers-container-inner{position:absolute;top:0;left:0;right:0}@media screen and (max-width: 720px){.search-is-focused .filter-filers-container-inner{position:static}}.search-is-focused .breadcrumbs-container{position:relative}.search-is-focused.breadcrumb-min-width .filter-filers-container-inner{position:static}.filter-files-container{*zoom:1;display:table-cell;vertical-align:middle;position:relative;width:245px;margin:0;padding:0;background:none;box-shadow:none;z-index:1000}.filter-files-container:before,.filter-files-container:after{content:" ";display:table}.filter-files-container:after{clear:both}@media screen and (max-width: 720px){.filter-files-container{display:block;width:auto;margin-right:0;margin-top:10px}.filter-files-container .filter-files-button{float:none}}.filter-files-container .filer-dropdown-container{position:absolute;top:0;right:0}.filter-files-container .filer-dropdown-container>a,.filter-files-container .filer-dropdown-container>a:visited,.filter-files-container .filer-dropdown-container>a:link:visited,.filter-files-container .filer-dropdown-container>a:link{display:inline-block;line-height:34px;text-align:center;width:34px;height:34px;padding:0}.filter-files-container .filer-dropdown-container.open+.filer-dropdown-menu-checkboxes{display:block;width:calc(100% - 30px)}.filter-files-container .filer-dropdown-container.open+.filer-dropdown-menu-checkboxes li{margin:0;padding:0;list-style-type:none}.filter-files-container .filter-search-wrapper{position:relative;float:left;text-align:right;width:calc(100% - 43px);margin-right:5px}@media screen and (max-width: 720px){.filter-files-container .filter-search-wrapper{float:left}}.filter-files-container .filter-search-wrapper .filer-dropdown-container span{line-height:34px !important;height:34px !important}.filter-files-container .filter-files-button{float:right;text-align:center;white-space:nowrap;height:35px;margin:0;padding:8px !important}.filter-files-container .filter-files-button .icon{position:relative;left:2px;font-size:16px !important;vertical-align:top}.filter-files-container .filter-files-field{color:#333;font-size:12px !important;line-height:35px;font-weight:normal;box-sizing:border-box;min-width:200px !important;height:35px;margin:0;padding:0 35px 0 10px !important;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:max-width 200ms}.filter-files-container .filter-files-field::-ms-clear{display:none}.filter-files-container .filer-dropdown-menu{margin-top:0 !important;margin-right:-1px !important}.filter-files-cancel{margin:5px 20px}body.dz-drag-hover .drag-hover-border{display:none !important}body.dz-drag-hover .navigator-table tbody td,body.dz-drag-hover .navigator-table tbody .unfiled td{background-color:#f1faff !important}body.reset-hover td{background-color:white !important}.drag-hover-border{position:fixed;border-top:solid 2px #0bf;border-bottom:solid 2px #0bf;pointer-events:none;z-index:100}.filebrowser .navigator-table{width:100%;margin:0;border-top:solid 1px #ddd !important;border-collapse:collapse !important}.filebrowser .navigator-table thead th,.filebrowser .navigator-table tbody td{text-align:left;font-weight:normal;vertical-align:middle;padding:5px !important;border-left:0 !important;border-bottom:1px solid #ddd;border-top:1px solid transparent;background:none !important}.filebrowser .navigator-table tbody tr.selected .action-button span{color:#454545 !important}.filebrowser .navigator-table .unfiled td{padding:12px 5px !important;background-color:#f7f7f7 !important}.filebrowser .navigator-table .unfiled td a,.filebrowser .navigator-table .unfiled td a:hover{color:#666 !important}.filebrowser .navigator-table .column-checkbox{text-align:center;width:20px;padding-left:20px !important}.filebrowser .navigator-table .column-checkbox input{vertical-align:middle;margin:0}.filebrowser .navigator-table .column-name a{color:#0bf}.filebrowser .navigator-table .column-icon{width:25px;padding-top:0 !important;padding-bottom:0 !important}.filebrowser .navigator-table .column-icon img{width:25px;height:auto}.filebrowser .navigator-table .column-action{text-align:center;width:90px;white-space:nowrap;padding-right:20px !important}.filebrowser .navigator-table .column-action a{font-size:16px !important;margin:0}.filebrowser .navigator-table .column-action .action-button{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#454545 !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#fff !important;border:1px solid #ddd !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px !important}.filebrowser .navigator-table .column-action .action-button:focus{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}.filebrowser .navigator-table .column-action .action-button:hover{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}.filebrowser .navigator-table .column-action .action-button:active{color:#454545 !important;background-color:#e6e6e6 !important;border-color:#c3c3c3 !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}.filebrowser .navigator-table .column-action .action-button:active:hover,.filebrowser .navigator-table .column-action .action-button:active:focus{color:#454545 !important;background-color:#d4d4d4 !important;border-color:#9d9d9d !important}.filebrowser .navigator-table .column-action .action-button:active{background-image:none !important}.filebrowser .navigator-table .column-action .action-button[disabled],.filebrowser .navigator-table .column-action .action-button[disabled]:hover,.filebrowser .navigator-table .column-action .action-button[disabled]:focus .filebrowser .navigator-table .column-action .action-button[disabled]:active{background-color:rgba(255,255,255,0.4) !important;border-color:rgba(221,221,221,0.4) !important;color:rgba(69,69,69,0.8) true;cursor:not-allowed;box-shadow:none !important}.filebrowser .navigator-table .column-action .action-button[disabled]:before,.filebrowser .navigator-table .column-action .action-button[disabled]:hover:before,.filebrowser .navigator-table .column-action .action-button[disabled]:focus .filebrowser .navigator-table .column-action .action-button[disabled]:active:before{color:rgba(69,69,69,0.4) true}.filebrowser .navigator-table .column-action .action-button span{font-size:16px;line-height:33px;vertical-align:middle}.filebrowser .navigator-table .no-files{color:#666;font-size:14px;text-align:center;padding:40px 0 !important;background-color:#f2f2f2 !important}.filebrowser .navigator-table .no-files span{font-size:20px;margin-right:10px}.filebrowser .navigator-table .no-files span:before{vertical-align:sub}.filebrowser .navigator-table .dz-drag-hover td{position:relative;background:#f1faff !important;box-sizing:border-box !important}.filebrowser .navigator-table .dz-drag-hover td a{color:#0bf !important}.filebrowser .navigator-table .dz-drag-hover td a.icon{color:#454545 !important;background-color:white !important}.filebrowser .navigator-table.dz-drag-hover{position:relative}.filebrowser .navigator-table.dz-drag-hover .drag-hover-border{display:none !important}.filebrowser .navigator-table.dz-drag-hover td{background:#f1faff !important;box-sizing:border-box !important}.filebrowser .navigator-table .reset-hover td,.filebrowser .navigator-table.reset-hover td{background-color:#fff !important}.filebrowser .navigator-table .reset-hover .dz-drag-hover td,.filebrowser .navigator-table.reset-hover .dz-drag-hover td{background:#f1faff !important}.navigator-top-nav{position:relative;clear:both;min-height:35px;padding:15px 20px;background:#f7f7f7;border-bottom:#ddd solid 1px}.navigator-top-nav .breadcrumbs-container-wrapper{display:table;width:100%}@media screen and (max-width: 720px){.navigator-top-nav .breadcrumbs-container-wrapper{display:block}}.navigator-top-nav .breadcrumbs-container-inner{display:table;table-layout:fixed;width:100%}.navigator-top-nav .breadcrumbs-container-inner .filer-dropdown-container{display:table-cell;width:30px;height:35px;vertical-align:middle}.navigator-top-nav .breadcrumbs-container-inner .filer-dropdown-container span{line-height:35px;height:35px;vertical-align:middle}.navigator-top-nav .breadcrumbs-container{display:table-cell;vertical-align:middle}@media screen and (max-width: 720px){.navigator-top-nav .breadcrumbs-container{position:static;margin-right:20px}}.navigator-top-nav .tools-container{*zoom:1;display:table-cell;vertical-align:middle;text-align:right;margin-top:2px}.navigator-top-nav .tools-container:before,.navigator-top-nav .tools-container:after{content:" ";display:table}.navigator-top-nav .tools-container:after{clear:both}@media screen and (max-width: 720px){.navigator-top-nav .tools-container{display:inline;text-align:left}}.navigator-top-nav .nav-button{display:inline-block;color:#666;font-size:20px;line-height:34px;vertical-align:top;margin:0 10px}.navigator-top-nav .nav-button span{vertical-align:middle}.navigator-top-nav .nav-button-filter{position:relative;top:-1px}.navigator-top-nav .nav-button-dots{margin:0;padding:0 15px}.navigator-top-nav .separator{display:inline-block;position:relative;vertical-align:top;width:1px;height:34px;margin:0 5px}.navigator-top-nav .separator:before{content:"";display:block;position:absolute;top:-14px;bottom:-11px;overflow:hidden;width:1px;background-color:#ccc}.breadcrumb-min-width .filer-navigator-breadcrumbs-dropdown-container,.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper,.breadcrumb-min-width .navigator-breadcrumbs-folder-name-wrapper,.breadcrumb-min-width .breadcrumbs-container-wrapper,.breadcrumb-min-width .breadcrumbs-container,.breadcrumb-min-width .tools-container,.breadcrumb-min-width .filter-files-container,.breadcrumb-min-width .navigator-breadcrumbs,.breadcrumb-min-width .navigator-button-wrapper{display:inline-block;text-align:left}.breadcrumb-min-width .filer-navigator-breadcrumbs-dropdown-container .actions-wrapper,.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper .actions-wrapper,.breadcrumb-min-width .navigator-breadcrumbs-folder-name-wrapper .actions-wrapper,.breadcrumb-min-width .breadcrumbs-container-wrapper .actions-wrapper,.breadcrumb-min-width .breadcrumbs-container .actions-wrapper,.breadcrumb-min-width .tools-container .actions-wrapper,.breadcrumb-min-width .filter-files-container .actions-wrapper,.breadcrumb-min-width .navigator-breadcrumbs .actions-wrapper,.breadcrumb-min-width .navigator-button-wrapper .actions-wrapper{white-space:nowrap;margin-left:0;margin-top:10px}.breadcrumb-min-width .filer-navigator-breadcrumbs-dropdown-container .actions-wrapper li:first-child,.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper .actions-wrapper li:first-child,.breadcrumb-min-width .navigator-breadcrumbs-folder-name-wrapper .actions-wrapper li:first-child,.breadcrumb-min-width .breadcrumbs-container-wrapper .actions-wrapper li:first-child,.breadcrumb-min-width .breadcrumbs-container .actions-wrapper li:first-child,.breadcrumb-min-width .tools-container .actions-wrapper li:first-child,.breadcrumb-min-width .filter-files-container .actions-wrapper li:first-child,.breadcrumb-min-width .navigator-breadcrumbs .actions-wrapper li:first-child,.breadcrumb-min-width .navigator-button-wrapper .actions-wrapper li:first-child{padding-left:0}.breadcrumb-min-width .navigator-button-wrapper{margin-top:10px}.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper{min-height:inherit}.breadcrumb-min-width .navigator-breadcrumbs-name-dropdown-wrapper .filer-dropdown-container .fa-caret-down{vertical-align:text-top}.breadcrumb-min-width .breadcrumbs-container-inner .filer-dropdown-container{display:inline-block !important}.breadcrumb-min-width .navigator-tools{white-space:normal}.breadcrumb-min-width .filter-files-container{width:100%;margin-top:10px;z-index:auto}.breadcrumb-min-width .breadcrumbs-container{margin-right:0}.breadcrumb-min-width .navigator-breadcrumbs .icon{vertical-align:middle}.breadcrumb-min-width .navigator-breadcrumbs-folder-name-wrapper{float:left;width:calc(100% - 30px)}.navigator-tools{*zoom:1;white-space:nowrap}.navigator-tools:before,.navigator-tools:after{content:" ";display:table}.navigator-tools:after{clear:both}@media screen and (max-width: 720px){.navigator-tools{display:inline}}.navigator-tools .actions-wrapper{display:inline-block;margin-bottom:0;margin-left:10px}.navigator-tools .actions-wrapper a,.navigator-tools .actions-wrapper a:hover{color:#999 !important;cursor:not-allowed}@media screen and (max-width: 720px){.navigator-tools .actions-wrapper{*zoom:1;float:none;margin-left:0}.navigator-tools .actions-wrapper:before,.navigator-tools .actions-wrapper:after{content:" ";display:table}.navigator-tools .actions-wrapper:after{clear:both}}.navigator-tools .actions-wrapper.action-selected a{color:#666 !important;cursor:pointer}.navigator-tools .actions-wrapper.action-selected .actions-separated-list{display:inline-block}.navigator-tools .actions{display:none;float:right}@media screen and (max-width: 720px){.navigator-tools .actions{*zoom:1;float:none;margin-bottom:10px}.navigator-tools .actions:before,.navigator-tools .actions:after{content:" ";display:table}.navigator-tools .actions:after{clear:both}}.navigator-tools .actions .all,.navigator-tools .actions .question,.navigator-tools .actions .clear,.navigator-tools .actions .action-counter{font-size:12px;line-height:34px;vertical-align:text-top}.navigator-tools .actions .action-counter,.navigator-tools .actions .all{color:#999}.navigator-tools .actions .question,.navigator-tools .actions .clear{margin-left:10px;padding-left:10px;border-left:solid 1px #ddd}@media screen and (max-width: 720px){.navigator-top-nav .breadcrumbs-container{float:none}.navigator-top-nav .navigator-tools{float:none}.navigator-top-nav .navigator-tools .separator:before{top:0;bottom:0}}.navigator-button-wrapper{display:inline-block;vertical-align:top;text-align:right;margin-bottom:0;margin-left:10px}@media screen and (max-width: 720px){.navigator-button-wrapper{display:block;float:none;text-align:left;margin-top:0;margin-left:0}}.navigator-button{margin-right:10px}.navigator-button,.navigator-button:visited,.navigator-button:link:visited,.navigator-button:link{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#fff !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#0bf !important;border:1px solid #0bf !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;vertical-align:top;padding:10px 20px !important}.navigator-button:focus,.navigator-button:visited:focus,.navigator-button:link:visited:focus,.navigator-button:link:focus{color:#fff !important;background-color:#00a8e6 !important;border-color:#00a8e6 !important;text-decoration:none !important}.navigator-button:hover,.navigator-button:visited:hover,.navigator-button:link:visited:hover,.navigator-button:link:hover{color:#fff !important;background-color:#00a8e6 !important;border-color:#00a8e6 !important;text-decoration:none !important}.navigator-button:active,.navigator-button:visited:active,.navigator-button:link:visited:active,.navigator-button:link:active{color:#fff !important;background-color:#0096cc !important;border-color:#0096cc !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}.navigator-button:active:hover,.navigator-button:active:focus,.navigator-button:visited:active:hover,.navigator-button:visited:active:focus,.navigator-button:link:visited:active:hover,.navigator-button:link:visited:active:focus,.navigator-button:link:active:hover,.navigator-button:link:active:focus{color:#fff !important;background-color:#007ba8 !important;border-color:#005e80 !important}.navigator-button:active,.navigator-button:visited:active,.navigator-button:link:visited:active,.navigator-button:link:active{background-image:none !important}.navigator-button[disabled],.navigator-button[disabled]:hover,.navigator-button[disabled]:focus .navigator-button[disabled]:active,.navigator-button:visited[disabled],.navigator-button:visited[disabled]:hover,.navigator-button:visited[disabled]:focus .navigator-button[disabled]:active,.navigator-button:link:visited[disabled],.navigator-button:link:visited[disabled]:hover,.navigator-button:link:visited[disabled]:focus .navigator-button[disabled]:active,.navigator-button:link[disabled],.navigator-button:link[disabled]:hover,.navigator-button:link[disabled]:focus .navigator-button[disabled]:active,.navigator-button[disabled]:focus .navigator-button:visited[disabled]:active,.navigator-button:visited[disabled]:focus .navigator-button:visited[disabled]:active,.navigator-button:link:visited[disabled]:focus .navigator-button:visited[disabled]:active,.navigator-button:link[disabled]:focus .navigator-button:visited[disabled]:active,.navigator-button[disabled]:focus .navigator-button:link:visited[disabled]:active,.navigator-button:visited[disabled]:focus .navigator-button:link:visited[disabled]:active,.navigator-button:link:visited[disabled]:focus .navigator-button:link:visited[disabled]:active,.navigator-button:link[disabled]:focus .navigator-button:link:visited[disabled]:active,.navigator-button[disabled]:focus .navigator-button:link[disabled]:active,.navigator-button:visited[disabled]:focus .navigator-button:link[disabled]:active,.navigator-button:link:visited[disabled]:focus .navigator-button:link[disabled]:active,.navigator-button:link[disabled]:focus .navigator-button:link[disabled]:active{background-color:rgba(0,187,255,0.4) !important;border-color:rgba(0,187,255,0.4) !important;color:rgba(255,255,255,0.8) true;cursor:not-allowed;box-shadow:none !important}.navigator-button[disabled]:before,.navigator-button[disabled]:hover:before,.navigator-button[disabled]:focus .navigator-button[disabled]:active:before,.navigator-button:visited[disabled]:before,.navigator-button:visited[disabled]:hover:before,.navigator-button:visited[disabled]:focus .navigator-button[disabled]:active:before,.navigator-button:link:visited[disabled]:before,.navigator-button:link:visited[disabled]:hover:before,.navigator-button:link:visited[disabled]:focus .navigator-button[disabled]:active:before,.navigator-button:link[disabled]:before,.navigator-button:link[disabled]:hover:before,.navigator-button:link[disabled]:focus .navigator-button[disabled]:active:before,.navigator-button[disabled]:focus .navigator-button:visited[disabled]:active:before,.navigator-button:visited[disabled]:focus .navigator-button:visited[disabled]:active:before,.navigator-button:link:visited[disabled]:focus .navigator-button:visited[disabled]:active:before,.navigator-button:link[disabled]:focus .navigator-button:visited[disabled]:active:before,.navigator-button[disabled]:focus .navigator-button:link:visited[disabled]:active:before,.navigator-button:visited[disabled]:focus .navigator-button:link:visited[disabled]:active:before,.navigator-button:link:visited[disabled]:focus .navigator-button:link:visited[disabled]:active:before,.navigator-button:link[disabled]:focus .navigator-button:link:visited[disabled]:active:before,.navigator-button[disabled]:focus .navigator-button:link[disabled]:active:before,.navigator-button:visited[disabled]:focus .navigator-button:link[disabled]:active:before,.navigator-button:link:visited[disabled]:focus .navigator-button:link[disabled]:active:before,.navigator-button:link[disabled]:focus .navigator-button:link[disabled]:active:before{color:rgba(255,255,255,0.4) true}.navigator-button .icon{position:relative;margin-right:5px}.navigator-button .fa-folder{top:0}.navigator-button.navigator-button-upload{margin-right:0}.upload-button-disabled{display:inline-block}.navigator-button+.filer-dropdown-menu{margin-top:-2px}.navigator{position:relative;overflow-x:auto;width:100%}.navigator form{margin:0;padding:0;box-shadow:none}.filer-dropdown-container{display:inline-block;position:relative;vertical-align:top}.filer-dropdown-container .fa-caret-down{font-size:16px}.filer-dropdown-container .filer-dropdown-menu,.filer-dropdown-container+.filer-dropdown-menu{display:none;right:0;left:auto;border:0;box-shadow:0 1px 10px rgba(0,0,0,0.25)}.filer-dropdown-container .filer-dropdown-menu>li>a,.filer-dropdown-container+.filer-dropdown-menu>li>a{display:block;color:#0bf;font-weight:normal;white-space:normal;padding:12px 20px !important}@media screen and (min-width: 720px){.filer-dropdown-container .filer-dropdown-menu>li>a,.filer-dropdown-container+.filer-dropdown-menu>li>a{white-space:nowrap}}.filer-dropdown-container .filer-dropdown-menu label,.filer-dropdown-container+.filer-dropdown-menu label{display:block;line-height:20px !important;text-transform:none;width:auto;margin:5px 0 !important;padding:0 10px !important}.filer-dropdown-container .filer-dropdown-menu input,.filer-dropdown-container+.filer-dropdown-menu input{position:relative;top:4px;vertical-align:top;margin-right:5px}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes{width:0;min-height:50px;padding:15px;border:0;box-shadow:0 1px 10px rgba(0,0,0,0.25)}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes:before,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes:before{display:none}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes .fa-close,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes .fa-close{position:absolute;top:10px;right:10px;color:#666;cursor:pointer}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes .fa-close:hover,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes .fa-close:hover{color:#0bf}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes p,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes p{color:#999 !important;font-weight:normal;text-transform:uppercase;margin-bottom:5px}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes label,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes label{color:#666 !important;font-weight:normal;padding:0 !important;margin-top:0 !important}.filer-dropdown-container .filer-dropdown-menu.filer-dropdown-menu-checkboxes label input,.filer-dropdown-container+.filer-dropdown-menu.filer-dropdown-menu-checkboxes label input{margin-left:0}.filer-dropdown-container .filer-dropdown-menu a:hover,.filer-dropdown-container+.filer-dropdown-menu a:hover{color:white !important;background:#0bf !important}.filer-dropdown-container.open .filer-dropdown-menu{display:block}.filer-dropdown-container.open .filer-dropdown-menu li{margin:0;padding:0;list-style-type:none}.filer-dropdown-container+.separator{margin-right:10px}.filer-dropdown-container-down>a,.filer-dropdown-container-down>a:link,.filer-dropdown-container-down>a:visited,.filer-dropdown-container-down>a:link:visited{color:#666;font-size:20px;line-height:35px;height:35px;padding:0 10px}.filer-dropdown-container-down .filer-dropdown-menu{right:auto;left:-14px;margin-right:10px}.filer-dropdown-menu{position:absolute;top:100%;z-index:1000;display:none;float:left;min-width:160px;margin:2px 0 0;margin-top:0 !important;list-style:none;font-size:14px;text-align:left;background-color:#fff;border-radius:4px;background-clip:padding-box}.filer-dropdown-menu:before{position:absolute;top:-5px;left:35px;z-index:-1;content:'';width:10px;height:10px;margin-left:-5px;transform:rotate(45deg);background-color:#fff}.filer-dropdown-menu.create-menu-dropdown:before{left:auto;right:17px}.navigator-breadcrumbs{*zoom:1;display:table-cell;vertical-align:middle;font-size:16px;white-space:nowrap;width:60px}.navigator-breadcrumbs:before,.navigator-breadcrumbs:after{content:" ";display:table}.navigator-breadcrumbs:after{clear:both}.navigator-breadcrumbs>a{color:#333 !important}.navigator-breadcrumbs .icon{color:#999;line-height:35px;height:35px;margin:0 5px}.navigator-breadcrumbs .icon:before{vertical-align:middle}.navigator-breadcrumbs li{list-style-type:none}.navigator-breadcrumbs-folder-name-wrapper{display:table-cell;overflow:hidden;font-size:16px;font-weight:bold;vertical-align:middle;white-space:nowrap}.navigator-breadcrumbs-folder-name{display:block;overflow:hidden;white-space:normal;line-height:35px;width:100%;height:35px}.navigator-breadcrumbs-folder-name-inner{display:block;position:relative;overflow:hidden;line-height:35px;height:35px;width:100%;text-overflow:ellipsis}.filer-navigator-breadcrumbs-dropdown-container{position:relative;float:left;vertical-align:middle;margin:0 7px 0 0}.filer-navigator-breadcrumbs-dropdown-container>a img{padding:3px 0}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown{left:-15px !important;min-width:200px;padding:0;margin-top:0;border:0;box-shadow:0 1px 10px rgba(0,0,0,0.25)}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown>li{padding:0}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown>li>a{color:#0bf;padding:12px 20px 3px !important;border-bottom:solid 1px #e1e1e1}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown>li>a:hover{color:white !important;background:#0bf !important}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown>li:last-child>a{border-bottom:none}.filer-navigator-breadcrumbs-dropdown-container .navigator-breadcrumbs-dropdown img{position:relative;top:-5px;vertical-align:top;margin:0 10px 0 0}.navigator-dropdown-arrow-up{position:relative;left:20px;overflow:hidden;width:20px;height:20px;margin-top:-20px;z-index:1001}.navigator-dropdown-arrow-up:after{content:"";position:absolute;top:15px;left:5px;width:10px;height:10px;background:white;transform:rotate(45deg);box-shadow:0 1px 10px rgba(0,0,0,0.25)}.navigator-breadcrumbs-name-dropdown-wrapper{display:table;min-height:35px}.navigator-breadcrumbs-name-dropdown-wrapper .filer-dropdown-menu{left:auto;right:-80px}.navigator-breadcrumbs-name-dropdown-wrapper .filer-dropdown-menu:before{right:80px;left:auto}.navigator-breadcrumbs-name-dropdown-wrapper a{display:inline-block}.empty-filer-header-cell{display:table-cell;vertical-align:middle}.popup.app-cmsplugin_filer_image .form-row.field-image .field-box,.popup.app-cmsplugin_filer_image .field-box.field-free_link,.popup.app-cmsplugin_filer_image .field-box.field-page_link,.popup.app-cmsplugin_filer_image .field-box.field-file_link{float:none !important;margin-right:0 !important;margin-top:20px !important}.popup.app-cmsplugin_filer_image .form-row.field-image .field-box:first-child,.popup.app-cmsplugin_filer_image .field-box.field-free_link:first-child,.popup.app-cmsplugin_filer_image .field-box.field-page_link:first-child,.popup.app-cmsplugin_filer_image .field-box.field-file_link:first-child{margin-top:0 !important}.popup.app-cmsplugin_filer_image .form-row.field-image .field-box input,.popup.app-cmsplugin_filer_image .field-box.field-free_link input,.popup.app-cmsplugin_filer_image .field-box.field-page_link input,.popup.app-cmsplugin_filer_image .field-box.field-file_link input{width:100% !important}.popup.app-cmsplugin_filer_image .form-row .field-box.field-crop,.popup.app-cmsplugin_filer_image .form-row .field-box.field-upscale{margin-top:30px}.popup.delete-confirmation .colM ul{margin-bottom:25px !important}.popup .image-info-detail{padding:0;padding-bottom:25px;margin-bottom:30px;box-shadow:none;border-bottom:solid 1px #ddd}.popup.change-list.filebrowser #result_list tbody th,.popup.change-list.filebrowser #result_list tbody td{height:auto}.popup .filer-dropzone{padding:20px}.popup form .form-row .filer-dropzone .filerFile{top:32px}.popup.filebrowser #container #content{margin:0 !important}.popup .navigator-button-wrapper{float:right}@media screen and (max-width: 720px){.popup .navigator-button-wrapper{float:none}}.popup .navigator-top-nav .tools-container{width:70%}.popup .navigator-top-nav .breadcrumbs-container{width:30%}@media screen and (max-width: 720px){.popup .navigator-top-nav .tools-container,.popup .navigator-top-nav .breadcrumbs-container{width:100%}}form .form-row[class*="file"] .related-widget-wrapper-link,form .form-row[class*="img"] .related-widget-wrapper-link,form .form-row[class*="image"] .related-widget-wrapper-link,form .form-row[class*="visual"] .related-widget-wrapper-link{display:none}form .form-row .filer-dropzone{*zoom:1;position:relative;min-width:215px;border:solid 1px #ddd;border-radius:3px;background-color:#f2f2f2;box-sizing:border-box !important}form .form-row .filer-dropzone:before,form .form-row .filer-dropzone:after{content:" ";display:table}form .form-row .filer-dropzone:after{clear:both}form .form-row .filer-dropzone .z-index-fix{position:absolute;top:0;right:0;bottom:0;left:0}form .form-row .filer-dropzone.dz-drag-hover{padding-top:19px;background-color:#f1faff;border:solid 2px #0bf !important}form .form-row .filer-dropzone.dz-drag-hover .z-index-fix{z-index:1}form .form-row .filer-dropzone.dz-drag-hover .dz-message{opacity:1;display:block !important;visibility:visible}form .form-row .filer-dropzone.dz-drag-hover .filerFile{display:none}form .form-row .filer-dropzone.dz-drag-hover .dz-message,form .form-row .filer-dropzone.dz-drag-hover .dz-message .icon{color:#0bf !important}form .form-row .filer-dropzone.dz-started .fileUpload{display:none}form .form-row .filer-dropzone .dz-preview{width:100%;min-height:auto;margin-right:0;margin-bottom:0;margin-left:0;padding-bottom:10px;border-bottom:solid 1px #ddd}form .form-row .filer-dropzone .dz-preview.dz-error{position:relative}form .form-row .filer-dropzone .dz-preview.dz-error .dz-error-message{display:none}form .form-row .filer-dropzone .dz-preview.dz-error:hover .dz-error-message{display:block}form .form-row .filer-dropzone .dz-preview .dz-details{min-width:calc(100% - 80px);max-width:calc(100% - 80px);margin-top:7px;margin-left:40px;padding:0;opacity:1}form .form-row .filer-dropzone .dz-preview .dz-details .dz-filename,form .form-row .filer-dropzone .dz-preview .dz-details .dz-filename:hover,form .form-row .filer-dropzone .dz-preview .dz-details .dz-size{float:left;text-align:left}form .form-row .filer-dropzone .dz-preview .dz-details .dz-filename span,form .form-row .filer-dropzone .dz-preview .dz-details .dz-filename:hover span,form .form-row .filer-dropzone .dz-preview .dz-details .dz-size span{color:#666;border:0 !important;background-color:transparent !important}form .form-row .filer-dropzone .dz-preview .dz-remove{display:inline-block;position:absolute;top:7px;right:25px;font:0/0 a}form .form-row .filer-dropzone .dz-preview .dz-remove:before{content:"\E003"}form .form-row .filer-dropzone .dz-preview .dz-remove:before{color:#666;font-size:18px}form .form-row .filer-dropzone .dz-preview .dz-error-message{top:65px;left:0;width:100%}form .form-row .filer-dropzone .dz-preview .dz-success-mark,form .form-row .filer-dropzone .dz-preview .dz-error-mark{top:5px;right:0;left:auto;margin-top:0}form .form-row .filer-dropzone .dz-preview .dz-success-mark:before,form .form-row .filer-dropzone .dz-preview .dz-error-mark:before{color:#666}form .form-row .filer-dropzone .dz-preview .dz-success-mark svg,form .form-row .filer-dropzone .dz-preview .dz-error-mark svg{display:none}form .form-row .filer-dropzone .dz-preview .dz-success-mark:before{content:"\E001"}form .form-row .filer-dropzone .dz-preview .dz-success-mark:before{color:#693}form .form-row .filer-dropzone .dz-preview .dz-error-mark:before{content:"\E002"}form .form-row .filer-dropzone .dz-preview .dz-error-mark:before{color:red}form .form-row .filer-dropzone .dz-preview.dz-image-preview,form .form-row .filer-dropzone .dz-preview.dz-file-preview{background-color:transparent}form .form-row .filer-dropzone .dz-preview.dz-image-preview .dz-image,form .form-row .filer-dropzone .dz-preview.dz-file-preview .dz-image{overflow:hidden;width:36px;height:36px;border:solid 1px #ddd;border-radius:0}form .form-row .filer-dropzone .dz-preview.dz-image-preview .dz-image img,form .form-row .filer-dropzone .dz-preview.dz-file-preview .dz-image img{width:100%;height:auto}form .form-row .filer-dropzone .dz-preview .dz-progress{top:18px;left:0;width:calc(100% - 40px);height:10px;margin-left:40px}form .form-row .filer-dropzone .dz-message{float:right;color:gray;width:100%;margin:15px 0 0}form .form-row .filer-dropzone .icon{position:relative;top:3px;color:gray;font-size:24px;margin-right:10px}form .form-row .filer-dropzone .filerFile .related-lookup{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#fff !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#0bf !important;border:1px solid #0bf !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;float:left !important;overflow:hidden;line-height:14px;width:auto !important;height:auto !important;padding:10px 20px !important;cursor:pointer}form .form-row .filer-dropzone .filerFile .related-lookup:focus{color:#fff !important;background-color:#00a8e6 !important;border-color:#00a8e6 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .related-lookup:hover{color:#fff !important;background-color:#00a8e6 !important;border-color:#00a8e6 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .related-lookup:active{color:#fff !important;background-color:#0096cc !important;border-color:#0096cc !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}form .form-row .filer-dropzone .filerFile .related-lookup:active:hover,form .form-row .filer-dropzone .filerFile .related-lookup:active:focus{color:#fff !important;background-color:#007ba8 !important;border-color:#005e80 !important}form .form-row .filer-dropzone .filerFile .related-lookup:active{background-image:none !important}form .form-row .filer-dropzone .filerFile .related-lookup[disabled],form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:hover,form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:focus form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:active{background-color:rgba(0,187,255,0.4) !important;border-color:rgba(0,187,255,0.4) !important;color:rgba(255,255,255,0.8) true;cursor:not-allowed;box-shadow:none !important}form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:before,form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:hover:before,form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:focus form .form-row .filer-dropzone .filerFile .related-lookup[disabled]:active:before{color:rgba(255,255,255,0.4) true}form .form-row .filer-dropzone .filerFile .related-lookup .fa{color:white;font-size:17px;margin:0 10px 0 0 !important;vertical-align:middle}form .form-row .filer-dropzone .filerFile .related-lookup:before{display:none}form .form-row .filer-dropzone .filerFile .related-lookup .choose-file,form .form-row .filer-dropzone .filerFile .related-lookup .edit-file{color:white;margin:0}form .form-row .filer-dropzone .filerFile .related-lookup .edit-file{display:none}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#454545 !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#fff !important;border:1px solid #ddd !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;float:right !important;padding:5px 0 !important;width:36px !important;height:36px !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:focus{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:hover{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:active{color:#454545 !important;background-color:#e6e6e6 !important;border-color:#c3c3c3 !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:active:hover,form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:active:focus{color:#454545 !important;background-color:#d4d4d4 !important;border-color:#9d9d9d !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:active{background-image:none !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled],form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:hover,form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:focus form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:active{background-color:rgba(255,255,255,0.4) !important;border-color:rgba(221,221,221,0.4) !important;color:rgba(69,69,69,0.8) true;cursor:not-allowed;box-shadow:none !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:before,form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:hover:before,form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:focus form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change[disabled]:active:before{color:rgba(69,69,69,0.4) true}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change:focus{background-color:white !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change span{text-align:center;line-height:24px}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change .fa{color:#999;margin-right:0 !important}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change .choose-file{display:none}form .form-row .filer-dropzone .filerFile .related-lookup.related-lookup-change .edit-file{display:block}form .form-row .filer-dropzone .filerClearer{width:36px !important;height:36px !important}form .form-row .filer-dropzone .filerFile{position:absolute;top:32px;left:20px;width:calc(100% - 40px)}form .form-row .filer-dropzone .filerFile img[src*=nofile]{background-color:#fff}form .form-row .filer-dropzone .filerFile span:not(:empty):not('.choose-file'):not('.edit-file'){overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:calc(100% - 150px)}form .form-row .filer-dropzone .filerFile img{width:36px;height:36px;margin-right:10px;border:solid 1px #ddd;border-radius:3px}form .form-row .filer-dropzone .filerFile img[src*="nofile"]{box-sizing:border-box;margin-right:0;border:solid 1px #ddd;border-radius:3px}form .form-row .filer-dropzone .filerFile img,form .form-row .filer-dropzone .filerFile .related-lookup{display:inline-block;text-align:center !important;vertical-align:top}form .form-row .filer-dropzone .filerFile a{box-sizing:border-box;padding-top:10px !important}form .form-row .filer-dropzone .filerFile span{display:inline-block;color:#666;font-weight:normal;margin-top:6px;margin-bottom:6px;text-align:left}form .form-row .filer-dropzone .filerFile span:empty+.related-lookup{float:none !important;margin-left:0 !important}form .form-row .filer-dropzone .filerFile .filerClearer{background-image:none !important;margin-bottom:0;padding:6px 20px !important;border-radius:3px !important;color:#454545 !important;font-size:12px !important;line-height:12px;font-weight:normal;text-transform:none !important;letter-spacing:normal !important;background-color:#fff !important;border:1px solid #ddd !important;background-clip:padding-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;float:right;width:10px;height:10px;margin:0 0 0 5px !important;padding:12px !important;border:solid 1px #ddd;border-radius:3px;cursor:pointer}form .form-row .filer-dropzone .filerFile .filerClearer:focus{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .filerClearer:hover{color:#454545 !important;background-color:#f2f2f2 !important;border-color:#d0d0d0 !important;text-decoration:none !important}form .form-row .filer-dropzone .filerFile .filerClearer:active{color:#454545 !important;background-color:#e6e6e6 !important;border-color:#c3c3c3 !important;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125) !important}form .form-row .filer-dropzone .filerFile .filerClearer:active:hover,form .form-row .filer-dropzone .filerFile .filerClearer:active:focus{color:#454545 !important;background-color:#d4d4d4 !important;border-color:#9d9d9d !important}form .form-row .filer-dropzone .filerFile .filerClearer:active{background-image:none !important}form .form-row .filer-dropzone .filerFile .filerClearer[disabled],form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:hover,form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:focus form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:active{background-color:rgba(255,255,255,0.4) !important;border-color:rgba(221,221,221,0.4) !important;color:rgba(69,69,69,0.8) true;cursor:not-allowed;box-shadow:none !important}form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:before,form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:hover:before,form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:focus form .form-row .filer-dropzone .filerFile .filerClearer[disabled]:active:before{color:rgba(69,69,69,0.4) true}form .form-row .filer-dropzone .filerFile .filerClearer:before{color:#999 !important;vertical-align:middle;margin:0}form .form-row .filer-dropzone.filer-dropzone-mobile .filerFile{top:40px;text-align:center}form .form-row .filer-dropzone.filer-dropzone-mobile .dz-message{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:75px}form .form-row .filer-dropzone.filer-dropzone-mobile.js-object-attached .filerFile{top:32px;text-align:left}@media screen and (max-width: 810px){form .form-row .filer-dropzone.filer-dropzone-mobile.js-object-attached .filerFile.js-file-selector .description_text{text-overflow:ellipsis;width:calc(100% - 150px);overflow:hidden;height:20px}}form .form-row .filer-dropzone.filer-dropzone-mobile.js-object-attached .filerFile.js-file-selector span:not('.choose-file'):not('.edit-file'),form .form-row .filer-dropzone.filer-dropzone-mobile.js-object-attached .filerFile.js-file-selector .dz-name{width:calc(100% - 145px)}form .form-row .filer-dropzone.filer-dropzone-folder .filerFile{top:32px !important}form .form-row .filer-dropzone.filer-dropzone-folder .filerFile #id_folder_description_txt{float:left}@media screen and (max-width: 810px){form .form-row .filer-dropzone .filerFile{top:40px !important;text-align:center}form .form-row .filer-dropzone .dz-message{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:75px !important}form .form-row .filer-dropzone.js-object-attached .filerFile{top:62px !important}form .form-row .filer-dropzone.filer-dropzone-folder .filerFile{top:62px !important}}.filer-dropzone{min-height:100px !important}@media screen and (max-width: 810px){.filer-dropzone{min-height:150px !important}}.filer-dropzone .dz-upload{height:5px;background-color:#0bf}.filer-dropzone .dz-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 145px)}.filer-dropzone .dz-thumbnail{display:inline-block;overflow:hidden;vertical-align:top;width:36px;height:36px;margin-right:10px;border:solid 1px #ddd;border-radius:3px;background:#fff url("../icons/nofile_48x48.png");background-size:cover}.filer-dropzone .dz-thumbnail img{background:#fff}.filer-dropzone .dz-thumbnail img[src=""],.filer-dropzone .dz-thumbnail img:not([src]){width:104%;height:104%;margin:-2%}.filer-dropzone-info-message{position:fixed;bottom:35px;left:50%;z-index:2;text-align:center;width:270px;max-height:300px;overflow-y:auto;margin:-50px 0 0 -150px;padding:15px 15px 0;border-radius:3px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,0.2)}.filer-dropzone-info-message .icon{font-size:35px;color:#0bf}.filer-dropzone-info-message .text{margin:5px 0 10px}.filer-dropzone-upload-info{margin-top:10px}.filer-dropzone-upload-info .filer-dropzone-file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filer-dropzone-upload-info:empty{margin-top:0}.filer-dropzone-progress{height:5px;margin-top:5px;background-color:#0bf}.filer-dropzone-upload-welcome .folder{color:#0bf;padding:10px 0 0;margin:0 -15px;border-top:solid 1px #ddd}.filer-dropzone-upload-welcome .folder img,.filer-dropzone-upload-welcome .folder span{vertical-align:middle}.filer-dropzone-upload-welcome .folder img{margin-right:5px}.filer-dropzone-upload-welcome .folder .folder-inner{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 10px}.filer-dropzone-cancel{padding-top:10px;border-top:solid 1px #ddd;margin:15px -15px 10px}.filer-dropzone-cancel a{font-size:12px;color:#666 !important}.filer-dropzone-upload-success,.filer-dropzone-upload-canceled{margin:0 -15px 10px}.filer-dropzone-upload-count{padding-bottom:10px;margin:10px -15px;border-bottom:solid 1px #ddd}.filer-tooltip-wrapper{position:relative}.filer-tooltip{position:absolute;left:-30px;right:-30px;color:#666;text-align:center;font-size:12px !important;line-height:15px !important;white-space:normal;margin-top:5px;padding:10px;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,0.25);border-radius:5px;z-index:10}.filer-tooltip:before{position:absolute;top:-3px;left:50%;z-index:-1;content:'';width:9px;height:9px;margin-left:-5px;transform:rotate(45deg);background-color:#fff}.disabled-btn-tooltip{display:none;outline:none}/*! * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.4.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.4.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.4.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.4.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}@-webkit-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);transform:scale(1)}}.filer-dropzone,.filer-dropzone *{box-sizing:border-box}.filer-dropzone{min-height:150px;padding:20px 20px;border:2px solid rgba(0,0,0,0.3);background:white}.filer-dropzone.dz-clickable{cursor:pointer}.filer-dropzone.dz-clickable *{cursor:default}.filer-dropzone.dz-clickable .dz-message,.filer-dropzone.dz-clickable .dz-message *{cursor:pointer}.filer-dropzone.dz-drag-hover{border-style:solid}.filer-dropzone.dz-drag-hover .dz-message{opacity:0.5}.filer-dropzone .dz-message{text-align:center;margin:2em 0}.filer-dropzone .dz-preview{display:inline-block;position:relative;vertical-align:top;min-height:100px;margin:16px}.filer-dropzone .dz-preview:hover{z-index:1000}.filer-dropzone .dz-preview:hover .dz-details{opacity:1}.filer-dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.filer-dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.filer-dropzone .dz-preview.dz-image-preview{background:white}.filer-dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity 0.2s linear}.filer-dropzone .dz-preview .dz-remove{display:block;font-size:14px;text-align:center;border:none;cursor:pointer}.filer-dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.filer-dropzone .dz-preview:hover .dz-details{opacity:1}.filer-dropzone .dz-preview .dz-details{position:absolute;top:0;left:0;z-index:20;color:rgba(0,0,0,0.9);font-size:13px;line-height:150%;text-align:center;min-width:100%;max-width:100%;padding:2em 1em;opacity:0}.filer-dropzone .dz-preview .dz-details .dz-size{font-size:16px;margin-bottom:1em}.filer-dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.filer-dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,0.8);background-color:rgba(255,255,255,0.8)}.filer-dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.filer-dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.filer-dropzone .dz-preview .dz-details .dz-filename span,.filer-dropzone .dz-preview .dz-details .dz-size span{padding:0 0.4em;border-radius:3px;background-color:rgba(255,255,255,0.4)}.filer-dropzone .dz-preview:hover .dz-image img{-webkit-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05);-webkit-filter:blur(8px);filter:blur(8px)}.filer-dropzone .dz-preview .dz-image{display:block;position:relative;overflow:hidden;z-index:10;width:120px;height:120px;border-radius:20px}.filer-dropzone .dz-preview .dz-image img{display:block}.filer-dropzone .dz-preview.dz-success .dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.filer-dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.filer-dropzone .dz-preview .dz-success-mark,.filer-dropzone .dz-preview .dz-error-mark{display:block;position:absolute;top:50%;left:50%;z-index:500;margin-top:-27px;margin-left:-27px;pointer-events:none;opacity:0}.filer-dropzone .dz-preview .dz-success-mark svg,.filer-dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.filer-dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all 0.2s linear}.filer-dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity 0.4s ease-in}.filer-dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.filer-dropzone .dz-preview .dz-progress{position:absolute;top:50%;left:50%;overflow:hidden;z-index:1000;width:80px;height:16px;margin-top:-8px;margin-left:-40px;border-radius:8px;pointer-events:none;opacity:1;background:rgba(255,255,255,0.9)}.filer-dropzone .dz-preview .dz-progress .dz-upload{position:absolute;top:0;bottom:0;left:0;width:0;background:#333;background:linear-gradient(to bottom, #666, #444);transition:width 300ms ease-in-out}.filer-dropzone .dz-preview.dz-error .dz-error-message{display:block}.filer-dropzone .dz-preview.dz-error:hover .dz-error-message{pointer-events:auto;opacity:1}.filer-dropzone .dz-preview .dz-error-message{display:block;display:none;position:absolute;top:130px;left:-10px;z-index:1000;color:white;font-size:13px;width:140px;padding:0.5em 1.2em;border-radius:8px;pointer-events:none;opacity:0;background:#be2626;background:linear-gradient(to bottom, #be2626, #a92222);transition:opacity 0.3s ease}.filer-dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-right:6px solid transparent;border-bottom:6px solid #be2626;border-left:6px solid transparent} + */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.4.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.4.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.4.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.4.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.filer-dropzone,.filer-dropzone *{box-sizing:border-box}.filer-dropzone{min-height:150px;padding:20px 20px;border:2px solid rgba(0,0,0,0.3);background:white}.filer-dropzone.dz-clickable{cursor:pointer}.filer-dropzone.dz-clickable *{cursor:default}.filer-dropzone.dz-clickable .dz-message,.filer-dropzone.dz-clickable .dz-message *{cursor:pointer}.filer-dropzone.dz-drag-hover{border-style:solid}.filer-dropzone.dz-drag-hover .dz-message{opacity:0.5}.filer-dropzone .dz-message{text-align:center;margin:2em 0}.filer-dropzone .dz-preview{display:inline-block;position:relative;vertical-align:top;min-height:100px;margin:16px}.filer-dropzone .dz-preview:hover{z-index:1000}.filer-dropzone .dz-preview:hover .dz-details{opacity:1}.filer-dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.filer-dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.filer-dropzone .dz-preview.dz-image-preview{background:white}.filer-dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity 0.2s linear}.filer-dropzone .dz-preview .dz-remove{display:block;font-size:14px;text-align:center;border:none;cursor:pointer}.filer-dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.filer-dropzone .dz-preview:hover .dz-details{opacity:1}.filer-dropzone .dz-preview .dz-details{position:absolute;top:0;left:0;z-index:20;color:rgba(0,0,0,0.9);font-size:13px;line-height:150%;text-align:center;min-width:100%;max-width:100%;padding:2em 1em;opacity:0}.filer-dropzone .dz-preview .dz-details .dz-size{font-size:16px;margin-bottom:1em}.filer-dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.filer-dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,0.8);background-color:rgba(255,255,255,0.8)}.filer-dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.filer-dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.filer-dropzone .dz-preview .dz-details .dz-filename span,.filer-dropzone .dz-preview .dz-details .dz-size span{padding:0 0.4em;border-radius:3px;background-color:rgba(255,255,255,0.4)}.filer-dropzone .dz-preview:hover .dz-image img{transform:scale(1.05, 1.05);filter:blur(8px)}.filer-dropzone .dz-preview .dz-image{display:block;position:relative;overflow:hidden;z-index:10;width:120px;height:120px;border-radius:20px}.filer-dropzone .dz-preview .dz-image img{display:block}.filer-dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.filer-dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.filer-dropzone .dz-preview .dz-success-mark,.filer-dropzone .dz-preview .dz-error-mark{display:block;position:absolute;top:50%;left:50%;z-index:500;margin-top:-27px;margin-left:-27px;pointer-events:none;opacity:0}.filer-dropzone .dz-preview .dz-success-mark svg,.filer-dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.filer-dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all 0.2s linear}.filer-dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity 0.4s ease-in}.filer-dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.filer-dropzone .dz-preview .dz-progress{position:absolute;top:50%;left:50%;overflow:hidden;z-index:1000;width:80px;height:16px;margin-top:-8px;margin-left:-40px;border-radius:8px;pointer-events:none;opacity:1;background:rgba(255,255,255,0.9)}.filer-dropzone .dz-preview .dz-progress .dz-upload{position:absolute;top:0;bottom:0;left:0;width:0;background:#333;background:linear-gradient(to bottom, #666, #444);transition:width 300ms ease-in-out}.filer-dropzone .dz-preview.dz-error .dz-error-message{display:block}.filer-dropzone .dz-preview.dz-error:hover .dz-error-message{pointer-events:auto;opacity:1}.filer-dropzone .dz-preview .dz-error-message{display:block;display:none;position:absolute;top:130px;left:-10px;z-index:1000;color:white;font-size:13px;width:140px;padding:0.5em 1.2em;border-radius:8px;pointer-events:none;opacity:0;background:#be2626;background:linear-gradient(to bottom, #be2626, #a92222);transition:opacity 0.3s ease}.filer-dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-right:6px solid transparent;border-bottom:6px solid #be2626;border-left:6px solid transparent} /*# sourceMappingURL=maps/admin_filer.css.map */ diff --git a/filer/static/filer/css/maps/admin_filer.css.map b/filer/static/filer/css/maps/admin_filer.css.map index 11393206d..3ab5cd016 100644 --- a/filer/static/filer/css/maps/admin_filer.css.map +++ b/filer/static/filer/css/maps/admin_filer.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../../stdin","components/_iconography.scss","components/_icons.scss","components/_old.scss","settings/_custom.scss","components/_base.scss","components/_image-info.scss","mixins/_custom.scss","components/_action-list.scss","components/_filter-files.scss","components/_navigator.scss","components/_modal.scss","components/_drag-and-drop.scss","components/_tooltip.scss","libs/_font-awesome.min.scss","libs/_dropzone.scss"],"names":[],"mappings":"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","file":"admin_filer.css","sourcesContent":["/*!\n * @copyright: https://github.com/divio/django-filer\n */\n\n//##############################################################################\n// IMPORT SETTINGS\n@import \"settings/all\";\n@import \"mixins/all\";\n\n//##############################################################################\n// IMPORT COMPONENTS\n@import \"components/iconography\";\n@import \"components/icons\";\n@import \"components/old\";\n@import \"components/base\";\n@import \"components/image-info\";\n@import \"components/action-list\";\n@import \"components/filter-files\";\n@import \"components/navigator\";\n@import \"components/modal\";\n@import \"components/drag-and-drop\";\n@import \"components/tooltip\";\n\n//##############################################################################\n// IMPORT LIBS\n@import \"libs/font-awesome.min\";\n@import \"libs/dropzone\";\n","//######################################################################################################################\n// ICONOGRAPHY\n\n// default font file generated by gulp\n@font-face {\n font-family: \"django-filer-iconfont\";\n src: url(\"../fonts/django-filer-iconfont.eot?v=3.2.0\");\n src: url(\"../fonts/django-filer-iconfont.eot?v=3.2.0#iefix\") format(\"eot\"),\n url(\"../fonts/django-filer-iconfont.woff2?v=3.2.0\") format(\"woff2\"),\n url(\"../fonts/django-filer-iconfont.woff?v=3.2.0\") format(\"woff\"),\n url(\"../fonts/django-filer-iconfont.ttf?v=3.2.0\") format(\"truetype\"),\n url(\"../fonts/django-filer-iconfont.svg?v=3.2.0#django-filer-iconfont\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n%icon {\n display: inline-block;\n font: normal normal normal 14px/1 django-filer-iconfont;\n font-size: inherit;\n text-rendering: auto;\n transform: translate(0, 0);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n@function icon-char($filename) {\n $char: \"\";\n\n @if $filename == check {\n $char: \"E001\";\n }\n @if $filename == remove {\n $char: \"E002\";\n }\n @if $filename == trash-o {\n $char: \"E003\";\n }\n\n @return $char;\n}\n\n.cms-icon {\n @extend %icon;\n}\n@mixin icon($filename, $insert: before) {\n &:#{$insert} {\n content: #{\"\\\"\\\\\"}#{icon-char($filename) + \"\\\"\"};\n }\n}\n\n// #####################################################################################################################\n// #ICONS:start#\n// use unicode characters for accessibility reasons and use aria-hidden=\"true\" for decorative icons\n// DOCS: http://filamentgroup.com/lab/bulletproof_icon_fonts.html\n\n.cms-icon-check {\n @include icon(check);\n}\n\n.cms-icon-remove {\n @include icon(remove);\n}\n\n.cms-icon-trash-o {\n @include icon(trash-o);\n}\n","//##############################################################################\n// ICONS\n\n.dz-success-mark,\n.dz-error-mark,\n.dz-remove {\n &:before {\n @extend %icon;\n font-size: $font-size-large;\n vertical-align: middle;\n margin-right: 5px;\n }\n}\n","//##############################################################################\n// OLD STUFF\n\n#image_container {\n position: relative;\n img, svg {\n position: absolute;\n top: 0;\n left: 0;\n margin: 0;\n }\n}\n.transpTiling {\n outline: 1px solid #e3e3e3;\n background-image: url('data:image/gif;base64,R0lGODlhCAAIAKECAOPj4/z8/P///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7');\n &:hover {\n background-image: url('data:image/gif;base64,R0lGODlhCAAIAKECAEFBQXR0dP///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7');\n }\n}\n#fileUploadFakeLink {\n position: relative;\n}\n#fileInputUploaderContainer {\n position: absolute;\n top: 0;\n left: -8px;\n}\n.loadingThumb {\n width: 32px;\n height: 32px;\n background-image: url('../img/loading_animation.gif');\n background-repeat: no-repeat;\n}\n#content-top-bar {\n margin-bottom: 20px;\n .object-tools {\n margin-top: -32px;\n text-align: right;\n li {\n display: inline-block !important;\n float: none !important;\n }\n }\n .changelink {\n padding-left: 15px !important;\n border: 0 !important;\n font-weight: normal !important;\n color: #029eee !important;\n background: url('../img/icon_changelink.gif') 0 center no-repeat !important;\n background-color: transparent !important;\n box-shadow: none !important;\n }\n}\n.clipboard {\n float: left;\n overflow-x: auto;\n box-sizing: border-box;\n width: 18% !important;\n margin-top: -1px !important;\n border: 1px solid $gray-lighter !important;\n form {\n padding-top: 0 !important;\n }\n table {\n margin: 0;\n border: 0 !important;\n td {\n border-color: $gray-lighter;\n border-right: 0 !important;\n }\n th {\n padding-top: 1px !important;\n padding-bottom: 1px !important;\n }\n tfoot td {\n border-bottom: 0 !important;\n }\n }\n .deletelink {\n padding: 4px 10px;\n border: 1px solid #999;\n background: #e1e1e1 url('../img/button-bg.gif') bottom left repeat-x;\n }\n tr td.thumbnail {\n width: 40px;\n }\n}\na.insertlinkButton {\n padding: 4px;\n padding-left: 28px;\n background-image: url('../img/select_item.gif');\n background-repeat: no-repeat;\n &:hover {\n background-image: url('../img/select_item-hover.gif');\n }\n}\na.small_folder_link {\n display: block;\n float: right;\n height: 36px;\n padding-right: 4px;\n padding-left: 36px;\n line-height: 36px;\n background-image: url('../icons/plainfolder_32x32.png');\n background-repeat: no-repeat;\n}\n#toolbartable {\n overflow-x: auto;\n td {\n border-right: solid 1px $gray-lighter;\n }\n th {\n border-right: solid 1px $gray-lighter;\n }\n + .paginator {\n border-right: solid 1px $gray-lighter;\n }\n}\ntable thead th.thumbHeader {\n width: 52px;\n}\n.fileUploadQueueItem .fileUploadProgress .fileUploadProgressBar {\n background-color: black;\n}\n.filebrowser #changelist {\n overflow: hidden;\n .change {\n text-align: right;\n a {\n display: block;\n float: right;\n }\n }\n .moveto {\n min-width: 180px;\n text-align: right;\n a {\n display: inline-block;\n margin-right: 10px;\n }\n button {\n float: right;\n }\n }\n}\nh1.folder_header {\n margin-bottom: 0;\n background-image: url('../img/nav-bg.gif');\n background-repeat: repeat-x;\n background-position: bottom;\n}\n","// #############################################################################\n// SETTINGS\n\n$speed-base: 200ms;\n\n// COLORS\n$white: #fff;\n$black: #000;\n$hover-bg: #f1faff;\n\n$color-primary: #00bbff;\n$color-primary-light: #f1faff;\n$color-success: #693;\n$color-danger: #f00;\n$color-warning: #c93;\n$color-window: #fcfcfc;\n\n// COLORS gray\n$gray: lighten($black, 40%); // #666;\n$gray-lightest: lighten($gray, 55%); // #f2f2f2\n$gray-lighter: lighten($gray, 46.5%); // #ddd\n$gray-light: lighten($gray, 20%); // #999\n$gray-darker: darken($gray, 13%); // #454545\n$gray-darkest: darken($gray, 20%); // #333\n\n$gray-super-light: #f7f7f7;\n$gray-dropzone: #808080;\n\n\n//##############################################################################\n// BASE Variables\n$font-size-small: 12px;\n$font-size-normal: 14px;\n$font-size-large: 16px;\n\n$icon-size: 16px;\n\n$line-height-normal: 20px;\n\n$border-radius-base: 3px;\n$border-radius-normal: 5px;\n\n$padding-base: 3px;\n$padding-normal: 10px;\n$padding-large: 20px;\n\n$screen-mobile: 320px;\n$screen-tablet: 720px;\n$screen-desktop: 975px;\n\n$screen-tablet-filer: 810px;\n\n//##############################################################################\n// BUTTONS\n\n$btn-border-radius-base: $border-radius-base;\n$btn-active-shadow: inset 0 3px 5px rgba($black, 0.125);\n\n$btn-default-color: $gray-darker;\n$btn-default-bgcolor: $white;\n$btn-default-border: $gray-lighter;\n\n$btn-action-color: $white;\n$btn-action-bgcolor: $color-primary;\n$btn-action-border: $color-primary;\n\n//##############################################################################\n// #SHADOW\n\n$base-box-shadow: 0 0 5px 0 rgba($black, 0.2);\n$dropdown-shadow: 0 1px 10px rgba($black, 0.25);\n","//##############################################################################\n// BASE\n\nhtml,\nbody {\n min-width: 320px;\n height: 100% !important;\n}\n\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.clearfix:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.related-widget-wrapper {\n float: none !important;\n}\n.related-lookup.hidden {\n display: none !important;\n}\n\n// make sure that tiny styles like on size info has correct font size and color #666\n.tiny {\n font-size: $font-size-small !important;\n color: $gray-light !important;\n}\n\n.nav-pages {\n position: relative;\n // make sure that paginator has correct font size and color #666\n font-size: $font-size-small;\n color: $gray-light !important;\n padding: 10px 15px;\n background: #fff;\n span {\n // make sure that paginator has correct font size and color #666\n font-size: $font-size-small;\n color: $gray-light !important;\n }\n .actions {\n float: right;\n }\n}\n\n#id_upload_button:before {\n display: none;\n}\n#content #content-main {\n margin-top: 0;\n}\n.filebrowser {\n &.cms-admin-sideframe {\n #container {\n .breadcrumbs + #content,\n .breadcrumbs + .messagelist + #content {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .breadcrumbs {\n left: 0 !important;\n padding-left: 20px !important;\n }\n }\n }\n #container {\n min-width: auto;\n #content {\n padding: 0;\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);\n }\n .breadcrumbs + #content,\n .breadcrumbs + .messagelist + #content {\n margin-left: 3% !important;\n }\n }\n h1.folder_header {\n position: relative;\n top: 6px;\n }\n // required for django CMS <= 3.1 #673\n h2 {\n display: none;\n }\n #content-main {\n background-color: white;\n }\n}\n\n.field-file,\n.field-sha1 {\n word-wrap: break-word;\n word-break: break-all;\n}\n\n.well.img-preview {\n display: none;\n margin-top: 0;\n}\n.img-wrapper {\n width: 180px;\n height: 180px;\n}\n\n.file-duplicates {\n clear: both;\n padding: 20px 0 0;\n}\n\n.delete-confirmation form .cancel-link {\n height: auto !important;\n line-height: inherit !important;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.hidden {\n display: none !important;\n}\n\n.filer-info-bar {\n min-height: 15px;\n margin: 0 0 2px !important;\n padding: 15px 20px;\n box-shadow: 0 0 10px -2px rgba(black, 0.2);\n background-color: white;\n}\n","//##############################################################################\n// IMAGE INFO\n\n.image-info {\n position: relative;\n float: right;\n box-sizing: border-box;\n width: 28%;\n margin-top: 0;\n border: 0;\n border-radius: 3px;\n background: #fff;\n box-shadow: 0 0 5px 0 rgba(black,0.2);\n .image-details,\n .actions-list {\n margin: 0;\n padding: 0;\n &.image-details {\n margin: 10px 0;\n padding: 0 10px;\n }\n li {\n list-style-type: none;\n }\n a {\n cursor: pointer;\n }\n }\n &.image-info-detail {\n @include clearfix();\n position: static;\n float: none;\n width: 100%;\n margin-bottom: 20px;\n padding: 25px;\n border-radius: 0;\n // removes background color and shadow from object tools and fixes placement on image detail page\n + #content-main .object-tools {\n margin-top: 20px;\n margin-right: 20px;\n background-color: transparent;\n &:before {\n display: none;\n }\n }\n .image-details-left {\n float: left;\n }\n .image-details-right {\n float: left;\n margin-left: 50px;\n }\n .icon {\n font-size: 18px;\n }\n .image-details,\n .actions-list {\n margin-top: 0;\n border: 0 !important;\n &.image-details {\n margin-top: 20px;\n margin-bottom: 15px;\n padding: 0;\n }\n dt {\n float: left;\n color: #808080;\n font-size: 13px;\n // required for django CMS without admin styles #673\n line-height: $font-size-large !important;\n font-weight: normal;\n // required for django CMS without admin styles #673\n margin-top: 0;\n }\n dd {\n color: $gray;\n font-size: 13px;\n // required for django CMS without admin styles #673\n line-height: $font-size-large !important;\n padding-left: 80px;\n // required for django CMS without admin styles #673\n margin-bottom: 5px;\n }\n .text {\n font-size: 13px;\n margin-right: 15px;\n strong {\n font-size: 13px;\n }\n }\n li {\n color: $gray;\n font-size: 13px !important;\n font-weight: normal !important;\n padding: 1px 0 !important;\n border: 0 !important;\n }\n a {\n padding: 0;\n }\n }\n .image-info-title {\n overflow: hidden;\n color: $gray;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding: 0 0 5px;\n .icon {\n float: left;\n margin-right: 5px;\n }\n }\n .image-preview-container {\n text-align: left;\n margin: 20px 0 0;\n padding: 0;\n > img {\n margin-bottom: 15px;\n }\n }\n .actions-list {\n .icon {\n font-size: 16px;\n &:last-child {\n float: none;\n }\n }\n }\n }\n @media screen and (max-width: $screen-tablet) {\n float: none;\n width: 100%;\n &.image-info-detail {\n .image-details-left,\n .image-details-right {\n float: none;\n margin-left: 0;\n }\n }\n }\n}\n\n.image-info-close {\n position: absolute;\n top: -10px;\n right: -7px;\n font-size: 20px;\n cursor: pointer;\n}\n\n.image-info-title {\n padding: 5px 10px;\n border-bottom: solid 1px $gray-lighter;\n a {\n margin-left: 5px;\n }\n}\n\n.image-preview-container {\n text-align: center;\n margin: 10px 0;\n padding: 0 10px;\n .image-preview {\n display: inline-block;\n position: relative;\n margin-bottom: 15px;\n outline: 1px solid #e3e3e3;\n background-image: url(\"data:image/gif;base64,R0lGODlhCAAIAKECAOPj4/z8/P///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7\");\n img {\n display: block;\n }\n }\n .image-preview-field {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n }\n .image-preview-circle {\n position: relative;\n z-index: 1;\n width: 26px;\n height: 26px;\n border: solid 2px #f00;\n margin: -13px;\n border-radius: 30px;\n cursor: move;\n background: rgba(255, 255, 255, 0.5);\n }\n}\n","// #############################################################################\n// OTHER\n\n// add clearfix which doesnt add overflow:hidden\n@mixin clearfix() {\n *zoom: 1;\n &:before,\n &:after {\n content: \" \";\n display: table;\n }\n &:after {\n clear: both;\n }\n}\n// taken from bootstrap with adaptations\n@function important($important) {\n @if($important == true) {\n @return !important;\n } @else {\n @return true;\n }\n}\n@mixin button-variant($color, $background, $border, $important: false) {\n background-image: none important($important);\n margin-bottom: 0; // For input.btn\n padding: 6px 20px important($important);\n border-radius: $btn-border-radius-base important($important);\n color: $color important($important);\n font-size: $font-size-small important($important);\n line-height: $font-size-small;\n font-weight: normal;\n text-transform: none important($important);\n letter-spacing: normal important($important);\n background-color: $background important($important);\n border: 1px solid $border important($important);\n background-clip: padding-box;\n appearance: none;\n &:focus {\n color: $color important($important);\n background-color: darken($background, 5%) important($important);\n border-color: darken($border, 5%) important($important);\n text-decoration: none important($important);\n }\n &:hover {\n color: $color important($important);\n background-color: darken($background, 5%) important($important);\n border-color: darken($border, 5%) important($important);\n text-decoration: none important($important);\n }\n &:active {\n color: $color important($important);\n background-color: darken($background, 10%) important($important);\n border-color: darken($border, 10%) important($important);\n box-shadow: $btn-active-shadow important($important);\n\n &:hover,\n &:focus {\n color: $color important($important);\n background-color: darken($background, 17%) important($important);\n border-color: darken($border, 25%) important($important);\n }\n }\n &:active {\n background-image: none important($important);\n }\n &[disabled] {\n &,\n &:hover,\n &:focus\n &:active {\n background-color: rgba($background, 0.4) important($important);\n border-color: rgba($border, 0.4) important($important);\n color: rgba($color, 0.8) important(1);\n cursor: not-allowed;\n box-shadow: none important($important);\n &:before {\n color: rgba($color, 0.4) important(1);\n }\n }\n }\n}\n","//##############################################################################\n// ACTION LIST\n\n.actions-list-dropdown {\n a {\n display: block;\n padding: 5px 10px;\n }\n .caret-down {\n display: inline-block;\n }\n .caret-right {\n display: none;\n }\n &.js-collapsed {\n border-bottom: solid 1px $gray-lighter;\n .caret-down {\n display: none;\n }\n .caret-right {\n display: inline-block;\n }\n }\n}\n.actions-list {\n border-top: solid 1px $gray-lighter;\n &:last-child {\n border-top: none;\n a {\n border-bottom: none;\n }\n }\n a {\n display: block;\n font-size: 20px;\n padding: 5px 10px;\n border-bottom: solid 1px $gray-lighter;\n }\n .icon {\n &:first-child {\n width: 20px;\n }\n &:last-child {\n float: right;\n margin-top: 3px;\n }\n }\n}\n.actions-separated-list {\n display: inline-block;\n margin: 0;\n padding-left: 0;\n @media screen and (max-width: $screen-tablet) {\n float: left;\n margin-left: 0;\n }\n li {\n display: inline-block;\n line-height: 34px;\n vertical-align: middle;\n padding: 0 10px;\n list-style: none;\n @media screen and (max-width: $screen-tablet) {\n &:first-child {\n padding-left: 0;\n }\n }\n span {\n vertical-align: middle;\n }\n a {\n color: $gray;\n }\n }\n span:before {\n font-size: 18px;\n }\n}\n","//##############################################################################\n// FILTER FILES\n\n.search-is-focused {\n .filter-files-container {\n position: static;\n }\n .filter-filers-container-inner {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n @media screen and (max-width: $screen-tablet) {\n position: static;\n }\n }\n .breadcrumbs-container {\n position: relative;\n }\n &.breadcrumb-min-width .filter-filers-container-inner {\n position: static;\n }\n}\n\n.filter-files-container {\n @include clearfix;\n display: table-cell;\n vertical-align: middle;\n position: relative;\n width: 245px;\n margin: 0;\n padding: 0;\n background: none;\n box-shadow: none;\n z-index: 1000;\n @media screen and (max-width: $screen-tablet) {\n display: block;\n width: auto;\n margin-right: 0;\n margin-top: 10px;\n .filter-files-button {\n float: none;\n }\n }\n .filer-dropdown-container {\n position: absolute;\n top: 0;\n right: 0;\n > a {\n &,\n &:visited,\n &:link:visited,\n &:link {\n display: inline-block;\n line-height: 34px;\n text-align: center;\n width: 34px;\n height: 34px;\n padding: 0;\n }\n }\n &.open + .filer-dropdown-menu-checkboxes {\n display: block;\n width: calc(100% - 30px);\n li {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n }\n }\n .filter-search-wrapper {\n position: relative;\n float: left;\n text-align: right;\n width: calc(100% - 43px);\n margin-right: 5px;\n @media screen and (max-width: $screen-tablet) {\n float: left;\n }\n .filer-dropdown-container span {\n line-height: 34px !important;\n height: 34px !important;\n }\n }\n .filter-files-button {\n float: right;\n text-align: center;\n white-space: nowrap;\n height: 35px;\n margin: 0;\n padding: 8px !important;\n .icon {\n position: relative;\n left: 2px;\n font-size: 16px !important;\n vertical-align: top;\n }\n }\n .filter-files-field {\n color: $gray-darkest;\n font-size: 12px !important;\n line-height: 35px;\n font-weight: normal;\n box-sizing: border-box;\n min-width: 200px !important;\n height: 35px;\n // required for django CMS <= 3.1 #673\n margin: 0;\n padding: 0 35px 0 10px !important;\n outline: none;\n appearance: none;\n transition: max-width $speed-base;\n // disable clear X on IE #690\n &::-ms-clear {\n display: none;\n }\n }\n .filer-dropdown-menu {\n margin-top: 0 !important;\n margin-right: -1px !important;\n }\n}\n.filter-files-cancel {\n margin: 5px 20px;\n}\n","//##############################################################################\n// NAVIGATOR\n\nbody {\n &.dz-drag-hover {\n .drag-hover-border {\n display: none !important;\n }\n .navigator-table tbody td,\n .navigator-table tbody .unfiled td {\n background-color: $hover-bg !important;\n }\n }\n &.reset-hover td {\n background-color: white !important;\n }\n}\n.drag-hover-border {\n position: fixed;\n border-top: solid 2px $color-primary;\n border-bottom: solid 2px $color-primary;\n pointer-events: none;\n z-index: 100;\n}\n\n.filebrowser .navigator-table {\n // required for django CMS <= 3.1 #673\n width: 100%;\n margin: 0;\n border-top: solid 1px $gray-lighter !important;\n border-collapse: collapse !important;\n thead th,\n tbody td {\n text-align: left;\n font-weight: normal;\n vertical-align: middle;\n padding: 5px !important;\n border-left: 0 !important;\n border-bottom: 1px solid $gray-lighter;\n border-top: 1px solid transparent;\n background: none !important;\n }\n tbody tr.selected {\n .action-button span {\n color: $gray-darker !important;\n }\n }\n .unfiled td {\n padding: 12px 5px !important;\n background-color: $gray-super-light !important;\n a,\n a:hover {\n color: $gray !important;\n }\n }\n .column-checkbox {\n text-align: center;\n width: 20px;\n padding-left: 20px !important;\n input {\n // makes sure that checkbox is vertical aligned #664\n vertical-align: middle;\n margin: 0;\n }\n }\n .column-name a {\n color: $color-primary;\n }\n .column-icon {\n width: 25px;\n // removes padding to make sure that column has correct height #664\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n img {\n width: 25px;\n height: auto;\n }\n }\n .column-action {\n text-align: center;\n width: 90px;\n white-space: nowrap;\n padding-right: 20px !important;\n a {\n font-size: 16px !important;\n margin: 0;\n }\n .action-button {\n @include button-variant($btn-default-color, $btn-default-bgcolor, $btn-default-border, true);\n padding: 9px !important;\n span {\n font-size: 16px;\n line-height: 33px;\n vertical-align: middle;\n }\n }\n }\n .no-files {\n color: $gray;\n font-size: $font-size-normal;\n text-align: center;\n padding: 40px 0 !important;\n background-color: $gray-lightest !important;\n span {\n font-size: 20px;\n margin-right: 10px;\n &:before {\n vertical-align: sub;\n }\n }\n }\n .dz-drag-hover {\n td {\n position: relative;\n background: $hover-bg !important;\n box-sizing: border-box !important;\n a {\n &.icon {\n color: $gray-darker !important;\n background-color: white !important;\n }\n color: $color-primary !important;\n }\n }\n }\n &.dz-drag-hover {\n position: relative;\n .drag-hover-border {\n display: none !important;\n }\n td {\n background: $hover-bg !important;\n box-sizing: border-box !important;\n }\n }\n .reset-hover,\n &.reset-hover {\n td {\n background-color: $white !important;\n }\n .dz-drag-hover {\n td {\n background: $hover-bg !important;\n }\n }\n }\n}\n.navigator-top-nav {\n position: relative;\n clear: both;\n min-height: 35px;\n padding: 15px 20px;\n background: $gray-super-light;\n border-bottom: $gray-lighter solid 1px;\n .breadcrumbs-container-wrapper {\n display: table;\n width: 100%;\n @media screen and (max-width: $screen-tablet) {\n display: block;\n }\n }\n .breadcrumbs-container-inner {\n display: table;\n table-layout: fixed;\n width: 100%;\n .filer-dropdown-container {\n display: table-cell;\n width: 30px;\n height: 35px;\n vertical-align: middle;\n span {\n line-height: 35px;\n height: 35px;\n vertical-align: middle;\n }\n }\n }\n .breadcrumbs-container {\n display: table-cell;\n vertical-align: middle;\n @media screen and (max-width: $screen-tablet) {\n position: static;\n margin-right: 20px;\n }\n }\n .tools-container {\n @include clearfix;\n display: table-cell;\n vertical-align: middle;\n text-align: right;\n margin-top: 2px;\n @media screen and (max-width: $screen-tablet) {\n display: inline;\n text-align: left;\n }\n }\n .nav-button {\n display: inline-block;\n color: $gray;\n font-size: 20px;\n line-height: 34px;\n vertical-align: top;\n margin: 0 10px;\n span {\n vertical-align: middle;\n }\n }\n .nav-button-filter {\n position: relative;\n top: -1px;\n }\n .nav-button-dots {\n margin: 0;\n padding: 0 15px;\n }\n .separator {\n display: inline-block;\n position: relative;\n vertical-align: top;\n width: 1px;\n height: 34px;\n margin: 0 5px;\n &:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -14px;\n bottom: -11px;\n overflow: hidden;\n width: 1px;\n background-color: #ccc;\n }\n }\n}\n.breadcrumb-min-width {\n .filer-navigator-breadcrumbs-dropdown-container,\n .navigator-breadcrumbs-name-dropdown-wrapper,\n .navigator-breadcrumbs-folder-name-wrapper,\n .breadcrumbs-container-wrapper,\n .breadcrumbs-container,\n .tools-container,\n .filter-files-container,\n .navigator-breadcrumbs,\n .navigator-button-wrapper {\n display: inline-block;\n text-align: left;\n .actions-wrapper {\n white-space: nowrap;\n margin-left: 0;\n margin-top: 10px;\n li:first-child {\n padding-left: 0;\n }\n }\n }\n .navigator-button-wrapper {\n margin-top: 10px;\n }\n .navigator-breadcrumbs-name-dropdown-wrapper {\n min-height: inherit;\n .filer-dropdown-container .fa-caret-down {\n vertical-align: text-top;\n }\n }\n .breadcrumbs-container-inner .filer-dropdown-container {\n display: inline-block !important;\n }\n .navigator-tools {\n white-space: normal;\n }\n .filter-files-container {\n width: 100%;\n margin-top: 10px;\n z-index: auto;\n }\n .breadcrumbs-container {\n margin-right: 0;\n }\n .navigator-breadcrumbs .icon {\n vertical-align: middle;\n }\n .navigator-breadcrumbs-folder-name-wrapper {\n float: left;\n width: calc(100% - 30px);\n }\n}\n.navigator-tools {\n @include clearfix;\n white-space: nowrap;\n @media screen and (max-width: $screen-tablet) {\n display: inline;\n }\n .actions-wrapper {\n display: inline-block;\n margin-bottom: 0;\n margin-left: 10px;\n a, a:hover {\n color: $gray-light !important;\n cursor: not-allowed;\n }\n @media screen and (max-width: $screen-tablet) {\n @include clearfix();\n float: none;\n margin-left: 0;\n }\n &.action-selected {\n a {\n color: $gray !important;\n cursor: pointer;\n }\n .actions-separated-list {\n display: inline-block;\n }\n }\n }\n .actions {\n display: none;\n float: right;\n @media screen and (max-width: $screen-tablet) {\n @include clearfix();\n float: none;\n margin-bottom: 10px;\n }\n .all,\n .question,\n .clear,\n .action-counter {\n font-size: $font-size-small;\n line-height: 34px;\n vertical-align: text-top;\n }\n .action-counter,\n .all {\n color: $gray-light;\n }\n .question,\n .clear {\n margin-left: 10px;\n padding-left: 10px;\n border-left: solid 1px $gray-lighter;\n }\n }\n}\n@media screen and (max-width: $screen-tablet) {\n .navigator-top-nav {\n .breadcrumbs-container {\n float: none;\n }\n .navigator-tools {\n float: none;\n .separator:before {\n top: 0;\n bottom: 0;\n }\n }\n }\n}\n// make sure that buttons break to new line on mobile view #677\n.navigator-button-wrapper {\n display: inline-block;\n vertical-align: top;\n text-align: right;\n margin-bottom: 0;\n margin-left: 10px;\n @media screen and (max-width: $screen-tablet) {\n display: block;\n float: none;\n text-align: left;\n margin-top: 0;\n margin-left: 0;\n }\n}\n.navigator-button {\n margin-right: 10px;\n &,\n &:visited,\n &:link:visited,\n &:link {\n @include button-variant($btn-action-color, $btn-action-bgcolor, $btn-action-border, true);\n display: inline-block;\n vertical-align: top;\n padding: 10px 20px !important;\n }\n .icon {\n position: relative;\n margin-right: 5px;\n }\n .fa-folder {\n top: 0;\n }\n &.navigator-button-upload {\n margin-right: 0;\n }\n}\n\n.upload-button-disabled {\n display: inline-block;\n}\n.navigator-button + .filer-dropdown-menu {\n margin-top: -2px;\n}\n\n.navigator {\n position: relative;\n overflow-x: auto;\n width: 100%;\n form {\n margin: 0;\n padding: 0;\n box-shadow: none;\n }\n}\n\n.filer-dropdown-container {\n display: inline-block;\n position: relative;\n vertical-align: top;\n .fa-caret-down {\n font-size: 16px;\n }\n .filer-dropdown-menu,\n + .filer-dropdown-menu {\n display: none;\n right: 0;\n left: auto;\n border: 0;\n box-shadow: $dropdown-shadow;\n > li > a {\n display: block;\n color: $color-primary;\n font-weight: normal;\n white-space: normal;\n padding: 12px 20px !important;\n @media screen and (min-width: $screen-tablet) {\n white-space: nowrap;\n }\n }\n label {\n display: block;\n line-height: 20px !important;\n text-transform: none;\n width: auto;\n margin: 5px 0 !important;\n padding: 0 10px !important;\n }\n input {\n position: relative;\n top: 4px;\n vertical-align: top;\n margin-right: 5px;\n }\n &.filer-dropdown-menu-checkboxes {\n width: 0;\n min-height: 50px;\n padding: 15px;\n border: 0;\n box-shadow: $dropdown-shadow;\n &:before {\n display: none;\n }\n .fa-close {\n position: absolute;\n top: 10px;\n right: 10px;\n color: $gray;\n cursor: pointer;\n &:hover {\n color: $color-primary;\n }\n }\n p {\n color: $gray-light !important;\n font-weight: normal;\n text-transform: uppercase;\n margin-bottom: 5px;\n }\n label {\n color: $gray !important;\n font-weight: normal;\n padding: 0 !important;\n margin-top: 0 !important;\n input {\n margin-left: 0;\n }\n }\n }\n a:hover {\n color: white !important;\n background: $color-primary !important;\n }\n }\n &.open .filer-dropdown-menu {\n display: block;\n li {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n }\n + .separator {\n margin-right: 10px;\n }\n}\n.filer-dropdown-container-down {\n > a {\n &,\n &:link,\n &:visited,\n &:link:visited {\n color: $gray;\n font-size: 20px;\n line-height: 35px;\n height: 35px;\n padding: 0 10px;\n }\n }\n .filer-dropdown-menu {\n right: auto;\n left: -14px;\n margin-right: 10px;\n }\n}\n\n.filer-dropdown-menu {\n position: absolute;\n top: 100%;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n margin: 2px 0 0;\n margin-top: 0 !important;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border-radius: 4px;\n background-clip: padding-box;\n &:before {\n position: absolute;\n top: -5px;\n left: 35px;\n z-index: -1;\n content: '';\n width: 10px;\n height: 10px;\n margin-left: -5px;\n transform: rotate(45deg);\n background-color: #fff;\n }\n &.create-menu-dropdown:before {\n left: auto;\n right: 17px;\n }\n}\n\n.navigator-breadcrumbs {\n @include clearfix;\n display: table-cell;\n vertical-align: middle;\n font-size: 16px;\n white-space: nowrap;\n width: 60px;\n > a {\n color: $gray-darkest !important;\n }\n .icon {\n color: $gray-light;\n line-height: 35px;\n height: 35px;\n margin: 0 5px;\n &:before {\n vertical-align: middle;\n }\n }\n li {\n list-style-type: none;\n }\n}\n.navigator-breadcrumbs-folder-name-wrapper {\n display: table-cell;\n overflow: hidden;\n font-size: 16px;\n font-weight: bold;\n vertical-align: middle;\n white-space: nowrap;\n}\n.navigator-breadcrumbs-folder-name {\n display: block;\n overflow: hidden;\n white-space: normal;\n line-height: 35px;\n width: 100%;\n height: 35px;\n}\n.navigator-breadcrumbs-folder-name-inner {\n display: block;\n position: relative;\n overflow: hidden;\n line-height: 35px;\n height: 35px;\n width: 100%;\n text-overflow: ellipsis;\n}\n.filer-navigator-breadcrumbs-dropdown-container {\n position: relative;\n float: left;\n vertical-align: middle;\n margin: 0 7px 0 0;\n > a img {\n padding: 3px 0;\n }\n .navigator-breadcrumbs-dropdown {\n left: -15px !important;\n min-width: 200px;\n padding: 0;\n margin-top: 0;\n border: 0;\n box-shadow: $dropdown-shadow;\n > li {\n padding: 0;\n > a {\n color: $color-primary;\n padding: 12px 20px 3px !important;\n border-bottom: solid 1px #e1e1e1;\n &:hover {\n color: white !important;\n background: $color-primary !important;\n }\n }\n &:last-child > a {\n border-bottom: none;\n }\n }\n img {\n position: relative;\n top: -5px;\n vertical-align: top;\n margin: 0 10px 0 0;\n }\n }\n}\n\n.navigator-dropdown-arrow-up {\n position: relative;\n left: 20px;\n overflow: hidden;\n width: 20px;\n height: 20px;\n margin-top: -20px;\n z-index: 1001;\n &:after {\n content: \"\";\n position: absolute;\n top: 15px;\n left: 5px;\n width: 10px;\n height: 10px;\n background: white;\n transform: rotate(45deg);\n box-shadow: $dropdown-shadow;\n }\n}\n\n.navigator-breadcrumbs-name-dropdown-wrapper {\n display: table;\n min-height: 35px;\n .filer-dropdown-menu {\n left: auto;\n right: -80px;\n &:before {\n right: 80px;\n left: auto;\n }\n }\n a {\n display: inline-block;\n }\n}\n\n.empty-filer-header-cell {\n display: table-cell;\n vertical-align: middle;\n}\n","//##############################################################################\n// MODAL\n\n.popup {\n &.app-cmsplugin_filer_image {\n .form-row.field-image .field-box,\n .field-box.field-free_link,\n .field-box.field-page_link,\n .field-box.field-file_link {\n float: none !important;\n margin-right: 0 !important;\n margin-top: 20px !important;\n &:first-child {\n margin-top: 0 !important\n }\n input {\n width: 100% !important;\n }\n }\n .form-row .field-box {\n &.field-crop,\n &.field-upscale {\n margin-top: 30px;\n }\n }\n }\n &.delete-confirmation .colM ul {\n // makes sure that between list and button is a space #744\n margin-bottom: 25px !important;\n }\n .image-info-detail {\n padding: 0;\n padding-bottom: 25px;\n margin-bottom: 30px;\n box-shadow: none;\n border-bottom: solid 1px $gray-lighter;\n }\n &.change-list.filebrowser {\n #result_list tbody th,\n #result_list tbody td {\n // makes sure that changelist columns has correct height on modal window #665\n height: auto;\n }\n }\n .filer-dropzone {\n padding: 20px;\n }\n form .form-row .filer-dropzone .filerFile {\n top: 32px;\n }\n &.filebrowser #container #content {\n margin: 0 !important;\n }\n .navigator-button-wrapper {\n float: right;\n @media screen and (max-width: $screen-tablet) {\n float: none;\n }\n }\n .navigator-top-nav {\n .tools-container {\n width: 70%;\n }\n .breadcrumbs-container {\n width: 30%;\n }\n .tools-container,\n .breadcrumbs-container {\n @media screen and (max-width: $screen-tablet) {\n width: 100%;\n }\n }\n }\n}\n","//##############################################################################\n// DRAG AND DROP\n\nform .form-row {\n &[class*=\"file\"],\n &[class*=\"img\"],\n &[class*=\"image\"],\n &[class*=\"visual\"] {\n .related-widget-wrapper-link {\n display: none;\n }\n }\n .filer-dropzone {\n @include clearfix;\n position: relative;\n min-width: 215px;\n border: solid 1px $gray-lighter;\n border-radius: $border-radius-base;\n background-color: $gray-lightest;\n box-sizing: border-box !important;\n .z-index-fix {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n &.dz-drag-hover {\n padding-top: 19px;\n background-color: $color-primary-light;\n border: solid 2px $color-primary !important;\n .z-index-fix {\n z-index: 1;\n }\n .dz-message {\n opacity: 1;\n display: block !important;\n visibility: visible;\n }\n .filerFile {\n display: none;\n }\n .dz-message, .dz-message .icon {\n color: $color-primary !important;\n }\n }\n &.dz-started .fileUpload {\n display: none;\n }\n .dz-preview {\n width: 100%;\n min-height: auto;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-bottom: 10px;\n border-bottom: solid 1px $gray-lighter;\n &.dz-error {\n position: relative;\n .dz-error-message {\n display: none;\n }\n &:hover .dz-error-message {\n display: block;\n }\n }\n .dz-details {\n min-width: calc(100% - 80px);\n max-width: calc(100% - 80px);\n margin-top: 7px;\n margin-left: 40px;\n padding: 0;\n opacity: 1;\n .dz-filename,\n .dz-filename:hover,\n .dz-size {\n float: left;\n text-align: left;\n span {\n color: $gray;\n border: 0 !important;\n background-color: transparent !important;\n }\n }\n }\n .dz-remove {\n @include icon(trash-o);\n display: inline-block;\n position: absolute;\n top: 7px;\n right: 25px;\n font: 0/0 a;\n &:before {\n color: $gray;\n font-size: 18px;\n }\n }\n .dz-error-message {\n top: 65px;\n left: 0;\n width: 100%;\n }\n .dz-success-mark,\n .dz-error-mark {\n top: 5px;\n right: 0;\n left: auto;\n margin-top: 0;\n &:before {\n color: $gray;\n }\n svg {\n display: none;\n }\n }\n .dz-success-mark {\n @include icon(check);\n &:before {\n color: $color-success;\n }\n }\n .dz-error-mark {\n @include icon(remove);\n &:before {\n color: $color-danger;\n }\n }\n &.dz-image-preview,\n &.dz-file-preview {\n background-color: transparent;\n .dz-image {\n overflow: hidden;\n width: 36px;\n height: 36px;\n border: solid 1px $gray-lighter;\n border-radius: 0;\n img {\n width: 100%;\n height: auto;\n }\n }\n }\n .dz-progress {\n top: 18px;\n left: 0;\n width: calc(100% - 40px);\n height: 10px;\n margin-left: 40px;\n }\n }\n .dz-message {\n float: right;\n color: $gray-dropzone;\n width: 100%;\n margin: 15px 0 0;\n }\n .icon {\n position: relative;\n top: 3px;\n color: $gray-dropzone;\n font-size: 24px;\n margin-right: 10px;\n }\n .filerFile .related-lookup {\n @include button-variant($btn-action-color, $btn-action-bgcolor, $btn-action-border, true);\n float: left !important;\n overflow: hidden;\n // makes true that button has correct height #668\n line-height: $font-size-normal;\n width: auto !important;\n height: auto !important;\n padding: 10px 20px !important;\n cursor: pointer;\n .fa {\n color: white;\n font-size: 17px;\n margin: 0 10px 0 0 !important;\n vertical-align: middle;\n }\n &:before {\n display: none;\n }\n .choose-file,\n .edit-file {\n color: white;\n margin: 0;\n }\n .edit-file {\n display: none;\n }\n &.related-lookup-change {\n @include button-variant($btn-default-color, white, $btn-default-border, true);\n float: right !important;\n padding: 5px 0 !important;\n width: 36px !important;\n height: 36px !important;\n &:focus {\n background-color: white !important;\n }\n span {\n text-align: center;\n line-height: 24px;\n }\n .fa {\n color: #999;\n margin-right: 0 !important;\n }\n .choose-file {\n display: none;\n }\n .edit-file {\n display: block;\n }\n }\n }\n // makes sure that filer clear button has correct size #669\n .filerClearer {\n width: 36px !important;\n height: 36px !important;\n }\n .filerFile {\n position: absolute;\n top: 32px;\n // required for django CMS <= 3.1 #673\n left: 20px;\n width: calc(100% - 40px);\n img[src*=nofile] {\n background-color: $white;\n }\n // make sure that text crops if there is not enough space #670\n span:not(:empty):not('.choose-file'):not('.edit-file') {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n width: calc(100% - 150px);\n }\n // required for django CMS <= 3.1 #673\n img {\n width: 36px;\n height: 36px;\n margin-right: 10px;\n border: solid 1px $gray-lighter;\n border-radius: $border-radius-base;\n &[src*=\"nofile\"] {\n box-sizing: border-box;\n margin-right: 0;\n border: solid 1px $gray-lighter;\n border-radius: $border-radius-base;\n }\n }\n // required for django CMS <= 3.1 #673\n img,\n .related-lookup {\n display: inline-block;\n text-align: center !important;\n vertical-align: top;\n }\n // required for django CMS <= 3.1\n a {\n box-sizing: border-box;\n padding-top: 10px !important;\n }\n // required for django CMS <= 3.1 #673\n span {\n display: inline-block;\n color: $gray;\n font-weight: normal;\n margin-top: 6px;\n margin-bottom: 6px;\n text-align: left;\n &:empty + .related-lookup {\n float: none !important;\n margin-left: 0 !important;\n }\n }\n // required for django CMS <= 3.1 #673\n .filerClearer {\n @include button-variant($btn-default-color, $btn-default-bgcolor, $btn-default-border, true);\n float: right;\n // make sure that clear button has correct size #272\n width: 10px;\n height: 10px;\n margin: 0 0 0 5px !important;\n padding: 12px !important;\n border: solid 1px $gray-lighter;\n border-radius: $border-radius-base;\n cursor: pointer;\n &:before {\n color: $gray-light !important;\n vertical-align: middle;\n margin: 0;\n }\n }\n }\n &.filer-dropzone-mobile {\n .filerFile {\n top: 40px;\n text-align: center;\n }\n .dz-message {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n // make sure that drag and drop widget looks nice on mobile #670\n margin-top: 75px;\n }\n &.js-object-attached .filerFile {\n top: 32px;\n text-align: left;\n &.js-file-selector {\n @media screen and (max-width: $screen-tablet-filer) {\n .description_text {\n text-overflow: ellipsis;\n width: calc(100% - 150px);\n overflow: hidden;\n height: 20px;\n }\n }\n span:not('.choose-file'):not('.edit-file'), .dz-name {\n width: calc(100% - 145px);\n }\n }\n }\n }\n &.filer-dropzone-folder .filerFile {\n top: 32px !important;\n #id_folder_description_txt {\n float: left;\n }\n }\n @media screen and (max-width: $screen-tablet-filer) {\n .filerFile {\n top: 40px !important;\n text-align: center;\n }\n .dz-message {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n // make sure that drag and drop widget looks nice on mobile #670\n margin-top: 75px !important;\n }\n &.js-object-attached .filerFile {\n top: 62px !important;\n }\n &.filer-dropzone-folder .filerFile {\n top: 62px !important;\n }\n }\n }\n}\n\n.filer-dropzone {\n min-height: 100px !important;\n @media screen and (max-width: $screen-tablet-filer) {\n min-height: 150px !important;\n }\n .dz-upload {\n height: 5px;\n background-color: #0bf;\n }\n .dz-name {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: calc(100% - 145px);\n }\n .dz-thumbnail {\n display: inline-block;\n overflow: hidden;\n vertical-align: top;\n width: 36px;\n height: 36px;\n margin-right: 10px;\n border: solid 1px #ddd;\n border-radius: 3px;\n background: #fff url(\"../icons/nofile_48x48.png\");\n background-size: cover;\n img {\n background: #fff;\n &[src=\"\"],\n &:not([src]) {\n width: 104%;\n height: 104%;\n margin: -2%;\n }\n }\n }\n}\n\n.filer-dropzone-info-message {\n position: fixed;\n bottom: 35px;\n left: 50%;\n z-index: 2;\n text-align: center;\n width: 270px;\n max-height: 300px;\n overflow-y: auto;\n margin: -50px 0 0 -150px;\n padding: 15px 15px 0;\n border-radius: $border-radius-base;\n background: $white;\n box-shadow: $base-box-shadow;\n .icon {\n font-size: 35px;\n color: $color-primary;\n }\n .text {\n margin: 5px 0 10px;\n }\n}\n.filer-dropzone-upload-info {\n margin-top: 10px;\n // make sure that file name on upload progress is cut #675\n .filer-dropzone-file-name {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n &:empty {\n margin-top: 0;\n }\n}\n.filer-dropzone-progress {\n height: 5px;\n margin-top: 5px;\n background-color: #0bf;\n}\n\n.filer-dropzone-upload-welcome .folder {\n color: $color-primary;\n padding: 10px 0 0;\n margin: 0 -15px;\n border-top: solid 1px $gray-lighter;\n img,\n span {\n vertical-align: middle;\n }\n img {\n margin-right: 5px;\n }\n .folder-inner {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding: 0 10px;\n }\n}\n\n.filer-dropzone-cancel {\n padding-top: 10px;\n border-top: solid 1px $gray-lighter;\n margin: 15px -15px 10px;\n a {\n font-size: $font-size-small;\n color: $gray !important;\n }\n}\n.filer-dropzone-upload-success,\n.filer-dropzone-upload-canceled {\n margin: 0 -15px 10px;\n}\n\n.filer-dropzone-upload-count {\n padding-bottom: 10px;\n margin: 10px -15px;\n border-bottom: solid 1px $gray-lighter;\n}\n",".filer-tooltip-wrapper {\n position: relative;\n}\n\n.filer-tooltip {\n position: absolute;\n left: -30px;\n right: -30px;\n color: $gray;\n text-align: center;\n font-size: $font-size-small !important;\n line-height: 15px !important;\n white-space: normal;\n margin-top: 5px;\n padding: 10px;\n background-color: $white;\n box-shadow: 0 0 10px rgba(black,.25);\n border-radius: 5px;\n z-index: 10;\n &:before {\n position: absolute;\n top: -3px;\n left: 50%;\n z-index: -1;\n content: '';\n width: 9px;\n height: 9px;\n margin-left: -5px;\n transform: rotate(45deg);\n background-color: #fff;\n }\n}\n\n.disabled-btn-tooltip {\n display: none;\n outline: none;\n}\n","/*!\n * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.4.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:\"\\f000\"}.fa-music:before{content:\"\\f001\"}.fa-search:before{content:\"\\f002\"}.fa-envelope-o:before{content:\"\\f003\"}.fa-heart:before{content:\"\\f004\"}.fa-star:before{content:\"\\f005\"}.fa-star-o:before{content:\"\\f006\"}.fa-user:before{content:\"\\f007\"}.fa-film:before{content:\"\\f008\"}.fa-th-large:before{content:\"\\f009\"}.fa-th:before{content:\"\\f00a\"}.fa-th-list:before{content:\"\\f00b\"}.fa-check:before{content:\"\\f00c\"}.fa-remove:before,.fa-close:before,.fa-times:before{content:\"\\f00d\"}.fa-search-plus:before{content:\"\\f00e\"}.fa-search-minus:before{content:\"\\f010\"}.fa-power-off:before{content:\"\\f011\"}.fa-signal:before{content:\"\\f012\"}.fa-gear:before,.fa-cog:before{content:\"\\f013\"}.fa-trash-o:before{content:\"\\f014\"}.fa-home:before{content:\"\\f015\"}.fa-file-o:before{content:\"\\f016\"}.fa-clock-o:before{content:\"\\f017\"}.fa-road:before{content:\"\\f018\"}.fa-download:before{content:\"\\f019\"}.fa-arrow-circle-o-down:before{content:\"\\f01a\"}.fa-arrow-circle-o-up:before{content:\"\\f01b\"}.fa-inbox:before{content:\"\\f01c\"}.fa-play-circle-o:before{content:\"\\f01d\"}.fa-rotate-right:before,.fa-repeat:before{content:\"\\f01e\"}.fa-refresh:before{content:\"\\f021\"}.fa-list-alt:before{content:\"\\f022\"}.fa-lock:before{content:\"\\f023\"}.fa-flag:before{content:\"\\f024\"}.fa-headphones:before{content:\"\\f025\"}.fa-volume-off:before{content:\"\\f026\"}.fa-volume-down:before{content:\"\\f027\"}.fa-volume-up:before{content:\"\\f028\"}.fa-qrcode:before{content:\"\\f029\"}.fa-barcode:before{content:\"\\f02a\"}.fa-tag:before{content:\"\\f02b\"}.fa-tags:before{content:\"\\f02c\"}.fa-book:before{content:\"\\f02d\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-print:before{content:\"\\f02f\"}.fa-camera:before{content:\"\\f030\"}.fa-font:before{content:\"\\f031\"}.fa-bold:before{content:\"\\f032\"}.fa-italic:before{content:\"\\f033\"}.fa-text-height:before{content:\"\\f034\"}.fa-text-width:before{content:\"\\f035\"}.fa-align-left:before{content:\"\\f036\"}.fa-align-center:before{content:\"\\f037\"}.fa-align-right:before{content:\"\\f038\"}.fa-align-justify:before{content:\"\\f039\"}.fa-list:before{content:\"\\f03a\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-indent:before{content:\"\\f03c\"}.fa-video-camera:before{content:\"\\f03d\"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:\"\\f03e\"}.fa-pencil:before{content:\"\\f040\"}.fa-map-marker:before{content:\"\\f041\"}.fa-adjust:before{content:\"\\f042\"}.fa-tint:before{content:\"\\f043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\\f044\"}.fa-share-square-o:before{content:\"\\f045\"}.fa-check-square-o:before{content:\"\\f046\"}.fa-arrows:before{content:\"\\f047\"}.fa-step-backward:before{content:\"\\f048\"}.fa-fast-backward:before{content:\"\\f049\"}.fa-backward:before{content:\"\\f04a\"}.fa-play:before{content:\"\\f04b\"}.fa-pause:before{content:\"\\f04c\"}.fa-stop:before{content:\"\\f04d\"}.fa-forward:before{content:\"\\f04e\"}.fa-fast-forward:before{content:\"\\f050\"}.fa-step-forward:before{content:\"\\f051\"}.fa-eject:before{content:\"\\f052\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-plus-circle:before{content:\"\\f055\"}.fa-minus-circle:before{content:\"\\f056\"}.fa-times-circle:before{content:\"\\f057\"}.fa-check-circle:before{content:\"\\f058\"}.fa-question-circle:before{content:\"\\f059\"}.fa-info-circle:before{content:\"\\f05a\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-times-circle-o:before{content:\"\\f05c\"}.fa-check-circle-o:before{content:\"\\f05d\"}.fa-ban:before{content:\"\\f05e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-expand:before{content:\"\\f065\"}.fa-compress:before{content:\"\\f066\"}.fa-plus:before{content:\"\\f067\"}.fa-minus:before{content:\"\\f068\"}.fa-asterisk:before{content:\"\\f069\"}.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-gift:before{content:\"\\f06b\"}.fa-leaf:before{content:\"\\f06c\"}.fa-fire:before{content:\"\\f06d\"}.fa-eye:before{content:\"\\f06e\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-warning:before,.fa-exclamation-triangle:before{content:\"\\f071\"}.fa-plane:before{content:\"\\f072\"}.fa-calendar:before{content:\"\\f073\"}.fa-random:before{content:\"\\f074\"}.fa-comment:before{content:\"\\f075\"}.fa-magnet:before{content:\"\\f076\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-retweet:before{content:\"\\f079\"}.fa-shopping-cart:before{content:\"\\f07a\"}.fa-folder:before{content:\"\\f07b\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-arrows-v:before{content:\"\\f07d\"}.fa-arrows-h:before{content:\"\\f07e\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\\f080\"}.fa-twitter-square:before{content:\"\\f081\"}.fa-facebook-square:before{content:\"\\f082\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-key:before{content:\"\\f084\"}.fa-gears:before,.fa-cogs:before{content:\"\\f085\"}.fa-comments:before{content:\"\\f086\"}.fa-thumbs-o-up:before{content:\"\\f087\"}.fa-thumbs-o-down:before{content:\"\\f088\"}.fa-star-half:before{content:\"\\f089\"}.fa-heart-o:before{content:\"\\f08a\"}.fa-sign-out:before{content:\"\\f08b\"}.fa-linkedin-square:before{content:\"\\f08c\"}.fa-thumb-tack:before{content:\"\\f08d\"}.fa-external-link:before{content:\"\\f08e\"}.fa-sign-in:before{content:\"\\f090\"}.fa-trophy:before{content:\"\\f091\"}.fa-github-square:before{content:\"\\f092\"}.fa-upload:before{content:\"\\f093\"}.fa-lemon-o:before{content:\"\\f094\"}.fa-phone:before{content:\"\\f095\"}.fa-square-o:before{content:\"\\f096\"}.fa-bookmark-o:before{content:\"\\f097\"}.fa-phone-square:before{content:\"\\f098\"}.fa-twitter:before{content:\"\\f099\"}.fa-facebook-f:before,.fa-facebook:before{content:\"\\f09a\"}.fa-github:before{content:\"\\f09b\"}.fa-unlock:before{content:\"\\f09c\"}.fa-credit-card:before{content:\"\\f09d\"}.fa-feed:before,.fa-rss:before{content:\"\\f09e\"}.fa-hdd-o:before{content:\"\\f0a0\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-bell:before{content:\"\\f0f3\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-hand-o-right:before{content:\"\\f0a4\"}.fa-hand-o-left:before{content:\"\\f0a5\"}.fa-hand-o-up:before{content:\"\\f0a6\"}.fa-hand-o-down:before{content:\"\\f0a7\"}.fa-arrow-circle-left:before{content:\"\\f0a8\"}.fa-arrow-circle-right:before{content:\"\\f0a9\"}.fa-arrow-circle-up:before{content:\"\\f0aa\"}.fa-arrow-circle-down:before{content:\"\\f0ab\"}.fa-globe:before{content:\"\\f0ac\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-tasks:before{content:\"\\f0ae\"}.fa-filter:before{content:\"\\f0b0\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-arrows-alt:before{content:\"\\f0b2\"}.fa-group:before,.fa-users:before{content:\"\\f0c0\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-flask:before{content:\"\\f0c3\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-copy:before,.fa-files-o:before{content:\"\\f0c5\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-save:before,.fa-floppy-o:before{content:\"\\f0c7\"}.fa-square:before{content:\"\\f0c8\"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:\"\\f0c9\"}.fa-list-ul:before{content:\"\\f0ca\"}.fa-list-ol:before{content:\"\\f0cb\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-underline:before{content:\"\\f0cd\"}.fa-table:before{content:\"\\f0ce\"}.fa-magic:before{content:\"\\f0d0\"}.fa-truck:before{content:\"\\f0d1\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-pinterest-square:before{content:\"\\f0d3\"}.fa-google-plus-square:before{content:\"\\f0d4\"}.fa-google-plus:before{content:\"\\f0d5\"}.fa-money:before{content:\"\\f0d6\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-columns:before{content:\"\\f0db\"}.fa-unsorted:before,.fa-sort:before{content:\"\\f0dc\"}.fa-sort-down:before,.fa-sort-desc:before{content:\"\\f0dd\"}.fa-sort-up:before,.fa-sort-asc:before{content:\"\\f0de\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-linkedin:before{content:\"\\f0e1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-legal:before,.fa-gavel:before{content:\"\\f0e3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\\f0e4\"}.fa-comment-o:before{content:\"\\f0e5\"}.fa-comments-o:before{content:\"\\f0e6\"}.fa-flash:before,.fa-bolt:before{content:\"\\f0e7\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-paste:before,.fa-clipboard:before{content:\"\\f0ea\"}.fa-lightbulb-o:before{content:\"\\f0eb\"}.fa-exchange:before{content:\"\\f0ec\"}.fa-cloud-download:before{content:\"\\f0ed\"}.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-user-md:before{content:\"\\f0f0\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-bell-o:before{content:\"\\f0a2\"}.fa-coffee:before{content:\"\\f0f4\"}.fa-cutlery:before{content:\"\\f0f5\"}.fa-file-text-o:before{content:\"\\f0f6\"}.fa-building-o:before{content:\"\\f0f7\"}.fa-hospital-o:before{content:\"\\f0f8\"}.fa-ambulance:before{content:\"\\f0f9\"}.fa-medkit:before{content:\"\\f0fa\"}.fa-fighter-jet:before{content:\"\\f0fb\"}.fa-beer:before{content:\"\\f0fc\"}.fa-h-square:before{content:\"\\f0fd\"}.fa-plus-square:before{content:\"\\f0fe\"}.fa-angle-double-left:before{content:\"\\f100\"}.fa-angle-double-right:before{content:\"\\f101\"}.fa-angle-double-up:before{content:\"\\f102\"}.fa-angle-double-down:before{content:\"\\f103\"}.fa-angle-left:before{content:\"\\f104\"}.fa-angle-right:before{content:\"\\f105\"}.fa-angle-up:before{content:\"\\f106\"}.fa-angle-down:before{content:\"\\f107\"}.fa-desktop:before{content:\"\\f108\"}.fa-laptop:before{content:\"\\f109\"}.fa-tablet:before{content:\"\\f10a\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f10b\"}.fa-circle-o:before{content:\"\\f10c\"}.fa-quote-left:before{content:\"\\f10d\"}.fa-quote-right:before{content:\"\\f10e\"}.fa-spinner:before{content:\"\\f110\"}.fa-circle:before{content:\"\\f111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f112\"}.fa-github-alt:before{content:\"\\f113\"}.fa-folder-o:before{content:\"\\f114\"}.fa-folder-open-o:before{content:\"\\f115\"}.fa-smile-o:before{content:\"\\f118\"}.fa-frown-o:before{content:\"\\f119\"}.fa-meh-o:before{content:\"\\f11a\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-keyboard-o:before{content:\"\\f11c\"}.fa-flag-o:before{content:\"\\f11d\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-terminal:before{content:\"\\f120\"}.fa-code:before{content:\"\\f121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\\f123\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-crop:before{content:\"\\f125\"}.fa-code-fork:before{content:\"\\f126\"}.fa-unlink:before,.fa-chain-broken:before{content:\"\\f127\"}.fa-question:before{content:\"\\f128\"}.fa-info:before{content:\"\\f129\"}.fa-exclamation:before{content:\"\\f12a\"}.fa-superscript:before{content:\"\\f12b\"}.fa-subscript:before{content:\"\\f12c\"}.fa-eraser:before{content:\"\\f12d\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-microphone:before{content:\"\\f130\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-shield:before{content:\"\\f132\"}.fa-calendar-o:before{content:\"\\f133\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-rocket:before{content:\"\\f135\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-chevron-circle-left:before{content:\"\\f137\"}.fa-chevron-circle-right:before{content:\"\\f138\"}.fa-chevron-circle-up:before{content:\"\\f139\"}.fa-chevron-circle-down:before{content:\"\\f13a\"}.fa-html5:before{content:\"\\f13b\"}.fa-css3:before{content:\"\\f13c\"}.fa-anchor:before{content:\"\\f13d\"}.fa-unlock-alt:before{content:\"\\f13e\"}.fa-bullseye:before{content:\"\\f140\"}.fa-ellipsis-h:before{content:\"\\f141\"}.fa-ellipsis-v:before{content:\"\\f142\"}.fa-rss-square:before{content:\"\\f143\"}.fa-play-circle:before{content:\"\\f144\"}.fa-ticket:before{content:\"\\f145\"}.fa-minus-square:before{content:\"\\f146\"}.fa-minus-square-o:before{content:\"\\f147\"}.fa-level-up:before{content:\"\\f148\"}.fa-level-down:before{content:\"\\f149\"}.fa-check-square:before{content:\"\\f14a\"}.fa-pencil-square:before{content:\"\\f14b\"}.fa-external-link-square:before{content:\"\\f14c\"}.fa-share-square:before{content:\"\\f14d\"}.fa-compass:before{content:\"\\f14e\"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:\"\\f150\"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:\"\\f151\"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:\"\\f152\"}.fa-euro:before,.fa-eur:before{content:\"\\f153\"}.fa-gbp:before{content:\"\\f154\"}.fa-dollar:before,.fa-usd:before{content:\"\\f155\"}.fa-rupee:before,.fa-inr:before{content:\"\\f156\"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:\"\\f157\"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:\"\\f158\"}.fa-won:before,.fa-krw:before{content:\"\\f159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\\f15a\"}.fa-file:before{content:\"\\f15b\"}.fa-file-text:before{content:\"\\f15c\"}.fa-sort-alpha-asc:before{content:\"\\f15d\"}.fa-sort-alpha-desc:before{content:\"\\f15e\"}.fa-sort-amount-asc:before{content:\"\\f160\"}.fa-sort-amount-desc:before{content:\"\\f161\"}.fa-sort-numeric-asc:before{content:\"\\f162\"}.fa-sort-numeric-desc:before{content:\"\\f163\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-youtube-square:before{content:\"\\f166\"}.fa-youtube:before{content:\"\\f167\"}.fa-xing:before{content:\"\\f168\"}.fa-xing-square:before{content:\"\\f169\"}.fa-youtube-play:before{content:\"\\f16a\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-instagram:before{content:\"\\f16d\"}.fa-flickr:before{content:\"\\f16e\"}.fa-adn:before{content:\"\\f170\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-bitbucket-square:before{content:\"\\f172\"}.fa-tumblr:before{content:\"\\f173\"}.fa-tumblr-square:before{content:\"\\f174\"}.fa-long-arrow-down:before{content:\"\\f175\"}.fa-long-arrow-up:before{content:\"\\f176\"}.fa-long-arrow-left:before{content:\"\\f177\"}.fa-long-arrow-right:before{content:\"\\f178\"}.fa-apple:before{content:\"\\f179\"}.fa-windows:before{content:\"\\f17a\"}.fa-android:before{content:\"\\f17b\"}.fa-linux:before{content:\"\\f17c\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-skype:before{content:\"\\f17e\"}.fa-foursquare:before{content:\"\\f180\"}.fa-trello:before{content:\"\\f181\"}.fa-female:before{content:\"\\f182\"}.fa-male:before{content:\"\\f183\"}.fa-gittip:before,.fa-gratipay:before{content:\"\\f184\"}.fa-sun-o:before{content:\"\\f185\"}.fa-moon-o:before{content:\"\\f186\"}.fa-archive:before{content:\"\\f187\"}.fa-bug:before{content:\"\\f188\"}.fa-vk:before{content:\"\\f189\"}.fa-weibo:before{content:\"\\f18a\"}.fa-renren:before{content:\"\\f18b\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-arrow-circle-o-right:before{content:\"\\f18e\"}.fa-arrow-circle-o-left:before{content:\"\\f190\"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:\"\\f191\"}.fa-dot-circle-o:before{content:\"\\f192\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-vimeo-square:before{content:\"\\f194\"}.fa-turkish-lira:before,.fa-try:before{content:\"\\f195\"}.fa-plus-square-o:before{content:\"\\f196\"}.fa-space-shuttle:before{content:\"\\f197\"}.fa-slack:before{content:\"\\f198\"}.fa-envelope-square:before{content:\"\\f199\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-openid:before{content:\"\\f19b\"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:\"\\f19c\"}.fa-mortar-board:before,.fa-graduation-cap:before{content:\"\\f19d\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-google:before{content:\"\\f1a0\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-reddit-square:before{content:\"\\f1a2\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-digg:before{content:\"\\f1a6\"}.fa-pied-piper:before{content:\"\\f1a7\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-language:before{content:\"\\f1ab\"}.fa-fax:before{content:\"\\f1ac\"}.fa-building:before{content:\"\\f1ad\"}.fa-child:before{content:\"\\f1ae\"}.fa-paw:before{content:\"\\f1b0\"}.fa-spoon:before{content:\"\\f1b1\"}.fa-cube:before{content:\"\\f1b2\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-behance:before{content:\"\\f1b4\"}.fa-behance-square:before{content:\"\\f1b5\"}.fa-steam:before{content:\"\\f1b6\"}.fa-steam-square:before{content:\"\\f1b7\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-tree:before{content:\"\\f1bb\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-database:before{content:\"\\f1c0\"}.fa-file-pdf-o:before{content:\"\\f1c1\"}.fa-file-word-o:before{content:\"\\f1c2\"}.fa-file-excel-o:before{content:\"\\f1c3\"}.fa-file-powerpoint-o:before{content:\"\\f1c4\"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:\"\\f1c5\"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:\"\\f1c6\"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:\"\\f1c7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\\f1c8\"}.fa-file-code-o:before{content:\"\\f1c9\"}.fa-vine:before{content:\"\\f1ca\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:\"\\f1cd\"}.fa-circle-o-notch:before{content:\"\\f1ce\"}.fa-ra:before,.fa-rebel:before{content:\"\\f1d0\"}.fa-ge:before,.fa-empire:before{content:\"\\f1d1\"}.fa-git-square:before{content:\"\\f1d2\"}.fa-git:before{content:\"\\f1d3\"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:\"\\f1d4\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-qq:before{content:\"\\f1d6\"}.fa-wechat:before,.fa-weixin:before{content:\"\\f1d7\"}.fa-send:before,.fa-paper-plane:before{content:\"\\f1d8\"}.fa-send-o:before,.fa-paper-plane-o:before{content:\"\\f1d9\"}.fa-history:before{content:\"\\f1da\"}.fa-circle-thin:before{content:\"\\f1db\"}.fa-header:before{content:\"\\f1dc\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-sliders:before{content:\"\\f1de\"}.fa-share-alt:before{content:\"\\f1e0\"}.fa-share-alt-square:before{content:\"\\f1e1\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:\"\\f1e3\"}.fa-tty:before{content:\"\\f1e4\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-plug:before{content:\"\\f1e6\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-newspaper-o:before{content:\"\\f1ea\"}.fa-wifi:before{content:\"\\f1eb\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-bell-slash-o:before{content:\"\\f1f7\"}.fa-trash:before{content:\"\\f1f8\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-at:before{content:\"\\f1fa\"}.fa-eyedropper:before{content:\"\\f1fb\"}.fa-paint-brush:before{content:\"\\f1fc\"}.fa-birthday-cake:before{content:\"\\f1fd\"}.fa-area-chart:before{content:\"\\f1fe\"}.fa-pie-chart:before{content:\"\\f200\"}.fa-line-chart:before{content:\"\\f201\"}.fa-lastfm:before{content:\"\\f202\"}.fa-lastfm-square:before{content:\"\\f203\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-bicycle:before{content:\"\\f206\"}.fa-bus:before{content:\"\\f207\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-angellist:before{content:\"\\f209\"}.fa-cc:before{content:\"\\f20a\"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:\"\\f20b\"}.fa-meanpath:before{content:\"\\f20c\"}.fa-buysellads:before{content:\"\\f20d\"}.fa-connectdevelop:before{content:\"\\f20e\"}.fa-dashcube:before{content:\"\\f210\"}.fa-forumbee:before{content:\"\\f211\"}.fa-leanpub:before{content:\"\\f212\"}.fa-sellsy:before{content:\"\\f213\"}.fa-shirtsinbulk:before{content:\"\\f214\"}.fa-simplybuilt:before{content:\"\\f215\"}.fa-skyatlas:before{content:\"\\f216\"}.fa-cart-plus:before{content:\"\\f217\"}.fa-cart-arrow-down:before{content:\"\\f218\"}.fa-diamond:before{content:\"\\f219\"}.fa-ship:before{content:\"\\f21a\"}.fa-user-secret:before{content:\"\\f21b\"}.fa-motorcycle:before{content:\"\\f21c\"}.fa-street-view:before{content:\"\\f21d\"}.fa-heartbeat:before{content:\"\\f21e\"}.fa-venus:before{content:\"\\f221\"}.fa-mars:before{content:\"\\f222\"}.fa-mercury:before{content:\"\\f223\"}.fa-intersex:before,.fa-transgender:before{content:\"\\f224\"}.fa-transgender-alt:before{content:\"\\f225\"}.fa-venus-double:before{content:\"\\f226\"}.fa-mars-double:before{content:\"\\f227\"}.fa-venus-mars:before{content:\"\\f228\"}.fa-mars-stroke:before{content:\"\\f229\"}.fa-mars-stroke-v:before{content:\"\\f22a\"}.fa-mars-stroke-h:before{content:\"\\f22b\"}.fa-neuter:before{content:\"\\f22c\"}.fa-genderless:before{content:\"\\f22d\"}.fa-facebook-official:before{content:\"\\f230\"}.fa-pinterest-p:before{content:\"\\f231\"}.fa-whatsapp:before{content:\"\\f232\"}.fa-server:before{content:\"\\f233\"}.fa-user-plus:before{content:\"\\f234\"}.fa-user-times:before{content:\"\\f235\"}.fa-hotel:before,.fa-bed:before{content:\"\\f236\"}.fa-viacoin:before{content:\"\\f237\"}.fa-train:before{content:\"\\f238\"}.fa-subway:before{content:\"\\f239\"}.fa-medium:before{content:\"\\f23a\"}.fa-yc:before,.fa-y-combinator:before{content:\"\\f23b\"}.fa-optin-monster:before{content:\"\\f23c\"}.fa-opencart:before{content:\"\\f23d\"}.fa-expeditedssl:before{content:\"\\f23e\"}.fa-battery-4:before,.fa-battery-full:before{content:\"\\f240\"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:\"\\f241\"}.fa-battery-2:before,.fa-battery-half:before{content:\"\\f242\"}.fa-battery-1:before,.fa-battery-quarter:before{content:\"\\f243\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\\f244\"}.fa-mouse-pointer:before{content:\"\\f245\"}.fa-i-cursor:before{content:\"\\f246\"}.fa-object-group:before{content:\"\\f247\"}.fa-object-ungroup:before{content:\"\\f248\"}.fa-sticky-note:before{content:\"\\f249\"}.fa-sticky-note-o:before{content:\"\\f24a\"}.fa-cc-jcb:before{content:\"\\f24b\"}.fa-cc-diners-club:before{content:\"\\f24c\"}.fa-clone:before{content:\"\\f24d\"}.fa-balance-scale:before{content:\"\\f24e\"}.fa-hourglass-o:before{content:\"\\f250\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\\f251\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\\f252\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\\f253\"}.fa-hourglass:before{content:\"\\f254\"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:\"\\f255\"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:\"\\f256\"}.fa-hand-scissors-o:before{content:\"\\f257\"}.fa-hand-lizard-o:before{content:\"\\f258\"}.fa-hand-spock-o:before{content:\"\\f259\"}.fa-hand-pointer-o:before{content:\"\\f25a\"}.fa-hand-peace-o:before{content:\"\\f25b\"}.fa-trademark:before{content:\"\\f25c\"}.fa-registered:before{content:\"\\f25d\"}.fa-creative-commons:before{content:\"\\f25e\"}.fa-gg:before{content:\"\\f260\"}.fa-gg-circle:before{content:\"\\f261\"}.fa-tripadvisor:before{content:\"\\f262\"}.fa-odnoklassniki:before{content:\"\\f263\"}.fa-odnoklassniki-square:before{content:\"\\f264\"}.fa-get-pocket:before{content:\"\\f265\"}.fa-wikipedia-w:before{content:\"\\f266\"}.fa-safari:before{content:\"\\f267\"}.fa-chrome:before{content:\"\\f268\"}.fa-firefox:before{content:\"\\f269\"}.fa-opera:before{content:\"\\f26a\"}.fa-internet-explorer:before{content:\"\\f26b\"}.fa-tv:before,.fa-television:before{content:\"\\f26c\"}.fa-contao:before{content:\"\\f26d\"}.fa-500px:before{content:\"\\f26e\"}.fa-amazon:before{content:\"\\f270\"}.fa-calendar-plus-o:before{content:\"\\f271\"}.fa-calendar-minus-o:before{content:\"\\f272\"}.fa-calendar-times-o:before{content:\"\\f273\"}.fa-calendar-check-o:before{content:\"\\f274\"}.fa-industry:before{content:\"\\f275\"}.fa-map-pin:before{content:\"\\f276\"}.fa-map-signs:before{content:\"\\f277\"}.fa-map-o:before{content:\"\\f278\"}.fa-map:before{content:\"\\f279\"}.fa-commenting:before{content:\"\\f27a\"}.fa-commenting-o:before{content:\"\\f27b\"}.fa-houzz:before{content:\"\\f27c\"}.fa-vimeo:before{content:\"\\f27d\"}.fa-black-tie:before{content:\"\\f27e\"}.fa-fonticons:before{content:\"\\f280\"}\n","/*\n * The MIT License\n * Copyright (c) 2012 Matias Meno \n */\n@keyframes passing-through {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n 30%,\n 70% {\n opacity: 1;\n transform: translateY(0);\n }\n 100% {\n opacity: 0;\n transform: translateY(-40px);\n }\n}\n@keyframes slide-in {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n 30% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n 10% {\n transform: scale(1.1);\n }\n 20% {\n transform: scale(1);\n }\n}\n.filer-dropzone,\n.filer-dropzone * {\n box-sizing: border-box;\n}\n\n.filer-dropzone {\n min-height: 150px;\n padding: 20px 20px;\n border: 2px solid rgba(0, 0, 0, 0.3);\n background: white;\n}\n.filer-dropzone.dz-clickable {\n cursor: pointer;\n}\n.filer-dropzone.dz-clickable * {\n cursor: default;\n}\n.filer-dropzone.dz-clickable .dz-message,\n.filer-dropzone.dz-clickable .dz-message * {\n cursor: pointer;\n}\n.filer-dropzone.dz-drag-hover {\n border-style: solid;\n}\n.filer-dropzone.dz-drag-hover .dz-message {\n opacity: 0.5;\n}\n.filer-dropzone .dz-message {\n text-align: center;\n margin: 2em 0;\n}\n.filer-dropzone .dz-preview {\n display: inline-block;\n position: relative;\n vertical-align: top;\n min-height: 100px;\n margin: 16px;\n}\n.filer-dropzone .dz-preview:hover {\n z-index: 1000;\n}\n.filer-dropzone .dz-preview:hover .dz-details {\n opacity: 1;\n}\n.filer-dropzone .dz-preview.dz-file-preview .dz-image {\n border-radius: 20px;\n background: #999;\n background: linear-gradient(to bottom, #eee, #ddd);\n}\n.filer-dropzone .dz-preview.dz-file-preview .dz-details {\n opacity: 1;\n}\n.filer-dropzone .dz-preview.dz-image-preview {\n background: white;\n}\n.filer-dropzone .dz-preview.dz-image-preview .dz-details {\n transition: opacity 0.2s linear;\n}\n.filer-dropzone .dz-preview .dz-remove {\n display: block;\n font-size: 14px;\n text-align: center;\n border: none;\n cursor: pointer;\n}\n.filer-dropzone .dz-preview .dz-remove:hover {\n text-decoration: underline;\n}\n.filer-dropzone .dz-preview:hover .dz-details {\n opacity: 1;\n}\n.filer-dropzone .dz-preview .dz-details {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n color: rgba(0, 0, 0, 0.9);\n font-size: 13px;\n line-height: 150%;\n text-align: center;\n min-width: 100%;\n max-width: 100%;\n padding: 2em 1em;\n opacity: 0;\n}\n.filer-dropzone .dz-preview .dz-details .dz-size {\n font-size: 16px;\n margin-bottom: 1em;\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename {\n white-space: nowrap;\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename:hover span {\n border: 1px solid rgba(200, 200, 200, 0.8);\n background-color: rgba(255, 255, 255, 0.8);\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename:not(:hover) {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {\n border: 1px solid transparent;\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename span,\n.filer-dropzone .dz-preview .dz-details .dz-size span {\n padding: 0 0.4em;\n border-radius: 3px;\n background-color: rgba(255, 255, 255, 0.4);\n}\n.filer-dropzone .dz-preview:hover .dz-image img {\n transform: scale(1.05, 1.05);\n\n filter: blur(8px);\n}\n.filer-dropzone .dz-preview .dz-image {\n display: block;\n position: relative;\n overflow: hidden;\n z-index: 10;\n width: 120px;\n height: 120px;\n border-radius: 20px;\n}\n.filer-dropzone .dz-preview .dz-image img {\n display: block;\n}\n.filer-dropzone .dz-preview.dz-success .dz-success-mark {\n animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);\n}\n.filer-dropzone .dz-preview.dz-error .dz-error-mark {\n opacity: 1;\n animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);\n}\n.filer-dropzone .dz-preview .dz-success-mark,\n.filer-dropzone .dz-preview .dz-error-mark {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: 500;\n margin-top: -27px;\n margin-left: -27px;\n pointer-events: none;\n opacity: 0;\n}\n.filer-dropzone .dz-preview .dz-success-mark svg,\n.filer-dropzone .dz-preview .dz-error-mark svg {\n display: block;\n width: 54px;\n height: 54px;\n}\n.filer-dropzone .dz-preview.dz-processing .dz-progress {\n opacity: 1;\n transition: all 0.2s linear;\n}\n.filer-dropzone .dz-preview.dz-complete .dz-progress {\n opacity: 0;\n transition: opacity 0.4s ease-in;\n}\n.filer-dropzone .dz-preview:not(.dz-processing) .dz-progress {\n animation: pulse 6s ease infinite;\n}\n.filer-dropzone .dz-preview .dz-progress {\n position: absolute;\n top: 50%;\n left: 50%;\n overflow: hidden;\n z-index: 1000;\n width: 80px;\n height: 16px;\n margin-top: -8px;\n margin-left: -40px;\n border-radius: 8px;\n pointer-events: none;\n opacity: 1;\n background: rgba(255, 255, 255, 0.9);\n}\n.filer-dropzone .dz-preview .dz-progress .dz-upload {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 0;\n background: #333;\n background: linear-gradient(to bottom, #666, #444);\n transition: width 300ms ease-in-out;\n}\n.filer-dropzone .dz-preview.dz-error .dz-error-message {\n display: block;\n}\n.filer-dropzone .dz-preview.dz-error:hover .dz-error-message {\n pointer-events: auto;\n opacity: 1;\n}\n.filer-dropzone .dz-preview .dz-error-message {\n display: block;\n display: none;\n position: absolute;\n top: 130px;\n left: -10px;\n z-index: 1000;\n color: white;\n font-size: 13px;\n width: 140px;\n padding: 0.5em 1.2em;\n border-radius: 8px;\n pointer-events: none;\n opacity: 0;\n background: #be2626;\n background: linear-gradient(to bottom, #be2626, #a92222);\n transition: opacity 0.3s ease;\n}\n.filer-dropzone .dz-preview .dz-error-message:after {\n content: \"\";\n position: absolute;\n top: -6px;\n left: 64px;\n width: 0;\n height: 0;\n border-right: 6px solid transparent;\n border-bottom: 6px solid #be2626;\n border-left: 6px solid transparent;\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["admin_filer.scss","components/_iconography.scss","components/_icons.scss","components/_old.scss","settings/_custom.scss","components/_base.scss","components/_image-info.scss","mixins/_custom.scss","components/_action-list.scss","components/_filter-files.scss","components/_navigator.scss","components/_modal.scss","components/_drag-and-drop.scss","components/_tooltip.scss","libs/_font-awesome.min.scss","libs/_dropzone.scss"],"names":[],"mappings":"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B,CAC9B,8CAEG,SAAW,CACd,wCAEG,kBACA,MACA,OACA,WACA,sBACA,eACA,iBACA,kBACA,eACA,eACA,gBACA,SAAW,CACd,iDAEG,eACA,iBAAmB,CACtB,qDAEG,kBAAoB,CACvB,gEAEG,uCACA,sCAAsB,CACzB,iEAEG,gBACA,sBAAwB,CAC3B,sEAEG,4BAA8B,CACjC,gHAGG,gBACA,kBACA,sCAAsB,CACzB,gDAEG,4BAEA,gBAAY,CACf,sCAEG,cACA,kBACA,gBACA,WACA,YACA,aACA,kBAAoB,CACvB,0CAEG,aAAe,CAClB,wDAEG,4DAA0C,CAC7C,oDAEG,UACA,qDAAmC,CACtC,wFAGG,cACA,kBACA,QACA,SACA,YACA,iBACA,kBACA,oBACA,SAAW,CACd,gGAGG,cACA,WACA,WAAa,CAChB,uDAEG,UACA,0BAA4B,CAC/B,qDAEG,UACA,+BAAiC,CACpC,6DAEG,gCAAkC,CACrC,yCAEG,kBACA,QACA,SACA,gBACA,aACA,WACA,YACA,gBACA,kBACA,kBACA,oBACA,UACA,gCAAgB,CACnB,oDAEG,kBACA,MACA,SACA,OACA,QACA,gBACA,kDACA,kCAAoC,CACvC,uDAEG,aAAe,CAClB,6DAEG,oBACA,SAAW,CACd,8CAEG,cACA,aACA,kBACA,UACA,WACA,aACA,YACA,eACA,YACA,oBACA,kBACA,oBACA,UACA,mBACA,wDACA,4BAA8B,CACjC,oDAEG,WACA,kBACA,SACA,UACA,QACA,SACA,mCACA,gCACA,iCAAmC,CACtC","file":"admin_filer.css","sourcesContent":["/*!\n * @copyright: https://github.com/divio/django-filer\n */\n\n//##############################################################################\n// IMPORT SETTINGS\n@import \"settings/all\";\n@import \"mixins/all\";\n\n//##############################################################################\n// IMPORT COMPONENTS\n@import \"components/iconography\";\n@import \"components/icons\";\n@import \"components/old\";\n@import \"components/base\";\n@import \"components/image-info\";\n@import \"components/action-list\";\n@import \"components/filter-files\";\n@import \"components/navigator\";\n@import \"components/modal\";\n@import \"components/drag-and-drop\";\n@import \"components/tooltip\";\n\n//##############################################################################\n// IMPORT LIBS\n@import \"libs/font-awesome.min\";\n@import \"libs/dropzone\";\n","//######################################################################################################################\n// ICONOGRAPHY\n\n// default font file generated by gulp\n@font-face {\n font-family: \"django-filer-iconfont\";\n src: url(\"../fonts/django-filer-iconfont.eot?v=3.2.0\");\n src: url(\"../fonts/django-filer-iconfont.eot?v=3.2.0#iefix\") format(\"eot\"),\n url(\"../fonts/django-filer-iconfont.woff2?v=3.2.0\") format(\"woff2\"),\n url(\"../fonts/django-filer-iconfont.woff?v=3.2.0\") format(\"woff\"),\n url(\"../fonts/django-filer-iconfont.ttf?v=3.2.0\") format(\"truetype\"),\n url(\"../fonts/django-filer-iconfont.svg?v=3.2.0#django-filer-iconfont\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n%icon {\n display: inline-block;\n font: normal normal normal 14px/1 django-filer-iconfont;\n font-size: inherit;\n text-rendering: auto;\n transform: translate(0, 0);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n@function icon-char($filename) {\n $char: \"\";\n\n @if $filename == check {\n $char: \"E001\";\n }\n @if $filename == remove {\n $char: \"E002\";\n }\n @if $filename == trash-o {\n $char: \"E003\";\n }\n\n @return $char;\n}\n\n.cms-icon {\n @extend %icon;\n}\n@mixin icon($filename, $insert: before) {\n &:#{$insert} {\n content: #{\"\\\"\\\\\"}#{icon-char($filename) + \"\\\"\"};\n }\n}\n\n// #####################################################################################################################\n// #ICONS:start#\n// use unicode characters for accessibility reasons and use aria-hidden=\"true\" for decorative icons\n// DOCS: http://filamentgroup.com/lab/bulletproof_icon_fonts.html\n\n.cms-icon-check {\n @include icon(check);\n}\n\n.cms-icon-remove {\n @include icon(remove);\n}\n\n.cms-icon-trash-o {\n @include icon(trash-o);\n}\n","//##############################################################################\n// ICONS\n\n.dz-success-mark,\n.dz-error-mark,\n.dz-remove {\n &:before {\n @extend %icon;\n font-size: $font-size-large;\n vertical-align: middle;\n margin-right: 5px;\n }\n}\n","//##############################################################################\n// OLD STUFF\n\n#image_container {\n position: relative;\n img, svg {\n position: absolute;\n top: 0;\n left: 0;\n margin: 0;\n }\n}\n.transpTiling {\n outline: 1px solid #e3e3e3;\n background-image: url('data:image/gif;base64,R0lGODlhCAAIAKECAOPj4/z8/P///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7');\n &:hover {\n background-image: url('data:image/gif;base64,R0lGODlhCAAIAKECAEFBQXR0dP///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7');\n }\n}\n#fileUploadFakeLink {\n position: relative;\n}\n#fileInputUploaderContainer {\n position: absolute;\n top: 0;\n left: -8px;\n}\n.loadingThumb {\n width: 32px;\n height: 32px;\n background-image: url('../img/loading_animation.gif');\n background-repeat: no-repeat;\n}\n#content-top-bar {\n margin-bottom: 20px;\n .object-tools {\n margin-top: -32px;\n text-align: right;\n li {\n display: inline-block !important;\n float: none !important;\n }\n }\n .changelink {\n padding-left: 15px !important;\n border: 0 !important;\n font-weight: normal !important;\n color: #029eee !important;\n background: url('../img/icon_changelink.gif') 0 center no-repeat !important;\n background-color: transparent !important;\n box-shadow: none !important;\n }\n}\n.clipboard {\n float: left;\n overflow-x: auto;\n box-sizing: border-box;\n width: 18% !important;\n margin-top: -1px !important;\n border: 1px solid $gray-lighter !important;\n form {\n padding-top: 0 !important;\n }\n table {\n margin: 0;\n border: 0 !important;\n td {\n border-color: $gray-lighter;\n border-right: 0 !important;\n }\n th {\n padding-top: 1px !important;\n padding-bottom: 1px !important;\n }\n tfoot td {\n border-bottom: 0 !important;\n }\n }\n .deletelink {\n padding: 4px 10px;\n border: 1px solid #999;\n background: #e1e1e1 url('../img/button-bg.gif') bottom left repeat-x;\n }\n tr td.thumbnail {\n width: 40px;\n }\n}\na.insertlinkButton {\n padding: 4px;\n padding-left: 28px;\n background-image: url('../img/select_item.gif');\n background-repeat: no-repeat;\n &:hover {\n background-image: url('../img/select_item-hover.gif');\n }\n}\na.small_folder_link {\n display: block;\n float: right;\n height: 36px;\n padding-right: 4px;\n padding-left: 36px;\n line-height: 36px;\n background-image: url('../icons/plainfolder_32x32.png');\n background-repeat: no-repeat;\n}\n#toolbartable {\n overflow-x: auto;\n td {\n border-right: solid 1px $gray-lighter;\n }\n th {\n border-right: solid 1px $gray-lighter;\n }\n + .paginator {\n border-right: solid 1px $gray-lighter;\n }\n}\ntable thead th.thumbHeader {\n width: 52px;\n}\n.fileUploadQueueItem .fileUploadProgress .fileUploadProgressBar {\n background-color: black;\n}\n.filebrowser #changelist {\n overflow: hidden;\n .change {\n text-align: right;\n a {\n display: block;\n float: right;\n }\n }\n .moveto {\n min-width: 180px;\n text-align: right;\n a {\n display: inline-block;\n margin-right: 10px;\n }\n button {\n float: right;\n }\n }\n}\nh1.folder_header {\n margin-bottom: 0;\n background-image: url('../img/nav-bg.gif');\n background-repeat: repeat-x;\n background-position: bottom;\n}\n","// #############################################################################\n// SETTINGS\n\n$speed-base: 200ms;\n\n// COLORS\n$white: #fff;\n$black: #000;\n$hover-bg: #f1faff;\n\n$color-primary: #00bbff;\n$color-primary-light: #f1faff;\n$color-success: #693;\n$color-danger: #f00;\n$color-warning: #c93;\n$color-window: #fcfcfc;\n\n// COLORS gray\n$gray: lighten($black, 40%); // #666;\n$gray-lightest: lighten($gray, 55%); // #f2f2f2\n$gray-lighter: lighten($gray, 46.5%); // #ddd\n$gray-light: lighten($gray, 20%); // #999\n$gray-darker: darken($gray, 13%); // #454545\n$gray-darkest: darken($gray, 20%); // #333\n\n$gray-super-light: #f7f7f7;\n$gray-dropzone: #808080;\n\n\n//##############################################################################\n// BASE Variables\n$font-size-small: 12px;\n$font-size-normal: 14px;\n$font-size-large: 16px;\n\n$icon-size: 16px;\n\n$line-height-normal: 20px;\n\n$border-radius-base: 3px;\n$border-radius-normal: 5px;\n\n$padding-base: 3px;\n$padding-normal: 10px;\n$padding-large: 20px;\n\n$screen-mobile: 320px;\n$screen-tablet: 720px;\n$screen-desktop: 975px;\n\n$screen-tablet-filer: 810px;\n\n//##############################################################################\n// BUTTONS\n\n$btn-border-radius-base: $border-radius-base;\n$btn-active-shadow: inset 0 3px 5px rgba($black, 0.125);\n\n$btn-default-color: $gray-darker;\n$btn-default-bgcolor: $white;\n$btn-default-border: $gray-lighter;\n\n$btn-action-color: $white;\n$btn-action-bgcolor: $color-primary;\n$btn-action-border: $color-primary;\n\n//##############################################################################\n// #SHADOW\n\n$base-box-shadow: 0 0 5px 0 rgba($black, 0.2);\n$dropdown-shadow: 0 1px 10px rgba($black, 0.25);\n","//##############################################################################\n// BASE\n\nhtml,\nbody {\n min-width: 320px;\n height: 100% !important;\n}\n\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.clearfix:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.related-widget-wrapper {\n float: none !important;\n}\n.related-lookup.hidden {\n display: none !important;\n}\n\n// make sure that tiny styles like on size info has correct font size and color #666\n.tiny {\n font-size: $font-size-small !important;\n color: $gray-light !important;\n}\n\n.nav-pages {\n position: relative;\n // make sure that paginator has correct font size and color #666\n font-size: $font-size-small;\n color: $gray-light !important;\n padding: 10px 15px;\n background: #fff;\n span {\n // make sure that paginator has correct font size and color #666\n font-size: $font-size-small;\n color: $gray-light !important;\n }\n .actions {\n float: right;\n }\n}\n\n#id_upload_button:before {\n display: none;\n}\n#content #content-main {\n margin-top: 0;\n}\n.filebrowser {\n &.cms-admin-sideframe {\n #container {\n .breadcrumbs + #content,\n .breadcrumbs + .messagelist + #content {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .breadcrumbs {\n left: 0 !important;\n padding-left: 20px !important;\n }\n }\n }\n #container {\n min-width: auto;\n #content {\n padding: 0;\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);\n }\n .breadcrumbs + #content,\n .breadcrumbs + .messagelist + #content {\n margin-left: 3% !important;\n }\n }\n h1.folder_header {\n position: relative;\n top: 6px;\n }\n // required for django CMS <= 3.1 #673\n h2 {\n display: none;\n }\n #content-main {\n background-color: white;\n }\n}\n\n.field-file,\n.field-sha1 {\n word-wrap: break-word;\n word-break: break-all;\n}\n\n.well.img-preview {\n display: none;\n margin-top: 0;\n}\n.img-wrapper {\n width: 180px;\n height: 180px;\n}\n\n.file-duplicates {\n clear: both;\n padding: 20px 0 0;\n}\n\n.delete-confirmation form .cancel-link {\n height: auto !important;\n line-height: inherit !important;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.hidden {\n display: none !important;\n}\n\n.filer-info-bar {\n min-height: 15px;\n margin: 0 0 2px !important;\n padding: 15px 20px;\n box-shadow: 0 0 10px -2px rgba(black, 0.2);\n background-color: white;\n}\n","//##############################################################################\n// IMAGE INFO\n\n.image-info {\n position: relative;\n float: right;\n box-sizing: border-box;\n width: 28%;\n margin-top: 0;\n border: 0;\n border-radius: 3px;\n background: #fff;\n box-shadow: 0 0 5px 0 rgba(black,0.2);\n .image-details,\n .actions-list {\n margin: 0;\n padding: 0;\n &.image-details {\n margin: 10px 0;\n padding: 0 10px;\n }\n li {\n list-style-type: none;\n }\n a {\n cursor: pointer;\n }\n }\n &.image-info-detail {\n @include clearfix();\n position: static;\n float: none;\n width: 100%;\n margin-bottom: 20px;\n padding: 25px;\n border-radius: 0;\n // removes background color and shadow from object tools and fixes placement on image detail page\n + #content-main .object-tools {\n margin-top: 20px;\n margin-right: 20px;\n background-color: transparent;\n &:before {\n display: none;\n }\n }\n .image-details-left {\n float: left;\n }\n .image-details-right {\n float: left;\n margin-left: 50px;\n }\n .icon {\n font-size: 18px;\n }\n .image-details,\n .actions-list {\n margin-top: 0;\n border: 0 !important;\n &.image-details {\n margin-top: 20px;\n margin-bottom: 15px;\n padding: 0;\n }\n dt {\n float: left;\n color: #808080;\n font-size: 13px;\n // required for django CMS without admin styles #673\n line-height: $font-size-large !important;\n font-weight: normal;\n // required for django CMS without admin styles #673\n margin-top: 0;\n }\n dd {\n color: $gray;\n font-size: 13px;\n // required for django CMS without admin styles #673\n line-height: $font-size-large !important;\n padding-left: 80px;\n // required for django CMS without admin styles #673\n margin-bottom: 5px;\n }\n .text {\n font-size: 13px;\n margin-right: 15px;\n strong {\n font-size: 13px;\n }\n }\n li {\n color: $gray;\n font-size: 13px !important;\n font-weight: normal !important;\n padding: 1px 0 !important;\n border: 0 !important;\n }\n a {\n padding: 0;\n }\n }\n .image-info-title {\n overflow: hidden;\n color: $gray;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding: 0 0 5px;\n .icon {\n float: left;\n margin-right: 5px;\n }\n }\n .image-preview-container {\n text-align: left;\n margin: 20px 0 0;\n padding: 0;\n > img {\n margin-bottom: 15px;\n }\n }\n .actions-list {\n .icon {\n font-size: 16px;\n &:last-child {\n float: none;\n }\n }\n }\n }\n @media screen and (max-width: $screen-tablet) {\n float: none;\n width: 100%;\n &.image-info-detail {\n .image-details-left,\n .image-details-right {\n float: none;\n margin-left: 0;\n }\n }\n }\n}\n\n.image-info-close {\n position: absolute;\n top: -10px;\n right: -7px;\n font-size: 20px;\n cursor: pointer;\n}\n\n.image-info-title {\n padding: 5px 10px;\n border-bottom: solid 1px $gray-lighter;\n a {\n margin-left: 5px;\n }\n}\n\n.image-preview-container {\n text-align: center;\n margin: 10px 0;\n padding: 0 10px;\n .image-preview {\n display: inline-block;\n position: relative;\n margin-bottom: 15px;\n outline: 1px solid #e3e3e3;\n background-image: url(\"data:image/gif;base64,R0lGODlhCAAIAKECAOPj4/z8/P///////yH5BAEKAAIALAAAAAAIAAgAAAINhBEZh8q6DoTPSWvoKQA7\");\n img {\n display: block;\n }\n }\n .image-preview-field {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n }\n .image-preview-circle {\n position: relative;\n z-index: 1;\n width: 26px;\n height: 26px;\n border: solid 2px #f00;\n margin: -13px;\n border-radius: 30px;\n cursor: move;\n background: rgba(255, 255, 255, 0.5);\n }\n}\n","// #############################################################################\n// OTHER\n\n// add clearfix which doesnt add overflow:hidden\n@mixin clearfix() {\n *zoom: 1;\n &:before,\n &:after {\n content: \" \";\n display: table;\n }\n &:after {\n clear: both;\n }\n}\n// taken from bootstrap with adaptations\n@function important($important) {\n @if($important == true) {\n @return !important;\n } @else {\n @return true;\n }\n}\n@mixin button-variant($color, $background, $border, $important: false) {\n background-image: none important($important);\n margin-bottom: 0; // For input.btn\n padding: 6px 20px important($important);\n border-radius: $btn-border-radius-base important($important);\n color: $color important($important);\n font-size: $font-size-small important($important);\n line-height: $font-size-small;\n font-weight: normal;\n text-transform: none important($important);\n letter-spacing: normal important($important);\n background-color: $background important($important);\n border: 1px solid $border important($important);\n background-clip: padding-box;\n appearance: none;\n &:focus {\n color: $color important($important);\n background-color: darken($background, 5%) important($important);\n border-color: darken($border, 5%) important($important);\n text-decoration: none important($important);\n }\n &:hover {\n color: $color important($important);\n background-color: darken($background, 5%) important($important);\n border-color: darken($border, 5%) important($important);\n text-decoration: none important($important);\n }\n &:active {\n color: $color important($important);\n background-color: darken($background, 10%) important($important);\n border-color: darken($border, 10%) important($important);\n box-shadow: $btn-active-shadow important($important);\n\n &:hover,\n &:focus {\n color: $color important($important);\n background-color: darken($background, 17%) important($important);\n border-color: darken($border, 25%) important($important);\n }\n }\n &:active {\n background-image: none important($important);\n }\n &[disabled] {\n &,\n &:hover,\n &:focus\n &:active {\n background-color: rgba($background, 0.4) important($important);\n border-color: rgba($border, 0.4) important($important);\n color: rgba($color, 0.8) important(1);\n cursor: not-allowed;\n box-shadow: none important($important);\n &:before {\n color: rgba($color, 0.4) important(1);\n }\n }\n }\n}\n","//##############################################################################\n// ACTION LIST\n\n.actions-list-dropdown {\n a {\n display: block;\n padding: 5px 10px;\n }\n .caret-down {\n display: inline-block;\n }\n .caret-right {\n display: none;\n }\n &.js-collapsed {\n border-bottom: solid 1px $gray-lighter;\n .caret-down {\n display: none;\n }\n .caret-right {\n display: inline-block;\n }\n }\n}\n.actions-list {\n border-top: solid 1px $gray-lighter;\n &:last-child {\n border-top: none;\n a {\n border-bottom: none;\n }\n }\n a {\n display: block;\n font-size: 20px;\n padding: 5px 10px;\n border-bottom: solid 1px $gray-lighter;\n }\n .icon {\n &:first-child {\n width: 20px;\n }\n &:last-child {\n float: right;\n margin-top: 3px;\n }\n }\n}\n.actions-separated-list {\n display: inline-block;\n margin: 0;\n padding-left: 0;\n @media screen and (max-width: $screen-tablet) {\n float: left;\n margin-left: 0;\n }\n li {\n display: inline-block;\n line-height: 34px;\n vertical-align: middle;\n padding: 0 10px;\n list-style: none;\n @media screen and (max-width: $screen-tablet) {\n &:first-child {\n padding-left: 0;\n }\n }\n span {\n vertical-align: middle;\n }\n a {\n color: $gray;\n }\n }\n span:before {\n font-size: 18px;\n }\n}\n","//##############################################################################\n// FILTER FILES\n\n.search-is-focused {\n .filter-files-container {\n position: static;\n }\n .filter-filers-container-inner {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n @media screen and (max-width: $screen-tablet) {\n position: static;\n }\n }\n .breadcrumbs-container {\n position: relative;\n }\n &.breadcrumb-min-width .filter-filers-container-inner {\n position: static;\n }\n}\n\n.filter-files-container {\n @include clearfix;\n display: table-cell;\n vertical-align: middle;\n position: relative;\n width: 245px;\n margin: 0;\n padding: 0;\n background: none;\n box-shadow: none;\n z-index: 1000;\n @media screen and (max-width: $screen-tablet) {\n display: block;\n width: auto;\n margin-right: 0;\n margin-top: 10px;\n .filter-files-button {\n float: none;\n }\n }\n .filer-dropdown-container {\n position: absolute;\n top: 0;\n right: 0;\n > a {\n &,\n &:visited,\n &:link:visited,\n &:link {\n display: inline-block;\n line-height: 34px;\n text-align: center;\n width: 34px;\n height: 34px;\n padding: 0;\n }\n }\n &.open + .filer-dropdown-menu-checkboxes {\n display: block;\n width: calc(100% - 30px);\n li {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n }\n }\n .filter-search-wrapper {\n position: relative;\n float: left;\n text-align: right;\n width: calc(100% - 43px);\n margin-right: 5px;\n @media screen and (max-width: $screen-tablet) {\n float: left;\n }\n .filer-dropdown-container span {\n line-height: 34px !important;\n height: 34px !important;\n }\n }\n .filter-files-button {\n float: right;\n text-align: center;\n white-space: nowrap;\n height: 35px;\n margin: 0;\n padding: 8px !important;\n .icon {\n position: relative;\n left: 2px;\n font-size: 16px !important;\n vertical-align: top;\n }\n }\n .filter-files-field {\n color: $gray-darkest;\n font-size: 12px !important;\n line-height: 35px;\n font-weight: normal;\n box-sizing: border-box;\n min-width: 200px !important;\n height: 35px;\n // required for django CMS <= 3.1 #673\n margin: 0;\n padding: 0 35px 0 10px !important;\n outline: none;\n appearance: none;\n transition: max-width $speed-base;\n // disable clear X on IE #690\n &::-ms-clear {\n display: none;\n }\n }\n .filer-dropdown-menu {\n margin-top: 0 !important;\n margin-right: -1px !important;\n }\n}\n.filter-files-cancel {\n margin: 5px 20px;\n}\n","//##############################################################################\n// NAVIGATOR\n\nbody {\n &.dz-drag-hover {\n .drag-hover-border {\n display: none !important;\n }\n .navigator-table tbody td,\n .navigator-table tbody .unfiled td {\n background-color: $hover-bg !important;\n }\n }\n &.reset-hover td {\n background-color: white !important;\n }\n}\n.drag-hover-border {\n position: fixed;\n border-top: solid 2px $color-primary;\n border-bottom: solid 2px $color-primary;\n pointer-events: none;\n z-index: 100;\n}\n\n.filebrowser .navigator-table {\n // required for django CMS <= 3.1 #673\n width: 100%;\n margin: 0;\n border-top: solid 1px $gray-lighter !important;\n border-collapse: collapse !important;\n thead th,\n tbody td {\n text-align: left;\n font-weight: normal;\n vertical-align: middle;\n padding: 5px !important;\n border-left: 0 !important;\n border-bottom: 1px solid $gray-lighter;\n border-top: 1px solid transparent;\n background: none !important;\n }\n tbody tr.selected {\n .action-button span {\n color: $gray-darker !important;\n }\n }\n .unfiled td {\n padding: 12px 5px !important;\n background-color: $gray-super-light !important;\n a,\n a:hover {\n color: $gray !important;\n }\n }\n .column-checkbox {\n text-align: center;\n width: 20px;\n padding-left: 20px !important;\n input {\n // makes sure that checkbox is vertical aligned #664\n vertical-align: middle;\n margin: 0;\n }\n }\n .column-name a {\n color: $color-primary;\n }\n .column-icon {\n width: 25px;\n // removes padding to make sure that column has correct height #664\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n img {\n width: 25px;\n height: auto;\n }\n }\n .column-action {\n text-align: center;\n width: 90px;\n white-space: nowrap;\n padding-right: 20px !important;\n a {\n font-size: 16px !important;\n margin: 0;\n }\n .action-button {\n @include button-variant($btn-default-color, $btn-default-bgcolor, $btn-default-border, true);\n padding: 9px !important;\n span {\n font-size: 16px;\n line-height: 33px;\n vertical-align: middle;\n }\n }\n }\n .no-files {\n color: $gray;\n font-size: $font-size-normal;\n text-align: center;\n padding: 40px 0 !important;\n background-color: $gray-lightest !important;\n span {\n font-size: 20px;\n margin-right: 10px;\n &:before {\n vertical-align: sub;\n }\n }\n }\n .dz-drag-hover {\n td {\n position: relative;\n background: $hover-bg !important;\n box-sizing: border-box !important;\n a {\n &.icon {\n color: $gray-darker !important;\n background-color: white !important;\n }\n color: $color-primary !important;\n }\n }\n }\n &.dz-drag-hover {\n position: relative;\n .drag-hover-border {\n display: none !important;\n }\n td {\n background: $hover-bg !important;\n box-sizing: border-box !important;\n }\n }\n .reset-hover,\n &.reset-hover {\n td {\n background-color: $white !important;\n }\n .dz-drag-hover {\n td {\n background: $hover-bg !important;\n }\n }\n }\n}\n.navigator-top-nav {\n position: relative;\n clear: both;\n min-height: 35px;\n padding: 15px 20px;\n background: $gray-super-light;\n border-bottom: $gray-lighter solid 1px;\n .breadcrumbs-container-wrapper {\n display: table;\n width: 100%;\n @media screen and (max-width: $screen-tablet) {\n display: block;\n }\n }\n .breadcrumbs-container-inner {\n display: table;\n table-layout: fixed;\n width: 100%;\n .filer-dropdown-container {\n display: table-cell;\n width: 30px;\n height: 35px;\n vertical-align: middle;\n span {\n line-height: 35px;\n height: 35px;\n vertical-align: middle;\n }\n }\n }\n .breadcrumbs-container {\n display: table-cell;\n vertical-align: middle;\n @media screen and (max-width: $screen-tablet) {\n position: static;\n margin-right: 20px;\n }\n }\n .tools-container {\n @include clearfix;\n display: table-cell;\n vertical-align: middle;\n text-align: right;\n margin-top: 2px;\n @media screen and (max-width: $screen-tablet) {\n display: inline;\n text-align: left;\n }\n }\n .nav-button {\n display: inline-block;\n color: $gray;\n font-size: 20px;\n line-height: 34px;\n vertical-align: top;\n margin: 0 10px;\n span {\n vertical-align: middle;\n }\n }\n .nav-button-filter {\n position: relative;\n top: -1px;\n }\n .nav-button-dots {\n margin: 0;\n padding: 0 15px;\n }\n .separator {\n display: inline-block;\n position: relative;\n vertical-align: top;\n width: 1px;\n height: 34px;\n margin: 0 5px;\n &:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -14px;\n bottom: -11px;\n overflow: hidden;\n width: 1px;\n background-color: #ccc;\n }\n }\n}\n.breadcrumb-min-width {\n .filer-navigator-breadcrumbs-dropdown-container,\n .navigator-breadcrumbs-name-dropdown-wrapper,\n .navigator-breadcrumbs-folder-name-wrapper,\n .breadcrumbs-container-wrapper,\n .breadcrumbs-container,\n .tools-container,\n .filter-files-container,\n .navigator-breadcrumbs,\n .navigator-button-wrapper {\n display: inline-block;\n text-align: left;\n .actions-wrapper {\n white-space: nowrap;\n margin-left: 0;\n margin-top: 10px;\n li:first-child {\n padding-left: 0;\n }\n }\n }\n .navigator-button-wrapper {\n margin-top: 10px;\n }\n .navigator-breadcrumbs-name-dropdown-wrapper {\n min-height: inherit;\n .filer-dropdown-container .fa-caret-down {\n vertical-align: text-top;\n }\n }\n .breadcrumbs-container-inner .filer-dropdown-container {\n display: inline-block !important;\n }\n .navigator-tools {\n white-space: normal;\n }\n .filter-files-container {\n width: 100%;\n margin-top: 10px;\n z-index: auto;\n }\n .breadcrumbs-container {\n margin-right: 0;\n }\n .navigator-breadcrumbs .icon {\n vertical-align: middle;\n }\n .navigator-breadcrumbs-folder-name-wrapper {\n float: left;\n width: calc(100% - 30px);\n }\n}\n.navigator-tools {\n @include clearfix;\n white-space: nowrap;\n @media screen and (max-width: $screen-tablet) {\n display: inline;\n }\n .actions-wrapper {\n display: inline-block;\n margin-bottom: 0;\n margin-left: 10px;\n a, a:hover {\n color: $gray-light !important;\n cursor: not-allowed;\n }\n @media screen and (max-width: $screen-tablet) {\n @include clearfix();\n float: none;\n margin-left: 0;\n }\n &.action-selected {\n a {\n color: $gray !important;\n cursor: pointer;\n }\n .actions-separated-list {\n display: inline-block;\n }\n }\n }\n .actions {\n display: none;\n float: right;\n @media screen and (max-width: $screen-tablet) {\n @include clearfix();\n float: none;\n margin-bottom: 10px;\n }\n .all,\n .question,\n .clear,\n .action-counter {\n font-size: $font-size-small;\n line-height: 34px;\n vertical-align: text-top;\n }\n .action-counter,\n .all {\n color: $gray-light;\n }\n .question,\n .clear {\n margin-left: 10px;\n padding-left: 10px;\n border-left: solid 1px $gray-lighter;\n }\n }\n}\n@media screen and (max-width: $screen-tablet) {\n .navigator-top-nav {\n .breadcrumbs-container {\n float: none;\n }\n .navigator-tools {\n float: none;\n .separator:before {\n top: 0;\n bottom: 0;\n }\n }\n }\n}\n// make sure that buttons break to new line on mobile view #677\n.navigator-button-wrapper {\n display: inline-block;\n vertical-align: top;\n text-align: right;\n margin-bottom: 0;\n margin-left: 10px;\n @media screen and (max-width: $screen-tablet) {\n display: block;\n float: none;\n text-align: left;\n margin-top: 0;\n margin-left: 0;\n }\n}\n.navigator-button {\n margin-right: 10px;\n &,\n &:visited,\n &:link:visited,\n &:link {\n @include button-variant($btn-action-color, $btn-action-bgcolor, $btn-action-border, true);\n display: inline-block;\n vertical-align: top;\n padding: 10px 20px !important;\n }\n .icon {\n position: relative;\n margin-right: 5px;\n }\n .fa-folder {\n top: 0;\n }\n &.navigator-button-upload {\n margin-right: 0;\n }\n}\n\n.upload-button-disabled {\n display: inline-block;\n}\n.navigator-button + .filer-dropdown-menu {\n margin-top: -2px;\n}\n\n.navigator {\n position: relative;\n overflow-x: auto;\n width: 100%;\n form {\n margin: 0;\n padding: 0;\n box-shadow: none;\n }\n}\n\n.filer-dropdown-container {\n display: inline-block;\n position: relative;\n vertical-align: top;\n .fa-caret-down {\n font-size: 16px;\n }\n .filer-dropdown-menu,\n + .filer-dropdown-menu {\n display: none;\n right: 0;\n left: auto;\n border: 0;\n box-shadow: $dropdown-shadow;\n > li > a {\n display: block;\n color: $color-primary;\n font-weight: normal;\n white-space: normal;\n padding: 12px 20px !important;\n @media screen and (min-width: $screen-tablet) {\n white-space: nowrap;\n }\n }\n label {\n display: block;\n line-height: 20px !important;\n text-transform: none;\n width: auto;\n margin: 5px 0 !important;\n padding: 0 10px !important;\n }\n input {\n position: relative;\n top: 4px;\n vertical-align: top;\n margin-right: 5px;\n }\n &.filer-dropdown-menu-checkboxes {\n width: 0;\n min-height: 50px;\n padding: 15px;\n border: 0;\n box-shadow: $dropdown-shadow;\n &:before {\n display: none;\n }\n .fa-close {\n position: absolute;\n top: 10px;\n right: 10px;\n color: $gray;\n cursor: pointer;\n &:hover {\n color: $color-primary;\n }\n }\n p {\n color: $gray-light !important;\n font-weight: normal;\n text-transform: uppercase;\n margin-bottom: 5px;\n }\n label {\n color: $gray !important;\n font-weight: normal;\n padding: 0 !important;\n margin-top: 0 !important;\n input {\n margin-left: 0;\n }\n }\n }\n a:hover {\n color: white !important;\n background: $color-primary !important;\n }\n }\n &.open .filer-dropdown-menu {\n display: block;\n li {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n }\n + .separator {\n margin-right: 10px;\n }\n}\n.filer-dropdown-container-down {\n > a {\n &,\n &:link,\n &:visited,\n &:link:visited {\n color: $gray;\n font-size: 20px;\n line-height: 35px;\n height: 35px;\n padding: 0 10px;\n }\n }\n .filer-dropdown-menu {\n right: auto;\n left: -14px;\n margin-right: 10px;\n }\n}\n\n.filer-dropdown-menu {\n position: absolute;\n top: 100%;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n margin: 2px 0 0;\n margin-top: 0 !important;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border-radius: 4px;\n background-clip: padding-box;\n &:before {\n position: absolute;\n top: -5px;\n left: 35px;\n z-index: -1;\n content: '';\n width: 10px;\n height: 10px;\n margin-left: -5px;\n transform: rotate(45deg);\n background-color: #fff;\n }\n &.create-menu-dropdown:before {\n left: auto;\n right: 17px;\n }\n}\n\n.navigator-breadcrumbs {\n @include clearfix;\n display: table-cell;\n vertical-align: middle;\n font-size: 16px;\n white-space: nowrap;\n width: 60px;\n > a {\n color: $gray-darkest !important;\n }\n .icon {\n color: $gray-light;\n line-height: 35px;\n height: 35px;\n margin: 0 5px;\n &:before {\n vertical-align: middle;\n }\n }\n li {\n list-style-type: none;\n }\n}\n.navigator-breadcrumbs-folder-name-wrapper {\n display: table-cell;\n overflow: hidden;\n font-size: 16px;\n font-weight: bold;\n vertical-align: middle;\n white-space: nowrap;\n}\n.navigator-breadcrumbs-folder-name {\n display: block;\n overflow: hidden;\n white-space: normal;\n line-height: 35px;\n width: 100%;\n height: 35px;\n}\n.navigator-breadcrumbs-folder-name-inner {\n display: block;\n position: relative;\n overflow: hidden;\n line-height: 35px;\n height: 35px;\n width: 100%;\n text-overflow: ellipsis;\n}\n.filer-navigator-breadcrumbs-dropdown-container {\n position: relative;\n float: left;\n vertical-align: middle;\n margin: 0 7px 0 0;\n > a img {\n padding: 3px 0;\n }\n .navigator-breadcrumbs-dropdown {\n left: -15px !important;\n min-width: 200px;\n padding: 0;\n margin-top: 0;\n border: 0;\n box-shadow: $dropdown-shadow;\n > li {\n padding: 0;\n > a {\n color: $color-primary;\n padding: 12px 20px 3px !important;\n border-bottom: solid 1px #e1e1e1;\n &:hover {\n color: white !important;\n background: $color-primary !important;\n }\n }\n &:last-child > a {\n border-bottom: none;\n }\n }\n img {\n position: relative;\n top: -5px;\n vertical-align: top;\n margin: 0 10px 0 0;\n }\n }\n}\n\n.navigator-dropdown-arrow-up {\n position: relative;\n left: 20px;\n overflow: hidden;\n width: 20px;\n height: 20px;\n margin-top: -20px;\n z-index: 1001;\n &:after {\n content: \"\";\n position: absolute;\n top: 15px;\n left: 5px;\n width: 10px;\n height: 10px;\n background: white;\n transform: rotate(45deg);\n box-shadow: $dropdown-shadow;\n }\n}\n\n.navigator-breadcrumbs-name-dropdown-wrapper {\n display: table;\n min-height: 35px;\n .filer-dropdown-menu {\n left: auto;\n right: -80px;\n &:before {\n right: 80px;\n left: auto;\n }\n }\n a {\n display: inline-block;\n }\n}\n\n.empty-filer-header-cell {\n display: table-cell;\n vertical-align: middle;\n}\n","//##############################################################################\n// MODAL\n\n.popup {\n &.app-cmsplugin_filer_image {\n .form-row.field-image .field-box,\n .field-box.field-free_link,\n .field-box.field-page_link,\n .field-box.field-file_link {\n float: none !important;\n margin-right: 0 !important;\n margin-top: 20px !important;\n &:first-child {\n margin-top: 0 !important\n }\n input {\n width: 100% !important;\n }\n }\n .form-row .field-box {\n &.field-crop,\n &.field-upscale {\n margin-top: 30px;\n }\n }\n }\n &.delete-confirmation .colM ul {\n // makes sure that between list and button is a space #744\n margin-bottom: 25px !important;\n }\n .image-info-detail {\n padding: 0;\n padding-bottom: 25px;\n margin-bottom: 30px;\n box-shadow: none;\n border-bottom: solid 1px $gray-lighter;\n }\n &.change-list.filebrowser {\n #result_list tbody th,\n #result_list tbody td {\n // makes sure that changelist columns has correct height on modal window #665\n height: auto;\n }\n }\n .filer-dropzone {\n padding: 20px;\n }\n form .form-row .filer-dropzone .filerFile {\n top: 32px;\n }\n &.filebrowser #container #content {\n margin: 0 !important;\n }\n .navigator-button-wrapper {\n float: right;\n @media screen and (max-width: $screen-tablet) {\n float: none;\n }\n }\n .navigator-top-nav {\n .tools-container {\n width: 70%;\n }\n .breadcrumbs-container {\n width: 30%;\n }\n .tools-container,\n .breadcrumbs-container {\n @media screen and (max-width: $screen-tablet) {\n width: 100%;\n }\n }\n }\n}\n","//##############################################################################\n// DRAG AND DROP\n\nform .form-row {\n &[class*=\"file\"],\n &[class*=\"img\"],\n &[class*=\"image\"],\n &[class*=\"visual\"] {\n .related-widget-wrapper-link {\n display: none;\n }\n }\n .filer-dropzone {\n @include clearfix;\n position: relative;\n min-width: 215px;\n border: solid 1px $gray-lighter;\n border-radius: $border-radius-base;\n background-color: $gray-lightest;\n box-sizing: border-box !important;\n .z-index-fix {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n &.dz-drag-hover {\n padding-top: 19px;\n background-color: $color-primary-light;\n border: solid 2px $color-primary !important;\n .z-index-fix {\n z-index: 1;\n }\n .dz-message {\n opacity: 1;\n display: block !important;\n visibility: visible;\n }\n .filerFile {\n display: none;\n }\n .dz-message, .dz-message .icon {\n color: $color-primary !important;\n }\n }\n &.dz-started .fileUpload {\n display: none;\n }\n .dz-preview {\n width: 100%;\n min-height: auto;\n margin-right: 0;\n margin-bottom: 0;\n margin-left: 0;\n padding-bottom: 10px;\n border-bottom: solid 1px $gray-lighter;\n &.dz-error {\n position: relative;\n .dz-error-message {\n display: none;\n }\n &:hover .dz-error-message {\n display: block;\n }\n }\n .dz-details {\n min-width: calc(100% - 80px);\n max-width: calc(100% - 80px);\n margin-top: 7px;\n margin-left: 40px;\n padding: 0;\n opacity: 1;\n .dz-filename,\n .dz-filename:hover,\n .dz-size {\n float: left;\n text-align: left;\n span {\n color: $gray;\n border: 0 !important;\n background-color: transparent !important;\n }\n }\n }\n .dz-remove {\n @include icon(trash-o);\n display: inline-block;\n position: absolute;\n top: 7px;\n right: 25px;\n font: 0/0 a;\n &:before {\n color: $gray;\n font-size: 18px;\n }\n }\n .dz-error-message {\n top: 65px;\n left: 0;\n width: 100%;\n }\n .dz-success-mark,\n .dz-error-mark {\n top: 5px;\n right: 0;\n left: auto;\n margin-top: 0;\n &:before {\n color: $gray;\n }\n svg {\n display: none;\n }\n }\n .dz-success-mark {\n @include icon(check);\n &:before {\n color: $color-success;\n }\n }\n .dz-error-mark {\n @include icon(remove);\n &:before {\n color: $color-danger;\n }\n }\n &.dz-image-preview,\n &.dz-file-preview {\n background-color: transparent;\n .dz-image {\n overflow: hidden;\n width: 36px;\n height: 36px;\n border: solid 1px $gray-lighter;\n border-radius: 0;\n img {\n width: 100%;\n height: auto;\n }\n }\n }\n .dz-progress {\n top: 18px;\n left: 0;\n width: calc(100% - 40px);\n height: 10px;\n margin-left: 40px;\n }\n }\n .dz-message {\n float: right;\n color: $gray-dropzone;\n width: 100%;\n margin: 15px 0 0;\n }\n .icon {\n position: relative;\n top: 3px;\n color: $gray-dropzone;\n font-size: 24px;\n margin-right: 10px;\n }\n .filerFile .related-lookup {\n @include button-variant($btn-action-color, $btn-action-bgcolor, $btn-action-border, true);\n float: left !important;\n overflow: hidden;\n // makes true that button has correct height #668\n line-height: $font-size-normal;\n width: auto !important;\n height: auto !important;\n padding: 10px 20px !important;\n cursor: pointer;\n .fa {\n color: white;\n font-size: 17px;\n margin: 0 10px 0 0 !important;\n vertical-align: middle;\n }\n &:before {\n display: none;\n }\n .choose-file,\n .edit-file {\n color: white;\n margin: 0;\n }\n .edit-file {\n display: none;\n }\n &.related-lookup-change {\n @include button-variant($btn-default-color, white, $btn-default-border, true);\n float: right !important;\n padding: 5px 0 !important;\n width: 36px !important;\n height: 36px !important;\n &:focus {\n background-color: white !important;\n }\n span {\n text-align: center;\n line-height: 24px;\n }\n .fa {\n color: #999;\n margin-right: 0 !important;\n }\n .choose-file {\n display: none;\n }\n .edit-file {\n display: block;\n }\n }\n }\n // makes sure that filer clear button has correct size #669\n .filerClearer {\n width: 36px !important;\n height: 36px !important;\n }\n .filerFile {\n position: absolute;\n top: 32px;\n // required for django CMS <= 3.1 #673\n left: 20px;\n width: calc(100% - 40px);\n img[src*=nofile] {\n background-color: $white;\n }\n // make sure that text crops if there is not enough space #670\n span:not(:empty):not('.choose-file'):not('.edit-file') {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n width: calc(100% - 150px);\n }\n // required for django CMS <= 3.1 #673\n img {\n width: 36px;\n height: 36px;\n margin-right: 10px;\n border: solid 1px $gray-lighter;\n border-radius: $border-radius-base;\n &[src*=\"nofile\"] {\n box-sizing: border-box;\n margin-right: 0;\n border: solid 1px $gray-lighter;\n border-radius: $border-radius-base;\n }\n }\n // required for django CMS <= 3.1 #673\n img,\n .related-lookup {\n display: inline-block;\n text-align: center !important;\n vertical-align: top;\n }\n // required for django CMS <= 3.1\n a {\n box-sizing: border-box;\n padding-top: 10px !important;\n }\n // required for django CMS <= 3.1 #673\n span {\n display: inline-block;\n color: $gray;\n font-weight: normal;\n margin-top: 6px;\n margin-bottom: 6px;\n text-align: left;\n &:empty + .related-lookup {\n float: none !important;\n margin-left: 0 !important;\n }\n }\n // required for django CMS <= 3.1 #673\n .filerClearer {\n @include button-variant($btn-default-color, $btn-default-bgcolor, $btn-default-border, true);\n float: right;\n // make sure that clear button has correct size #272\n width: 10px;\n height: 10px;\n margin: 0 0 0 5px !important;\n padding: 12px !important;\n border: solid 1px $gray-lighter;\n border-radius: $border-radius-base;\n cursor: pointer;\n &:before {\n color: $gray-light !important;\n vertical-align: middle;\n margin: 0;\n }\n }\n }\n &.filer-dropzone-mobile {\n .filerFile {\n top: 40px;\n text-align: center;\n }\n .dz-message {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n // make sure that drag and drop widget looks nice on mobile #670\n margin-top: 75px;\n }\n &.js-object-attached .filerFile {\n top: 32px;\n text-align: left;\n &.js-file-selector {\n @media screen and (max-width: $screen-tablet-filer) {\n .description_text {\n text-overflow: ellipsis;\n width: calc(100% - 150px);\n overflow: hidden;\n height: 20px;\n }\n }\n span:not('.choose-file'):not('.edit-file'), .dz-name {\n width: calc(100% - 145px);\n }\n }\n }\n }\n &.filer-dropzone-folder .filerFile {\n top: 32px !important;\n #id_folder_description_txt {\n float: left;\n }\n }\n @media screen and (max-width: $screen-tablet-filer) {\n .filerFile {\n top: 40px !important;\n text-align: center;\n }\n .dz-message {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n // make sure that drag and drop widget looks nice on mobile #670\n margin-top: 75px !important;\n }\n &.js-object-attached .filerFile {\n top: 62px !important;\n }\n &.filer-dropzone-folder .filerFile {\n top: 62px !important;\n }\n }\n }\n}\n\n.filer-dropzone {\n min-height: 100px !important;\n @media screen and (max-width: $screen-tablet-filer) {\n min-height: 150px !important;\n }\n .dz-upload {\n height: 5px;\n background-color: #0bf;\n }\n .dz-name {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: calc(100% - 145px);\n }\n .dz-thumbnail {\n display: inline-block;\n overflow: hidden;\n vertical-align: top;\n width: 36px;\n height: 36px;\n margin-right: 10px;\n border: solid 1px #ddd;\n border-radius: 3px;\n background: #fff url(\"../icons/nofile_48x48.png\");\n background-size: cover;\n img {\n background: #fff;\n &[src=\"\"],\n &:not([src]) {\n width: 104%;\n height: 104%;\n margin: -2%;\n }\n }\n }\n}\n\n.filer-dropzone-info-message {\n position: fixed;\n bottom: 35px;\n left: 50%;\n z-index: 2;\n text-align: center;\n width: 270px;\n max-height: 300px;\n overflow-y: auto;\n margin: -50px 0 0 -150px;\n padding: 15px 15px 0;\n border-radius: $border-radius-base;\n background: $white;\n box-shadow: $base-box-shadow;\n .icon {\n font-size: 35px;\n color: $color-primary;\n }\n .text {\n margin: 5px 0 10px;\n }\n}\n.filer-dropzone-upload-info {\n margin-top: 10px;\n // make sure that file name on upload progress is cut #675\n .filer-dropzone-file-name {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n &:empty {\n margin-top: 0;\n }\n}\n.filer-dropzone-progress {\n height: 5px;\n margin-top: 5px;\n background-color: #0bf;\n}\n\n.filer-dropzone-upload-welcome .folder {\n color: $color-primary;\n padding: 10px 0 0;\n margin: 0 -15px;\n border-top: solid 1px $gray-lighter;\n img,\n span {\n vertical-align: middle;\n }\n img {\n margin-right: 5px;\n }\n .folder-inner {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding: 0 10px;\n }\n}\n\n.filer-dropzone-cancel {\n padding-top: 10px;\n border-top: solid 1px $gray-lighter;\n margin: 15px -15px 10px;\n a {\n font-size: $font-size-small;\n color: $gray !important;\n }\n}\n.filer-dropzone-upload-success,\n.filer-dropzone-upload-canceled {\n margin: 0 -15px 10px;\n}\n\n.filer-dropzone-upload-count {\n padding-bottom: 10px;\n margin: 10px -15px;\n border-bottom: solid 1px $gray-lighter;\n}\n",".filer-tooltip-wrapper {\n position: relative;\n}\n\n.filer-tooltip {\n position: absolute;\n left: -30px;\n right: -30px;\n color: $gray;\n text-align: center;\n font-size: $font-size-small !important;\n line-height: 15px !important;\n white-space: normal;\n margin-top: 5px;\n padding: 10px;\n background-color: $white;\n box-shadow: 0 0 10px rgba(black,.25);\n border-radius: 5px;\n z-index: 10;\n &:before {\n position: absolute;\n top: -3px;\n left: 50%;\n z-index: -1;\n content: '';\n width: 9px;\n height: 9px;\n margin-left: -5px;\n transform: rotate(45deg);\n background-color: #fff;\n }\n}\n\n.disabled-btn-tooltip {\n display: none;\n outline: none;\n}\n","/*!\n * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.4.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:\"\\f000\"}.fa-music:before{content:\"\\f001\"}.fa-search:before{content:\"\\f002\"}.fa-envelope-o:before{content:\"\\f003\"}.fa-heart:before{content:\"\\f004\"}.fa-star:before{content:\"\\f005\"}.fa-star-o:before{content:\"\\f006\"}.fa-user:before{content:\"\\f007\"}.fa-film:before{content:\"\\f008\"}.fa-th-large:before{content:\"\\f009\"}.fa-th:before{content:\"\\f00a\"}.fa-th-list:before{content:\"\\f00b\"}.fa-check:before{content:\"\\f00c\"}.fa-remove:before,.fa-close:before,.fa-times:before{content:\"\\f00d\"}.fa-search-plus:before{content:\"\\f00e\"}.fa-search-minus:before{content:\"\\f010\"}.fa-power-off:before{content:\"\\f011\"}.fa-signal:before{content:\"\\f012\"}.fa-gear:before,.fa-cog:before{content:\"\\f013\"}.fa-trash-o:before{content:\"\\f014\"}.fa-home:before{content:\"\\f015\"}.fa-file-o:before{content:\"\\f016\"}.fa-clock-o:before{content:\"\\f017\"}.fa-road:before{content:\"\\f018\"}.fa-download:before{content:\"\\f019\"}.fa-arrow-circle-o-down:before{content:\"\\f01a\"}.fa-arrow-circle-o-up:before{content:\"\\f01b\"}.fa-inbox:before{content:\"\\f01c\"}.fa-play-circle-o:before{content:\"\\f01d\"}.fa-rotate-right:before,.fa-repeat:before{content:\"\\f01e\"}.fa-refresh:before{content:\"\\f021\"}.fa-list-alt:before{content:\"\\f022\"}.fa-lock:before{content:\"\\f023\"}.fa-flag:before{content:\"\\f024\"}.fa-headphones:before{content:\"\\f025\"}.fa-volume-off:before{content:\"\\f026\"}.fa-volume-down:before{content:\"\\f027\"}.fa-volume-up:before{content:\"\\f028\"}.fa-qrcode:before{content:\"\\f029\"}.fa-barcode:before{content:\"\\f02a\"}.fa-tag:before{content:\"\\f02b\"}.fa-tags:before{content:\"\\f02c\"}.fa-book:before{content:\"\\f02d\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-print:before{content:\"\\f02f\"}.fa-camera:before{content:\"\\f030\"}.fa-font:before{content:\"\\f031\"}.fa-bold:before{content:\"\\f032\"}.fa-italic:before{content:\"\\f033\"}.fa-text-height:before{content:\"\\f034\"}.fa-text-width:before{content:\"\\f035\"}.fa-align-left:before{content:\"\\f036\"}.fa-align-center:before{content:\"\\f037\"}.fa-align-right:before{content:\"\\f038\"}.fa-align-justify:before{content:\"\\f039\"}.fa-list:before{content:\"\\f03a\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-indent:before{content:\"\\f03c\"}.fa-video-camera:before{content:\"\\f03d\"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:\"\\f03e\"}.fa-pencil:before{content:\"\\f040\"}.fa-map-marker:before{content:\"\\f041\"}.fa-adjust:before{content:\"\\f042\"}.fa-tint:before{content:\"\\f043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\\f044\"}.fa-share-square-o:before{content:\"\\f045\"}.fa-check-square-o:before{content:\"\\f046\"}.fa-arrows:before{content:\"\\f047\"}.fa-step-backward:before{content:\"\\f048\"}.fa-fast-backward:before{content:\"\\f049\"}.fa-backward:before{content:\"\\f04a\"}.fa-play:before{content:\"\\f04b\"}.fa-pause:before{content:\"\\f04c\"}.fa-stop:before{content:\"\\f04d\"}.fa-forward:before{content:\"\\f04e\"}.fa-fast-forward:before{content:\"\\f050\"}.fa-step-forward:before{content:\"\\f051\"}.fa-eject:before{content:\"\\f052\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-plus-circle:before{content:\"\\f055\"}.fa-minus-circle:before{content:\"\\f056\"}.fa-times-circle:before{content:\"\\f057\"}.fa-check-circle:before{content:\"\\f058\"}.fa-question-circle:before{content:\"\\f059\"}.fa-info-circle:before{content:\"\\f05a\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-times-circle-o:before{content:\"\\f05c\"}.fa-check-circle-o:before{content:\"\\f05d\"}.fa-ban:before{content:\"\\f05e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-expand:before{content:\"\\f065\"}.fa-compress:before{content:\"\\f066\"}.fa-plus:before{content:\"\\f067\"}.fa-minus:before{content:\"\\f068\"}.fa-asterisk:before{content:\"\\f069\"}.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-gift:before{content:\"\\f06b\"}.fa-leaf:before{content:\"\\f06c\"}.fa-fire:before{content:\"\\f06d\"}.fa-eye:before{content:\"\\f06e\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-warning:before,.fa-exclamation-triangle:before{content:\"\\f071\"}.fa-plane:before{content:\"\\f072\"}.fa-calendar:before{content:\"\\f073\"}.fa-random:before{content:\"\\f074\"}.fa-comment:before{content:\"\\f075\"}.fa-magnet:before{content:\"\\f076\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-retweet:before{content:\"\\f079\"}.fa-shopping-cart:before{content:\"\\f07a\"}.fa-folder:before{content:\"\\f07b\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-arrows-v:before{content:\"\\f07d\"}.fa-arrows-h:before{content:\"\\f07e\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\\f080\"}.fa-twitter-square:before{content:\"\\f081\"}.fa-facebook-square:before{content:\"\\f082\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-key:before{content:\"\\f084\"}.fa-gears:before,.fa-cogs:before{content:\"\\f085\"}.fa-comments:before{content:\"\\f086\"}.fa-thumbs-o-up:before{content:\"\\f087\"}.fa-thumbs-o-down:before{content:\"\\f088\"}.fa-star-half:before{content:\"\\f089\"}.fa-heart-o:before{content:\"\\f08a\"}.fa-sign-out:before{content:\"\\f08b\"}.fa-linkedin-square:before{content:\"\\f08c\"}.fa-thumb-tack:before{content:\"\\f08d\"}.fa-external-link:before{content:\"\\f08e\"}.fa-sign-in:before{content:\"\\f090\"}.fa-trophy:before{content:\"\\f091\"}.fa-github-square:before{content:\"\\f092\"}.fa-upload:before{content:\"\\f093\"}.fa-lemon-o:before{content:\"\\f094\"}.fa-phone:before{content:\"\\f095\"}.fa-square-o:before{content:\"\\f096\"}.fa-bookmark-o:before{content:\"\\f097\"}.fa-phone-square:before{content:\"\\f098\"}.fa-twitter:before{content:\"\\f099\"}.fa-facebook-f:before,.fa-facebook:before{content:\"\\f09a\"}.fa-github:before{content:\"\\f09b\"}.fa-unlock:before{content:\"\\f09c\"}.fa-credit-card:before{content:\"\\f09d\"}.fa-feed:before,.fa-rss:before{content:\"\\f09e\"}.fa-hdd-o:before{content:\"\\f0a0\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-bell:before{content:\"\\f0f3\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-hand-o-right:before{content:\"\\f0a4\"}.fa-hand-o-left:before{content:\"\\f0a5\"}.fa-hand-o-up:before{content:\"\\f0a6\"}.fa-hand-o-down:before{content:\"\\f0a7\"}.fa-arrow-circle-left:before{content:\"\\f0a8\"}.fa-arrow-circle-right:before{content:\"\\f0a9\"}.fa-arrow-circle-up:before{content:\"\\f0aa\"}.fa-arrow-circle-down:before{content:\"\\f0ab\"}.fa-globe:before{content:\"\\f0ac\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-tasks:before{content:\"\\f0ae\"}.fa-filter:before{content:\"\\f0b0\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-arrows-alt:before{content:\"\\f0b2\"}.fa-group:before,.fa-users:before{content:\"\\f0c0\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-flask:before{content:\"\\f0c3\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-copy:before,.fa-files-o:before{content:\"\\f0c5\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-save:before,.fa-floppy-o:before{content:\"\\f0c7\"}.fa-square:before{content:\"\\f0c8\"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:\"\\f0c9\"}.fa-list-ul:before{content:\"\\f0ca\"}.fa-list-ol:before{content:\"\\f0cb\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-underline:before{content:\"\\f0cd\"}.fa-table:before{content:\"\\f0ce\"}.fa-magic:before{content:\"\\f0d0\"}.fa-truck:before{content:\"\\f0d1\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-pinterest-square:before{content:\"\\f0d3\"}.fa-google-plus-square:before{content:\"\\f0d4\"}.fa-google-plus:before{content:\"\\f0d5\"}.fa-money:before{content:\"\\f0d6\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-columns:before{content:\"\\f0db\"}.fa-unsorted:before,.fa-sort:before{content:\"\\f0dc\"}.fa-sort-down:before,.fa-sort-desc:before{content:\"\\f0dd\"}.fa-sort-up:before,.fa-sort-asc:before{content:\"\\f0de\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-linkedin:before{content:\"\\f0e1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-legal:before,.fa-gavel:before{content:\"\\f0e3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\\f0e4\"}.fa-comment-o:before{content:\"\\f0e5\"}.fa-comments-o:before{content:\"\\f0e6\"}.fa-flash:before,.fa-bolt:before{content:\"\\f0e7\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-paste:before,.fa-clipboard:before{content:\"\\f0ea\"}.fa-lightbulb-o:before{content:\"\\f0eb\"}.fa-exchange:before{content:\"\\f0ec\"}.fa-cloud-download:before{content:\"\\f0ed\"}.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-user-md:before{content:\"\\f0f0\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-bell-o:before{content:\"\\f0a2\"}.fa-coffee:before{content:\"\\f0f4\"}.fa-cutlery:before{content:\"\\f0f5\"}.fa-file-text-o:before{content:\"\\f0f6\"}.fa-building-o:before{content:\"\\f0f7\"}.fa-hospital-o:before{content:\"\\f0f8\"}.fa-ambulance:before{content:\"\\f0f9\"}.fa-medkit:before{content:\"\\f0fa\"}.fa-fighter-jet:before{content:\"\\f0fb\"}.fa-beer:before{content:\"\\f0fc\"}.fa-h-square:before{content:\"\\f0fd\"}.fa-plus-square:before{content:\"\\f0fe\"}.fa-angle-double-left:before{content:\"\\f100\"}.fa-angle-double-right:before{content:\"\\f101\"}.fa-angle-double-up:before{content:\"\\f102\"}.fa-angle-double-down:before{content:\"\\f103\"}.fa-angle-left:before{content:\"\\f104\"}.fa-angle-right:before{content:\"\\f105\"}.fa-angle-up:before{content:\"\\f106\"}.fa-angle-down:before{content:\"\\f107\"}.fa-desktop:before{content:\"\\f108\"}.fa-laptop:before{content:\"\\f109\"}.fa-tablet:before{content:\"\\f10a\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f10b\"}.fa-circle-o:before{content:\"\\f10c\"}.fa-quote-left:before{content:\"\\f10d\"}.fa-quote-right:before{content:\"\\f10e\"}.fa-spinner:before{content:\"\\f110\"}.fa-circle:before{content:\"\\f111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f112\"}.fa-github-alt:before{content:\"\\f113\"}.fa-folder-o:before{content:\"\\f114\"}.fa-folder-open-o:before{content:\"\\f115\"}.fa-smile-o:before{content:\"\\f118\"}.fa-frown-o:before{content:\"\\f119\"}.fa-meh-o:before{content:\"\\f11a\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-keyboard-o:before{content:\"\\f11c\"}.fa-flag-o:before{content:\"\\f11d\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-terminal:before{content:\"\\f120\"}.fa-code:before{content:\"\\f121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\\f123\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-crop:before{content:\"\\f125\"}.fa-code-fork:before{content:\"\\f126\"}.fa-unlink:before,.fa-chain-broken:before{content:\"\\f127\"}.fa-question:before{content:\"\\f128\"}.fa-info:before{content:\"\\f129\"}.fa-exclamation:before{content:\"\\f12a\"}.fa-superscript:before{content:\"\\f12b\"}.fa-subscript:before{content:\"\\f12c\"}.fa-eraser:before{content:\"\\f12d\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-microphone:before{content:\"\\f130\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-shield:before{content:\"\\f132\"}.fa-calendar-o:before{content:\"\\f133\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-rocket:before{content:\"\\f135\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-chevron-circle-left:before{content:\"\\f137\"}.fa-chevron-circle-right:before{content:\"\\f138\"}.fa-chevron-circle-up:before{content:\"\\f139\"}.fa-chevron-circle-down:before{content:\"\\f13a\"}.fa-html5:before{content:\"\\f13b\"}.fa-css3:before{content:\"\\f13c\"}.fa-anchor:before{content:\"\\f13d\"}.fa-unlock-alt:before{content:\"\\f13e\"}.fa-bullseye:before{content:\"\\f140\"}.fa-ellipsis-h:before{content:\"\\f141\"}.fa-ellipsis-v:before{content:\"\\f142\"}.fa-rss-square:before{content:\"\\f143\"}.fa-play-circle:before{content:\"\\f144\"}.fa-ticket:before{content:\"\\f145\"}.fa-minus-square:before{content:\"\\f146\"}.fa-minus-square-o:before{content:\"\\f147\"}.fa-level-up:before{content:\"\\f148\"}.fa-level-down:before{content:\"\\f149\"}.fa-check-square:before{content:\"\\f14a\"}.fa-pencil-square:before{content:\"\\f14b\"}.fa-external-link-square:before{content:\"\\f14c\"}.fa-share-square:before{content:\"\\f14d\"}.fa-compass:before{content:\"\\f14e\"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:\"\\f150\"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:\"\\f151\"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:\"\\f152\"}.fa-euro:before,.fa-eur:before{content:\"\\f153\"}.fa-gbp:before{content:\"\\f154\"}.fa-dollar:before,.fa-usd:before{content:\"\\f155\"}.fa-rupee:before,.fa-inr:before{content:\"\\f156\"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:\"\\f157\"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:\"\\f158\"}.fa-won:before,.fa-krw:before{content:\"\\f159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\\f15a\"}.fa-file:before{content:\"\\f15b\"}.fa-file-text:before{content:\"\\f15c\"}.fa-sort-alpha-asc:before{content:\"\\f15d\"}.fa-sort-alpha-desc:before{content:\"\\f15e\"}.fa-sort-amount-asc:before{content:\"\\f160\"}.fa-sort-amount-desc:before{content:\"\\f161\"}.fa-sort-numeric-asc:before{content:\"\\f162\"}.fa-sort-numeric-desc:before{content:\"\\f163\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-youtube-square:before{content:\"\\f166\"}.fa-youtube:before{content:\"\\f167\"}.fa-xing:before{content:\"\\f168\"}.fa-xing-square:before{content:\"\\f169\"}.fa-youtube-play:before{content:\"\\f16a\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-instagram:before{content:\"\\f16d\"}.fa-flickr:before{content:\"\\f16e\"}.fa-adn:before{content:\"\\f170\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-bitbucket-square:before{content:\"\\f172\"}.fa-tumblr:before{content:\"\\f173\"}.fa-tumblr-square:before{content:\"\\f174\"}.fa-long-arrow-down:before{content:\"\\f175\"}.fa-long-arrow-up:before{content:\"\\f176\"}.fa-long-arrow-left:before{content:\"\\f177\"}.fa-long-arrow-right:before{content:\"\\f178\"}.fa-apple:before{content:\"\\f179\"}.fa-windows:before{content:\"\\f17a\"}.fa-android:before{content:\"\\f17b\"}.fa-linux:before{content:\"\\f17c\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-skype:before{content:\"\\f17e\"}.fa-foursquare:before{content:\"\\f180\"}.fa-trello:before{content:\"\\f181\"}.fa-female:before{content:\"\\f182\"}.fa-male:before{content:\"\\f183\"}.fa-gittip:before,.fa-gratipay:before{content:\"\\f184\"}.fa-sun-o:before{content:\"\\f185\"}.fa-moon-o:before{content:\"\\f186\"}.fa-archive:before{content:\"\\f187\"}.fa-bug:before{content:\"\\f188\"}.fa-vk:before{content:\"\\f189\"}.fa-weibo:before{content:\"\\f18a\"}.fa-renren:before{content:\"\\f18b\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-arrow-circle-o-right:before{content:\"\\f18e\"}.fa-arrow-circle-o-left:before{content:\"\\f190\"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:\"\\f191\"}.fa-dot-circle-o:before{content:\"\\f192\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-vimeo-square:before{content:\"\\f194\"}.fa-turkish-lira:before,.fa-try:before{content:\"\\f195\"}.fa-plus-square-o:before{content:\"\\f196\"}.fa-space-shuttle:before{content:\"\\f197\"}.fa-slack:before{content:\"\\f198\"}.fa-envelope-square:before{content:\"\\f199\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-openid:before{content:\"\\f19b\"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:\"\\f19c\"}.fa-mortar-board:before,.fa-graduation-cap:before{content:\"\\f19d\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-google:before{content:\"\\f1a0\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-reddit-square:before{content:\"\\f1a2\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-digg:before{content:\"\\f1a6\"}.fa-pied-piper:before{content:\"\\f1a7\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-language:before{content:\"\\f1ab\"}.fa-fax:before{content:\"\\f1ac\"}.fa-building:before{content:\"\\f1ad\"}.fa-child:before{content:\"\\f1ae\"}.fa-paw:before{content:\"\\f1b0\"}.fa-spoon:before{content:\"\\f1b1\"}.fa-cube:before{content:\"\\f1b2\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-behance:before{content:\"\\f1b4\"}.fa-behance-square:before{content:\"\\f1b5\"}.fa-steam:before{content:\"\\f1b6\"}.fa-steam-square:before{content:\"\\f1b7\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-tree:before{content:\"\\f1bb\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-database:before{content:\"\\f1c0\"}.fa-file-pdf-o:before{content:\"\\f1c1\"}.fa-file-word-o:before{content:\"\\f1c2\"}.fa-file-excel-o:before{content:\"\\f1c3\"}.fa-file-powerpoint-o:before{content:\"\\f1c4\"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:\"\\f1c5\"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:\"\\f1c6\"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:\"\\f1c7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\\f1c8\"}.fa-file-code-o:before{content:\"\\f1c9\"}.fa-vine:before{content:\"\\f1ca\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:\"\\f1cd\"}.fa-circle-o-notch:before{content:\"\\f1ce\"}.fa-ra:before,.fa-rebel:before{content:\"\\f1d0\"}.fa-ge:before,.fa-empire:before{content:\"\\f1d1\"}.fa-git-square:before{content:\"\\f1d2\"}.fa-git:before{content:\"\\f1d3\"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:\"\\f1d4\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-qq:before{content:\"\\f1d6\"}.fa-wechat:before,.fa-weixin:before{content:\"\\f1d7\"}.fa-send:before,.fa-paper-plane:before{content:\"\\f1d8\"}.fa-send-o:before,.fa-paper-plane-o:before{content:\"\\f1d9\"}.fa-history:before{content:\"\\f1da\"}.fa-circle-thin:before{content:\"\\f1db\"}.fa-header:before{content:\"\\f1dc\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-sliders:before{content:\"\\f1de\"}.fa-share-alt:before{content:\"\\f1e0\"}.fa-share-alt-square:before{content:\"\\f1e1\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:\"\\f1e3\"}.fa-tty:before{content:\"\\f1e4\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-plug:before{content:\"\\f1e6\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-newspaper-o:before{content:\"\\f1ea\"}.fa-wifi:before{content:\"\\f1eb\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-bell-slash-o:before{content:\"\\f1f7\"}.fa-trash:before{content:\"\\f1f8\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-at:before{content:\"\\f1fa\"}.fa-eyedropper:before{content:\"\\f1fb\"}.fa-paint-brush:before{content:\"\\f1fc\"}.fa-birthday-cake:before{content:\"\\f1fd\"}.fa-area-chart:before{content:\"\\f1fe\"}.fa-pie-chart:before{content:\"\\f200\"}.fa-line-chart:before{content:\"\\f201\"}.fa-lastfm:before{content:\"\\f202\"}.fa-lastfm-square:before{content:\"\\f203\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-bicycle:before{content:\"\\f206\"}.fa-bus:before{content:\"\\f207\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-angellist:before{content:\"\\f209\"}.fa-cc:before{content:\"\\f20a\"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:\"\\f20b\"}.fa-meanpath:before{content:\"\\f20c\"}.fa-buysellads:before{content:\"\\f20d\"}.fa-connectdevelop:before{content:\"\\f20e\"}.fa-dashcube:before{content:\"\\f210\"}.fa-forumbee:before{content:\"\\f211\"}.fa-leanpub:before{content:\"\\f212\"}.fa-sellsy:before{content:\"\\f213\"}.fa-shirtsinbulk:before{content:\"\\f214\"}.fa-simplybuilt:before{content:\"\\f215\"}.fa-skyatlas:before{content:\"\\f216\"}.fa-cart-plus:before{content:\"\\f217\"}.fa-cart-arrow-down:before{content:\"\\f218\"}.fa-diamond:before{content:\"\\f219\"}.fa-ship:before{content:\"\\f21a\"}.fa-user-secret:before{content:\"\\f21b\"}.fa-motorcycle:before{content:\"\\f21c\"}.fa-street-view:before{content:\"\\f21d\"}.fa-heartbeat:before{content:\"\\f21e\"}.fa-venus:before{content:\"\\f221\"}.fa-mars:before{content:\"\\f222\"}.fa-mercury:before{content:\"\\f223\"}.fa-intersex:before,.fa-transgender:before{content:\"\\f224\"}.fa-transgender-alt:before{content:\"\\f225\"}.fa-venus-double:before{content:\"\\f226\"}.fa-mars-double:before{content:\"\\f227\"}.fa-venus-mars:before{content:\"\\f228\"}.fa-mars-stroke:before{content:\"\\f229\"}.fa-mars-stroke-v:before{content:\"\\f22a\"}.fa-mars-stroke-h:before{content:\"\\f22b\"}.fa-neuter:before{content:\"\\f22c\"}.fa-genderless:before{content:\"\\f22d\"}.fa-facebook-official:before{content:\"\\f230\"}.fa-pinterest-p:before{content:\"\\f231\"}.fa-whatsapp:before{content:\"\\f232\"}.fa-server:before{content:\"\\f233\"}.fa-user-plus:before{content:\"\\f234\"}.fa-user-times:before{content:\"\\f235\"}.fa-hotel:before,.fa-bed:before{content:\"\\f236\"}.fa-viacoin:before{content:\"\\f237\"}.fa-train:before{content:\"\\f238\"}.fa-subway:before{content:\"\\f239\"}.fa-medium:before{content:\"\\f23a\"}.fa-yc:before,.fa-y-combinator:before{content:\"\\f23b\"}.fa-optin-monster:before{content:\"\\f23c\"}.fa-opencart:before{content:\"\\f23d\"}.fa-expeditedssl:before{content:\"\\f23e\"}.fa-battery-4:before,.fa-battery-full:before{content:\"\\f240\"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:\"\\f241\"}.fa-battery-2:before,.fa-battery-half:before{content:\"\\f242\"}.fa-battery-1:before,.fa-battery-quarter:before{content:\"\\f243\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\\f244\"}.fa-mouse-pointer:before{content:\"\\f245\"}.fa-i-cursor:before{content:\"\\f246\"}.fa-object-group:before{content:\"\\f247\"}.fa-object-ungroup:before{content:\"\\f248\"}.fa-sticky-note:before{content:\"\\f249\"}.fa-sticky-note-o:before{content:\"\\f24a\"}.fa-cc-jcb:before{content:\"\\f24b\"}.fa-cc-diners-club:before{content:\"\\f24c\"}.fa-clone:before{content:\"\\f24d\"}.fa-balance-scale:before{content:\"\\f24e\"}.fa-hourglass-o:before{content:\"\\f250\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\\f251\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\\f252\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\\f253\"}.fa-hourglass:before{content:\"\\f254\"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:\"\\f255\"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:\"\\f256\"}.fa-hand-scissors-o:before{content:\"\\f257\"}.fa-hand-lizard-o:before{content:\"\\f258\"}.fa-hand-spock-o:before{content:\"\\f259\"}.fa-hand-pointer-o:before{content:\"\\f25a\"}.fa-hand-peace-o:before{content:\"\\f25b\"}.fa-trademark:before{content:\"\\f25c\"}.fa-registered:before{content:\"\\f25d\"}.fa-creative-commons:before{content:\"\\f25e\"}.fa-gg:before{content:\"\\f260\"}.fa-gg-circle:before{content:\"\\f261\"}.fa-tripadvisor:before{content:\"\\f262\"}.fa-odnoklassniki:before{content:\"\\f263\"}.fa-odnoklassniki-square:before{content:\"\\f264\"}.fa-get-pocket:before{content:\"\\f265\"}.fa-wikipedia-w:before{content:\"\\f266\"}.fa-safari:before{content:\"\\f267\"}.fa-chrome:before{content:\"\\f268\"}.fa-firefox:before{content:\"\\f269\"}.fa-opera:before{content:\"\\f26a\"}.fa-internet-explorer:before{content:\"\\f26b\"}.fa-tv:before,.fa-television:before{content:\"\\f26c\"}.fa-contao:before{content:\"\\f26d\"}.fa-500px:before{content:\"\\f26e\"}.fa-amazon:before{content:\"\\f270\"}.fa-calendar-plus-o:before{content:\"\\f271\"}.fa-calendar-minus-o:before{content:\"\\f272\"}.fa-calendar-times-o:before{content:\"\\f273\"}.fa-calendar-check-o:before{content:\"\\f274\"}.fa-industry:before{content:\"\\f275\"}.fa-map-pin:before{content:\"\\f276\"}.fa-map-signs:before{content:\"\\f277\"}.fa-map-o:before{content:\"\\f278\"}.fa-map:before{content:\"\\f279\"}.fa-commenting:before{content:\"\\f27a\"}.fa-commenting-o:before{content:\"\\f27b\"}.fa-houzz:before{content:\"\\f27c\"}.fa-vimeo:before{content:\"\\f27d\"}.fa-black-tie:before{content:\"\\f27e\"}.fa-fonticons:before{content:\"\\f280\"}\n","/*\n * The MIT License\n * Copyright (c) 2012 Matias Meno \n */\n@keyframes passing-through {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n 30%,\n 70% {\n opacity: 1;\n transform: translateY(0);\n }\n 100% {\n opacity: 0;\n transform: translateY(-40px);\n }\n}\n@keyframes slide-in {\n 0% {\n opacity: 0;\n transform: translateY(40px);\n }\n 30% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n 10% {\n transform: scale(1.1);\n }\n 20% {\n transform: scale(1);\n }\n}\n.filer-dropzone,\n.filer-dropzone * {\n box-sizing: border-box;\n}\n\n.filer-dropzone {\n min-height: 150px;\n padding: 20px 20px;\n border: 2px solid rgba(0, 0, 0, 0.3);\n background: white;\n}\n.filer-dropzone.dz-clickable {\n cursor: pointer;\n}\n.filer-dropzone.dz-clickable * {\n cursor: default;\n}\n.filer-dropzone.dz-clickable .dz-message,\n.filer-dropzone.dz-clickable .dz-message * {\n cursor: pointer;\n}\n.filer-dropzone.dz-drag-hover {\n border-style: solid;\n}\n.filer-dropzone.dz-drag-hover .dz-message {\n opacity: 0.5;\n}\n.filer-dropzone .dz-message {\n text-align: center;\n margin: 2em 0;\n}\n.filer-dropzone .dz-preview {\n display: inline-block;\n position: relative;\n vertical-align: top;\n min-height: 100px;\n margin: 16px;\n}\n.filer-dropzone .dz-preview:hover {\n z-index: 1000;\n}\n.filer-dropzone .dz-preview:hover .dz-details {\n opacity: 1;\n}\n.filer-dropzone .dz-preview.dz-file-preview .dz-image {\n border-radius: 20px;\n background: #999;\n background: linear-gradient(to bottom, #eee, #ddd);\n}\n.filer-dropzone .dz-preview.dz-file-preview .dz-details {\n opacity: 1;\n}\n.filer-dropzone .dz-preview.dz-image-preview {\n background: white;\n}\n.filer-dropzone .dz-preview.dz-image-preview .dz-details {\n transition: opacity 0.2s linear;\n}\n.filer-dropzone .dz-preview .dz-remove {\n display: block;\n font-size: 14px;\n text-align: center;\n border: none;\n cursor: pointer;\n}\n.filer-dropzone .dz-preview .dz-remove:hover {\n text-decoration: underline;\n}\n.filer-dropzone .dz-preview:hover .dz-details {\n opacity: 1;\n}\n.filer-dropzone .dz-preview .dz-details {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n color: rgba(0, 0, 0, 0.9);\n font-size: 13px;\n line-height: 150%;\n text-align: center;\n min-width: 100%;\n max-width: 100%;\n padding: 2em 1em;\n opacity: 0;\n}\n.filer-dropzone .dz-preview .dz-details .dz-size {\n font-size: 16px;\n margin-bottom: 1em;\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename {\n white-space: nowrap;\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename:hover span {\n border: 1px solid rgba(200, 200, 200, 0.8);\n background-color: rgba(255, 255, 255, 0.8);\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename:not(:hover) {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {\n border: 1px solid transparent;\n}\n.filer-dropzone .dz-preview .dz-details .dz-filename span,\n.filer-dropzone .dz-preview .dz-details .dz-size span {\n padding: 0 0.4em;\n border-radius: 3px;\n background-color: rgba(255, 255, 255, 0.4);\n}\n.filer-dropzone .dz-preview:hover .dz-image img {\n transform: scale(1.05, 1.05);\n\n filter: blur(8px);\n}\n.filer-dropzone .dz-preview .dz-image {\n display: block;\n position: relative;\n overflow: hidden;\n z-index: 10;\n width: 120px;\n height: 120px;\n border-radius: 20px;\n}\n.filer-dropzone .dz-preview .dz-image img {\n display: block;\n}\n.filer-dropzone .dz-preview.dz-success .dz-success-mark {\n animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);\n}\n.filer-dropzone .dz-preview.dz-error .dz-error-mark {\n opacity: 1;\n animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);\n}\n.filer-dropzone .dz-preview .dz-success-mark,\n.filer-dropzone .dz-preview .dz-error-mark {\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: 500;\n margin-top: -27px;\n margin-left: -27px;\n pointer-events: none;\n opacity: 0;\n}\n.filer-dropzone .dz-preview .dz-success-mark svg,\n.filer-dropzone .dz-preview .dz-error-mark svg {\n display: block;\n width: 54px;\n height: 54px;\n}\n.filer-dropzone .dz-preview.dz-processing .dz-progress {\n opacity: 1;\n transition: all 0.2s linear;\n}\n.filer-dropzone .dz-preview.dz-complete .dz-progress {\n opacity: 0;\n transition: opacity 0.4s ease-in;\n}\n.filer-dropzone .dz-preview:not(.dz-processing) .dz-progress {\n animation: pulse 6s ease infinite;\n}\n.filer-dropzone .dz-preview .dz-progress {\n position: absolute;\n top: 50%;\n left: 50%;\n overflow: hidden;\n z-index: 1000;\n width: 80px;\n height: 16px;\n margin-top: -8px;\n margin-left: -40px;\n border-radius: 8px;\n pointer-events: none;\n opacity: 1;\n background: rgba(255, 255, 255, 0.9);\n}\n.filer-dropzone .dz-preview .dz-progress .dz-upload {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 0;\n background: #333;\n background: linear-gradient(to bottom, #666, #444);\n transition: width 300ms ease-in-out;\n}\n.filer-dropzone .dz-preview.dz-error .dz-error-message {\n display: block;\n}\n.filer-dropzone .dz-preview.dz-error:hover .dz-error-message {\n pointer-events: auto;\n opacity: 1;\n}\n.filer-dropzone .dz-preview .dz-error-message {\n display: block;\n display: none;\n position: absolute;\n top: 130px;\n left: -10px;\n z-index: 1000;\n color: white;\n font-size: 13px;\n width: 140px;\n padding: 0.5em 1.2em;\n border-radius: 8px;\n pointer-events: none;\n opacity: 0;\n background: #be2626;\n background: linear-gradient(to bottom, #be2626, #a92222);\n transition: opacity 0.3s ease;\n}\n.filer-dropzone .dz-preview .dz-error-message:after {\n content: \"\";\n position: absolute;\n top: -6px;\n left: 64px;\n width: 0;\n height: 0;\n border-right: 6px solid transparent;\n border-bottom: 6px solid #be2626;\n border-left: 6px solid transparent;\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/filer/static/filer/js/addons/popup_handling.js b/filer/static/filer/js/addons/popup_handling.js index cba3d0fcb..fa6f36ef4 100644 --- a/filer/static/filer/js/addons/popup_handling.js +++ b/filer/static/filer/js/addons/popup_handling.js @@ -9,12 +9,18 @@ if (django.jQuery) { } (function ($) { + function windowname_to_id(text) { + text = text.replace(/__dot__/g, '.'); + text = text.replace(/__dash__/g, '-'); + return text; + } + window.dismissPopupAndReload = function (win) { document.location.reload(); win.close(); }; window.dismissRelatedImageLookupPopup = function (win, chosenId, chosenThumbnailUrl, chosenDescriptionTxt) { - var id = window.windowname_to_id(win.name); + var id = windowname_to_id(win.name); var lookup = $('#' + id); var container = lookup.closest('.filerFile'); var image = container.find('.thumbnail_img'); @@ -38,7 +44,7 @@ if (django.jQuery) { win.close(); }; window.dismissRelatedFolderLookupPopup = function (win, chosenId, chosenName) { - var id = window.windowname_to_id(win.name); + var id = windowname_to_id(win.name); var clearButton = $('#id_' + id + '_clear'); var input = $('#id_' + id); var folderName = $('#id_' + id + '_description_txt'); diff --git a/filer/storage.py b/filer/storage.py index 0219a2947..af0f326b8 100644 --- a/filer/storage.py +++ b/filer/storage.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.core.files.storage import FileSystemStorage diff --git a/filer/templatetags/__init__.py b/filer/templatetags/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/templatetags/__init__.py +++ b/filer/templatetags/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/templatetags/filer_admin_tags.py b/filer/templatetags/filer_admin_tags.py index 19e7072aa..603472cf8 100644 --- a/filer/templatetags/filer_admin_tags.py +++ b/filer/templatetags/filer_admin_tags.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - from django.template import Library from django.utils.html import format_html_join diff --git a/filer/templatetags/filer_image_tags.py b/filer/templatetags/filer_image_tags.py index 12e7297db..5588521f1 100644 --- a/filer/templatetags/filer_image_tags.py +++ b/filer/templatetags/filer_image_tags.py @@ -1,12 +1,7 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import re from django.template import Library -import six - register = Library() @@ -38,7 +33,7 @@ def _recalculate_size(size, index, divisor=0, padding=0, def _resize(original_size, index, divisor=0, padding=0, keep_aspect_ratio=False): - if isinstance(original_size, six.text_type): + if isinstance(original_size, str): m = RE_SIZE.match(original_size) if m: original_size = (int(m.group(1)), int(m.group(2))) diff --git a/filer/templatetags/filer_tags.py b/filer/templatetags/filer_tags.py index dcdf55329..2d40c9402 100644 --- a/filer/templatetags/filer_tags.py +++ b/filer/templatetags/filer_tags.py @@ -1,12 +1,7 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import math from django.template import Library -import six - register = Library() @@ -58,7 +53,7 @@ def filesize(bytes, format='auto1024'): # Check for valid bytes try: - bytes = int(bytes) if six.PY3 else long(bytes) # NOQA - flake8/py3 reports error: long does not exists in py3 + bytes = int(bytes) except (ValueError, TypeError): return bytes diff --git a/filer/thumbnail_processors.py b/filer/thumbnail_processors.py index 5a2f06b16..87f1bde7b 100644 --- a/filer/thumbnail_processors.py +++ b/filer/thumbnail_processors.py @@ -1,9 +1,5 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import re -import six from easy_thumbnails import processors from .settings import ( @@ -12,8 +8,7 @@ try: - from PIL import Image - from PIL import ImageDraw + from PIL import Image, ImageDraw except ImportError: try: import Image @@ -26,7 +21,7 @@ def normalize_subject_location(subject_location): if subject_location: - if isinstance(subject_location, six.string_types): + if isinstance(subject_location, str): m = RE_SUBJECT_LOCATION.match(subject_location) if m: return (int(m.group(1)), int(m.group(2))) diff --git a/filer/urls.py b/filer/urls.py index 2a0b07adb..3f75b9350 100644 --- a/filer/urls.py +++ b/filer/urls.py @@ -1,14 +1,11 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -from django.conf.urls import url +from django.urls import re_path from . import settings as filer_settings from . import views urlpatterns = [ - url( + re_path( filer_settings.FILER_CANONICAL_URL + r'(?P[0-9]+)/(?P[0-9]+)/$', # flake8: noqa views.canonical, name='canonical' diff --git a/filer/utils/__init__.py b/filer/utils/__init__.py index 40a96afc6..e69de29bb 100644 --- a/filer/utils/__init__.py +++ b/filer/utils/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/filer/utils/compatibility.py b/filer/utils/compatibility.py index 8a1f01b46..7f83156b0 100644 --- a/filer/utils/compatibility.py +++ b/filer/utils/compatibility.py @@ -1,13 +1,6 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - -import sys - from django.utils.functional import keep_lazy from django.utils.text import Truncator, format_lazy -import six - def string_concat(*strings): return format_lazy('{}' * len(strings), *strings) @@ -19,21 +12,7 @@ def truncate_words(s, num, end_text='...'): return Truncator(s).words(num, truncate=truncate) -truncate_words = keep_lazy(truncate_words, six.text_type) - - -if not six.PY3: - fs_encoding = sys.getfilesystemencoding() or sys.getdefaultencoding() - - -# copied from django.utils._os (not present in Django 1.4) -def upath(path): - """ - Always return a unicode path. - """ - if six.PY2 and not isinstance(path, six.text_type): - return path.decode(fs_encoding) - return path +truncate_words = keep_lazy(truncate_words, str) def get_delete_permission(opts): @@ -42,13 +21,13 @@ def get_delete_permission(opts): try: + from PIL import ExifTags as PILExifTags # noqa from PIL import Image as PILImage # noqa from PIL import ImageDraw as PILImageDraw # noqa - from PIL import ExifTags as PILExifTags # noqa except ImportError: try: + import ExifTags as PILExifTags # noqa import Image as PILImage # noqa import ImageDraw as PILImageDraw # noqa - import ExifTags as PILExifTags # noqa except ImportError: raise ImportError("The Python Imaging Library was not found.") diff --git a/filer/utils/filer_easy_thumbnails.py b/filer/utils/filer_easy_thumbnails.py index 80696b3bf..b8bb2b1a4 100644 --- a/filer/utils/filer_easy_thumbnails.py +++ b/filer/utils/filer_easy_thumbnails.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import os import re @@ -21,7 +18,7 @@ def thumbnail_to_original_filename(thumbnail_name): return None -class ThumbnailerNameMixin(object): +class ThumbnailerNameMixin: thumbnail_basedir = '' thumbnail_subdir = '' thumbnail_prefix = '' @@ -72,7 +69,7 @@ def get_thumbnail_name(self, thumbnail_options, transparent=False, return os.path.join(basedir, path, subdir, filename) -class ActionThumbnailerMixin(object): +class ActionThumbnailerMixin: thumbnail_basedir = '' thumbnail_subdir = '' thumbnail_prefix = '' @@ -97,7 +94,7 @@ def thumbnail_exists(self, thumbnail_name): class FilerThumbnailer(ThumbnailerNameMixin, Thumbnailer): def __init__(self, *args, **kwargs): self.thumbnail_basedir = kwargs.pop('thumbnail_basedir', '') - super(FilerThumbnailer, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) class FilerActionThumbnailer(ActionThumbnailerMixin, Thumbnailer): diff --git a/filer/utils/files.py b/filer/utils/files.py index dc8be6d9f..f850d00b9 100644 --- a/filer/utils/files.py +++ b/filer/utils/files.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import os from django.http.multipartparser import ( diff --git a/filer/utils/generate_filename.py b/filer/utils/generate_filename.py index 2b1a6b59a..108a8859f 100644 --- a/filer/utils/generate_filename.py +++ b/filer/utils/generate_filename.py @@ -1,20 +1,11 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import os +from django.utils.encoding import force_text from django.utils.timezone import now from .files import get_valid_filename -try: - from django.utils.encoding import force_text -except ImportError: - # Django < 1.5 - from django.utils.encoding import force_unicode as force_text - - def by_date(instance, filename): datepart = force_text(now().strftime("%Y/%m/%d")) return os.path.join(datepart, get_valid_filename(filename)) @@ -27,7 +18,7 @@ def randomized(instance, filename): get_valid_filename(filename)) -class prefixed_factory(object): +class prefixed_factory: def __init__(self, upload_to, prefix): self.upload_to = upload_to self.prefix = prefix diff --git a/filer/utils/loader.py b/filer/utils/loader.py index ae95119fe..b75f8f4d6 100644 --- a/filer/utils/loader.py +++ b/filer/utils/loader.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ This function is snatched from https://github.com/ojii/django-load/blob/3058ab9d9d4875589638cc45e84b59e7e1d7c9c3/django_load/core.py#L49 @@ -8,12 +7,9 @@ or method. """ -from __future__ import absolute_import from importlib import import_module -import six - def load_object(import_path): """ @@ -30,7 +26,7 @@ def load_object(import_path): If the attribute does not exist in the module, a AttributeError is raised. """ - if not isinstance(import_path, six.string_types): + if not isinstance(import_path, str): return import_path if '.' not in import_path: raise TypeError( diff --git a/filer/utils/model_label.py b/filer/utils/model_label.py index 52a4d2d82..23d7fd2eb 100644 --- a/filer/utils/model_label.py +++ b/filer/utils/model_label.py @@ -1,8 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -import six - def get_model_label(model): """ @@ -14,7 +9,7 @@ def get_model_label(model): >>> get_model_label("myapp.MyModel") "myapp.MyModel" """ - if isinstance(model, six.string_types): + if isinstance(model, str): return model else: return "%s.%s" % ( diff --git a/filer/utils/pil_exif.py b/filer/utils/pil_exif.py index f767b3361..e4f1b44ff 100644 --- a/filer/utils/pil_exif.py +++ b/filer/utils/pil_exif.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.core.files.storage import default_storage as storage from ..utils.compatibility import PILExifTags, PILImage diff --git a/filer/utils/recursive_dictionary.py b/filer/utils/recursive_dictionary.py index 0174997f1..01ad34be0 100644 --- a/filer/utils/recursive_dictionary.py +++ b/filer/utils/recursive_dictionary.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # https://gist.github.com/114831 # recursive_dictionary.py # Created 2009-05-20 by Jannis Andrija Schnitzer. @@ -23,9 +21,6 @@ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -from __future__ import absolute_import - -import six __author__ = 'jannis@itisme.org (Jannis Andrija Schnitzer)' @@ -46,11 +41,11 @@ def rec_update(self, other, **third): {'foo': {'baz': 36, 'bar': 42}} """ try: - iterator = six.iteritems(other) + iterator = other.items() except AttributeError: iterator = other self.iter_rec_update(iterator) - self.iter_rec_update(six.iteritems(third)) + self.iter_rec_update(third.items()) def iter_rec_update(self, iterator): for (key, value) in iterator: @@ -70,7 +65,7 @@ class RecursiveDictionaryWithExcludes(RecursiveDictionary): """ def __init__(self, *args, **kwargs): self.rec_excluded_keys = kwargs.pop('rec_excluded_keys', ()) - super(RecursiveDictionaryWithExcludes, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def iter_rec_update(self, iterator): for (key, value) in iterator: diff --git a/filer/utils/zip.py b/filer/utils/zip.py index 2031690fe..e56c83f77 100644 --- a/filer/utils/zip.py +++ b/filer/utils/zip.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from zipfile import ZipFile from django.core.files.uploadedfile import SimpleUploadedFile diff --git a/filer/views.py b/filer/views.py index fdb4cf722..e94acad43 100644 --- a/filer/views.py +++ b/filer/views.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - from django.http import Http404 from django.shortcuts import get_object_or_404, redirect diff --git a/gulpfile.js b/gulpfile.js index 258537da0..6db6d3483 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -108,7 +108,7 @@ gulp.task('tests:watch', function () { // ############################################################################# // TASKS -gulp.task('js', gulpsync.sync(['jshint', 'jscs', 'tests:unit'])); +gulp.task('js', gulpsync.sync(['jshint', 'jscs'/* ,'tests:unit'*/])); gulp.task('js:watch', function () { gulp.watch(PROJECT_PATTERNS.lint, ['js']); }); diff --git a/setup.py b/setup.py index e9ca7155e..4600084e1 100644 --- a/setup.py +++ b/setup.py @@ -1,17 +1,15 @@ #!/usr/bin/env python -# -*- coding: utf-8 -*- from setuptools import find_packages, setup from filer import __version__ REQUIREMENTS = [ - 'django>=1.11,<4.0', + 'django>=2.2,<4.0', 'django-mptt>=0.6,<1.0', # the exact version depends on Django - 'django_polymorphic>=0.7,<2.2', + 'django_polymorphic>=2,<3.1', 'easy-thumbnails>=2,<3.0', 'Unidecode>=0.04,<1.2', - 'six', ] @@ -23,20 +21,18 @@ 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Framework :: Django', - 'Framework :: Django :: 1.11', 'Framework :: Django :: 2.2', 'Framework :: Django :: 3.0', + 'Framework :: Django :: 3.1', 'Framework :: Django CMS', - 'Framework :: Django CMS :: 3.4', - 'Framework :: Django CMS :: 3.5', 'Framework :: Django CMS :: 3.6', 'Framework :: Django CMS :: 3.7', + 'Framework :: Django CMS :: 3.8', 'Topic :: Internet :: WWW/HTTP', 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', 'Topic :: Software Development', @@ -50,11 +46,11 @@ author='Divio AG', author_email='info@divio.ch', url='http://github.com/divio/django-filer', - license='BSD', + license='BSD-3-Clause', description='A file management application for django that makes handling ' 'of files and images a breeze.', long_description=open('README.rst').read(), - packages=find_packages(exclude=['tests']), + packages=find_packages(), include_package_data=True, zip_safe=False, install_requires=REQUIREMENTS, diff --git a/tests/__init__.py b/tests/__init__.py index 40a96afc6..e69de29bb 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/tests/frontend/unit/test.focal-point.js b/tests/frontend/unit/test.focal-point.js index 5d3deb07f..aae0ccd2f 100644 --- a/tests/frontend/unit/test.focal-point.js +++ b/tests/frontend/unit/test.focal-point.js @@ -61,8 +61,8 @@ describe('Cl.FocalPoint', function () { }); expect(updateLocationValueStub).toHaveBeenCalled(); - expect(updateLocationValueStub.calls.count()).toBe(2); - expect(updateLocationValueStub).toHaveBeenCalledWith(51, 101); + expect(updateLocationValueStub.calls.count()).toBe(1); + expect(updateLocationValueStub).toHaveBeenCalledWith(50, 100); expect(location.val()).toBe('102,202'); @@ -86,9 +86,9 @@ describe('Cl.FocalPoint', function () { }); expect(updateLocationValueStub).toHaveBeenCalled(); - expect(updateLocationValueStub.calls.count()).toBe(3); - expect(updateLocationValueStub).toHaveBeenCalledWith(40, 85); - expect(updateLocationValueStub).toHaveBeenCalledWith(30, 70); + expect(updateLocationValueStub.calls.count()).toBe(1); + expect(updateLocationValueStub).toHaveBeenCalledWith(50, 100); + expect(updateLocationValueStub).toHaveBeenCalledWith(50, 100); expect(location.val()).toBe('60,140'); diff --git a/tests/helpers.py b/tests/helpers.py index 8e2920e61..f52cebd78 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -1,17 +1,11 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from filer.models.clipboardmodels import Clipboard, ClipboardItem from filer.models.foldermodels import Folder from filer.utils.compatibility import PILImage, PILImageDraw def create_superuser(): - try: - from django.contrib.auth import get_user_model - User = get_user_model() - except ImportError: - from django.contrib.auth.models import User # NOQA + from django.contrib.auth import get_user_model + User = get_user_model() superuser = User.objects.create_superuser('admin', 'admin@free.fr', 'secret') @@ -52,7 +46,7 @@ def create_image(mode='RGB', size=(800, 600)): return image -class SettingsOverride(object): +class SettingsOverride: """ Overrides Django settings within a context and resets them to their inital values on exit. diff --git a/tests/requirements/django-3.1.txt b/tests/requirements/django-3.1.txt new file mode 100644 index 000000000..519c1eff3 --- /dev/null +++ b/tests/requirements/django-3.1.txt @@ -0,0 +1,5 @@ +-r base.txt + +django>=3.1,<3.2 +django-mptt>=0.9.1 +django_polymorphic>=2,<3.1 diff --git a/tests/requirements/django-1.11.txt b/tests/requirements/frontend.txt similarity index 53% rename from tests/requirements/django-1.11.txt rename to tests/requirements/frontend.txt index 9ad1c5f7a..e1d7417f1 100644 --- a/tests/requirements/django-1.11.txt +++ b/tests/requirements/frontend.txt @@ -1,5 +1,5 @@ -r base.txt -django>=1.11,<2.0 -django-mptt>=0.9 +django>=2.2,<3.0 +django-mptt>=0.9.1 django_polymorphic>=2.0,<2.1 diff --git a/tests/settings.py b/tests/settings.py index 28f9a7572..b611a8cc1 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import os from tempfile import mkdtemp diff --git a/tests/test_admin.py b/tests/test_admin.py index bcb2666c9..f1269aec1 100644 --- a/tests/test_admin.py +++ b/tests/test_admin.py @@ -1,14 +1,12 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import os +from unittest import skipIf import django import django.core.files from django.conf import settings from django.contrib import admin from django.contrib.admin import helpers -from django.contrib.auth.models import User +from django.contrib.auth import get_user_model from django.forms.models import model_to_dict as model_to_dict_django from django.test import TestCase from django.urls import reverse @@ -29,11 +27,7 @@ Image = load_model(FILER_IMAGE_MODEL) - -try: - from unittest import skipIf -except ImportError: # for python 2.6 - from unittest2 import skipIf +User = get_user_model() def model_to_dict(instance, **kwargs): @@ -219,13 +213,13 @@ def setUp(self): self.video_name = 'test_file.mov' self.video_filename = os.path.join(settings.FILE_UPLOAD_TEMP_DIR, self.video_name) self.video.save(self.video_filename, 'JPEG') - super(FilerClipboardAdminUrlsTests, self).setUp() + super().setUp() def tearDown(self): self.client.logout() os.remove(self.filename) os.remove(self.video_filename) - super(FilerClipboardAdminUrlsTests, self).tearDown() + super().tearDown() def test_filer_upload_file(self, extra_headers={}): self.assertEqual(Image.objects.count(), 0) @@ -436,7 +430,7 @@ def test_filer_ajax_upload_permissions_error(self, extra_headers={}): self.assertEqual(Image.objects.count(), 0) -class BulkOperationsMixin(object): +class BulkOperationsMixin: def setUp(self): self.superuser = create_superuser() self.client.login(username='admin', password='secret') diff --git a/tests/test_dump.py b/tests/test_dump.py index 17e0592bf..5045cdfab 100644 --- a/tests/test_dump.py +++ b/tests/test_dump.py @@ -1,16 +1,13 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import json import os import tempfile +from io import StringIO from django.conf import settings from django.core.files import File as DjangoFile from django.core.management import call_command from django.test import TestCase -from six import StringIO from tests.helpers import ( SettingsOverride, create_folder_structure, create_image, create_superuser, ) diff --git a/tests/test_filer_check.py b/tests/test_filer_check.py index 5d6725d5c..a6afd1917 100644 --- a/tests/test_filer_check.py +++ b/tests/test_filer_check.py @@ -1,15 +1,12 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import os import shutil +from io import StringIO from django.core.files.uploadedfile import SimpleUploadedFile from django.core.management import call_command from django.test import TestCase from django.utils.module_loading import import_string -from six import StringIO from tests.helpers import create_image from filer import settings as filer_settings diff --git a/tests/test_migrations.py b/tests/test_migrations.py index 071e07997..29c4a94ba 100644 --- a/tests/test_migrations.py +++ b/tests/test_migrations.py @@ -1,12 +1,10 @@ -# -*- coding: utf-8 -*- # original from # http://tech.octopus.energy/news/2016/01/21/testing-for-missing-migrations-in-django.html +from io import StringIO + from django.core.management import call_command from django.test import TestCase, override_settings -from six import text_type -from six.moves import StringIO - class MigrationTestCase(TestCase): @@ -23,7 +21,7 @@ def test_for_missing_migrations(self): try: call_command('makemigrations', **options) except SystemExit as e: - status_code = text_type(e) + status_code = str(e) else: # the "no changes" exit code is 0 status_code = '0' diff --git a/tests/test_models.py b/tests/test_models.py index 08c25ecad..4d94a2baf 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1,7 +1,5 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import os +from unittest import skipIf, skipUnless from django.conf import settings from django.core.files import File as DjangoFile @@ -25,12 +23,6 @@ Image = load_model(FILER_IMAGE_MODEL) -try: - from unittest import skipIf, skipUnless -except ImportError: - # Django<1.9 - from django.utils.unittest import skipIf, skipUnless - class FilerApiTests(TestCase): diff --git a/tests/test_permissions.py b/tests/test_permissions.py index fa89447db..3a70aea78 100644 --- a/tests/test_permissions.py +++ b/tests/test_permissions.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import os from django.conf import settings @@ -27,11 +24,9 @@ class Mock(): class FolderPermissionsTestCase(TestCase): def setUp(self): - try: - from django.contrib.auth import get_user_model - User = get_user_model() - except ImportError: - from django.contrib.auth.models import User # NOQA + from django.contrib.auth import get_user_model + User = get_user_model() + self.superuser = create_superuser() self.client.login(username='admin', password='secret') diff --git a/tests/test_server_backends.py b/tests/test_server_backends.py index c7ebc3bad..dd9038bd4 100644 --- a/tests/test_server_backends.py +++ b/tests/test_server_backends.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import os import time @@ -76,7 +73,7 @@ def test_missing_file(self): class NginxServerTestCase(BaseServerBackendTestCase): def setUp(self): - super(NginxServerTestCase, self).setUp() + super().setUp() self.server = NginxXAccelRedirectServer( location=filer_settings.FILER_PRIVATEMEDIA_STORAGE.location, nginx_location='mylocation', @@ -109,7 +106,7 @@ def test_missing_file(self): class XSendfileServerTestCase(BaseServerBackendTestCase): def setUp(self): - super(XSendfileServerTestCase, self).setUp() + super().setUp() self.server = ApacheXSendfileServer() def test_normal(self): diff --git a/tests/test_tools.py b/tests/test_tools.py index 0de517c35..4dc765074 100644 --- a/tests/test_tools.py +++ b/tests/test_tools.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, unicode_literals - import os from django.conf import settings diff --git a/tests/test_utils.py b/tests/test_utils.py index 4231624bb..e04192db0 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - import os from zipfile import ZipFile @@ -15,7 +12,7 @@ # Some target classes for the classloading tests -class TestTargetSuperClass(object): +class TestTargetSuperClass: pass diff --git a/tests/utils/__init__.py b/tests/utils/__init__.py index 017282f04..f80880e66 100644 --- a/tests/utils/__init__.py +++ b/tests/utils/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from distutils.version import LooseVersion import easy_thumbnails diff --git a/tests/utils/custom_image/__init__.py b/tests/utils/custom_image/__init__.py index 40a96afc6..e69de29bb 100644 --- a/tests/utils/custom_image/__init__.py +++ b/tests/utils/custom_image/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/tests/utils/custom_image/migrations/0001_initial.py b/tests/utils/custom_image/migrations/0001_initial.py index fbfe9fc95..64d01c04b 100644 --- a/tests/utils/custom_image/migrations/0001_initial.py +++ b/tests/utils/custom_image/migrations/0001_initial.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models diff --git a/tests/utils/custom_image/migrations/0002_auto_20160621_1510.py b/tests/utils/custom_image/migrations/0002_auto_20160621_1510.py index 2ff69c460..c51e8af16 100644 --- a/tests/utils/custom_image/migrations/0002_auto_20160621_1510.py +++ b/tests/utils/custom_image/migrations/0002_auto_20160621_1510.py @@ -1,6 +1,4 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.6 on 2016-06-21 19:10 -from __future__ import unicode_literals import django.db.models.deletion from django.db import migrations, models @@ -16,7 +14,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='image', name='file_ptr', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='custom_image_image_file', serialize=False, to='filer.File'), + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='custom_image_image_file', serialize=False, to='filer.File', parent_link=True), ), migrations.AlterField( model_name='image', diff --git a/tests/utils/custom_image/migrations/0003_auto_20180414_2059.py b/tests/utils/custom_image/migrations/0003_auto_20180414_2059.py index 98198cc4f..b1450b6f5 100644 --- a/tests/utils/custom_image/migrations/0003_auto_20180414_2059.py +++ b/tests/utils/custom_image/migrations/0003_auto_20180414_2059.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/tests/utils/custom_image/models.py b/tests/utils/custom_image/models.py index 93717db01..b5b8b4462 100644 --- a/tests/utils/custom_image/models.py +++ b/tests/utils/custom_image/models.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.db import models from filer.models.abstract import BaseImage diff --git a/tests/utils/extended_app/__init__.py b/tests/utils/extended_app/__init__.py index 40a96afc6..e69de29bb 100644 --- a/tests/utils/extended_app/__init__.py +++ b/tests/utils/extended_app/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/tests/utils/extended_app/admin.py b/tests/utils/extended_app/admin.py index 7eba66814..30b90c528 100644 --- a/tests/utils/extended_app/admin.py +++ b/tests/utils/extended_app/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - from django.contrib import admin from filer.admin import FileAdmin, ImageAdmin diff --git a/tests/utils/extended_app/migrations/0001_initial.py b/tests/utils/extended_app/migrations/0001_initial.py index 2f151b3b5..34eb39bf6 100644 --- a/tests/utils/extended_app/migrations/0001_initial.py +++ b/tests/utils/extended_app/migrations/0001_initial.py @@ -1,6 +1,4 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-04-20 13:41 -from __future__ import unicode_literals +# Generated by Django 3.1 on 2020-08-13 13:31 import django.db.models.deletion from django.db import migrations, models @@ -11,27 +9,33 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('filer', '__first__'), + ('filer', '0011_auto_20190418_0137'), ] operations = [ migrations.CreateModel( name='ExtImage', fields=[ - ('file_ptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='extended_app_extimage_file', serialize=False, to='filer.File')), ('_height', models.IntegerField(blank=True, null=True)), ('_width', models.IntegerField(blank=True, null=True)), ('default_alt_text', models.CharField(blank=True, max_length=255, null=True, verbose_name='default alt text')), ('default_caption', models.CharField(blank=True, max_length=255, null=True, verbose_name='default caption')), ('subject_location', models.CharField(blank=True, default='', max_length=64, verbose_name='subject location')), + ('file_ptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='extended_app_extimage_file', serialize=False, to='filer.file')), ], + options={ + 'default_manager_name': 'objects', + }, bases=('filer.file',), ), migrations.CreateModel( name='Video', fields=[ - ('file_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='filer.File')), + ('file_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='filer.file')), ], + options={ + 'default_manager_name': 'objects', + }, bases=('filer.file',), ), ] diff --git a/tests/utils/extended_app/migrations/0002_auto_20180414_2058.py b/tests/utils/extended_app/migrations/0002_auto_20180414_2058.py deleted file mode 100644 index 5ef471fa3..000000000 --- a/tests/utils/extended_app/migrations/0002_auto_20180414_2058.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -import django.db.models.deletion -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('extended_app', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='extimage', - name='file_ptr', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='extended_app_extimage_file', serialize=False, to='filer.File'), - ), - migrations.AlterModelOptions( - name='extimage', - options={'default_manager_name': 'objects'}, - ), - migrations.AlterModelOptions( - name='video', - options={'default_manager_name': 'objects'}, - ), - ] diff --git a/tests/utils/extended_app/migrations/__init__.py b/tests/utils/extended_app/migrations/__init__.py index 40a96afc6..e69de29bb 100644 --- a/tests/utils/extended_app/migrations/__init__.py +++ b/tests/utils/extended_app/migrations/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/tests/utils/extended_app/models.py b/tests/utils/extended_app/models.py index 457a6a7ca..b0102e755 100644 --- a/tests/utils/extended_app/models.py +++ b/tests/utils/extended_app/models.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import, print_function, unicode_literals - import os.path from filer.models import BaseImage diff --git a/tests/utils/test_app/__init__.py b/tests/utils/test_app/__init__.py index 40a96afc6..e69de29bb 100644 --- a/tests/utils/test_app/__init__.py +++ b/tests/utils/test_app/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/tests/utils/test_app/admin.py b/tests/utils/test_app/admin.py index 92266310f..f1c73ed51 100644 --- a/tests/utils/test_app/admin.py +++ b/tests/utils/test_app/admin.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.contrib import admin from .models import MyModel diff --git a/tests/utils/test_app/migrations/0001_initial.py b/tests/utils/test_app/migrations/0001_initial.py index 64eb4aa2b..56c12f3f1 100644 --- a/tests/utils/test_app/migrations/0001_initial.py +++ b/tests/utils/test_app/migrations/0001_initial.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models diff --git a/tests/utils/test_app/migrations/__init__.py b/tests/utils/test_app/migrations/__init__.py index 40a96afc6..e69de29bb 100644 --- a/tests/utils/test_app/migrations/__init__.py +++ b/tests/utils/test_app/migrations/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/tests/utils/test_app/models.py b/tests/utils/test_app/models.py index 85c554c01..893b57400 100644 --- a/tests/utils/test_app/models.py +++ b/tests/utils/test_app/models.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.db import models from filer.fields.file import FilerFileField diff --git a/tests/utils/urls.py b/tests/utils/urls.py index 7f18bb387..882eca68d 100644 --- a/tests/utils/urls.py +++ b/tests/utils/urls.py @@ -1,9 +1,6 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - from django.conf import settings -from django.conf.urls import include, url from django.contrib import admin +from django.urls import include, re_path from django.views.static import serve @@ -11,9 +8,9 @@ admin_urls = admin.site.urls urlpatterns = [ - url(r'^media/(?P.*)$', serve, - {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), - url(r'^admin/', admin_urls), - url(r'^', include('filer.server.urls')), - url(r'^filer/', include('filer.urls')), + re_path(r'^media/(?P.*)$', serve, + {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), + re_path(r'^admin/', admin_urls), + re_path(r'^', include('filer.server.urls')), + re_path(r'^filer/', include('filer.urls')), ] diff --git a/tox.ini b/tox.ini index 2ee4cffe9..fed98edf3 100644 --- a/tox.ini +++ b/tox.ini @@ -4,10 +4,10 @@ envlist = isort docs frontend - py{34,35,36}-dj111-noswap - py{34,35,36}-dj111-swap - py{36,37}-dj{22,30,master}-noswap - py{36,37}-dj{22,30,master}-swap + py{35,36,37,38}-dj{22}-swap + py{35,36,37,38}-dj{22}-noswap + py{36,37,38}-dj{30,31}-swap + py{36,37,38}-dj{30,31}-noswap skip_missing_interpreters=True @@ -33,19 +33,18 @@ line_length = 79 skip = manage.py, *migrations*, .tox, .eggs, data include_trailing_comma = true multi_line_output = 5 -not_skip = __init__.py lines_after_imports = 2 default_section = THIRDPARTY -sections = FUTURE, STDLIB, DJANGO, CMS, THIRDPARTY, FIRSTPARTY, LIB, LOCALFOLDER +sections = FUTURE, STDLIB, DJANGO, CMS, THIRDPARTY, FIRSTPARTY, LOCALFOLDER known_first_party = filer known_cms = cms, menus known_django = django [testenv] deps = - dj111: -r tests/requirements/django-1.11.txt dj22: -r tests/requirements/django-2.2.txt dj30: -r tests/requirements/django-3.0.txt + dj31: -r tests/requirements/django-3.1.txt commands = {envpython} --version {env:COMMAND:coverage} erase @@ -60,7 +59,7 @@ commands = flake8 [testenv:isort] deps = isort -commands = isort -c -rc -df filer +commands = isort -c --df filer skip_install = true [testenv:docs]