diff --git a/.gitignore b/.gitignore index d4c081f..0d064de 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -expephalon/custom_settings.py *.pyc __pycache__/ -migrations/ \ No newline at end of file +migrations/ diff --git a/chat/__init__.py b/__init__.py similarity index 100% rename from chat/__init__.py rename to __init__.py diff --git a/demomodule/apps.py b/apps.py similarity index 100% rename from demomodule/apps.py rename to apps.py diff --git a/chat/admin.py b/chat/admin.py deleted file mode 100644 index 8c38f3f..0000000 --- a/chat/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/chat/apps.py b/chat/apps.py deleted file mode 100644 index 8ebb9f0..0000000 --- a/chat/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class ChatConfig(AppConfig): - name = 'chat' diff --git a/core/__init__.py b/core/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/apps.py b/core/apps.py deleted file mode 100644 index 26f78a8..0000000 --- a/core/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class CoreConfig(AppConfig): - name = 'core' diff --git a/core/classes/__init__.py b/core/classes/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/classes/mail.py b/core/classes/mail.py deleted file mode 100644 index 795020e..0000000 --- a/core/classes/mail.py +++ /dev/null @@ -1,48 +0,0 @@ -import smtplib -import email -import email.utils - -from urllib.parse import urlparse - -from dbsettings.functions import getValue - -class BaseMailProvider: - @property - def get_name(self): - return "Base Mail Provider" - - @property - def get_logo(self): - return "" - - def send_message(self, message): - raise NotImplementedError(f"{type(self)} does not implement send_message()!") - - def send_mail(self, subject, content, recipients, cc=[], bcc=[], headers={}, sender=getValue("core.mail.sender", "expephalon@localhost")): - message = email.message_from_string(content) - headers["From"] = sender - headers["To"] = recipients if type(recipients) == str else ",".join(recipients) - headers["Cc"] = cc if type(cc) == str else ",".join(cc) - headers["Bcc"] = bcc if type(bcc) == str else ",".join(bcc) - headers["Subject"] = subject - headers["Message-ID"] = email.utils.make_msgid("expephalon", urlparse(getValue("core.base_url", "http://localhost/").split(":")[1]).netloc) - headers["Date"] = email.utils.formatdate() - for header, value in headers.items(): - if value: - message.add_header(header, value) - - message.set_charset("base64") - return self.send_message(message) - -class SMTPMailProvider(BaseMailProvider): - def __init__(self, host=getValue("core.smtp.host", "localhost"), port=int(getValue("core.smtp.port", 0)), username=getValue("core.smtp.username", "") or None, password=getValue("core.smtp.password", "")): - self.smtp = smtplib.SMTP(host, port) - if username: - self.smtp.login(username, password) - - @property - def get_name(self): - return "SMTP Mail" - - def send_message(self, message): - return self.smtp.send_message(message, rcpt_options=['NOTIFY=SUCCESS,DELAY,FAILURE']) diff --git a/core/classes/navigation.py b/core/classes/navigation.py deleted file mode 100644 index 1a1cf24..0000000 --- a/core/classes/navigation.py +++ /dev/null @@ -1,71 +0,0 @@ -from django.urls import reverse - -class NavItem: - def __init__(self, name: str, icon: str, path: str): - self.__name = name - self.__icon = icon - self.__path = path - - @property - def name(self): - return self.__name - - @property - def icon(self): - return self.__icon - - @property - def path(self): - return self.__path if (self.__path.startswith("/") or "://" in self.__path) else reverse(self.__path) - -class NavSection: - def __init__(self, name: str, icon: str): - self.__items = [] - self.__name = name - self.__icon = icon - - @property - def name(self): - return self.__name - - @property - def icon(self): - return self.__icon - - def add_item(self, item: NavItem): - if not item in self.__items: - self.__items.append(item) - - def del_item(self, item: NavItem): - while item in self.__items: - self.__items.remove(item) - - def del_item_by_name(self, name: str): - for item in self.__items: - if item.name == name: - del(item) - - @property - def items(self): - return self.__items - -class Navigation: - def __init__(self): - self.__sections = [] - - def add_section(self, section: NavSection): - if not section in self.__sections: - self.__sections.append(section) - - def del_section(self, section: NavSection): - while section in self.__sections: - self.__sections.remove(section) - - def del_section_by_name(self, name: str): - for section in self.__sections: - if section.name == name: - del(section) - - @property - def sections(self): - return self.__sections \ No newline at end of file diff --git a/core/classes/otp.py b/core/classes/otp.py deleted file mode 100644 index aa3fd86..0000000 --- a/core/classes/otp.py +++ /dev/null @@ -1,28 +0,0 @@ -class BaseOTPProvider: - '''OTP providers must be subclasses of BaseOTPProvider and implement at least validate_token().''' - - @property - def get_name(self): - return "Base OTP Provider" - - @property - def get_logo(self): - return "" - - def __str__(self): - return self.get_name - - @property - def is_active(self): - '''Returns True if the provider is properly configured and ready to use.''' - raise NotImplementedError(f"{type(self)} does not implement is_active!") - - def active_for_user(self, user): - '''Returns True if the provider is active and ready to be used by user.''' - return self.is_active - - def start_authentication(self, user): - return "Authentication started, please enter your 2FA token." - - def validate_token(self, user, token): - raise NotImplementedError(f"{type(self)} does not implement validate_token()!") \ No newline at end of file diff --git a/core/classes/sms.py b/core/classes/sms.py deleted file mode 100644 index 8ab8486..0000000 --- a/core/classes/sms.py +++ /dev/null @@ -1,37 +0,0 @@ -from typing import Union - -class SMSNotSent(Exception): - '''SMS providers must raise SMSNotSent if an SMS was reported as not sent by the gateway.''' - -class BaseSMSProvider: - '''SMS providers must be subclasses of BaseSMSProvider and implement at least is_active and sendSMS().''' - - @property - def get_name(self): - return "Base SMS Provider" - - @property - def get_logo(self): - return "" - - @property - def is_active(self): - '''Returns True if the provider is properly configured and ready to use.''' - raise NotImplementedError(f"{type(self)} does not implement is_active!") - - @property - def get_edit_url(self): - return False - - @property - def get_balance(self): - return False - - def sendSMS(self, recipients: Union[str, list], message: str): - '''Send an SMS message to one or more recipients - - :param recipients: Recipient phone number as a string, or a list of multiple phone number strings - :param message: Message to be sent as a string - ''' - - raise NotImplementedError(f"{type(self)} does not implement sendSMS()!") \ No newline at end of file diff --git a/core/exceptions/__init__.py b/core/exceptions/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/exceptions/mail.py b/core/exceptions/mail.py deleted file mode 100644 index fd7a658..0000000 --- a/core/exceptions/mail.py +++ /dev/null @@ -1,2 +0,0 @@ -class NoSuchTemplate(ValueError): - pass \ No newline at end of file diff --git a/core/forms/__init__.py b/core/forms/__init__.py deleted file mode 100644 index b45e604..0000000 --- a/core/forms/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from core.forms.auth import * -from core.forms.profiles import * \ No newline at end of file diff --git a/core/forms/auth.py b/core/forms/auth.py deleted file mode 100644 index 8177238..0000000 --- a/core/forms/auth.py +++ /dev/null @@ -1,23 +0,0 @@ -from django.forms import Form, EmailField, CharField, PasswordInput, ChoiceField - -from core.helpers.otp import get_otp_choices - -class LoginForm(Form): - email = EmailField() - password = CharField(widget=PasswordInput) - -class OTPSelectorForm(Form): - def __init__(self, *args, **kwargs): - otp_choices = kwargs.pop('otp_choices', []) - super(OTPSelectorForm, self).__init__(*args, **kwargs) - self.fields['provider'] = ChoiceField(choices=otp_choices) - -class OTPVerificationForm(Form): - token = CharField() - -class PWResetForm(Form): - password1 = CharField(widget=PasswordInput) - password2 = CharField(widget=PasswordInput) - -class PWRequestForm(Form): - email = EmailField() \ No newline at end of file diff --git a/core/forms/profiles.py b/core/forms/profiles.py deleted file mode 100644 index 7ec2f2f..0000000 --- a/core/forms/profiles.py +++ /dev/null @@ -1,19 +0,0 @@ -from django.forms import ModelForm, CharField, BooleanField, ImageField -from django.contrib.auth import get_user_model -from django.utils.translation import gettext_lazy as _ -from django.contrib.auth import get_user_model - -from phonenumber_field.formfields import PhoneNumberField - -from core.models import AdminProfile - -class AdminEditForm(ModelForm): - display_name = CharField(required=False, label=_('Internal Display Name')) - mobile = PhoneNumberField(required=False, label=_('Mobile Number')) - role = CharField(required=False, label=_("Role")) - image = ImageField(required=False, label=_("Image")) - remove_image = BooleanField(required=False, label=_("Remove image from profile?")) - - class Meta: - model = get_user_model() - fields = ('first_name', 'last_name', "display_name", "email", 'mobile', "role", "image", "remove_image") \ No newline at end of file diff --git a/core/helpers/__init__.py b/core/helpers/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/helpers/auth.py b/core/helpers/auth.py deleted file mode 100644 index 7ee23dd..0000000 --- a/core/helpers/auth.py +++ /dev/null @@ -1,14 +0,0 @@ -from core.helpers.mail import get_template -from core.helpers.urls import relative_to_absolute as reltoabs - -from django.urls import reverse - -from dbsettings.functions import getValue - -def generate_pwreset_mail(user, token): - link = reltoabs(reverse("pwreset", kwargs={"pk": str(token.token)})) - template = get_template("backend/auth/pwreset", first_name=user.first_name, link=link, sitename=getValue("core.title", "Expephalon")) - return template - -def login_fail(user): - pass \ No newline at end of file diff --git a/core/helpers/files.py b/core/helpers/files.py deleted file mode 100644 index 832a1b4..0000000 --- a/core/helpers/files.py +++ /dev/null @@ -1,5 +0,0 @@ -import uuid -import os.path - -def generate_storage_filename(*args, **kwargs): - return "uploads/" + str(uuid.uuid4()) \ No newline at end of file diff --git a/core/helpers/mail.py b/core/helpers/mail.py deleted file mode 100644 index fc6f98e..0000000 --- a/core/helpers/mail.py +++ /dev/null @@ -1,36 +0,0 @@ -from django.conf import settings - -from core.modules.mail import providers, templates -from core.tasks.mail import send_mail as send_mail_task -from core.exceptions.mail import NoSuchTemplate - -from dbsettings.functions import getValue - -import os.path - -def get_provider_by_name(name, fallback=True): - return providers.get(name, None) or providers["smtp"] - -def get_default_provider(fallback=True): - return get_provider_by_name(getValue("core.email.provider", "smtp"), fallback) - -def send_mail(provider=get_default_provider(), **kwargs): - provider = get_provider_by_name(provider) if type(provider) == str else provider - return send_mail_task.delay(provider, **kwargs) - -def simple_send_mail(subject, content, recipients, cc=[], bcc=[], headers={}): - return send_mail(subject=subject, content=content, recipients=recipients, cc=cc, bcc=bcc, headers=headers) - -def get_template(template_name, format="txt", **kwargs): - try: - template = templates[template_name][format] - except KeyError: - raise NoSuchTemplate(f"No email template called {template_name} of format {format} loaded") - - with open(template, "r") as templatefile: - templatetext = templatefile.read() - - for key, value in kwargs.items(): - templatetext = templatetext.replace('{§%s§}' % key, value) - - return templatetext \ No newline at end of file diff --git a/core/helpers/otp.py b/core/helpers/otp.py deleted file mode 100644 index f021a55..0000000 --- a/core/helpers/otp.py +++ /dev/null @@ -1,18 +0,0 @@ -from core.modules.otp import providers - -def get_user_otps(user): - active_providers = {} - - for name, provider in providers.items(): - if provider().active_for_user(user): - active_providers[name] = provider - - return active_providers - -def get_otp_by_name(name): - for pname, provider in providers.items(): - if pname == name: - return provider - -def get_otp_choices(user): - return [(name, provider) for name, provider in get_user_otps(user).items()] \ No newline at end of file diff --git a/core/helpers/urls.py b/core/helpers/urls.py deleted file mode 100644 index cd92d59..0000000 --- a/core/helpers/urls.py +++ /dev/null @@ -1,6 +0,0 @@ -from urllib.parse import urljoin - -from dbsettings.functions import getValue - -def relative_to_absolute(path, domain=getValue("core.base_url", "http://localhost:8000")): - return urljoin(domain, path) \ No newline at end of file diff --git a/core/mixins/auth.py b/core/mixins/auth.py deleted file mode 100644 index 03977d9..0000000 --- a/core/mixins/auth.py +++ /dev/null @@ -1,18 +0,0 @@ -from django.contrib.auth.mixins import AccessMixin -from django.contrib.messages import error - -from core.models.profiles import AdminProfile - -class AdminMixin(AccessMixin): - def dispatch(self, request, *args, **kwargs): - if not request.user.is_authenticated: - self.permission_denied_message = "You must be logged in to access this area." - - else: - try: - AdminProfile.objects.get(user=request.user) - return super().dispatch(request, *args, **kwargs) - except AdminProfile.DoesNotExist: - self.permission_denied_message = "You must be an administrator to access this area." - - return self.handle_no_permission() \ No newline at end of file diff --git a/core/models/__init__.py b/core/models/__init__.py deleted file mode 100644 index 4dc2b3b..0000000 --- a/core/models/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from core.models.files import * -from core.models.profiles import * -from core.models.auth import * -from core.models.local import * \ No newline at end of file diff --git a/core/models/auth.py b/core/models/auth.py deleted file mode 100644 index de2cf60..0000000 --- a/core/models/auth.py +++ /dev/null @@ -1,20 +0,0 @@ -from django.db.models import Model, ForeignKey, CharField, DateTimeField, UUIDField, CASCADE, BooleanField, IPAddressField -from django.contrib.auth import get_user_model - -from uuid import uuid4 - -class LoginSession(Model): - uuid = UUIDField(default=uuid4, primary_key=True) - user = ForeignKey(get_user_model(), CASCADE) - creation = DateTimeField(auto_now_add=True) - -class PWResetToken(Model): - token = UUIDField(default=uuid4, primary_key=True) - user = ForeignKey(get_user_model(), CASCADE) - creation = DateTimeField(auto_now_add=True) - -class LoginLog(Model): - user = ForeignKey(get_user_model(), CASCADE) - ip = IPAddressField() - success = BooleanField() - timestamp = DateTimeField(auto_now_add=True) \ No newline at end of file diff --git a/core/models/files.py b/core/models/files.py deleted file mode 100644 index eaa4cb0..0000000 --- a/core/models/files.py +++ /dev/null @@ -1,31 +0,0 @@ -from django.db.models import Model, CharField, ImageField, FileField, ManyToManyField, ForeignKey, BooleanField, CASCADE -from django.contrib.auth import get_user_model - -from polymorphic.models import PolymorphicModel - -from core.helpers.files import generate_storage_filename -from core.models.profiles import Profile - -# Create your models here. - -class BaseFile(PolymorphicModel): - filename = CharField(max_length=255) - -class ImageFile(BaseFile): - rawfile = ImageField(upload_to=generate_storage_filename) - - @property - def get_file(self): - return self.image - -class File(BaseFile): - rawfile = FileField(upload_to=generate_storage_filename) - - @property - def get_file(self): - return self.file - -class FileAssociation(Model): - file = ForeignKey(BaseFile, CASCADE) - user = ForeignKey(get_user_model(), CASCADE) - visible = BooleanField() \ No newline at end of file diff --git a/core/models/local.py b/core/models/local.py deleted file mode 100644 index 157362b..0000000 --- a/core/models/local.py +++ /dev/null @@ -1,34 +0,0 @@ -from django.db.models import Model, CharField, BooleanField, DecimalField, ForeignKey, CASCADE - -from django_countries.fields import CountryField - -class Currency(Model): - name = CharField(max_length=255, unique=True) - code = CharField(max_length=16, unique=True) - symbol = CharField(max_length=8) - base = BooleanField(default=False) - rate = DecimalField(default=1, max_digits=30, decimal_places=10) - - def set_base(self): - type(self).get_base().update(base=False) - self.update(base=True) - - @classmethod - def get_base(cls): - return cls.objects.get(base=True) - -class TaxPolicy(Model): - name = CharField(max_length=255, blank=True) - default_rate = DecimalField(default=0, max_digits=10, decimal_places=5) - - def get_applicable_rate(self, country, reverse_charge=False): - rule = self.taxrule_set.get(destination_country=country) - if reverse_charge: - return rule.tax_rate if not rule.reverse_charge else 0 - return rule.tax_rate - -class TaxRule(Model): - policy = ForeignKey(TaxPolicy, on_delete=CASCADE) - destination_country = CountryField() - tax_rate = DecimalField(max_digits=10, decimal_places=5) - reverse_charge = BooleanField(default=False) diff --git a/core/models/profiles.py b/core/models/profiles.py deleted file mode 100644 index f1340b3..0000000 --- a/core/models/profiles.py +++ /dev/null @@ -1,20 +0,0 @@ -from polymorphic.models import PolymorphicModel -from phonenumber_field.modelfields import PhoneNumberField - -from django.db.models import OneToOneField, CASCADE, CharField, ImageField -from django.contrib.auth import get_user_model - -from core.helpers.files import generate_storage_filename - -class Profile(PolymorphicModel): - user = OneToOneField(get_user_model(), CASCADE) - mobile = PhoneNumberField(blank=True) - -class AdminProfile(Profile): - role = CharField(max_length=255) - image = ImageField(null=True, blank=True, upload_to=generate_storage_filename) - display_name = CharField("Internal Display Name", max_length=255, null=True, blank=True) - - @property - def get_internal_name(self): - return self.display_name if self.display_name else self.user.get_full_name \ No newline at end of file diff --git a/core/modules/__init__.py b/core/modules/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/modules/mail.py b/core/modules/mail.py deleted file mode 100644 index d6f1803..0000000 --- a/core/modules/mail.py +++ /dev/null @@ -1,33 +0,0 @@ -from core.classes.mail import SMTPMailProvider - -import importlib -import pathlib -import os.path -import logging - -from django.conf import settings - -providers = { "smtp": SMTPMailProvider } -templates = {} - -logger = logging.getLogger(__name__) - -for module in settings.EXPEPHALON_MODULES + [""]: - for template in pathlib.Path(os.path.join(settings.BASE_DIR, module, "templates/mail/")).rglob("*.*"): - if os.path.isfile(template): - template_name = str(template).rsplit("templates/mail/")[-1].rsplit(".")[0] - template_format = str(template).rsplit(".")[-1].lower() - if not template_name in templates.keys(): - templates[template_name] = dict() - if template_format in templates[template_name].keys(): - logger.warning("Mail Template %s, that was seen at %s, was also found at %s. Using latter.", - template_name, templates[template_name][template_format], str(template)) - templates[template_name][template_format] = str(template) - -for module in settings.EXPEPHALON_MODULES: - try: - mom = importlib.import_module(f"{module}.mail") - for name, provider in mom.MAILPROVIDERS.items(): - providers[name] = provider - except (AttributeError, ModuleNotFoundError): - continue \ No newline at end of file diff --git a/core/modules/navigation.py b/core/modules/navigation.py deleted file mode 100644 index 15bf1b6..0000000 --- a/core/modules/navigation.py +++ /dev/null @@ -1,20 +0,0 @@ -import importlib - -from django.conf import settings - -from core.classes.navigation import NavItem, NavSection, Navigation - -navigations = { - "backend_main": Navigation(), - "frontend_main": Navigation(), -} - -for module in ["core"] + settings.EXPEPHALON_MODULES: - try: - mon = importlib.import_module(f"{module}.navigation") - for name, nav in mon.NAVIGATIONS: - if name in navigations.keys: - raise ValueError(f"Error in {module}: Navigation of name {name} already exists!") - navigations[name] = nav - except (AttributeError, ModuleNotFoundError): - continue \ No newline at end of file diff --git a/core/modules/otp.py b/core/modules/otp.py deleted file mode 100644 index e5f4ca0..0000000 --- a/core/modules/otp.py +++ /dev/null @@ -1,13 +0,0 @@ -import importlib - -from django.conf import settings - -providers = {} - -for module in settings.EXPEPHALON_MODULES: - try: - moo = importlib.import_module(f"{module}.otp") - for name, provider in moo.OTPPROVIDERS.items(): - providers[name] = provider - except (AttributeError, ModuleNotFoundError): - continue \ No newline at end of file diff --git a/core/modules/sms.py b/core/modules/sms.py deleted file mode 100644 index 0c076cf..0000000 --- a/core/modules/sms.py +++ /dev/null @@ -1,38 +0,0 @@ -import importlib - -from django.conf import settings - -from dbsettings.functions import getValue - -providers = [] - -modules_available = [] - -for module in settings.EXPEPHALON_MODULES: - try: - mos = importlib.import_module(f"{module}.sms") - for provider in mos.SMSPROVIDERS: - providers.append(provider) - if mos.CREATE: - modules_available.append(mos.CREATE) - except (AttributeError, ModuleNotFoundError): - continue - -def get_sms_provider_by_name(name, active=False): - for provider in providers: - if provider.get_name == name and (provider.is_active or not active): - return provider - -def get_default_sms_provider_name(): - return getValue("core.sms.default", False) - -def get_default_sms_provider(): - provider = get_sms_provider_by_name(get_default_sms_provider_name(), True) - if provider: - return provider - - for provider in providers: - if provider.is_active: - return provider - - raise RuntimeError("No SMS provider is currently active") \ No newline at end of file diff --git a/core/modules/urls.py b/core/modules/urls.py deleted file mode 100644 index 28ba9bc..0000000 --- a/core/modules/urls.py +++ /dev/null @@ -1,63 +0,0 @@ -import importlib - -from django.conf import settings -from django.urls import path - -from core.views import ( - DashboardView, - LoginView, - OTPSelectorView, - LogoutView, - OTPValidatorView, - PWResetView, - PWRequestView, - BackendNotImplementedView, - AdminListView, - AdminDeleteView, - AdminEditView, - AdminCreateView, - DBSettingsListView, - DBSettingsEditView, - DBSettingsDeleteView, - DBSettingsCreateView, -) - -URLPATTERNS = [] - -# Auth URLs - -URLPATTERNS.append(path('login/', LoginView.as_view(), name="login")) -URLPATTERNS.append(path('login/otp/select/', OTPSelectorView.as_view(), name="otpselector")) -URLPATTERNS.append(path('login/otp/validate/', OTPValidatorView.as_view(), name="otpvalidator")) -URLPATTERNS.append(path('logout/', LogoutView.as_view(), name="logout")) -URLPATTERNS.append(path('login/reset/', PWRequestView.as_view(), name="pwrequest")) -URLPATTERNS.append(path('login/reset//', PWResetView.as_view(), name="pwreset")) - -# Base Backend URLs - -URLPATTERNS.append(path('admin/', DashboardView.as_view(), name="dashboard")) -URLPATTERNS.append(path('admin/oops/', BackendNotImplementedView.as_view(), name="backendni")) - -# Backend Database Settings URLs - -URLPATTERNS.append(path("admin/dbsettings/", DBSettingsListView.as_view(), name="dbsettings")) -URLPATTERNS.append(path("admin/dbsettings//delete/", DBSettingsDeleteView.as_view(), name="dbsettings_delete")) -URLPATTERNS.append(path("admin/dbsettings//edit/", DBSettingsEditView.as_view(), name="dbsettings_edit")) -URLPATTERNS.append(path("admin/dbsettings/create/", DBSettingsCreateView.as_view(), name="dbsettings_create")) - -# Backend User Administration URLs - -URLPATTERNS.append(path('admin/profiles/', AdminListView.as_view(), name="admins")) -URLPATTERNS.append(path("admin/profiles//delete/", AdminDeleteView.as_view(), name="admins_delete")) -URLPATTERNS.append(path("admin/profiles//edit/", AdminEditView.as_view(), name="admins_edit")) -URLPATTERNS.append(path("admin/profiles/create/", AdminCreateView.as_view(), name="admins_create")) - -# External Module URLs - -for module in settings.EXPEPHALON_MODULES: - try: - mou = importlib.import_module(f"{module}.urls") - for url, action, name in mou.ADMIN_URLS: - URLPATTERNS.append(path(f'admin/modules/{module}/{url}', action, name=f"{module}_{name}")) - except (AttributeError, ModuleNotFoundError): - pass diff --git a/core/navigation.py b/core/navigation.py deleted file mode 100644 index 81e606b..0000000 --- a/core/navigation.py +++ /dev/null @@ -1,113 +0,0 @@ -from core.modules.navigation import navigations, NavSection, NavItem - -from django.conf import settings - -# Dashboard Section - -dashboard_section = NavSection("Dashboard", "") - -dashboard_item = NavItem("Dashboard", "fa-rocket", "dashboard") - -dashboard_section.add_item(dashboard_item) - -navigations["backend_main"].add_section(dashboard_section) - -# Clients Section - -clients_section = NavSection("Clients", "") - -client_list_item = NavItem("List Clients", "fa-user-tag", "backendni") -client_add_item = NavItem("Add Client", "fa-user-edit", "backendni") -client_groups_item = NavItem("Client Groups", "fa-users", "backendni") -client_leads_item = NavItem("Leads", "fa-blender-phone", "backendni") - -clients_section.add_item(client_list_item) -clients_section.add_item(client_add_item) -clients_section.add_item(client_groups_item) -clients_section.add_item(client_leads_item) - -navigations["backend_main"].add_section(clients_section) - -# Quotes Section - -quotes_section = NavSection("Quotes", "") - -quote_list_item = NavItem("List Quotes", "fa-file-invoice-dollar", "backendni") -quote_create_item = NavItem("Create Quote", "fa-plus-square", "backendni") - -quotes_section.add_item(quote_list_item) -quotes_section.add_item(quote_create_item) - -navigations["backend_main"].add_section(quotes_section) - -# Billing Section - -billing_section = NavSection("Billing", "") - -invoice_list_item = NavItem("List Invoices", "fa-file-invoice-dollar", "backendni") -invoice_create_item = NavItem("Create Invoice", "fa-plus-square", "backendni") -billable_list_item = NavItem("List Billable Items", "fa-hand-holding-usd", "backendni") -billable_create_item = NavItem("Create Billable Item", "fa-plus-square", "backendni") -list_transaction_item = NavItem("Transaction List", "fa-funnel-dollar", "backendni") - -billing_section.add_item(invoice_list_item) -billing_section.add_item(invoice_create_item) -billing_section.add_item(billable_list_item) -billing_section.add_item(billable_create_item) -billing_section.add_item(list_transaction_item) - -navigations["backend_main"].add_section(billing_section) - -# Support Section - -support_section = NavSection("Support", "") - -ticket_view_item = NavItem("View Tickets", "fa-life-ring", "backendni") -ticket_add_item = NavItem("Add Ticket", "fa-plus-square", "backendni") -conversation_add_item = NavItem("Add Conversation", "fa-comments", "backendni") - -support_section.add_item(ticket_view_item) -support_section.add_item(ticket_add_item) -support_section.add_item(conversation_add_item) - -navigations["backend_main"].add_section(support_section) - -# Reports Section - -reports_section = NavSection("Reports", "") - -report_period_item = NavItem("Income by period", "fa-chart-bar", "backendni") -report_forecast_item = NavItem("Income Forecast", "fa-chart-area", "backendni") - -reports_section.add_item(report_period_item) -reports_section.add_item(report_forecast_item) - -navigations["backend_main"].add_section(reports_section) - -# Administration Section - -administration_section = NavSection("Administration", "") - -user_administration_item = NavItem("Administrator Users", "fa-users-cog", "admins") -brand_administration_item = NavItem("Brands", "fa-code-branch", "backendni") -sms_administration_item = NavItem("SMS Gateway", "fa-sms", "backendni") -otp_administration_item = NavItem("Two-Factor Authentication", "fa-id-badge", "backendni") -backup_administration_item = NavItem("Backups", "fa-shield-alt", "backendni") -product_administration_item = NavItem("Products", "fa-cube", "backendni") -pgroup_administration_item = NavItem("Product Groups", "fa-cubes", "backendni") -payment_administration_item = NavItem("Payment Gateways", "fa-credit-card", "backendni") -dbsettings_item = NavItem("Database Settings", "fa-database", "dbsettings") - -administration_section.add_item(user_administration_item) -administration_section.add_item(brand_administration_item) -administration_section.add_item(sms_administration_item) -administration_section.add_item(otp_administration_item) -administration_section.add_item(backup_administration_item) -administration_section.add_item(product_administration_item) -administration_section.add_item(pgroup_administration_item) -administration_section.add_item(payment_administration_item) - -if "dbsettings" in settings.INSTALLED_APPS: - administration_section.add_item(dbsettings_item) - -navigations["backend_main"].add_section(administration_section) \ No newline at end of file diff --git a/core/receivers/__init__.py b/core/receivers/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/receivers/profiles.py b/core/receivers/profiles.py deleted file mode 100644 index bf5fed7..0000000 --- a/core/receivers/profiles.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.db.models.signals import post_delete - -from core.models.profiles import AdminProfile - -@receiver(post_delete, sender=AdminProfile) -def delete_user(sender, instance, *args, **kwargs): - instance.user.delete() \ No newline at end of file diff --git a/core/tasks/__init__.py b/core/tasks/__init__.py deleted file mode 100644 index 33d4183..0000000 --- a/core/tasks/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from core.tasks.mail import * \ No newline at end of file diff --git a/core/tasks/mail.py b/core/tasks/mail.py deleted file mode 100644 index a6c8690..0000000 --- a/core/tasks/mail.py +++ /dev/null @@ -1,5 +0,0 @@ -from celery import shared_task - -@shared_task -def send_mail(provider=None, **kwargs): - return provider().send_mail(**kwargs) \ No newline at end of file diff --git a/core/templatetags/__init__.py b/core/templatetags/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/templatetags/navigation.py b/core/templatetags/navigation.py deleted file mode 100644 index 663f7df..0000000 --- a/core/templatetags/navigation.py +++ /dev/null @@ -1,21 +0,0 @@ -from core.modules.navigation import navigations - -from django import template - -register = template.Library() - -@register.simple_tag() -def get_navigation(name): - return navigations[name] - -@register.simple_tag() -def get_nav_sections(navigation): - return navigation.sections - -@register.simple_tag() -def get_nav_items(section): - return section.items - -@register.simple_tag() -def get_nav_sections_by_name(name): - return get_nav_sections(get_navigation(name)) \ No newline at end of file diff --git a/core/tests.py b/core/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/core/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/core/urls.py b/core/urls.py deleted file mode 100644 index 1519a0d..0000000 --- a/core/urls.py +++ /dev/null @@ -1 +0,0 @@ -from core.modules.urls import URLPATTERNS as urlpatterns diff --git a/core/views/__init__.py b/core/views/__init__.py deleted file mode 100644 index 2988aaa..0000000 --- a/core/views/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -from django.shortcuts import render -from django.views.generic import TemplateView -from django.conf import settings - -from core.views.dbsettings import * -from core.views.auth import * -from core.views.profiles import * -from core.views.generic import * -from core.mixins.auth import AdminMixin - -# Create your views here. - -class IndexView(TemplateView): - template_name = f"{settings.EXPEPHALON_FRONTEND}/index.html" - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Home" - return context - -class DashboardView(BackendTemplateView): - template_name = f"{settings.EXPEPHALON_BACKEND}/index.html" - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Dashboard" - return context - -class BackendNotImplementedView(BackendTemplateView): - template_name = f"{settings.EXPEPHALON_BACKEND}/notimplemented.html" - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Oops!" - return context diff --git a/core/views/auth.py b/core/views/auth.py deleted file mode 100644 index f2cd87e..0000000 --- a/core/views/auth.py +++ /dev/null @@ -1,178 +0,0 @@ -from django.conf import settings -from django.views.generic import FormView, View -from django.contrib.auth import authenticate, login, logout, get_user_model -from django.shortcuts import redirect -from django.core.exceptions import PermissionDenied -from django.contrib import messages -from django.utils import timezone - -from core.forms import LoginForm, OTPSelectorForm, OTPVerificationForm, PWResetForm, PWRequestForm -from core.models.auth import LoginSession, PWResetToken -from core.helpers.otp import get_user_otps, get_otp_choices, get_otp_by_name -from core.helpers.mail import simple_send_mail -from core.helpers.auth import generate_pwreset_mail - -from dbsettings.functions import getValue - -class LoginView(FormView): - template_name = f"{settings.EXPEPHALON_BACKEND}/auth/login.html" - form_class = LoginForm - - def get(self, request, *args, **kwargs): - if request.user.is_authenticated: - return redirect(request.GET.get("next", "dashboard")) - return super().get(request, *args, **kwargs) - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Login" - return context - - def form_valid(self, form): - user = authenticate(username=form.cleaned_data['email'], password=form.cleaned_data['password']) - if user: - if not get_user_otps(user): - login(self.request, user) - return redirect("dashboard") - session = LoginSession.objects.create(user=user) - self.request.session["otpsession"] = str(session.uuid) - self.request.session["next"] = self.request.GET.get("next", "dashboard") - return redirect("otpselector") - messages.error(self.request, "The credentials you entered are invalid. Please try again.") - return super().form_invalid(form) - -class OTPSelectorView(FormView): - template_name = f"{settings.EXPEPHALON_BACKEND}/auth/otp_selector.html" - form_class = OTPSelectorForm - - def clean_session(self): - for key in ("otpsession", "otpprovider", "next"): - try: - del self.request.session[key] - except: - pass - - def get_form_kwargs(self): - kwargs = super().get_form_kwargs() - try: - assert self.request.session["otpsession"] - except: - raise PermissionDenied() - user = LoginSession.objects.get(uuid=self.request.session["otpsession"]).user - kwargs["otp_choices"] = get_otp_choices(user) - return kwargs - - def form_valid(self, form): - self.request.session["otpprovider"] = form.cleaned_data["provider"] - return redirect("otpvalidator") - - def form_invalid(self, form): - self.clean_session() - return redirect("login") - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Two-Factor Authentication" - - user = LoginSession.objects.get(uuid=self.request.session["otpsession"]).user - context["first_name"] = user.profile.get_internal_name - return context - -class OTPValidatorView(FormView): - template_name = f"{settings.EXPEPHALON_BACKEND}/auth/otp_verifier.html" - form_class = OTPVerificationForm - - def clean_session(self): - for key in ("otpsession", "otpprovider", "next"): - try: - del self.request.session[key] - except: - pass - - def validate_session(self, request): - try: - assert request.session["otpsession"] - assert request.session["otpprovider"] - user = LoginSession.objects.get(uuid=request.session["otpsession"]).user - assert request.session["otpprovider"] in get_user_otps(user).keys() - provider = get_otp_by_name(request.session["otpprovider"])() - return user, provider - except: - self.clean_session() - raise PermissionDenied() - - def get(self, request, *args, **kwargs): - user, provider = self.validate_session(request) - response = provider.start_authentication(user) - messages.info(request, response) - return super().get(request, *args, **kwargs) - - def post(self, request, *args, **kwargs): - self.validate_session(request) - return super().post(request, *args, **kwargs) - - def form_invalid(self, form): - self.clean_session() - return redirect("login") - - def form_valid(self, form): - user, provider = self.validate_session(self.request) - if provider.validate_token(user, form.cleaned_data["token"]): - login(self.request, user) - ret = redirect(self.request.session.get("next", "dashboard")) - self.clean_session() - return ret - self.clean_session() - messages.error(self.request, "Incorrect token entered. Please try again. If the issue persists, contact support to regain access to your account.") - return redirect("login") - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Two-Factor Authentication" - - user, provider = self.validate_session(self.request) - context["first_name"] = user.profile.get_internal_name - return context - -class LogoutView(View): - def get(self, request, *args, **kwargs): - logout(request) - return redirect("login") - -class PWResetView(FormView): - template_name = f"{settings.EXPEPHALON_BACKEND}/auth/pwreset.html" - form_class = PWResetForm - - def validate_session(self): - try: - token = PWResetToken.objects.get(token=self.kwargs["pk"]) - max_age = int(getValue("core.auth.pwreset.max_age", "86400")) - assert token.creation > timezone.now() - timezone.timedelta(seconds=max_age) - return token.user - except: - messages.error(self.request, "Incorrect or expired password reset link.") - raise PermissionDenied() - - def form_valid(self, form): - user = self.validate_session() - if not form.cleaned_data["password1"] == form.cleaned_data["password2"]: - messages.error(self.request, "Entered passwords do not match - please try again.") - return self.form_invalid(form) - user.set_password(form.cleaned_data["password1"]) - user.save() - messages.success(self.request, "Your password has been changed. You can now login with your new password.") - return redirect("login") - -class PWRequestView(FormView): - template_name = f"{settings.EXPEPHALON_BACKEND}/auth/pwrequest.html" - form_class = PWRequestForm - - def form_valid(self, form): - try: - user = get_user_model().objects.get(username=form.cleaned_data["email"]) - token = PWResetToken.objects.create(user=user) - mail = generate_pwreset_mail(user, token) - simple_send_mail("Password Reset", mail, user.email) - finally: - messages.success(self.request, "If a matching account was found, you should shortly receive an email containing password reset instructions. If you have not received this message after five minutes, please verify that you have entered the correct email address, or contact support.") - return redirect("login") \ No newline at end of file diff --git a/core/views/dbsettings.py b/core/views/dbsettings.py deleted file mode 100644 index 6e1b7a8..0000000 --- a/core/views/dbsettings.py +++ /dev/null @@ -1,46 +0,0 @@ -from django.conf import settings -from django.views.generic import ListView, UpdateView, DeleteView, CreateView -from django.urls import reverse_lazy - -from dbsettings.models import Setting - -class DBSettingsListView(ListView): - template_name = f"{settings.EXPEPHALON_BACKEND}/dbsettings/index.html" - model = Setting - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Database Settings" - return context - -class DBSettingsEditView(UpdateView): - template_name = f"{settings.EXPEPHALON_BACKEND}/dbsettings/update.html" - model = Setting - success_url = reverse_lazy("dbsettings") - fields = ["key", "value"] - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Edit Setting" - return context - -class DBSettingsDeleteView(DeleteView): - template_name = f"{settings.EXPEPHALON_BACKEND}/dbsettings/delete.html" - model = Setting - success_url = reverse_lazy("dbsettings") - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Delete Setting" - return context - -class DBSettingsCreateView(CreateView): - template_name = f"{settings.EXPEPHALON_BACKEND}/dbsettings/create.html" - model = Setting - success_url = reverse_lazy("dbsettings") - fields = ["key", "value"] - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Create Setting" - return context diff --git a/core/views/generic.py b/core/views/generic.py deleted file mode 100644 index 64c3379..0000000 --- a/core/views/generic.py +++ /dev/null @@ -1,17 +0,0 @@ -from django.views.generic import TemplateView, ListView, CreateView, FormView, DeleteView -from core.mixins.auth import AdminMixin - -class BackendTemplateView(AdminMixin, TemplateView): - pass - -class BackendListView(AdminMixin, ListView): - pass - -class BackendCreateView(AdminMixin, CreateView): - pass - -class BackendFormView(AdminMixin, FormView): - pass - -class BackendDeleteView(AdminMixin, DeleteView): - pass \ No newline at end of file diff --git a/core/views/profiles.py b/core/views/profiles.py deleted file mode 100644 index dfd2f0f..0000000 --- a/core/views/profiles.py +++ /dev/null @@ -1,81 +0,0 @@ -from django.conf import settings -from django.urls import reverse_lazy -from django.contrib.auth import get_user_model - -from core.models import AdminProfile -from core.forms import AdminEditForm -from core.views.generic import BackendFormView as FormView, BackendListView as ListView, BackendDeleteView as DeleteView - -class AdminListView(ListView): - template_name = f"{settings.EXPEPHALON_BACKEND}/profiles/index.html" - model = AdminProfile - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Administrator Users" - return context - -class AdminEditView(FormView): - template_name = f"{settings.EXPEPHALON_BACKEND}/profiles/update.html" - form_class = AdminEditForm - success_url = reverse_lazy("admins") - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Edit Administrator" - return context - - def get_initial(self): - initial = super().get_initial() - admin = get_user_model().objects.get(id=self.kwargs["pk"]) - assert type(admin.profile) == AdminProfile - initial["first_name"] = admin.first_name - initial["last_name"] = admin.last_name - initial["email"] = admin.username - initial["mobile"] = admin.profile.mobile - initial["role"] = admin.profile.role - initial["display_name"] = admin.profile.display_name - return initial - - def form_valid(self, form): - admin = get_user_model().objects.get(id=self.kwargs["pk"]) - admin.first_name = form.cleaned_data["first_name"] - admin.last_name = form.cleaned_data["last_name"] - admin.username = form.cleaned_data["email"] - admin.email = form.cleaned_data["email"] - admin.profile.mobile = form.cleaned_data["mobile"] - admin.profile.role = form.cleaned_data["role"] - admin.profile.display_name = form.cleaned_data["display_name"] - - if form.cleaned_data["image"] or form.cleaned_data["remove_image"]: - admin.profile.image = form.cleaned_data["image"] - - admin.profile.save() - admin.save() - return super().form_valid(form) - -class AdminDeleteView(DeleteView): - template_name = f"{settings.EXPEPHALON_BACKEND}/profiles/delete.html" - model = get_user_model() - success_url = reverse_lazy("admins") - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Delete Administrator" - return context - - def get_object(self, queryset=None): - admin = super().get_object(queryset=queryset) - assert type(admin.profile) == AdminProfile - return admin - -class AdminCreateView(FormView): - template_name = f"{settings.EXPEPHALON_BACKEND}/profiles/create.html" - model = get_user_model() - success_url = reverse_lazy("admins") - fields = ["key", "value"] - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context["title"] = "Create Administrator" - return context diff --git a/debian-packages.txt b/debian-packages.txt deleted file mode 100644 index df29928..0000000 --- a/debian-packages.txt +++ /dev/null @@ -1,2 +0,0 @@ -rabbitmq-server -memcached \ No newline at end of file diff --git a/demomodule/__init__.py b/demomodule/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/demomodule/models.py b/demomodule/models.py deleted file mode 100644 index 71a8362..0000000 --- a/demomodule/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/demomodule/tests.py b/demomodule/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/demomodule/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/demomodule/views.py b/demomodule/views.py deleted file mode 100644 index 91ea44a..0000000 --- a/demomodule/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/expephalon/__init__.py b/expephalon/__init__.py deleted file mode 100644 index 75daf47..0000000 --- a/expephalon/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from expephalon.celery import app as celery_app - -__all__ = ('celery_app',) \ No newline at end of file diff --git a/expephalon/asgi.py b/expephalon/asgi.py deleted file mode 100644 index 5fd6bd2..0000000 --- a/expephalon/asgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -ASGI config for expephalon project. - -It exposes the ASGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/ -""" - -import os - -from django.core.asgi import get_asgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'expephalon.settings') - -application = get_asgi_application() diff --git a/expephalon/celery.py b/expephalon/celery.py deleted file mode 100644 index 2ae3c51..0000000 --- a/expephalon/celery.py +++ /dev/null @@ -1,21 +0,0 @@ -import os - -from celery import Celery - -# set the default Django settings module for the 'celery' program. -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'expephalon.settings') - -app = Celery('expephalon') - -# Using a string here means the worker doesn't have to serialize -# the configuration object to child processes. -# - namespace='CELERY' means all celery-related configuration keys -# should have a `CELERY_` prefix. -app.config_from_object('django.conf:settings', namespace='CELERY') - -# Load task modules from all registered Django app configs. -app.autodiscover_tasks() - -@app.task(bind=True) -def debug_task(self): - print('Request: {0!r}'.format(self.request)) \ No newline at end of file diff --git a/expephalon/custom_settings.dist.py b/expephalon/custom_settings.dist.py deleted file mode 100644 index d535e55..0000000 --- a/expephalon/custom_settings.dist.py +++ /dev/null @@ -1,52 +0,0 @@ -# Secret Key: Replace this by a long random string. -# You can use django.core.management.utils.get_random_secret_key to generate one. - -SECRET_KEY = "changeme" - -# Database settings -# This application is tested only with MariaDB/MySQL. -# You will have to edit settings.py if you want to use Postgres, SQLite, etc. - -DB_HOST = "localhost" -DB_PORT = 3306 -DB_USER = "expephalon" -DB_PASS = "secret" -DB_NAME = "expephalon" - -# AWS/Minio configuration -# Insert any required parameters as per https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html - -AWS_ACCESS_KEY_ID = None -AWS_SECRET_ACCESS_KEY = None -AWS_STORAGE_BUCKET_NAME = None -AWS_S3_ENDPOINT_URL = None - -# Whether debug messages should be output - set to False in production (exposes sensitive data) - -DEBUG = True - -# Which hostnames may be used to access the system - by default accepts "localhost", add "*" to allow any hostname - -ALLOWED_HOSTS = [] - -# To add frontend or backend templates, move them to the /templates subdirectory, then insert their name (i.e. the directory name) in the -# appropriate field. Move any required statics to the /static subdirectory - -EXPEPHALON_FRONTEND = "frontend" -EXPEPHALON_BACKEND = "backend" - -# To add Expephalon modules, move them to the Expephalon root directory, then add them to this list - -EXPEPHALON_MODULES = [] - -# To use memcached for caching, add IP:PORT or unix:PATH - default setting should be good for an unmodified local setup of memcached - -MEMCACHED_LOCATION = ["127.0.0.1:11211"] - -# RabbitMQ is required for queues to work - default settings should be good for an unmodified local setup of RabbitMQ, -# but you might still want to configure it to use a password - -RABBITMQ_LOCATION = "127.0.0.1:5672" -RABBITMQ_VHOST = "" -RABBITMQ_USER = "guest" -RABBITMQ_PASS = "guest" \ No newline at end of file diff --git a/expephalon/settings.py b/expephalon/settings.py deleted file mode 100644 index aba5ec2..0000000 --- a/expephalon/settings.py +++ /dev/null @@ -1,157 +0,0 @@ -import os - -from django.urls import reverse_lazy - -from expephalon.custom_settings import * # pylint: disable=unused-wildcard-import - -# Build paths inside the project like this: os.path.join(BASE_DIR, ...) -BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - -# Application definition - -INSTALLED_APPS = [ - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - 'polymorphic', - 'phonenumber_field', - 'bootstrap4', - 'core', - 'dbsettings', - 'django_celery_results', - 'django_celery_beat', - 'django_countries', -] + EXPEPHALON_MODULES - -MIDDLEWARE = [ - 'django.middleware.security.SecurityMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', -] - -ROOT_URLCONF = 'expephalon.urls' - -TEMPLATES = [ - { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [ os.path.join(BASE_DIR, "templates") ], - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - ], - }, - }, -] - -WSGI_APPLICATION = 'expephalon.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/3.0/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.mysql', - 'NAME': DB_NAME, - 'USER': DB_USER, - 'PASSWORD': DB_PASS, - 'HOST': DB_HOST, - 'PORT': str(DB_PORT), - } -} - -# Password validation -# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators - -AUTH_PASSWORD_VALIDATORS = [ - { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', - }, -] - - -# Internationalization -# https://docs.djangoproject.com/en/3.0/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'UTC' - -USE_I18N = True - -USE_L10N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/3.0/howto/static-files/ - -STATIC_URL = '/static/' - -STATICFILES_DIRS = [ - os.path.join(BASE_DIR, "static"), -] - -STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' - -# Password hasher -# https://docs.djangoproject.com/en/3.0/topics/auth/passwords/#how-django-stores-passwords - -PASSWORD_HASHERS = [ - 'django.contrib.auth.hashers.Argon2PasswordHasher', - 'django.contrib.auth.hashers.PBKDF2PasswordHasher', - 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', - 'django.contrib.auth.hashers.BCryptSHA256PasswordHasher', -] - -# Media - -DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' -AWS_DEFAULT_ACL = None - -# Caching - -if MEMCACHED_LOCATION: - CACHES = { - 'default': { - 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', - 'LOCATION': MEMCACHED_LOCATION, - } - } - -# Queue - -CELERY_TASK_SERIALIZER = "pickle" -CELERY_RESULT_SERIALIZER = "pickle" -CELERY_ACCEPT_CONTENT = ['pickle'] -CELERY_RESULT_BACKEND = 'django-db' -CELERY_CACHE_BACKEND = 'django-cache' -CELERY_BROKER_URL = f"amqp://{RABBITMQ_USER}:{RABBITMQ_PASS}@{RABBITMQ_LOCATION}/{RABBITMQ_VHOST}" -CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" -CELERY_TASK_RESULT_EXPIRES = 12 * 60 * 60 - -# Auth URLs - -LOGIN_REDIRECT_URL = reverse_lazy('dashboard') -LOGIN_URL = reverse_lazy('login') -LOGOUT_URL = reverse_lazy('logout') diff --git a/expephalon/urls.py b/expephalon/urls.py deleted file mode 100644 index 213169c..0000000 --- a/expephalon/urls.py +++ /dev/null @@ -1,22 +0,0 @@ -"""expephalon URL Configuration - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/3.0/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: path('', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.urls import include, path - 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) -""" -from django.contrib import admin -from django.urls import path, include - -urlpatterns = [ - # path('admin/', admin.site.urls), - path('', include('core.urls')), -] diff --git a/expephalon/wsgi.py b/expephalon/wsgi.py deleted file mode 100644 index b4055d7..0000000 --- a/expephalon/wsgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -WSGI config for expephalon project. - -It exposes the WSGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/ -""" - -import os - -from django.core.wsgi import get_wsgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'expephalon.settings') - -application = get_wsgi_application() diff --git a/iam.json b/iam.json deleted file mode 100644 index a3591d8..0000000 --- a/iam.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "Version": "2020-04-08", - "Statement": [ - { - "Sid": "VisualEditor0", - "Effect": "Allow", - "Action": [ - "s3:PutObject", - "s3:GetObject", - "s3:ListBucket", - "s3:DeleteObject" - ], - "Resource": [ - "arn:aws:s3:::example-bucket-name/*", - "arn:aws:s3:::example-bucket-name" - ] - } - ] -} \ No newline at end of file diff --git a/kumisms/__init__.py b/kumisms/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/kumisms/admin.py b/kumisms/admin.py deleted file mode 100644 index 8c38f3f..0000000 --- a/kumisms/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/kumisms/apps.py b/kumisms/apps.py deleted file mode 100644 index b6cfebc..0000000 --- a/kumisms/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class KumismsConfig(AppConfig): - name = 'kumisms' diff --git a/kumisms/models.py b/kumisms/models.py deleted file mode 100644 index 71a8362..0000000 --- a/kumisms/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/kumisms/sms.py b/kumisms/sms.py deleted file mode 100644 index 0ef1c86..0000000 --- a/kumisms/sms.py +++ /dev/null @@ -1,70 +0,0 @@ -from core.classes.sms import BaseSMSProvider, SMSNotSent - -from dbsettings.functions import getValue - -from urllib.parse import urlencode -from urllib.request import urlopen, Request -from typing import Union - -import json - -# Create your models here. - -class KumiSMSServer(BaseSMSProvider): - @property - def is_active(self): - return bool(self.get_balance) - - @property - def get_name(self): - return "Kumi SMS" - - @property - def get_key(self): - return getValue("kumisms.apikey") - - @staticmethod - def getError(status): - if "error" in status.keys(): - return status["error"] - - def sendSMS(self, recipients: Union[str, list], message: str): - '''Send an SMS message to one or more recipients - - :param recipients: Recipient phone number as a string, or a list of multiple phone number strings - :param message: Message to be sent as a string - ''' - - if isinstance(recipients, str): - recipients = [recipients] - - url = 'https://kumisms.com/api/v1/send/' - - for recipient in recipients: - vars = {"key": self.get_key, "text": message, "recipient": recipient} - - request = Request(url, urlencode(vars).encode()) - response = urlopen(request) - - status = json.loads(response.read().decode()) - - error = KumiSMSServer.getError(status) - - if error: - raise SMSNotSent(f'An error occurred trying to send the SMS: {error}') - - @property - def get_balance(self): - url = 'https://kumisms.com/api/v1/balance/' - - vars = {"key": self.get_key} - - request = Request(url, urlencode(vars).encode()) - response = urlopen(request) - - status = json.loads(response.read().decode()) - - if not KumiSMSServer.getError(status): - return status["balance"] - -SMSPROVIDERS = [KumiSMSServer()] \ No newline at end of file diff --git a/kumisms/tests.py b/kumisms/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/kumisms/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/kumisms/views.py b/kumisms/views.py deleted file mode 100644 index 91ea44a..0000000 --- a/kumisms/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/manage.py b/manage.py deleted file mode 100755 index 967e22a..0000000 --- a/manage.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python -"""Django's command-line utility for administrative tasks.""" -import os -import sys - - -def main(): - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'expephalon.settings') - try: - from django.core.management import execute_from_command_line - except ImportError as exc: - raise ImportError( - "Couldn't import Django. Are you sure it's installed and " - "available on your PYTHONPATH environment variable? Did you " - "forget to activate a virtual environment?" - ) from exc - execute_from_command_line(sys.argv) - - -if __name__ == '__main__': - main() diff --git a/chat/models.py b/models.py similarity index 100% rename from chat/models.py rename to models.py diff --git a/module_dependencies.md b/module_dependencies.md deleted file mode 100644 index 77dd653..0000000 --- a/module_dependencies.md +++ /dev/null @@ -1,8 +0,0 @@ -### playsms - -* core - -### smsotp - -* core -* any SMS provider (e.g. playsms) \ No newline at end of file diff --git a/demomodule/navigations.py b/navigations.py similarity index 100% rename from demomodule/navigations.py rename to navigations.py diff --git a/playsms/__init__.py b/playsms/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/playsms/apps.py b/playsms/apps.py deleted file mode 100644 index 6141e81..0000000 --- a/playsms/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class PlaysmsConfig(AppConfig): - name = 'playsms' diff --git a/playsms/models.py b/playsms/models.py deleted file mode 100644 index 0b7b90f..0000000 --- a/playsms/models.py +++ /dev/null @@ -1,59 +0,0 @@ -from django.db.models import Model, CharField, BooleanField - -from core.classes.sms import BaseSMSProvider, SMSNotSent - -from urllib.parse import quote_plus -from urllib.request import urlopen -from typing import Union - - -import json - -# Create your models here. - -class PlaySMSServer(Model, BaseSMSProvider): - name = CharField(max_length=255, unique=True) - logo = CharField(max_length=255) - https = BooleanField(default=True) - host = CharField(max_length=255) - username = CharField(max_length=255) - token = CharField(max_length=255) - - @property - def is_active(self): - return True - - @property - def get_name(self): - return self.name - - @staticmethod - def getError(status): - if status["error_string"]: - return status["error_string"] - try: - if int(status["data"][0]["error"]): - return int(status["data"][0]["error"]) - finally: - return - - def sendSMS(self, recipients: Union[str, list], message: str): - '''Send an SMS message to one or more recipients - - :param recipients: Recipient phone number as a string, or a list of multiple phone number strings - :param message: Message to be sent as a string - ''' - - if isinstance(recipients, list): - recipients = ",".join(recipients) - - url = 'http%s://%s/index.php?app=ws&u=%s&h=%s&op=pv&to=%s&msg=%s' % ("s" if self.https else "", self.host, self.username, self.token, recipients, quote_plus(message)) - - response = urlopen(url) - - status = json.loads(response.read().decode()) - - error = PlaySMSServer.getError(status) - - if error: - raise SMSNotSent(f'An error occurred trying to send the SMS: {error}') \ No newline at end of file diff --git a/playsms/sms.py b/playsms/sms.py deleted file mode 100644 index 846e4ad..0000000 --- a/playsms/sms.py +++ /dev/null @@ -1,3 +0,0 @@ -from playsms.models import PlaySMSServer - -SMSPROVIDERS = list(PlaySMSServer.objects.all()) \ No newline at end of file diff --git a/playsms/urls.py b/playsms/urls.py deleted file mode 100644 index ff15a35..0000000 --- a/playsms/urls.py +++ /dev/null @@ -1,2 +0,0 @@ -ADMIN_URLS = [ -] \ No newline at end of file diff --git a/playsms/views.py b/playsms/views.py deleted file mode 100644 index 91ea44a..0000000 --- a/playsms/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 85795ee..0000000 --- a/requirements.txt +++ /dev/null @@ -1,16 +0,0 @@ -django[argon2] -mysqlclient -django-storages -boto3 -Pillow -django-polymorphic -django-phonenumber-field[phonenumbers] -django-bootstrap4 -wheel -git+https://kumig.it/kumisystems/django-dbsettings.git -celery -django-celery-results -django-celery-beat -python-memcached -django-countries -pyuca diff --git a/smsotp/__init__.py b/smsotp/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/smsotp/apps.py b/smsotp/apps.py deleted file mode 100644 index 1752306..0000000 --- a/smsotp/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class SmsotpConfig(AppConfig): - name = 'smsotp' diff --git a/smsotp/helpers.py b/smsotp/helpers.py deleted file mode 100644 index 1a85980..0000000 --- a/smsotp/helpers.py +++ /dev/null @@ -1,6 +0,0 @@ -from dbsettings.functions import getValue - -import random - -def generate_token(len=getValue("smsotp.length", 6), chars=getValue("smsotp.chars", "0123456789")): - return "".join(random.choices(chars, k=int(len))) \ No newline at end of file diff --git a/smsotp/models.py b/smsotp/models.py deleted file mode 100644 index 59f80c9..0000000 --- a/smsotp/models.py +++ /dev/null @@ -1,26 +0,0 @@ -from django.db.models import Model, CharField, ForeignKey, CASCADE, DateTimeField -from django.contrib.auth import get_user_model - -from dbsettings.functions import getValue - -from smsotp.helpers import generate_token -from core.modules.sms import get_default_sms_provider - -# Create your models here. - -class OTPToken(Model): - token = CharField(max_length=32, default=generate_token) - user = ForeignKey(get_user_model(), CASCADE) - creation = DateTimeField(auto_now_add=True) - - def send_sms(self, text=getValue("smsotp.text", "Your authentication token is:"), number=None): - if "_TOKEN_" in text: - text = text.replace("_TOKEN_", self.token) - else: - text = f"{text} {self.token}" - - number = number or self.user.profile.mobile - - provider = get_default_sms_provider() - - provider.sendSMS(str(number), text) \ No newline at end of file diff --git a/smsotp/otp.py b/smsotp/otp.py deleted file mode 100644 index 0be0192..0000000 --- a/smsotp/otp.py +++ /dev/null @@ -1,40 +0,0 @@ -from core.classes.otp import BaseOTPProvider -from smsotp.models import OTPToken -from core.modules.sms import get_default_sms_provider - -from dbsettings.functions import getValue - -from django.utils import timezone - -class SMSOTP(BaseOTPProvider): - @property - def get_name(self): - return "SMS OTP" - - def create_token(self, user): - token = OTPToken.objects.create(user=user) - try: - token.send_sms() - return True - except: - return False - - @property - def is_active(self): - return bool(get_default_sms_provider()) - - def start_authentication(self, user): - if self.create_token(user): - return "We have sent you an SMS containing your authentication token." - else: - return "An error has occurred, please try again later or contact the administrator." - - def validate_token(self, user, token): - try: - max_age = timezone.now() - timezone.timedelta(seconds=int(getValue("smsotp.max_age", "300"))) - OTPToken.objects.get(user=user, token=token, creation__gte=max_age).delete() - return True - except OTPToken.DoesNotExist: - return False - -OTPPROVIDERS = {"smsotp": SMSOTP} \ No newline at end of file diff --git a/smsotp/tests.py b/smsotp/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/smsotp/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/smsotp/views.py b/smsotp/views.py deleted file mode 100644 index 91ea44a..0000000 --- a/smsotp/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/static/backend/css/main.css b/static/backend/css/main.css deleted file mode 100644 index c3d5c53..0000000 --- a/static/backend/css/main.css +++ /dev/null @@ -1,24 +0,0 @@ -/*! - ========================================================= - * ArchitectUI HTML Theme Dashboard - v1.0.0 - ========================================================= - * Product Page: https://dashboardpack.com - * Copyright 2019 DashboardPack (https://dashboardpack.com) - * Licensed under MIT (https://github.com/DashboardPack/architectui-html-theme-free/blob/master/LICENSE) - ========================================================= - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - */.border-primary{border-color:#3f6ad8}.border-secondary{border-color:#6c757d}.border-success{border-color:#3ac47d}.border-info{border-color:#16aaff}.border-warning{border-color:#f7b924}.border-danger{border-color:#d92550}.border-light{border-color:#eee}.border-dark{border-color:#343a40}.border-focus{border-color:#444054}.border-alternate{border-color:#794c8a}.list-group-item-primary{color:#213770;background-color:#c9d5f4}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#213770;background-color:#b4c5f0}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#213770;border-color:#213770}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#1e6641;background-color:#c8eedb}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#1e6641;background-color:#b5e8ce}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1e6641;border-color:#1e6641}.list-group-item-info{color:#0b5885;background-color:#bee7ff}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0b5885;background-color:#a5deff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0b5885;border-color:#0b5885}.list-group-item-warning{color:#806013;background-color:#fdebc2}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#806013;background-color:#fce3a9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#806013;border-color:#806013}.list-group-item-danger{color:#71132a;background-color:#f4c2ce}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#71132a;background-color:#f0acbd}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#71132a;border-color:#71132a}.list-group-item-light{color:#7c7c7c;background-color:#fafafa}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#7c7c7c;background-color:#ededed}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#7c7c7c;border-color:#7c7c7c}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.list-group-item-focus{color:#23212c;background-color:#cbcacf}.list-group-item-focus.list-group-item-action:hover,.list-group-item-focus.list-group-item-action:focus{color:#23212c;background-color:#bebdc3}.list-group-item-focus.list-group-item-action.active{color:#fff;background-color:#23212c;border-color:#23212c}.list-group-item-alternate{color:#3f2848;background-color:#d9cdde}.list-group-item-alternate.list-group-item-action:hover,.list-group-item-alternate.list-group-item-action:focus{color:#3f2848;background-color:#cdbed4}.list-group-item-alternate.list-group-item-action.active{color:#fff;background-color:#3f2848;border-color:#3f2848}.bg-primary{background-color:#3f6ad8 !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#2651be !important}.bg-secondary{background-color:#6c757d !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#545b62 !important}.bg-success{background-color:#3ac47d !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#2e9d64 !important}.bg-info{background-color:#16aaff !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#0090e2 !important}.bg-warning{background-color:#f7b924 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#e0a008 !important}.bg-danger{background-color:#d92550 !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#ad1e40 !important}.bg-light{background-color:#eee !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#d5d5d5 !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#1d2124 !important}.bg-focus{background-color:#444054 !important}a.bg-focus:hover,a.bg-focus:focus,button.bg-focus:hover,button.bg-focus:focus{background-color:#2d2a37 !important}.bg-alternate{background-color:#794c8a !important}a.bg-alternate:hover,a.bg-alternate:focus,button.bg-alternate:hover,button.bg-alternate:focus{background-color:#5c3a69 !important}:root{--blue: #007bff;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #20c997;--cyan: #17a2b8;--white: #fff;--gray: #6c757d;--gray-dark: #343a40;--primary: #3f6ad8;--secondary: #6c757d;--success: #3ac47d;--info: #16aaff;--warning: #f7b924;--danger: #d92550;--light: #eee;--dark: #343a40;--focus: #444054;--alternate: #794c8a;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:.88rem;font-weight:400;line-height:1.5;color:#495057;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#3f6ad8;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):hover,a:not([href]):not([tabindex]):focus{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.55rem;padding-bottom:.55rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0;border-style:none}input[type="radio"],input[type="checkbox"]{box-sizing:border-box;padding:0}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:none}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;margin-bottom:1rem;background-color:rgba(0,0,0,0)}.table th,.table td{padding:.55rem;vertical-align:top;border-top:1px solid #e9ecef}.table thead th{vertical-align:bottom;border-bottom:2px solid #e9ecef}.table tbody+tbody{border-top:2px solid #e9ecef}.table .table{background-color:#fff}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #e9ecef}.table-bordered th,.table-bordered td{border:1px solid #e9ecef}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.03)}.table-hover tbody tr:hover{background-color:#e0f3ff}.table-primary,.table-primary>th,.table-primary>td{background-color:#c9d5f4}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#9bb2eb}.table-hover .table-primary:hover{background-color:#b4c5f0}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b4c5f0}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#d6d8db}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>th,.table-success>td{background-color:#c8eedb}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#99e0bb}.table-hover .table-success:hover{background-color:#b5e8ce}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b5e8ce}.table-info,.table-info>th,.table-info>td{background-color:#bee7ff}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#86d3ff}.table-hover .table-info:hover{background-color:#a5deff}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a5deff}.table-warning,.table-warning>th,.table-warning>td{background-color:#fdebc2}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#fbdb8d}.table-hover .table-warning:hover{background-color:#fce3a9}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#fce3a9}.table-danger,.table-danger>th,.table-danger>td{background-color:#f4c2ce}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#eb8ea4}.table-hover .table-danger:hover{background-color:#f0acbd}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f0acbd}.table-light,.table-light>th,.table-light>td{background-color:#fafafa}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#f6f6f6}.table-hover .table-light:hover{background-color:#ededed}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ededed}.table-dark,.table-dark>th,.table-dark>td{background-color:#c6c8ca}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-focus,.table-focus>th,.table-focus>td{background-color:#cbcacf}.table-focus th,.table-focus td,.table-focus thead th,.table-focus tbody+tbody{border-color:#9e9ca6}.table-hover .table-focus:hover{background-color:#bebdc3}.table-hover .table-focus:hover>td,.table-hover .table-focus:hover>th{background-color:#bebdc3}.table-alternate,.table-alternate>th,.table-alternate>td{background-color:#d9cdde}.table-alternate th,.table-alternate td,.table-alternate thead th,.table-alternate tbody+tbody{border-color:#b9a2c2}.table-hover .table-alternate:hover{background-color:#cdbed4}.table-hover .table-alternate:hover>td,.table-hover .table-alternate:hover>th{background-color:#cdbed4}.table-active,.table-active>th,.table-active>td{background-color:#e0f3ff}.table-hover .table-active:hover{background-color:#c7e9ff}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:#c7e9ff}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#6c757d;background-color:#f8f9fa;border-color:#e9ecef}.table-dark{color:#fff;background-color:#212529}.table-dark th,.table-dark td,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#a9bcee;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled ~ .form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#3ac47d}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(58,196,125,0.9);border-radius:.25rem}.was-validated .form-control:valid,.form-control.is-valid{border-color:#3ac47d;padding-right:2.25rem;background-repeat:no-repeat;background-position:center right calc(2.25rem / 4);background-size:calc(2.25rem / 2) calc(2.25rem / 2);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e")}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#3ac47d;box-shadow:0 0 0 .2rem rgba(58,196,125,0.25)}.was-validated .form-control:valid ~ .valid-feedback,.was-validated .form-control:valid ~ .valid-tooltip,.form-control.is-valid ~ .valid-feedback,.form-control.is-valid ~ .valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:2.25rem;background-position:top calc(2.25rem / 4) right calc(2.25rem / 4)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#3ac47d;padding-right:3.4375rem;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") no-repeat center right 1.75rem/1.125rem 1.125rem}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#3ac47d;box-shadow:0 0 0 .2rem rgba(58,196,125,0.25)}.was-validated .custom-select:valid ~ .valid-feedback,.was-validated .custom-select:valid ~ .valid-tooltip,.custom-select.is-valid ~ .valid-feedback,.custom-select.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control-file:valid ~ .valid-feedback,.was-validated .form-control-file:valid ~ .valid-tooltip,.form-control-file.is-valid ~ .valid-feedback,.form-control-file.is-valid ~ .valid-tooltip{display:block}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#3ac47d}.was-validated .form-check-input:valid ~ .valid-feedback,.was-validated .form-check-input:valid ~ .valid-tooltip,.form-check-input.is-valid ~ .valid-feedback,.form-check-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid ~ .custom-control-label,.custom-control-input.is-valid ~ .custom-control-label{color:#3ac47d}.was-validated .custom-control-input:valid ~ .custom-control-label::before,.custom-control-input.is-valid ~ .custom-control-label::before{border-color:#3ac47d}.was-validated .custom-control-input:valid ~ .valid-feedback,.was-validated .custom-control-input:valid ~ .valid-tooltip,.custom-control-input.is-valid ~ .valid-feedback,.custom-control-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,.custom-control-input.is-valid:checked ~ .custom-control-label::before{border-color:#61d097;background-color:#61d097}.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before,.custom-control-input.is-valid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(58,196,125,0.25)}.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before{border-color:#3ac47d}.was-validated .custom-file-input:valid ~ .custom-file-label,.custom-file-input.is-valid ~ .custom-file-label{border-color:#3ac47d}.was-validated .custom-file-input:valid ~ .valid-feedback,.was-validated .custom-file-input:valid ~ .valid-tooltip,.custom-file-input.is-valid ~ .valid-feedback,.custom-file-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-file-input:valid:focus ~ .custom-file-label,.custom-file-input.is-valid:focus ~ .custom-file-label{border-color:#3ac47d;box-shadow:0 0 0 .2rem rgba(58,196,125,0.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#d92550}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(217,37,80,0.9);border-radius:.25rem}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#d92550;padding-right:2.25rem;background-repeat:no-repeat;background-position:center right calc(2.25rem / 4);background-size:calc(2.25rem / 2) calc(2.25rem / 2);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E")}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#d92550;box-shadow:0 0 0 .2rem rgba(217,37,80,0.25)}.was-validated .form-control:invalid ~ .invalid-feedback,.was-validated .form-control:invalid ~ .invalid-tooltip,.form-control.is-invalid ~ .invalid-feedback,.form-control.is-invalid ~ .invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:2.25rem;background-position:top calc(2.25rem / 4) right calc(2.25rem / 4)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#d92550;padding-right:3.4375rem;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") no-repeat center right 1.75rem/1.125rem 1.125rem}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#d92550;box-shadow:0 0 0 .2rem rgba(217,37,80,0.25)}.was-validated .custom-select:invalid ~ .invalid-feedback,.was-validated .custom-select:invalid ~ .invalid-tooltip,.custom-select.is-invalid ~ .invalid-feedback,.custom-select.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control-file:invalid ~ .invalid-feedback,.was-validated .form-control-file:invalid ~ .invalid-tooltip,.form-control-file.is-invalid ~ .invalid-feedback,.form-control-file.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#d92550}.was-validated .form-check-input:invalid ~ .invalid-feedback,.was-validated .form-check-input:invalid ~ .invalid-tooltip,.form-check-input.is-invalid ~ .invalid-feedback,.form-check-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid ~ .custom-control-label,.custom-control-input.is-invalid ~ .custom-control-label{color:#d92550}.was-validated .custom-control-input:invalid ~ .custom-control-label::before,.custom-control-input.is-invalid ~ .custom-control-label::before{border-color:#d92550}.was-validated .custom-control-input:invalid ~ .invalid-feedback,.was-validated .custom-control-input:invalid ~ .invalid-tooltip,.custom-control-input.is-invalid ~ .invalid-feedback,.custom-control-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,.custom-control-input.is-invalid:checked ~ .custom-control-label::before{border-color:#e15073;background-color:#e15073}.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before,.custom-control-input.is-invalid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(217,37,80,0.25)}.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before{border-color:#d92550}.was-validated .custom-file-input:invalid ~ .custom-file-label,.custom-file-input.is-invalid ~ .custom-file-label{border-color:#d92550}.was-validated .custom-file-input:invalid ~ .invalid-feedback,.was-validated .custom-file-input:invalid ~ .invalid-tooltip,.custom-file-input.is-invalid ~ .invalid-feedback,.custom-file-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,.custom-file-input.is-invalid:focus ~ .custom-file-label{border-color:#d92550;box-shadow:0 0 0 .2rem rgba(217,37,80,0.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#495057;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color 0.15s,background-color 0.15s,border-color 0.15s,box-shadow 0.15s}@media screen and (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#495057;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#3f6ad8;border-color:#3f6ad8}.btn-primary:hover{color:#fff;background-color:#2955c8;border-color:#2651be}.btn-primary:focus,.btn-primary.focus{box-shadow:0 0 0 0 rgba(92,128,222,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#3f6ad8;border-color:#3f6ad8}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#2651be;border-color:#244cb3}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(92,128,222,0.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary:focus,.btn-secondary.focus{box-shadow:0 0 0 0 rgba(130,138,145,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(130,138,145,0.5)}.btn-success{color:#fff;background-color:#3ac47d;border-color:#3ac47d}.btn-success:hover{color:#fff;background-color:#31a66a;border-color:#2e9d64}.btn-success:focus,.btn-success.focus{box-shadow:0 0 0 0 rgba(88,205,145,0.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#3ac47d;border-color:#3ac47d}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#2e9d64;border-color:#2b935e}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(88,205,145,0.5)}.btn-info{color:#fff;background-color:#16aaff;border-color:#16aaff}.btn-info:hover{color:#fff;background-color:#0098ef;border-color:#0090e2}.btn-info:focus,.btn-info.focus{box-shadow:0 0 0 0 rgba(57,183,255,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#16aaff;border-color:#16aaff}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0090e2;border-color:#0087d5}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(57,183,255,0.5)}.btn-warning{color:#212529;background-color:#f7b924;border-color:#f7b924}.btn-warning:hover{color:#212529;background-color:#eca909;border-color:#e0a008}.btn-warning:focus,.btn-warning.focus{box-shadow:0 0 0 0 rgba(215,163,37,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#f7b924;border-color:#f7b924}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#e0a008;border-color:#d49808}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(215,163,37,0.5)}.btn-danger{color:#fff;background-color:#d92550;border-color:#d92550}.btn-danger:hover{color:#fff;background-color:#b81f44;border-color:#ad1e40}.btn-danger:focus,.btn-danger.focus{box-shadow:0 0 0 0 rgba(223,70,106,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#d92550;border-color:#d92550}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#ad1e40;border-color:#a31c3c}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(223,70,106,0.5)}.btn-light{color:#212529;background-color:#eee;border-color:#eee}.btn-light:hover{color:#212529;background-color:#dbdbdb;border-color:#d5d5d5}.btn-light:focus,.btn-light.focus{box-shadow:0 0 0 0 rgba(207,208,208,0.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#eee;border-color:#eee}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#d5d5d5;border-color:#cecece}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(207,208,208,0.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark:focus,.btn-dark.focus{box-shadow:0 0 0 0 rgba(82,88,93,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(82,88,93,0.5)}.btn-focus{color:#fff;background-color:#444054;border-color:#444054}.btn-focus:hover{color:#fff;background-color:#322f3e;border-color:#2d2a37}.btn-focus:focus,.btn-focus.focus{box-shadow:0 0 0 0 rgba(96,93,110,0.5)}.btn-focus.disabled,.btn-focus:disabled{color:#fff;background-color:#444054;border-color:#444054}.btn-focus:not(:disabled):not(.disabled):active,.btn-focus:not(:disabled):not(.disabled).active,.show>.btn-focus.dropdown-toggle{color:#fff;background-color:#2d2a37;border-color:#272430}.btn-focus:not(:disabled):not(.disabled):active:focus,.btn-focus:not(:disabled):not(.disabled).active:focus,.show>.btn-focus.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(96,93,110,0.5)}.btn-alternate{color:#fff;background-color:#794c8a;border-color:#794c8a}.btn-alternate:hover{color:#fff;background-color:#633e71;border-color:#5c3a69}.btn-alternate:focus,.btn-alternate.focus{box-shadow:0 0 0 0 rgba(141,103,156,0.5)}.btn-alternate.disabled,.btn-alternate:disabled{color:#fff;background-color:#794c8a;border-color:#794c8a}.btn-alternate:not(:disabled):not(.disabled):active,.btn-alternate:not(:disabled):not(.disabled).active,.show>.btn-alternate.dropdown-toggle{color:#fff;background-color:#5c3a69;border-color:#553561}.btn-alternate:not(:disabled):not(.disabled):active:focus,.btn-alternate:not(:disabled):not(.disabled).active:focus,.show>.btn-alternate.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(141,103,156,0.5)}.btn-outline-primary{color:#3f6ad8;border-color:#3f6ad8}.btn-outline-primary:hover{color:#fff;background-color:#3f6ad8;border-color:#3f6ad8}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 0 rgba(63,106,216,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#3f6ad8;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#3f6ad8;border-color:#3f6ad8}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(63,106,216,0.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 0 rgba(108,117,125,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(108,117,125,0.5)}.btn-outline-success{color:#3ac47d;border-color:#3ac47d}.btn-outline-success:hover{color:#fff;background-color:#3ac47d;border-color:#3ac47d}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 0 rgba(58,196,125,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#3ac47d;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#3ac47d;border-color:#3ac47d}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(58,196,125,0.5)}.btn-outline-info{color:#16aaff;border-color:#16aaff}.btn-outline-info:hover{color:#fff;background-color:#16aaff;border-color:#16aaff}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 0 rgba(22,170,255,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#16aaff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#16aaff;border-color:#16aaff}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(22,170,255,0.5)}.btn-outline-warning{color:#f7b924;border-color:#f7b924}.btn-outline-warning:hover{color:#212529;background-color:#f7b924;border-color:#f7b924}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 0 rgba(247,185,36,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f7b924;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#f7b924;border-color:#f7b924}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(247,185,36,0.5)}.btn-outline-danger{color:#d92550;border-color:#d92550}.btn-outline-danger:hover{color:#fff;background-color:#d92550;border-color:#d92550}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 0 rgba(217,37,80,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d92550;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d92550;border-color:#d92550}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(217,37,80,0.5)}.btn-outline-light{color:#eee;border-color:#eee}.btn-outline-light:hover{color:#212529;background-color:#eee;border-color:#eee}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 0 rgba(238,238,238,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#eee;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#eee;border-color:#eee}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(238,238,238,0.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 0 rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(52,58,64,0.5)}.btn-outline-focus{color:#444054;border-color:#444054}.btn-outline-focus:hover{color:#fff;background-color:#444054;border-color:#444054}.btn-outline-focus:focus,.btn-outline-focus.focus{box-shadow:0 0 0 0 rgba(68,64,84,0.5)}.btn-outline-focus.disabled,.btn-outline-focus:disabled{color:#444054;background-color:transparent}.btn-outline-focus:not(:disabled):not(.disabled):active,.btn-outline-focus:not(:disabled):not(.disabled).active,.show>.btn-outline-focus.dropdown-toggle{color:#fff;background-color:#444054;border-color:#444054}.btn-outline-focus:not(:disabled):not(.disabled):active:focus,.btn-outline-focus:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-focus.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(68,64,84,0.5)}.btn-outline-alternate{color:#794c8a;border-color:#794c8a}.btn-outline-alternate:hover{color:#fff;background-color:#794c8a;border-color:#794c8a}.btn-outline-alternate:focus,.btn-outline-alternate.focus{box-shadow:0 0 0 0 rgba(121,76,138,0.5)}.btn-outline-alternate.disabled,.btn-outline-alternate:disabled{color:#794c8a;background-color:transparent}.btn-outline-alternate:not(:disabled):not(.disabled):active,.btn-outline-alternate:not(:disabled):not(.disabled).active,.show>.btn-outline-alternate.dropdown-toggle{color:#fff;background-color:#794c8a;border-color:#794c8a}.btn-outline-alternate:not(:disabled):not(.disabled):active:focus,.btn-outline-alternate:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-alternate.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(121,76,138,0.5)}.btn-link{font-weight:400;color:#3f6ad8}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#6c757d;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{transition:opacity 0.15s linear}@media screen and (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height 0.35s ease}@media screen and (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:15rem;padding:.65rem 0;margin:.125rem 0 0;font-size:.88rem;color:#495057;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-right{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-right{right:0;left:auto}}.dropdown-menu-left{right:auto;left:0}@media (min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}}@media (min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}}@media (min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}}@media (min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^="top"],.dropdown-menu[x-placement^="right"],.dropdown-menu[x-placement^="bottom"],.dropdown-menu[x-placement^="left"]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.4rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:first-child{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.dropdown-item:last-child{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.dropdown-item:hover,.dropdown-item:focus{color:#16181b;text-decoration:none;background-color:#e0f3ff}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#3f6ad8}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.65rem 1.5rem;margin-bottom:0;font-size:.968rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.4rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type="radio"],.btn-group-toggle>.btn input[type="checkbox"],.btn-group-toggle>.btn-group>.btn input[type="radio"],.btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus ~ .custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:.88rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#eff9ff;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type="radio"],.input-group-text input[type="checkbox"]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(2.875rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.8125rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.32rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked ~ .custom-control-label::before{color:#fff;border-color:#007bff;background-color:#3f6ad8}.custom-control-input:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.custom-control-input:focus:not(:checked) ~ .custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active ~ .custom-control-label::before{color:#fff;background-color:#d3ddf6;border-color:#b3d7ff}.custom-control-input:disabled ~ .custom-control-label{color:#6c757d}.custom-control-input:disabled ~ .custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.16rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.16rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before{border-color:#007bff;background-color:#3f6ad8}.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(63,106,216,0.5)}.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before{background-color:rgba(63,106,216,0.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(63,106,216,0.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.16rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked ~ .custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(63,106,216,0.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(128,189,255,0.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus ~ .custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.custom-file-input:disabled ~ .custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en) ~ .custom-file-label::after{content:"Browse"}.custom-file-input ~ .custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,0.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#3f6ad8;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#d3ddf6}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#3f6ad8;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#d3ddf6}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#3f6ad8;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#d3ddf6}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#3f6ad8}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,0.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,0.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,0.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,0.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,0.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,0.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,0.5);border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0,0,0,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,0.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,0.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,0.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(26,54,126,0.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;color:inherit;background-color:#fff;border-bottom:1px solid rgba(26,54,126,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:#fff;border-top:1px solid rgba(26,54,126,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-img-top,.card-group>.card:first-child .card-header{border-top-right-radius:0}.card-group>.card:first-child .card-img-bottom,.card-group>.card:first-child .card-footer{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-img-top,.card-group>.card:last-child .card-header{border-top-left-radius:0}.card-group>.card:last-child .card-img-bottom,.card-group>.card:last-child .card-footer{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-img-top,.card-group>.card:only-child .card-header{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-img-bottom,.card-group>.card:only-child .card-footer{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card{overflow:hidden}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion .card .card-header{margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:none}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link,.pagination .page-number:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link,.pagination .page-number:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link,.pagination .active.page-number .page-link{z-index:1;color:#fff;background-color:#3f6ad8;border-color:#007bff}.page-item.disabled .page-link,.pagination .disabled.page-number .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.1rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link,.pagination-lg .pagination .page-number:first-child .page-link,.pagination .pagination-lg .page-number:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link,.pagination-lg .pagination .page-number:last-child .page-link,.pagination .pagination-lg .page-number:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.968rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link,.pagination-sm .pagination .page-number:first-child .page-link,.pagination .pagination-sm .page-number:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link,.pagination-sm .pagination .page-number:last-child .page-link,.pagination .pagination-sm .page-number:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#3f6ad8}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#2651be}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#545b62}.badge-success{color:#fff;background-color:#3ac47d}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#2e9d64}.badge-info{color:#fff;background-color:#16aaff}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#0090e2}.badge-warning{color:#212529;background-color:#f7b924}a.badge-warning:hover,a.badge-warning:focus{color:#212529;background-color:#e0a008}.badge-danger{color:#fff;background-color:#d92550}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#ad1e40}.badge-light{color:#212529;background-color:#eee}a.badge-light:hover,a.badge-light:focus{color:#212529;background-color:#d5d5d5}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#1d2124}.badge-focus{color:#fff;background-color:#444054}a.badge-focus:hover,a.badge-focus:focus{color:#fff;background-color:#2d2a37}.badge-alternate{color:#fff;background-color:#794c8a}a.badge-alternate:hover,a.badge-alternate:focus{color:#fff;background-color:#5c3a69}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#213770;background-color:#d9e1f7;border-color:#c9d5f4}.alert-primary hr{border-top-color:#b4c5f0}.alert-primary .alert-link{color:#152449}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#1e6641;background-color:#d8f3e5;border-color:#c8eedb}.alert-success hr{border-top-color:#b5e8ce}.alert-success .alert-link{color:#123f28}.alert-info{color:#0b5885;background-color:#d0eeff;border-color:#bee7ff}.alert-info hr{border-top-color:#a5deff}.alert-info .alert-link{color:#073956}.alert-warning{color:#806013;background-color:#fdf1d3;border-color:#fdebc2}.alert-warning hr{border-top-color:#fce3a9}.alert-warning .alert-link{color:#543f0c}.alert-danger{color:#71132a;background-color:#f7d3dc;border-color:#f4c2ce}.alert-danger hr{border-top-color:#f0acbd}.alert-danger .alert-link{color:#450c1a}.alert-light{color:#7c7c7c;background-color:#fcfcfc;border-color:#fafafa}.alert-light hr{border-top-color:#ededed}.alert-light .alert-link{color:#636363}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}.alert-focus{color:#23212c;background-color:#dad9dd;border-color:#cbcacf}.alert-focus hr{border-top-color:#bebdc3}.alert-focus .alert-link{color:#0c0b0f}.alert-alternate{color:#3f2848;background-color:#e4dbe8;border-color:#d9cdde}.alert-alternate hr{border-top-color:#cdbed4}.alert-alternate .alert-link{color:#221627}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#3f6ad8;transition:width 0.6s ease}@media screen and (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:hover,.list-group-item:focus{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#3f6ad8;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#213770;background-color:#c9d5f4}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#213770;background-color:#b4c5f0}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#213770;border-color:#213770}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#1e6641;background-color:#c8eedb}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#1e6641;background-color:#b5e8ce}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1e6641;border-color:#1e6641}.list-group-item-info{color:#0b5885;background-color:#bee7ff}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0b5885;background-color:#a5deff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0b5885;border-color:#0b5885}.list-group-item-warning{color:#806013;background-color:#fdebc2}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#806013;background-color:#fce3a9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#806013;border-color:#806013}.list-group-item-danger{color:#71132a;background-color:#f4c2ce}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#71132a;background-color:#f0acbd}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#71132a;border-color:#71132a}.list-group-item-light{color:#7c7c7c;background-color:#fafafa}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#7c7c7c;background-color:#ededed}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#7c7c7c;border-color:#7c7c7c}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.list-group-item-focus{color:#23212c;background-color:#cbcacf}.list-group-item-focus.list-group-item-action:hover,.list-group-item-focus.list-group-item-action:focus{color:#23212c;background-color:#bebdc3}.list-group-item-focus.list-group-item-action.active{color:#fff;background-color:#23212c;border-color:#23212c}.list-group-item-alternate{color:#3f2848;background-color:#d9cdde}.list-group-item-alternate.list-group-item-action:hover,.list-group-item-alternate.list-group-item-action:focus{color:#3f2848;background-color:#cdbed4}.list-group-item-alternate.list-group-item-action.active{color:#fff;background-color:#3f2848;border-color:#3f2848}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);border-radius:.25rem;box-shadow:0 0.25rem 0.75rem rgba(0,0,0,0.1);backdrop-filter:blur(10px);opacity:0}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,0.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media screen and (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (.5rem * 2));content:""}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^="top"]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^="top"] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^="top"] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^="right"]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^="right"] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^="right"] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^="bottom"]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^="bottom"] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^="bottom"] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^="left"]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^="left"] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^="left"] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:320px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(26,54,126,0.125);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^="top"]{margin-bottom:.5rem}.bs-popover-top .arrow,.bs-popover-auto[x-placement^="top"] .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-top .arrow::before,.bs-popover-auto[x-placement^="top"] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-auto[x-placement^="top"] .arrow::after{border-width:.5rem .5rem 0}.bs-popover-top .arrow::before,.bs-popover-auto[x-placement^="top"] .arrow::before{bottom:0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top .arrow::after,.bs-popover-auto[x-placement^="top"] .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^="right"]{margin-left:.5rem}.bs-popover-right .arrow,.bs-popover-auto[x-placement^="right"] .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right .arrow::before,.bs-popover-auto[x-placement^="right"] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-auto[x-placement^="right"] .arrow::after{border-width:.5rem .5rem .5rem 0}.bs-popover-right .arrow::before,.bs-popover-auto[x-placement^="right"] .arrow::before{left:0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-right .arrow::after,.bs-popover-auto[x-placement^="right"] .arrow::after{left:1px;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^="bottom"]{margin-top:.5rem}.bs-popover-bottom .arrow,.bs-popover-auto[x-placement^="bottom"] .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-bottom .arrow::before,.bs-popover-auto[x-placement^="bottom"] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-auto[x-placement^="bottom"] .arrow::after{border-width:0 .5rem .5rem .5rem}.bs-popover-bottom .arrow::before,.bs-popover-auto[x-placement^="bottom"] .arrow::before{top:0;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom .arrow::after,.bs-popover-auto[x-placement^="bottom"] .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #fff}.bs-popover-left,.bs-popover-auto[x-placement^="left"]{margin-right:.5rem}.bs-popover-left .arrow,.bs-popover-auto[x-placement^="left"] .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left .arrow::before,.bs-popover-auto[x-placement^="left"] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-auto[x-placement^="left"] .arrow::after{border-width:.5rem 0 .5rem .5rem}.bs-popover-left .arrow::before,.bs-popover-auto[x-placement^="left"] .arrow::before{right:0;border-left-color:rgba(0,0,0,0.25)}.bs-popover-left .arrow::after,.bs-popover-auto[x-placement^="left"] .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:.88rem;color:inherit;background-color:#fff;border-bottom:1px solid #f2f2f2;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media screen and (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity 0.15s ease}@media screen and (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media screen and (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#3f6ad8 !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#2651be !important}.bg-secondary{background-color:#6c757d !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#545b62 !important}.bg-success{background-color:#3ac47d !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#2e9d64 !important}.bg-info{background-color:#16aaff !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#0090e2 !important}.bg-warning{background-color:#f7b924 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#e0a008 !important}.bg-danger{background-color:#d92550 !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#ad1e40 !important}.bg-light{background-color:#eee !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#d5d5d5 !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#1d2124 !important}.bg-focus{background-color:#444054 !important}a.bg-focus:hover,a.bg-focus:focus,button.bg-focus:hover,button.bg-focus:focus{background-color:#2d2a37 !important}.bg-alternate{background-color:#794c8a !important}a.bg-alternate:hover,a.bg-alternate:focus,button.bg-alternate:hover,button.bg-alternate:focus{background-color:#5c3a69 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #dee2e6 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-right{border-right:1px solid #dee2e6 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-left{border-left:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#3f6ad8 !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#3ac47d !important}.border-info{border-color:#16aaff !important}.border-warning{border-color:#f7b924 !important}.border-danger{border-color:#d92550 !important}.border-light{border-color:#eee !important}.border-dark{border-color:#343a40 !important}.border-focus{border-color:#444054 !important}.border-alternate{border-color:#794c8a !important}.border-white{border-color:#fff !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-3by4::before{padding-top:133.33333%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#3f6ad8 !important}a.text-primary:hover,a.text-primary:focus{color:#2248a8 !important}.text-secondary{color:#6c757d !important}a.text-secondary:hover,a.text-secondary:focus{color:#494f54 !important}.text-success{color:#3ac47d !important}a.text-success:hover,a.text-success:focus{color:#298957 !important}.text-info{color:#16aaff !important}a.text-info:hover,a.text-info:focus{color:#007fc9 !important}.text-warning{color:#f7b924 !important}a.text-warning:hover,a.text-warning:focus{color:#c78f07 !important}.text-danger{color:#d92550 !important}a.text-danger:hover,a.text-danger:focus{color:#981a38 !important}.text-light{color:#eee !important}a.text-light:hover,a.text-light:focus{color:#c8c8c8 !important}.text-dark{color:#343a40 !important}a.text-dark:hover,a.text-dark:focus{color:#121416 !important}.text-focus{color:#444054 !important}a.text-focus:hover,a.text-focus:focus{color:#211f29 !important}.text-alternate{color:#794c8a !important}a.text-alternate:hover,a.text-alternate:focus{color:#4e3159 !important}.text-body{color:#495057 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}a,button,.btn{outline:none !important}.app-container{display:flex;min-height:100vh;flex-direction:column;margin:0}.table th,.table td{vertical-align:middle}.app-header{height:60px;display:flex;align-items:center;align-content:center;position:relative;z-index:10;transition:all .2s}.app-header.header-shadow{box-shadow:0 0.46875rem 2.1875rem rgba(4,9,20,0.03),0 0.9375rem 1.40625rem rgba(4,9,20,0.03),0 0.25rem 0.53125rem rgba(4,9,20,0.05),0 0.125rem 0.1875rem rgba(4,9,20,0.03)}.app-header .app-header__content{display:flex;align-items:center;align-content:center;flex:1;padding:0 1.5rem;height:60px}.app-header .app-header__content .app-header-left{display:flex;align-items:center}.app-header .app-header__content .header-menu .nav-link{color:#6c757d}.app-header .app-header__content .header-menu .nav-link i{color:#adb5bd}.app-header .app-header__content .header-menu .nav-link:hover{color:#212529}.app-header .app-header__content .app-header-right{align-items:center;display:flex;margin-left:auto}.app-header .header-user-info>.widget-heading,.app-header .header-user-info>.widget-subheading{white-space:nowrap}.app-header .header-user-info>.widget-subheading{font-size:.8rem}.app-header__logo{padding:0 1.5rem;height:60px;width:280px;display:flex;align-items:center;transition:width .2s}.app-header__logo .logo-src{height:23px;width:97px;}.app-header__menu,.app-header__mobile-menu{display:none;padding:0 1.5rem;height:60px;align-items:center}.fixed-header .app-header{position:fixed;width:100%;top:0}.fixed-header .app-header .app-header__logo{visibility:visible}.fixed-header .app-main{padding-top:60px}.fixed-header:not(.fixed-sidebar):not(.closed-sidebar) .app-sidebar .app-header__logo{visibility:hidden}.app-header.header-text-light .app-header-left>.nav>li>.nav-link{color:rgba(255,255,255,0.7)}.app-header.header-text-light .app-header-left>.nav>li>.nav-link .nav-link-icon{color:rgba(255,255,255,0.8)}.app-header.header-text-light .app-header-left>.nav>li>.nav-link:hover{color:#fff}.app-header.header-text-light .app-header-right .icon-wrapper-alt .fa,.app-header.header-text-light .app-header-right .icon-wrapper-alt .icon{color:rgba(255,255,255,0.7) !important;transition:all .2s}.app-header.header-text-light .app-header-right .icon-wrapper-alt .icon-wrapper-bg{background:rgba(255,255,255,0.1) !important;transition:all .2s;opacity:1}.app-header.header-text-light .app-header-right .icon-wrapper-alt:hover .fa,.app-header.header-text-light .app-header-right .icon-wrapper-alt:hover .icon{color:rgba(255,255,255,0.9) !important}.app-header.header-text-light .app-header-right .icon-wrapper-alt:hover .icon-wrapper-bg{background:rgba(255,255,255,0.15) !important}.app-header.header-text-light .app-header-right .icon-wrapper-alt .badge-dot{border-color:transparent}.app-header.header-text-light .app-header-right>.header-btn-lg .widget-content-left .btn-group>.btn,.app-header.header-text-light .app-header-right>.header-btn-lg .widget-heading,.app-header.header-text-light .app-header-right>.header-btn-lg .widget-subheading{color:rgba(255,255,255,0.8)}.app-header.header-text-light .app-header-right>.header-btn-lg .header-user-info>.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(0,0,0,0.1),0 0.0625rem 0.125rem rgba(0,0,0,0.2)}.app-header.header-text-light .search-wrapper .input-holder .search-icon{background:rgba(0,0,0,0.1)}.app-header.header-text-light .search-wrapper .input-holder .search-input::placeholder,.app-header.header-text-light .search-wrapper .input-holder .search-input::-webkit-input-placeholder,.app-header.header-text-light .search-wrapper .input-holder .search-input:-ms-input-placeholder,.app-header.header-text-light .search-wrapper .input-holder .search-input:-moz-placeholder,.app-header.header-text-light .search-wrapper .input-holder .search-input::-moz-placeholder{color:rgba(255,255,255,0.5) !important}.app-header.header-text-light .search-wrapper.active .input-holder{background:rgba(255,255,255,0.1)}.app-header.header-text-light .search-wrapper.active .input-holder .search-input{color:rgba(255,255,255,0.8)}.app-header.header-text-light .search-wrapper.active .input-holder .search-icon{background:rgba(255,255,255,0.1)}.app-header.header-text-light .header-btn-lg::before{background:rgba(255,255,255,0.2)}.app-header.header-text-light .header-btn-lg .hamburger-inner,.app-header.header-text-light .header-btn-lg .hamburger.is-active .hamburger-inner,.app-header.header-text-light .header-btn-lg .hamburger-inner::before,.app-header.header-text-light .header-btn-lg .hamburger-inner::after,.app-header.header-text-light .header__pane .hamburger-inner,.app-header.header-text-light .header__pane .hamburger.is-active .hamburger-inner,.app-header.header-text-light .header__pane .hamburger-inner::before,.app-header.header-text-light .header__pane .hamburger-inner::after{background-color:rgba(255,255,255,0.8) !important}.app-header.header-text-light .search-wrapper .input-holder .search-icon span::after{border-color:rgba(255,255,255,0.8)}.app-header.header-text-light .search-wrapper .close::before,.app-header.header-text-light .search-wrapper .close::after,.app-header.header-text-light .search-wrapper .input-holder .search-icon span::before{background:rgba(255,255,255,0.8)}.app-header.header-text-light .app-header__logo .logo-src{background:url(/static/backend/images/logo.png)}.app-header.header-text-light .app-header__mobile-menu .hamburger-inner,.app-header.header-text-light .app-header__mobile-menu .hamburger-inner::before,.app-header.header-text-light .app-header__mobile-menu .hamburger-inner::after{background:rgba(255,255,255,0.9)}.app-header.header-text-dark .app-header-left>.nav>li>.nav-link{color:rgba(0,0,0,0.7)}.app-header.header-text-dark .app-header-left>.nav>li>.nav-link .nav-link-icon{color:rgba(0,0,0,0.8)}.app-header.header-text-dark .app-header-left>.nav>li>.nav-link:hover{color:#000}.app-header.header-text-dark .app-header-right .icon-wrapper-alt .fa,.app-header.header-text-dark .app-header-right .icon-wrapper-alt .icon{color:rgba(0,0,0,0.7) !important;transition:all .2s}.app-header.header-text-dark .app-header-right .icon-wrapper-alt .icon-wrapper-bg{background:rgba(0,0,0,0.1) !important;transition:all .2s;opacity:1}.app-header.header-text-dark .app-header-right .icon-wrapper-alt:hover .fa,.app-header.header-text-dark .app-header-right .icon-wrapper-alt:hover .icon{color:rgba(0,0,0,0.95) !important}.app-header.header-text-dark .app-header-right .icon-wrapper-alt:hover .icon-wrapper-bg{background:rgba(0,0,0,0.15) !important}.app-header.header-text-dark .app-header-right .icon-wrapper-alt .badge-dot{border-color:transparent}.app-header.header-text-dark .app-header-right>.header-btn-lg .widget-content-left .btn-group>.btn,.app-header.header-text-dark .app-header-right>.header-btn-lg .widget-heading,.app-header.header-text-dark .app-header-right>.header-btn-lg .widget-subheading{color:rgba(0,0,0,0.8)}.app-header.header-text-dark .app-header-right>.header-btn-lg .header-user-info>.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(0,0,0,0.1),0 0.0625rem 0.125rem rgba(0,0,0,0.2)}.app-header.header-text-dark .search-wrapper .input-holder .search-icon{background:rgba(0,0,0,0.1)}.app-header.header-text-dark .search-wrapper.active .input-holder{background:rgba(0,0,0,0.1)}.app-header.header-text-dark .search-wrapper.active .input-holder .search-input{color:rgba(0,0,0,0.8)}.app-header.header-text-dark .search-wrapper.active .input-holder .search-icon{background:rgba(0,0,0,0.1)}.app-header.header-text-dark .header-btn-lg::before{background:rgba(0,0,0,0.2)}.app-header.header-text-dark .header-btn-lg .hamburger-inner,.app-header.header-text-dark .header-btn-lg .hamburger.is-active .hamburger-inner,.app-header.header-text-dark .header-btn-lg .hamburger-inner::before,.app-header.header-text-dark .header-btn-lg .hamburger-inner::after,.app-header.header-text-dark .header__pane .hamburger-inner,.app-header.header-text-dark .header__pane .hamburger.is-active .hamburger-inner,.app-header.header-text-dark .header__pane .hamburger-inner::before,.app-header.header-text-dark .header__pane .hamburger-inner::after{background-color:rgba(0,0,0,0.8) !important}.app-header.header-text-dark .search-wrapper .input-holder .search-icon span::after{border-color:rgba(0,0,0,0.8)}.app-header.header-text-dark .search-wrapper .close::before,.app-header.header-text-dark .search-wrapper .close::after,.app-header.header-text-dark .search-wrapper .input-holder .search-icon span::before{background:rgba(0,0,0,0.8)}.app-header.header-text-dark .app-header__logo .logo-src{background:url(/static/backend/images/logo-inverse.png)}.app-sidebar{width:280px;display:flex;z-index:11;overflow:hidden;min-width:280px;position:relative;flex:0 0 280px;margin-top:-60px;padding-top:60px;transition:all .2s}.app-sidebar .app-sidebar__inner{padding:2px 1.5rem 1.5rem}.app-sidebar .scrollbar-sidebar{z-index:15;width:100%}.app-sidebar .app-sidebar-bg{position:absolute;left:0;top:0;height:100%;width:100%;opacity:0.05;background-size:cover;z-index:10}.app-sidebar .app-header__logo{position:absolute;left:0;top:0;display:none;z-index:11}.app-sidebar.sidebar-shadow{box-shadow:7px 0 60px rgba(0,0,0,0.05)}.app-sidebar__heading{text-transform:uppercase;font-size:.8rem;margin:.75rem 0;font-weight:bold;color:#3f6ad8;white-space:nowrap;position:relative}.sidebar-mobile-overlay{display:none;position:fixed;width:100%;height:100%;background:#333;opacity:.6;left:0;top:0;z-index:12}.vertical-nav-menu{margin:0;padding:0;position:relative;list-style:none}.vertical-nav-menu::after{content:" ";pointer-events:none;position:absolute;bottom:0;left:0;right:0;top:0}.vertical-nav-menu .mm-collapse:not(.mm-show){display:none}.vertical-nav-menu .mm-collapsing{position:relative;height:0;overflow:hidden;transition-timing-function:ease;transition-duration:.25s;transition-property:height, visibility}.vertical-nav-menu ul{margin:0;padding:0;position:relative;list-style:none}.vertical-nav-menu:before{opacity:0;transition:opacity 300ms}.vertical-nav-menu li a{display:block;line-height:2.4rem;height:2.4rem;padding:0 1.5rem 0 45px;position:relative;border-radius:.25rem;color:#343a40;white-space:nowrap;transition:all .2s;margin:.1rem 0}.vertical-nav-menu li a:hover{background:#e0f3ff;text-decoration:none}.vertical-nav-menu li a:hover i.metismenu-icon{opacity:.6}.vertical-nav-menu li a:hover i.metismenu-state-icon{opacity:1}.vertical-nav-menu li.mm-active>a{font-weight:bold}.vertical-nav-menu li.mm-active>a i.metismenu-state-icon{transform:rotate(-180deg)}.vertical-nav-menu li a.mm-active{color:#343a40;background:#e0f3ff;font-weight:bold}.vertical-nav-menu i.metismenu-state-icon,.vertical-nav-menu i.metismenu-icon{text-align:center;width:34px;height:34px;line-height:34px;position:absolute;left:5px;top:50%;margin-top:-17px;font-size:1.5rem;opacity:.3;transition:color 300ms}.vertical-nav-menu i.metismenu-state-icon{transition:transform 300ms;left:auto;right:0}.vertical-nav-menu ul{transition:padding 300ms;padding:.5em 0 0 2rem}.vertical-nav-menu ul:before{content:'';height:100%;opacity:1;width:3px;background:#e0f3ff;position:absolute;left:20px;top:0;border-radius:15px}.vertical-nav-menu ul>li>a{color:#6c757d;height:2rem;line-height:2rem;padding:0 1.5rem 0}.vertical-nav-menu ul>li>a:hover{color:#3f6ad8}.vertical-nav-menu ul>li>a .metismenu-icon{display:none}.vertical-nav-menu ul>li>a.mm-active{color:#3f6ad8;background:#e0f3ff;font-weight:bold}.app-sidebar.sidebar-text-light{border-right:0 !important}.app-sidebar.sidebar-text-light .app-sidebar__heading{color:rgba(255,255,255,0.6)}.app-sidebar.sidebar-text-light .app-sidebar__heading::before{background:rgba(255,255,255,0.5) !important}.app-sidebar.sidebar-text-light .vertical-nav-menu li a{color:rgba(255,255,255,0.7)}.app-sidebar.sidebar-text-light .vertical-nav-menu li a i.metismenu-icon{opacity:.5}.app-sidebar.sidebar-text-light .vertical-nav-menu li a i.metismenu-state-icon{opacity:.5}.app-sidebar.sidebar-text-light .vertical-nav-menu li a:hover{background:rgba(255,255,255,0.15);color:#fff}.app-sidebar.sidebar-text-light .vertical-nav-menu li a:hover i.metismenu-icon{opacity:.8}.app-sidebar.sidebar-text-light .vertical-nav-menu li a:hover i.metismenu-state-icon{opacity:1}.app-sidebar.sidebar-text-light .vertical-nav-menu li a.mm-active{color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.15)}.app-sidebar.sidebar-text-light .vertical-nav-menu ul:before{background:rgba(255,255,255,0.1)}.app-sidebar.sidebar-text-light .vertical-nav-menu ul>li>a{color:rgba(255,255,255,0.6)}.app-sidebar.sidebar-text-light .vertical-nav-menu ul>li>a:hover{color:#fff}.app-sidebar.sidebar-text-light .vertical-nav-menu ul>li>a.mm-active{color:#fff;background:rgba(255,255,255,0.15)}.app-sidebar.sidebar-text-light .ps__thumb-y{background:rgba(255,255,255,0.3)}.app-sidebar.sidebar-text-light .ps__rail-y:hover .ps__thumb-y{background:rgba(255,255,255,0.2)}.app-sidebar.sidebar-text-light .app-header__logo .logo-src{background:url(/static/backend/images/logo.png)}.app-sidebar.sidebar-text-light .app-header__logo .hamburger-inner,.app-sidebar.sidebar-text-light .app-header__logo .hamburger-inner::before,.app-sidebar.sidebar-text-light .app-header__logo .hamburger-inner::after{background-color:rgba(255,255,255,0.8)}.app-sidebar.sidebar-text-dark{border-right:0 !important}.app-sidebar.sidebar-text-dark .app-sidebar__heading{color:rgba(0,0,0,0.6)}.app-sidebar.sidebar-text-dark .app-sidebar__heading::before{background:rgba(0,0,0,0.5) !important}.app-sidebar.sidebar-text-dark .vertical-nav-menu li a{color:rgba(0,0,0,0.6)}.app-sidebar.sidebar-text-dark .vertical-nav-menu li a i.metismenu-icon{opacity:.5}.app-sidebar.sidebar-text-dark .vertical-nav-menu li a i.metismenu-state-icon{opacity:.5}.app-sidebar.sidebar-text-dark .vertical-nav-menu li a:hover{background:rgba(0,0,0,0.15);color:rgba(0,0,0,0.7)}.app-sidebar.sidebar-text-dark .vertical-nav-menu li a:hover i.metismenu-icon{opacity:.7}.app-sidebar.sidebar-text-dark .vertical-nav-menu li a:hover i.metismenu-state-icon{opacity:1}.app-sidebar.sidebar-text-dark .vertical-nav-menu li a.mm-active{color:rgba(0,0,0,0.7);background:rgba(0,0,0,0.15)}.app-sidebar.sidebar-text-dark .vertical-nav-menu ul:before{background:rgba(0,0,0,0.1)}.app-sidebar.sidebar-text-dark .vertical-nav-menu ul>li>a{color:rgba(0,0,0,0.4)}.app-sidebar.sidebar-text-dark .vertical-nav-menu ul>li>a:hover{color:rgba(0,0,0,0.7)}.app-sidebar.sidebar-text-dark .vertical-nav-menu ul>li>a.mm-active{color:rgba(0,0,0,0.7);background:rgba(0,0,0,0.15)}.app-sidebar.sidebar-text-dark .ps__thumb-y{background:rgba(0,0,0,0.3)}.app-sidebar.sidebar-text-dark .ps__rail-y:hover .ps__thumb-y{background:rgba(0,0,0,0.2)}.app-sidebar.sidebar-text-dark .app-header__logo .hamburger-inner,.app-sidebar.sidebar-text-dark .app-header__logo .hamburger-inner::before,.app-sidebar.sidebar-text-dark .app-header__logo .hamburger-inner::after{background-color:rgba(0,0,0,0.8)}.fixed-sidebar .app-sidebar{position:fixed;height:100vh}.fixed-sidebar .app-main .app-main__outer{z-index:9;padding-left:280px}.fixed-sidebar.fixed-header .app-sidebar .app-header__logo{display:none}.fixed-sidebar:not(.fixed-header) .app-sidebar .app-header__logo{display:flex}.fixed-sidebar:not(.fixed-header) .app-header{margin-left:280px}.fixed-sidebar:not(.fixed-header) .app-header .app-header__logo{display:none}.fixed-sidebar.closed-sidebar:not(.fixed-header) .app-header{margin-left:80px}.fixed-sidebar.closed-sidebar:not(.fixed-header) .app-sidebar .app-header__logo{width:80px;padding:0}.fixed-sidebar.closed-sidebar:not(.fixed-header) .app-sidebar .app-header__logo .logo-src{display:none}.fixed-sidebar.closed-sidebar:not(.fixed-header) .app-sidebar .app-header__logo .header__pane{margin-right:auto}.closed-sidebar .app-sidebar{transition:all .3s ease;width:80px;min-width:80px;flex:0 0 80px;z-index:13}.closed-sidebar .app-sidebar .app-sidebar__inner .app-sidebar__heading{text-indent:-999em}.closed-sidebar .app-sidebar .app-sidebar__inner .app-sidebar__heading::before{content:'';position:absolute;top:50%;left:0;width:100%;height:1px;background:#e0f3ff;text-indent:1px}.closed-sidebar .app-sidebar .app-sidebar__inner ul li a{text-indent:-99rem;padding:0}.closed-sidebar .app-sidebar .app-sidebar__inner .metismenu-icon{text-indent:0;left:50%;margin-left:-17px}.closed-sidebar .app-sidebar .app-sidebar__inner .metismenu-state-icon{visibility:hidden}.closed-sidebar .app-sidebar .app-sidebar__inner ul::before{display:none}.closed-sidebar .app-sidebar .app-sidebar__inner ul.mm-show{padding:0}.closed-sidebar .app-sidebar .app-sidebar__inner ul.mm-show>li>a{height:0}.closed-sidebar .app-sidebar:hover{flex:0 0 280px !important;width:280px !important}.closed-sidebar .app-sidebar:hover .app-sidebar__inner .app-sidebar__heading{text-indent:initial}.closed-sidebar .app-sidebar:hover .app-sidebar__inner .app-sidebar__heading::before{display:none}.closed-sidebar .app-sidebar:hover .app-sidebar__inner ul::before{display:block}.closed-sidebar .app-sidebar:hover .app-sidebar__inner ul li a{text-indent:initial;padding:0 1.5rem 0 45px}.closed-sidebar .app-sidebar:hover .app-sidebar__inner .metismenu-icon{text-indent:initial;left:5px;margin-left:0}.closed-sidebar .app-sidebar:hover .app-sidebar__inner .metismenu-state-icon{visibility:visible}.closed-sidebar .app-sidebar:hover .app-sidebar__inner ul.mm-show{padding:.5em 0 0 2rem}.closed-sidebar .app-sidebar:hover .app-sidebar__inner ul.mm-show>li>a{height:2.3em}.closed-sidebar .app-sidebar:hover .app-sidebar__inner ul ul li a{padding-left:1em}.closed-sidebar:not(.sidebar-mobile-open) .app-sidebar .scrollbar-sidebar{position:static;height:auto;overflow:initial !important}.closed-sidebar:not(.sidebar-mobile-open) .app-sidebar:hover .scrollbar-sidebar{position:absolute;height:100%;overflow:hidden !important}.closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo{width:80px}.closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo .logo-src{display:none}.closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo .header__pane{margin-right:auto}.closed-sidebar.fixed-sidebar .app-main__outer{padding-left:80px}.closed-sidebar.fixed-header:not(.fixed-sidebar) .app-sidebar .app-header__logo{visibility:hidden}.closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo,.closed-sidebar.closed-sidebar-mobile .app-header .app-header__logo{width:auto;display:flex}.closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo .header__pane,.closed-sidebar.closed-sidebar-mobile .app-header .app-header__logo .header__pane{display:none}.closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo{display:flex;width:80px;padding:0 1.5rem !important}.closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo .logo-src{display:block !important;margin:0 auto;width:21px}.closed-sidebar.closed-sidebar-mobile .app-sidebar .app-header__logo .header__pane{display:none}.closed-sidebar.closed-sidebar-mobile .app-sidebar:hover .app-header__logo{width:280px}.closed-sidebar.closed-sidebar-mobile .app-sidebar:hover .app-header__logo .logo-src{width:97px;margin:0}.closed-sidebar.closed-sidebar-mobile .app-header{margin-left:0 !important}.closed-sidebar.fixed-footer .app-footer__inner{margin-left:0 !important}.app-main{flex:1;display:flex;z-index:8;position:relative}.app-main .app-main__outer{flex:1;flex-direction:column;display:flex;z-index:12}.app-main .app-main__inner{padding:30px 30px 0;flex:1}.app-theme-white.app-container{background:#f1f4f6}.app-theme-white .app-sidebar{background:#fff}.app-theme-white .app-page-title{background:rgba(255,255,255,0.45)}.app-theme-white .app-footer .app-footer__inner,.app-theme-white .app-header{background:#fafbfc}.app-theme-white.fixed-header .app-header__logo{background:rgba(250,251,252,0.1)}.app-footer{height:60px}.app-footer .app-footer__inner{padding:0 1.5rem 0 .75rem;height:60px;display:flex;align-content:center;align-items:center}.app-footer .app-footer__inner .app-footer-left{display:flex;align-items:center}.app-footer .app-footer__inner .app-footer-right{margin-left:auto;display:flex}.fixed-footer .app-footer{position:fixed;width:100%;bottom:0;left:0;z-index:7}.fixed-footer .app-footer .app-footer__inner{margin-left:280px;box-shadow:0.3rem -0.46875rem 2.1875rem rgba(4,9,20,0.02),0.3rem -0.9375rem 1.40625rem rgba(4,9,20,0.02),0.3rem -0.25rem 0.53125rem rgba(4,9,20,0.04),0.3rem -0.125rem 0.1875rem rgba(4,9,20,0.02)}.fixed-footer .app-main .app-main__outer{padding-bottom:60px}.app-page-title{padding:30px;margin:-30px -30px 30px;position:relative}.app-page-title+.body-tabs-layout{margin-top:-30px !important}.app-page-title .page-title-wrapper{position:relative;display:flex;align-items:center}.app-page-title .page-title-heading,.app-page-title .page-title-subheading{margin:0;padding:0}.app-page-title .page-title-heading{font-size:1.25rem;font-weight:400;display:flex;align-content:center;align-items:center}.app-page-title .page-title-subheading{padding:3px 0 0;font-size:.88rem;opacity:.6}.app-page-title .page-title-subheading .breadcrumb{padding:0;margin:3px 0 0;background:transparent}.app-page-title .page-title-actions{margin-left:auto}.app-page-title .page-title-actions .breadcrumb{margin:0;padding:0;background:transparent}.app-page-title .page-title-icon{font-size:2rem;display:flex;align-items:center;align-content:center;text-align:center;padding:.83333rem;margin:0 30px 0 0;background:#fff;box-shadow:0 0.46875rem 2.1875rem rgba(4,9,20,0.03),0 0.9375rem 1.40625rem rgba(4,9,20,0.03),0 0.25rem 0.53125rem rgba(4,9,20,0.05),0 0.125rem 0.1875rem rgba(4,9,20,0.03);border-radius:.25rem;width:60px;height:60px}.app-page-title .page-title-icon i{margin:auto}.app-page-title .page-title-icon.rounded-circle{margin:0 20px 0 0}.app-page-title+.RRT__container{margin-top:-23.07692px}.app-page-title.app-page-title-simple{margin:0;background:none !important;padding-left:0;padding-right:0;padding-top:0}.page-title-icon-rounded .page-title-icon{border-radius:50px}.search-wrapper{position:relative;margin-right:.66667rem}.search-wrapper .input-holder{height:42px;width:42px;overflow:hidden;position:relative;transition:all 0.3s ease-in-out}.search-wrapper .input-holder .search-input{width:100%;padding:0 70px 0 20px;opacity:0;position:absolute;top:0;left:0;background:transparent;box-sizing:border-box;border:none;outline:none;transform:translate(0, 60px);transition:all 0.3s cubic-bezier(0, 0.105, 0.035, 1.57);transition-delay:0.3s;font-size:.88rem}.search-wrapper .input-holder .search-icon{width:42px;height:42px;border:none;padding:0;outline:none;position:relative;z-index:2;float:right;cursor:pointer;transition:all 0.3s ease-in-out;background:rgba(0,0,0,0.06);border-radius:30px}.search-wrapper .input-holder .search-icon span{width:22px;height:22px;display:inline-block;vertical-align:middle;position:relative;transform:rotate(45deg);transition:all 0.4s cubic-bezier(0.65, -0.6, 0.24, 1.65)}.search-wrapper .input-holder .search-icon span::before,.search-wrapper .input-holder .search-icon span::after{position:absolute;content:''}.search-wrapper .input-holder .search-icon span::before{width:4px;height:11px;left:9px;top:13px;border-radius:2px;background:#3f6ad8}.search-wrapper .input-holder .search-icon span::after{width:14px;height:14px;left:4px;top:0;border-radius:16px;border:2px solid #3f6ad8}.search-wrapper .close{position:absolute;z-index:1;top:50%;left:0;width:20px;height:20px;margin-top:-10px;cursor:pointer;opacity:0 !important;transform:rotate(-180deg);transition:all 0.2s cubic-bezier(0.285, -0.45, 0.935, 0.11);transition-delay:0.1s}.search-wrapper .close::before,.search-wrapper .close::after{position:absolute;content:'';background:#3f6ad8;border-radius:2px}.search-wrapper .close::before{width:2px;height:20px;left:9px;top:0}.search-wrapper .close::after{width:20px;height:2px;left:0;top:9px}.search-wrapper.active{width:330px}.search-wrapper.active .input-holder{width:290px;border-radius:50px;background:rgba(0,0,0,0.05);transition:all 0.5s cubic-bezier(0, 0.105, 0.035, 1.57)}.search-wrapper.active .input-holder .search-input{opacity:1;transform:translate(0, 11px)}.search-wrapper.active .input-holder .search-icon{width:42px;height:42px;margin:0;border-radius:30px}.search-wrapper.active .input-holder .search-icon span{transform:rotate(-45deg)}.search-wrapper.active .close{left:300px;opacity:.6 !important;transform:rotate(45deg);transition:all 0.6s cubic-bezier(0, 0.105, 0.035, 1.57);transition-delay:0.5s}.search-wrapper.active .close:hover{opacity:1 !important}.search-wrapper.active+.header-menu{opacity:0}.opacity-01{opacity:.01 !important}.opacity-02{opacity:.02 !important}.opacity-03{opacity:.03 !important}.opacity-04{opacity:.04 !important}.opacity-05{opacity:.05 !important}.opacity-06{opacity:.06 !important}.opacity-07{opacity:.07 !important}.opacity-08{opacity:.08 !important}.opacity-09{opacity:.09 !important}.opacity-1{opacity:.1 !important}.opacity-15{opacity:.15 !important}.opacity-2{opacity:.2 !important}.opacity-3{opacity:.3 !important}.opacity-4{opacity:.4 !important}.opacity-5{opacity:.5 !important}.opacity-6{opacity:.6 !important}.opacity-7{opacity:.7 !important}.opacity-8{opacity:.8 !important}.opacity-9{opacity:.9 !important}.opacity-10{opacity:1 !important}.filter-grayscale-5{filter:grayscale(5%) !important}.filter-grayscale-10{filter:grayscale(10%) !important}.filter-grayscale-20{filter:grayscale(20%) !important}.filter-grayscale-30{filter:grayscale(30%) !important}.filter-grayscale-40{filter:grayscale(40%) !important}.filter-grayscale-50{filter:grayscale(50%) !important}.filter-grayscale-80{filter:grayscale(80%) !important}.filter-grayscale-100{filter:grayscale(100%) !important}.br-tl{border-top-left-radius:.25rem !important}.br-tr{border-top-right-radius:.25rem !important}.br-bl{border-bottom-left-radius:.25rem !important}.br-br{border-bottom-right-radius:.25rem !important}.b-radius-0{border-radius:0 !important}.rm-border{border-width:0 !important}.br-a{border-radius:.25rem}.margin-h-center{margin-left:auto !important;margin-right:auto !important}.center-svg{margin:0 auto}.center-svg svg{margin:0 auto}.apexcharts-canvas{margin:0 auto}.apexcharts-donut{display:flex;align-items:center;align-content:center}.alert-dismissible .close{top:0;right:5px;padding:5px}.icon-gradient{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.font-size-xlg{font-size:1.3rem !important}.font-size-md{font-size:.9rem !important}.font-size-lg{font-size:1.1rem !important}.no-shadow{box-shadow:0 0 0 transparent !important}.h-100{height:100vh !important}.he-auto{height:auto !important}.he-100{height:100%}.h-sm{height:150px}.text-nowrap{white-space:nowrap}.fsize-1{font-size:.95rem !important}.fsize-2{font-size:1.3rem !important}.fsize-3{font-size:1.6rem !important}.fsize-4{font-size:2rem !important}.z-index-6{z-index:6}.line-height-1{line-height:1}.center-elem{display:flex;align-items:center;align-content:center}.flex2{flex:2}.divider{margin-top:1rem;margin-bottom:1rem;height:1px;overflow:hidden;background:#e9ecef}.list-group-item:hover{z-index:initial}.no-results{padding:1.5rem;text-align:center}.no-results .results-title{color:#495057;font-size:1.25rem}.no-results .results-subtitle{color:#adb5bd;font-size:1.1rem}.bg-animation{animation:bg-pan-left 8s both}@-webkit-keyframes bg-pan-left{0%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes bg-pan-left{0%{background-position:100% 50%}100%{background-position:0% 50%}}.w-100{width:100%}.mb--2{margin-bottom:-1.5rem}.mbg-3{margin-bottom:30px}.circle-progress{position:relative}.circle-progress small{position:absolute;height:100%;width:100%;font-weight:bold;left:0;top:0;vertical-align:middle;text-align:center;display:flex;align-items:center;align-content:center}.circle-progress small span{margin:0 auto}.circle-progress canvas{display:block}.bg-warm-flame{background-image:linear-gradient(45deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%) !important}.bg-night-fade{background-image:linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%) !important}.bg-sunny-morning{background-image:linear-gradient(120deg, #f6d365 0%, #fda085 100%) !important}.bg-tempting-azure{background-image:linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%) !important}.bg-amy-crisp{background-image:linear-gradient(120deg, #a6c0fe 0%, #f68084 100%) !important}.bg-heavy-rain{background-image:linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%) !important}.bg-mean-fruit{background-image:linear-gradient(120deg, #fccb90 0%, #d57eeb 100%) !important}.bg-malibu-beach{background-image:linear-gradient(to right, #4facfe 0%, #00f2fe 100%) !important}.bg-deep-blue{background-image:linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%) !important}.bg-ripe-malin{background-image:linear-gradient(120deg, #f093fb 0%, #f5576c 100%) !important}.bg-arielle-smile{background-image:radial-gradient(circle 248px at center, #16d9e3 0%, #30c7ec 47%, #46aef7 100%) !important}.bg-plum-plate{background-image:linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important}.bg-happy-fisher{background-image:linear-gradient(120deg, #89f7fe 0%, #66a6ff 100%) !important}.bg-happy-itmeo{background-image:linear-gradient(180deg, #2af598 0%, #009efd 100%) !important}.bg-mixed-hopes{background-image:linear-gradient(to top, #c471f5 0%, #fa71cd 100%) !important}.bg-strong-bliss{background-image:linear-gradient(to right, #f78ca0 0%, #f9748f 19%, #fd868c 60%, #fe9a8b 100%) !important}.bg-grow-early{background-image:linear-gradient(to top, #0ba360 0%, #3cba92 100%) !important}.bg-love-kiss{background-image:linear-gradient(to top, #ff0844 0%, #ffb199 100%) !important}.bg-premium-dark{background-image:linear-gradient(to right, #434343 0%, black 100%) !important}.bg-happy-green{background-image:linear-gradient(to bottom, #00b09b, #96c93d) !important}.bg-vicious-stance{background-image:linear-gradient(60deg, #29323c 0%, #485563 100%) !important}.bg-midnight-bloom{background-image:linear-gradient(-20deg, #2b5876 0%, #4e4376 100%) !important}.bg-night-sky{background-image:linear-gradient(to top, #1e3c72 0%, #1e3c72 1%, #2a5298 100%) !important}.bg-slick-carbon{background-image:linear-gradient(to bottom, #323232 0%, #3F3F3F 40%, #1C1C1C 150%),linear-gradient(to top, rgba(255,255,255,0.4) 0%, rgba(0,0,0,0.25) 200%) !important;background-blend-mode:multiply}.bg-royal{background-image:linear-gradient(to right, #141e30, #243b55) !important}.bg-asteroid{background-image:linear-gradient(to right, #0f2027, #203a43, #2c5364) !important}.bg-transparent{background:transparent !important}/*! -Animate.css - http://daneden.me/animate -Licensed under the MIT license - http://opensource.org/licenses/MIT -Copyright (c) 2015 Daniel Eden -*/body{-webkit-backface-visibility:hidden}.animated{-webkit-animation-duration:calc( 1s);animation-duration:calc( 1s);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:calc( 1s * 2);animation-duration:calc( 1s * 2)}.animated.bounceIn,.animated.bounceOut{-webkit-animation-duration:calc( 1s * 0.75);animation-duration:calc( 1s * 0.75)}.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:calc( 1s * 0.75);animation-duration:calc( 1s * 0.75)}@-webkit-keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.1)}100%{-webkit-transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%,40%,60%,80%,100%{-webkit-transform-origin:top center}20%{-webkit-transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}100%{transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes wiggle{0%{-webkit-transform:skewX(9deg)}10%{-webkit-transform:skewX(-8deg)}20%{-webkit-transform:skewX(7deg)}30%{-webkit-transform:skewX(-6deg)}40%{-webkit-transform:skewX(5deg)}50%{-webkit-transform:skewX(-4deg)}60%{-webkit-transform:skewX(3deg)}70%{-webkit-transform:skewX(-2deg)}80%{-webkit-transform:skewX(1deg)}90%{-webkit-transform:skewX(0deg)}100%{-webkit-transform:skewX(0deg)}}@keyframes wiggle{0%{transform:skewX(9deg)}10%{transform:skewX(-8deg)}20%{transform:skewX(7deg)}30%{transform:skewX(-6deg)}40%{transform:skewX(5deg)}50%{transform:skewX(-4deg)}60%{transform:skewX(3deg)}70%{transform:skewX(-2deg)}80%{transform:skewX(1deg)}90%{transform:skewX(0deg)}100%{transform:skewX(0deg)}}.wiggle{-webkit-animation-name:wiggle;animation-name:wiggle;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%)}}@keyframes wobble{0%{transform:translateX(0%)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}100%{transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes tada{0%{-webkit-transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(0.3)}50%{opacity:1;-webkit-transform:scale(1.05)}70%{-webkit-transform:scale(0.9)}100%{-webkit-transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(0.9)}100%{transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px)}80%{-webkit-transform:translateY(-10px)}100%{-webkit-transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}100%{transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px)}80%{-webkit-transform:translateX(-10px)}100%{-webkit-transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}100%{transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px)}80%{-webkit-transform:translateX(10px)}100%{-webkit-transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px)}80%{-webkit-transform:translateY(10px)}100%{-webkit-transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}100%{transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1)}25%{-webkit-transform:scale(0.95)}50%{opacity:1;-webkit-transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(0.3)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(0.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(0.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@keyframes bounceOutDown{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}100%{opacity:0;transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}100%{opacity:0;transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@keyframes bounceOutRight{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}100%{opacity:0;transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;transform:translateX(-2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}100%{opacity:1;transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;transform:translateX(2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(0.95);-webkit-animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in}}@keyframes flip{0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in}80%{transform:perspective(400px) rotateY(360deg) scale(0.95);animation-timing-function:ease-in}100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in}}.flip{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}100%{transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}100%{transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{transform:perspective(400px) rotateX(0deg);opacity:1}100%{transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible !important;backface-visibility:visible !important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{transform:perspective(400px) rotateY(0deg);opacity:1}100%{transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{transform:translateX(100%) skewX(-30deg);opacity:0}60%{transform:translateX(-20%) skewX(30deg);opacity:1}80%{transform:translateX(0%) skewX(-15deg);opacity:1}100%{transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{transform:translateX(0%) skewX(0deg);opacity:1}100%{transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{transform-origin:center center;transform:rotate(-200deg);opacity:0}100%{transform-origin:center center;transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center center;transform:rotate(0);opacity:1}100%{transform-origin:center center;transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{-transform-origin:left bottom;-transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0, -100%, 0);visibility:visible}100%{-webkit-transform:translate3d(0, 0, 0)}}@keyframes slideInDown{0%{transform:translate3d(0, -100%, 0);visibility:visible}100%{transform:translate3d(0, 0, 0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%, 0, 0);visibility:visible}100%{-webkit-transform:translate3d(0, 0, 0)}}@keyframes slideInLeft{0%{transform:translate3d(-100%, 0, 0);visibility:visible}100%{transform:translate3d(0, 0, 0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%, 0, 0);visibility:visible}100%{-webkit-transform:translate3d(0, 0, 0)}}@keyframes slideInRight{0%{transform:translate3d(100%, 0, 0);visibility:visible}100%{transform:translate3d(0, 0, 0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0, 100%, 0);visibility:visible}100%{-webkit-transform:translate3d(0, 0, 0)}}@keyframes slideInUp{0%{transform:translate3d(0, 100%, 0);visibility:visible}100%{transform:translate3d(0, 0, 0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translate3d(0, 0, 0);visibility:visible}100%{-webkit-transform:translate3d(0, 100%, 0)}}@keyframes slideOutDown{0%{transform:translate3d(0, 0, 0);visibility:visible}100%{transform:translate3d(0, 100%, 0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translate3d(0, 0, 0);visibility:visible}100%{-webkit-transform:translate3d(-100%, 0, 0)}}@keyframes slideOutLeft{0%{transform:translate3d(0, 0, 0);visibility:visible}100%{transform:translate3d(-100%, 0, 0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translate3d(0, 0, 0);visibility:visible}100%{-webkit-transform:translate3d(100%, 0, 0)}}@keyframes slideOutRight{0%{transform:translate3d(0, 0, 0);visibility:visible}100%{transform:translate3d(100%, 0, 0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translate3d(0, 0, 0);visibility:visible}100%{-webkit-transform:translate3d(0, -100%, 0)}}@keyframes slideOutUp{0%{transform:translate3d(0, 0, 0);visibility:visible}100%{transform:translate3d(0, -100%, 0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);opacity:1;-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}100%{-webkit-transform:translateY(700px);opacity:0}}@keyframes hinge{0%{transform:rotate(0);transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate(80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out}80%{transform:rotate(60deg) translateY(0);opacity:1;transform-origin:top left;animation-timing-function:ease-in-out}100%{transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;transform:translateX(0px) rotate(0deg)}100%{opacity:0;transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInDown{0%{opacity:0;transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInLeft{0%{opacity:0;transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInRight{0%{opacity:0;transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInUp{0%{opacity:0;transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutDown{40%{opacity:1;transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale3d(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;transform:scale3d(0.1) translate3d(-2000px, 0, 0);transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale3d(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;transform:scale3d(0.1) translate3d(2000px, 0, 0);transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutUp{40%{opacity:1;transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}.dropdown-menu.show{animation:fade-in2 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) both}.popover:not([data-placement^="top"]).show{animation:fade-in2 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) both}.dropdown-menu[data-placement^="top"].show{animation:fade-in3 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) both;bottom:auto !important;top:auto !important}@keyframes fade-in2{0%{margin-top:-50px;visibility:hidden;opacity:0}100%{margin-top:0px;visibility:visible;opacity:1}}.form-control{transition:all .2s}.dropdown-toggle::after{position:relative;top:2px;opacity:.8}.dropright .dropdown-toggle::after{top:0}.dropdown-toggle-split{border-left:rgba(255,255,255,0.1) solid 1px}.btn-outline-primary{color:#3f6ad8;border-color:#3f6ad8}.btn-outline-primary:hover{color:#fff;background-color:#3f6ad8;border-color:#3f6ad8}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 0 rgba(63,106,216,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#3f6ad8;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#3f6ad8;border-color:#3f6ad8}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(63,106,216,0.5)}.btn-outline-primary.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(63,106,216,0.4),0 0.0625rem 0.125rem rgba(63,106,216,0.5)}.btn-outline-primary.btn-shadow.active:hover,.btn-outline-primary.btn-shadow.disabled:hover,.btn-outline-primary.btn-shadow:active:hover,.btn-outline-primary.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(63,106,216,0.5),0 0.0625rem 0.125rem rgba(63,106,216,0.6)}.btn-outline-primary.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(63,106,216,0.19)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 0 rgba(108,117,125,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(108,117,125,0.5)}.btn-outline-secondary.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(108,117,125,0.4),0 0.0625rem 0.125rem rgba(108,117,125,0.5)}.btn-outline-secondary.btn-shadow.active:hover,.btn-outline-secondary.btn-shadow.disabled:hover,.btn-outline-secondary.btn-shadow:active:hover,.btn-outline-secondary.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(108,117,125,0.5),0 0.0625rem 0.125rem rgba(108,117,125,0.6)}.btn-outline-secondary.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(108,117,125,0.19)}.btn-outline-success{color:#3ac47d;border-color:#3ac47d}.btn-outline-success:hover{color:#fff;background-color:#3ac47d;border-color:#3ac47d}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 0 rgba(58,196,125,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#3ac47d;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#3ac47d;border-color:#3ac47d}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(58,196,125,0.5)}.btn-outline-success.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(58,196,125,0.4),0 0.0625rem 0.125rem rgba(58,196,125,0.5)}.btn-outline-success.btn-shadow.active:hover,.btn-outline-success.btn-shadow.disabled:hover,.btn-outline-success.btn-shadow:active:hover,.btn-outline-success.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(58,196,125,0.5),0 0.0625rem 0.125rem rgba(58,196,125,0.6)}.btn-outline-success.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(58,196,125,0.19)}.btn-outline-info{color:#16aaff;border-color:#16aaff}.btn-outline-info:hover{color:#fff;background-color:#16aaff;border-color:#16aaff}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 0 rgba(22,170,255,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#16aaff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#16aaff;border-color:#16aaff}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(22,170,255,0.5)}.btn-outline-info.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(22,170,255,0.4),0 0.0625rem 0.125rem rgba(22,170,255,0.5)}.btn-outline-info.btn-shadow.active:hover,.btn-outline-info.btn-shadow.disabled:hover,.btn-outline-info.btn-shadow:active:hover,.btn-outline-info.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(22,170,255,0.5),0 0.0625rem 0.125rem rgba(22,170,255,0.6)}.btn-outline-info.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(22,170,255,0.19)}.btn-outline-warning{color:#f7b924;border-color:#f7b924}.btn-outline-warning:hover{color:#212529;background-color:#f7b924;border-color:#f7b924}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 0 rgba(247,185,36,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f7b924;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#f7b924;border-color:#f7b924}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(247,185,36,0.5)}.btn-outline-warning.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(247,185,36,0.4),0 0.0625rem 0.125rem rgba(247,185,36,0.5)}.btn-outline-warning.btn-shadow.active:hover,.btn-outline-warning.btn-shadow.disabled:hover,.btn-outline-warning.btn-shadow:active:hover,.btn-outline-warning.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(247,185,36,0.5),0 0.0625rem 0.125rem rgba(247,185,36,0.6)}.btn-outline-warning.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(247,185,36,0.19)}.btn-outline-danger{color:#d92550;border-color:#d92550}.btn-outline-danger:hover{color:#fff;background-color:#d92550;border-color:#d92550}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 0 rgba(217,37,80,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d92550;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d92550;border-color:#d92550}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(217,37,80,0.5)}.btn-outline-danger.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(217,37,80,0.4),0 0.0625rem 0.125rem rgba(217,37,80,0.5)}.btn-outline-danger.btn-shadow.active:hover,.btn-outline-danger.btn-shadow.disabled:hover,.btn-outline-danger.btn-shadow:active:hover,.btn-outline-danger.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(217,37,80,0.5),0 0.0625rem 0.125rem rgba(217,37,80,0.6)}.btn-outline-danger.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(217,37,80,0.19)}.btn-outline-light{color:#eee;border-color:#eee}.btn-outline-light:hover{color:#212529;background-color:#eee;border-color:#eee}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 0 rgba(238,238,238,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#eee;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#eee;border-color:#eee}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(238,238,238,0.5)}.btn-outline-light.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(238,238,238,0.4),0 0.0625rem 0.125rem rgba(238,238,238,0.5)}.btn-outline-light.btn-shadow.active:hover,.btn-outline-light.btn-shadow.disabled:hover,.btn-outline-light.btn-shadow:active:hover,.btn-outline-light.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(238,238,238,0.5),0 0.0625rem 0.125rem rgba(238,238,238,0.6)}.btn-outline-light.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(238,238,238,0.19)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 0 rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(52,58,64,0.5)}.btn-outline-dark.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(52,58,64,0.4),0 0.0625rem 0.125rem rgba(52,58,64,0.5)}.btn-outline-dark.btn-shadow.active:hover,.btn-outline-dark.btn-shadow.disabled:hover,.btn-outline-dark.btn-shadow:active:hover,.btn-outline-dark.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(52,58,64,0.5),0 0.0625rem 0.125rem rgba(52,58,64,0.6)}.btn-outline-dark.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(52,58,64,0.19)}.btn-outline-focus{color:#444054;border-color:#444054}.btn-outline-focus:hover{color:#fff;background-color:#444054;border-color:#444054}.btn-outline-focus:focus,.btn-outline-focus.focus{box-shadow:0 0 0 0 rgba(68,64,84,0.5)}.btn-outline-focus.disabled,.btn-outline-focus:disabled{color:#444054;background-color:transparent}.btn-outline-focus:not(:disabled):not(.disabled):active,.btn-outline-focus:not(:disabled):not(.disabled).active,.show>.btn-outline-focus.dropdown-toggle{color:#fff;background-color:#444054;border-color:#444054}.btn-outline-focus:not(:disabled):not(.disabled):active:focus,.btn-outline-focus:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-focus.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(68,64,84,0.5)}.btn-outline-focus.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(68,64,84,0.4),0 0.0625rem 0.125rem rgba(68,64,84,0.5)}.btn-outline-focus.btn-shadow.active:hover,.btn-outline-focus.btn-shadow.disabled:hover,.btn-outline-focus.btn-shadow:active:hover,.btn-outline-focus.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(68,64,84,0.5),0 0.0625rem 0.125rem rgba(68,64,84,0.6)}.btn-outline-focus.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(68,64,84,0.19)}.btn-outline-alternate{color:#794c8a;border-color:#794c8a}.btn-outline-alternate:hover{color:#fff;background-color:#794c8a;border-color:#794c8a}.btn-outline-alternate:focus,.btn-outline-alternate.focus{box-shadow:0 0 0 0 rgba(121,76,138,0.5)}.btn-outline-alternate.disabled,.btn-outline-alternate:disabled{color:#794c8a;background-color:transparent}.btn-outline-alternate:not(:disabled):not(.disabled):active,.btn-outline-alternate:not(:disabled):not(.disabled).active,.show>.btn-outline-alternate.dropdown-toggle{color:#fff;background-color:#794c8a;border-color:#794c8a}.btn-outline-alternate:not(:disabled):not(.disabled):active:focus,.btn-outline-alternate:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-alternate.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(121,76,138,0.5)}.btn-outline-alternate.btn-shadow{box-shadow:0 0.125rem 0.625rem rgba(121,76,138,0.4),0 0.0625rem 0.125rem rgba(121,76,138,0.5)}.btn-outline-alternate.btn-shadow.active:hover,.btn-outline-alternate.btn-shadow.disabled:hover,.btn-outline-alternate.btn-shadow:active:hover,.btn-outline-alternate.btn-shadow:disabled:hover{box-shadow:0 0.125rem 0.625rem rgba(121,76,138,0.5),0 0.0625rem 0.125rem rgba(121,76,138,0.6)}.btn-outline-alternate.btn-shadow:hover{box-shadow:0px 5px 15px 2px rgba(121,76,138,0.19)}.btn{position:relative;transition:color 0.15s,background-color 0.15s,border-color 0.15s,box-shadow 0.15s;font-size:.8rem}@media screen and (prefers-reduced-motion: reduce){.btn{transition:none}}.btn-light{border-color:#dcdcdc}.btn-outline-light{color:#8f8f8f}.dropdown-menu{box-shadow:0 0.46875rem 2.1875rem rgba(4,9,20,0.03),0 0.9375rem 1.40625rem rgba(4,9,20,0.03),0 0.25rem 0.53125rem rgba(4,9,20,0.05),0 0.125rem 0.1875rem rgba(4,9,20,0.03);margin:.125rem}.dropdown-menu.dropdown-menu-right{right:0 !important}.dropdown-menu .dropdown-header{text-transform:uppercase;font-size:.73333rem;color:#3f6ad8;font-weight:bold}.dropdown-menu .dropdown-item{font-size:.88rem;display:flex;align-items:center;transition:background-color 0.3s ease, color 0.3s ease;cursor:pointer;z-index:6;position:relative}.dropdown-menu .dropdown-item .dropdown-icon{font-size:1rem;margin-right:.325rem;width:30px;text-align:center;opacity:.3;margin-left:-10px}.dropdown-menu .dropdown-item:hover .dropdown-icon{opacity:.7}.dropdown-menu.dropdown-menu-shadow{box-shadow:0 0.66875rem 2.3875rem rgba(4,9,20,0.03),0 1.1375rem 1.60625rem rgba(4,9,20,0.03),0 0.45rem 0.73125rem rgba(4,9,20,0.05),0 0.325rem 0.3875rem rgba(4,9,20,0.03)}.dropdown-toggle::after{position:relative;top:2px;opacity:.8;margin-left:5px}.dropdown-toggle-split::after{margin-left:0}.dropright .dropdown-toggle::after{top:0}.dropdown-toggle-split{border-left:rgba(255,255,255,0.1) solid 2px}.badge-primary{color:#fff;background-color:#3f6ad8}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#2651be}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#545b62}.badge-success{color:#fff;background-color:#3ac47d}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#2e9d64}.badge-info{color:#fff;background-color:#16aaff}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#0090e2}.badge-warning{color:#212529;background-color:#f7b924}a.badge-warning:hover,a.badge-warning:focus{color:#212529;background-color:#e0a008}.badge-danger{color:#fff;background-color:#d92550}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#ad1e40}.badge-light{color:#212529;background-color:#eee}a.badge-light:hover,a.badge-light:focus{color:#212529;background-color:#d5d5d5}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#1d2124}.badge-focus{color:#fff;background-color:#444054}a.badge-focus:hover,a.badge-focus:focus{color:#fff;background-color:#2d2a37}.badge-alternate{color:#fff;background-color:#794c8a}a.badge-alternate:hover,a.badge-alternate:focus{color:#fff;background-color:#5c3a69}.badge{font-weight:bold;text-transform:uppercase;padding:5px 10px;min-width:19px}.badge-light{background:#fff}.btn .badge{margin-left:8px}.btn-sm .badge-pill,.btn-group-sm>.btn .badge-pill{position:absolute;top:-4px;right:-4px}.badge-abs{position:absolute;right:-3px;top:-3px}.card{box-shadow:0 0.46875rem 2.1875rem rgba(4,9,20,0.03),0 0.9375rem 1.40625rem rgba(4,9,20,0.03),0 0.25rem 0.53125rem rgba(4,9,20,0.05),0 0.125rem 0.1875rem rgba(4,9,20,0.03);border-width:0;transition:all .2s}.card>.dropdown-menu-header{margin:0}.card>.dropdown-menu-header .dropdown-menu-header-inner{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card.text-dark.text-white .card-footer,.card.text-dark.text-white .card-header,.card.text-white .card-footer,.card.text-white .card-header{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.9)}.card.text-dark.text-white .card-footer,.card.text-dark.text-white .card-header{color:rgba(0,0,0,0.9)}.card .card-footer{display:flex;align-items:center}.btn-actions-pane-right{margin-left:auto;white-space:nowrap}.btn-actions-pane-right a{text-transform:none}.btn-actions-pane-left{margin-right:auto}.actions-icon-btn .btn-icon-only{padding-left:0;padding-right:0;color:#495057}.actions-icon-btn .btn-icon-only .btn-icon-wrapper{font-size:1.3rem;width:30px;text-align:center}.actions-icon-btn .btn-icon-only:hover{color:#3f6ad8}.card-header,.card-title{text-transform:uppercase;color:rgba(13,27,62,0.7);font-weight:bold;font-size:.88rem}.card-header{display:flex;align-items:center;border-bottom-width:1px;padding-top:0;padding-bottom:0;padding-right:.625rem;height:3.5rem}.card-header.no-border{border:0;padding:0;height:auto}.card-header .menu-header-subtitle{display:block}.card-header.card-header-tab .nav{width:auto;margin-left:auto}.card-header.card-header-tab .card-header-title{display:flex;align-items:center;white-space:nowrap}.card-header .header-icon{font-size:1.65rem;margin-right:.625rem}.card-header>.nav{margin-left:-.625rem;height:100%;width:100%}.card-header>.nav .nav-item{position:relative;height:100%;display:flex;align-items:center}.card-header>.nav .nav-link{text-transform:none;width:100%;display:block;color:#495057}.card-header>.nav .nav-link::before{content:'';border-radius:15px;background:#3f6ad8;transition:all .2s;height:4px;width:100%;position:absolute;left:0;bottom:-2px;opacity:0}.card-header>.nav .nav-link:hover{color:#3f6ad8}.card-header>.nav .nav-link.active{color:#3f6ad8}.card-header>.nav .nav-link.active::before{opacity:1}.card-border{box-shadow:0 0 0 transparent;border-width:1px}.card-subtitle{margin-bottom:.75rem;font-size:.968rem;color:rgba(13,27,62,0.55)}.card-shadow-primary{box-shadow:0 0.46875rem 2.1875rem rgba(63,106,216,0.03),0 0.9375rem 1.40625rem rgba(63,106,216,0.03),0 0.25rem 0.53125rem rgba(63,106,216,0.05),0 0.125rem 0.1875rem rgba(63,106,216,0.03)}.card-shadow-secondary{box-shadow:0 0.46875rem 2.1875rem rgba(108,117,125,0.03),0 0.9375rem 1.40625rem rgba(108,117,125,0.03),0 0.25rem 0.53125rem rgba(108,117,125,0.05),0 0.125rem 0.1875rem rgba(108,117,125,0.03)}.card-shadow-success{box-shadow:0 0.46875rem 2.1875rem rgba(58,196,125,0.03),0 0.9375rem 1.40625rem rgba(58,196,125,0.03),0 0.25rem 0.53125rem rgba(58,196,125,0.05),0 0.125rem 0.1875rem rgba(58,196,125,0.03)}.card-shadow-info{box-shadow:0 0.46875rem 2.1875rem rgba(22,170,255,0.03),0 0.9375rem 1.40625rem rgba(22,170,255,0.03),0 0.25rem 0.53125rem rgba(22,170,255,0.05),0 0.125rem 0.1875rem rgba(22,170,255,0.03)}.card-shadow-warning{box-shadow:0 0.46875rem 2.1875rem rgba(247,185,36,0.03),0 0.9375rem 1.40625rem rgba(247,185,36,0.03),0 0.25rem 0.53125rem rgba(247,185,36,0.05),0 0.125rem 0.1875rem rgba(247,185,36,0.03)}.card-shadow-danger{box-shadow:0 0.46875rem 2.1875rem rgba(217,37,80,0.03),0 0.9375rem 1.40625rem rgba(217,37,80,0.03),0 0.25rem 0.53125rem rgba(217,37,80,0.05),0 0.125rem 0.1875rem rgba(217,37,80,0.03)}.card-shadow-light{box-shadow:0 0.46875rem 2.1875rem rgba(238,238,238,0.03),0 0.9375rem 1.40625rem rgba(238,238,238,0.03),0 0.25rem 0.53125rem rgba(238,238,238,0.05),0 0.125rem 0.1875rem rgba(238,238,238,0.03)}.card-shadow-dark{box-shadow:0 0.46875rem 2.1875rem rgba(52,58,64,0.03),0 0.9375rem 1.40625rem rgba(52,58,64,0.03),0 0.25rem 0.53125rem rgba(52,58,64,0.05),0 0.125rem 0.1875rem rgba(52,58,64,0.03)}.card-shadow-focus{box-shadow:0 0.46875rem 2.1875rem rgba(68,64,84,0.03),0 0.9375rem 1.40625rem rgba(68,64,84,0.03),0 0.25rem 0.53125rem rgba(68,64,84,0.05),0 0.125rem 0.1875rem rgba(68,64,84,0.03)}.card-shadow-alternate{box-shadow:0 0.46875rem 2.1875rem rgba(121,76,138,0.03),0 0.9375rem 1.40625rem rgba(121,76,138,0.03),0 0.25rem 0.53125rem rgba(121,76,138,0.05),0 0.125rem 0.1875rem rgba(121,76,138,0.03)}.card-header-lg{padding:1.5rem 2.5rem;height:auto}.nav-pills,.nav-tabs{margin-bottom:1rem}.nav-link{font-weight:bold}.nav-link:hover{cursor:pointer}.nav-tabs .nav-link:hover{color:#3f6ad8 !important}.nav-tabs .nav-link.active{color:#3f6ad8}.nav-pills .nav-link:hover{color:#3f6ad8 !important}.nav-pills .nav-link.active{background:#3f6ad8}.nav-pills .nav-link.active:hover{color:#fff !important}.tabs-animated .nav-link{position:relative;padding:1rem;margin:0 .75rem 0 0;color:#495057}.tabs-animated .nav-link::before{transform:scale(0);opacity:1;width:100%;left:0;bottom:-2px;content:"";position:absolute;display:block;border-radius:.25rem;background:#3f6ad8;transition:all .2s;height:4px}.tabs-animated .nav-link.active,.tabs-animated .nav-link:hover{color:#3f6ad8}.tabs-animated .nav-link.active::before,.tabs-animated .nav-link:hover::before{transform:scale(1)}.tabs-animated-shadow .nav-link{padding:.5rem .75rem;margin-bottom:.75rem}.tabs-animated-shadow .nav-link span{position:relative;z-index:5;display:inline-block;width:100%}.tabs-animated-shadow .nav-link::before{height:100%;top:0;z-index:4;bottom:auto;box-shadow:0 16px 26px -10px rgba(63,106,216,0.56),0 4px 25px 0px rgba(0,0,0,0.12),0 8px 10px -5px rgba(63,106,216,0.2);border-radius:100%;opacity:.5}.tabs-animated-shadow .nav-link.active,.tabs-animated-shadow .nav-link:hover{color:#fff}.tabs-animated-shadow .nav-link.active::before,.tabs-animated-shadow .nav-link:hover::before{border-radius:.25rem;opacity:1}.tabs-animated-shadow .nav-item:last-child .nav-link{margin-right:0}.tabs-animated-shadow.tabs-shadow-bordered{border-bottom:rgba(26,54,126,0.125) solid 1px}.tabs-animated-shadow.tabs-shadow-bordered .nav-link{margin-bottom:0}.body-tabs-shadow .body-tabs-animated{padding:.75rem 0}.body-tabs-shadow .body-tabs-animated .nav-link span{position:relative;z-index:5}.body-tabs-shadow .body-tabs-animated .nav-link::before{height:70%;top:15%;z-index:4;bottom:auto;box-shadow:0 16px 26px -10px rgba(63,106,216,0.56),0 4px 25px 0px rgba(0,0,0,0.12),0 8px 10px -5px rgba(63,106,216,0.2);border-radius:100%;opacity:.5}.body-tabs-shadow .body-tabs-animated .nav-link.active,.body-tabs-shadow .body-tabs-animated .nav-link:hover{color:#fff}.body-tabs-shadow .body-tabs-animated .nav-link.active::before,.body-tabs-shadow .body-tabs-animated .nav-link:hover::before{border-radius:.25rem;opacity:1}.body-tabs-line .body-tabs-layout{margin:0 -30px;padding:0 30px;margin-bottom:30px;border-bottom:#dee2e6 solid 1px}.accordion-wrapper{border-radius:.25rem;border:#e9ecef solid 1px}.accordion-wrapper>.card{box-shadow:0 0 0 0 transparent}.accordion-wrapper>.card>.card-header{padding:1rem;height:auto}.accordion-wrapper>.card>.card-header .btn:active,.accordion-wrapper>.card>.card-header .btn:focus,.accordion-wrapper>.card>.card-header .btn:hover{text-decoration:none}.accordion-wrapper>.card>.card-header .form-heading p{margin:0}.accordion-wrapper>.card .collapse{border-bottom:transparent solid 1px}.accordion-wrapper>.card .collapse.show{border-bottom-color:#e9ecef}.modal-header,.modal-footer{background:#f8f9fa}.modal-footer{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.modal-dialog{box-shadow:0 0.76875rem 2.4875rem rgba(52,58,64,0.3),0 1.3375rem 1.70625rem rgba(52,58,64,0.3),0 0.55rem 0.53125rem rgba(0,0,0,0.05),0 0.225rem 0.4375rem rgba(52,58,64,0.3);border-radius:.25rem}.nav-item .nav-link{font-weight:normal}.nav-link{display:flex;align-items:center;transition:background-color 0.3s ease, color 0.3s ease;cursor:pointer}.nav-link .nav-link-icon{color:#3f6ad8;font-size:1rem;width:30px;text-align:center;opacity:.45;margin-left:-10px}.nav-link:hover{color:#495057}.nav-link:hover .nav-link-icon{opacity:.9;color:#3f6ad8}.nav-link:disabled .nav-link-icon,.nav-link.disabled .nav-link-icon{opacity:.3}.nav-item.nav-item-header{text-transform:uppercase;font-size:.73333rem;color:#6c757d;font-weight:bold;padding:.5rem 1rem}.nav-item.nav-item-btn{padding:.5rem 1rem}.nav-item.nav-item-divider{margin:.5rem 0;height:1px;overflow:hidden;background:#dee2e6}.nav .badge{margin-left:8px}.nav-pills .nav-link.active,.nav-pills .nav-link.active:hover{color:#fff}.nav-pills .nav-link.active .nav-link-icon,.nav-pills .nav-link.active:hover .nav-link-icon{color:#fff;opacity:.8}.nav-pills .nav-link:hover{color:#495057 !important}.nav-justified .nav-link .nav-text{display:block;width:100%;text-align:center}.list-group-flush+.card-footer{border-top:0}.rm-list-borders .list-group-item{border:0;padding:.5rem 0}.rm-list-borders-scroll .list-group-item{border:0;padding-right:1.125rem}legend{font-size:.88rem;font-weight:bold}.form-heading{font-size:1.1rem;margin:0;color:#3f6ad8}.form-heading p{color:#6c757d;padding:0.3rem 0 0;font-size:.88rem}.custom-select{-webkit-appearance:none;-moz-appearance:none}.pagination li a{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.pagination li a:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.pagination li a:focus{z-index:2;outline:0;box-shadow:none}.pagination li a:not(:disabled):not(.disabled){cursor:pointer}.pagination li:first-child a{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.pagination li:last-child a{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination li.active a{z-index:1;color:#fff;background-color:#3f6ad8;border-color:#007bff}.pagination li.active a:hover{color:#fff}.pagination li.disabled a{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.widget-content{padding:1rem;flex-direction:row;align-items:center}.widget-content .widget-content-wrapper{display:flex;flex:1;position:relative;align-items:center}.widget-content .widget-content-left .widget-heading{opacity:.8;font-weight:bold}.widget-content .widget-content-left .widget-subheading{opacity:.5}.widget-content .widget-content-right{margin-left:auto}.widget-content .widget-numbers{font-weight:bold;font-size:1.8rem;display:block}.widget-content .widget-content-outer{display:flex;flex:1;flex-direction:column}.widget-content .widget-progress-wrapper{margin-top:1rem}.widget-content .widget-progress-wrapper .progress-sub-label{margin-top:.33333rem;opacity:.5;display:flex;align-content:center;align-items:center}.widget-content .widget-progress-wrapper .progress-sub-label .sub-label-right{margin-left:auto}.widget-content .widget-content-right.widget-content-actions{visibility:hidden;opacity:0;transition:opacity .2s}.widget-content:hover .widget-content-right.widget-content-actions{visibility:visible;opacity:1}.ps{overflow:hidden !important;overflow-anchor:none;touch-action:auto}.ps__rail-x{display:none !important;opacity:0;transition:background-color .2s linear, opacity .2s linear;height:15px;bottom:0;position:absolute;z-index:7}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear, opacity .2s linear;width:15px;right:0;position:absolute;border-radius:50px;z-index:7}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y{opacity:0.6}.ps__rail-x:hover,.ps__rail-y:hover,.ps__rail-x:focus,.ps__rail-y:focus{background-color:rgba(0,0,0,0.1);opacity:0.9}.ps__thumb-x{background-color:rgba(0,0,0,0.1);border-radius:6px;transition:background-color .2s linear, height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:rgba(0,0,0,0.1);border-radius:6px;transition:background-color .2s linear, width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x:hover>.ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x{background-color:rgba(0,0,0,0.12);height:11px}.ps__rail-y:hover>.ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y{background-color:rgba(0,0,0,0.12);width:11px}@supports (-ms-overflow-style: none){.ps{overflow:auto !important}}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){.ps{overflow:auto !important}}.scrollbar-sidebar,.scrollbar-container{position:relative;height:100%}.scroll-area{overflow-x:hidden;height:400px}.scroll-area-xs{height:150px;overflow-x:hidden}.scroll-area-sm{height:200px;overflow-x:hidden}.scroll-area-md{height:300px;overflow-x:hidden}.scroll-area-lg{height:400px;overflow-x:hidden}.scroll-area-x{overflow-x:auto;width:100%;max-width:100%}.shadow-overflow{position:relative}.shadow-overflow::after,.shadow-overflow::before{width:100%;bottom:auto;top:0;left:0;height:1.5rem;position:absolute;z-index:10;content:'';background:linear-gradient(to bottom, #fff 20%, rgba(255,255,255,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=0)}.shadow-overflow::after{bottom:0;top:auto;background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 80%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0)}/*! - * Hamburgers - * @description Tasty CSS-animated hamburgers - * @author Jonathan Suh @jonsuh - * @site https://jonsuh.com/hamburgers - * @link https://github.com/jonsuh/hamburgers - */.hamburger{padding:0px 0px;display:inline-block;cursor:pointer;transition-property:opacity, filter;transition-duration:0.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible}.hamburger:hover{opacity:.7}.hamburger.is-active:hover{opacity:.7}.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner::before,.hamburger.is-active .hamburger-inner::after{background-color:#3f6ad8}.hamburger-box{width:24px;height:14px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-1px}.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{width:24px;height:2px;background-color:#3f6ad8;border-radius:10px;position:absolute;transition-property:transform;transition-duration:0.15s;transition-timing-function:ease}.hamburger-inner::before,.hamburger-inner::after{content:"";display:block}.hamburger-inner::before{top:-6px}.hamburger-inner::after{bottom:-6px}.hamburger--elastic .hamburger-inner{top:1px;transition-duration:0.275s;transition-timing-function:cubic-bezier(0.68, -0.55, 0.265, 1.55)}.hamburger--elastic .hamburger-inner::before{top:6px;transition:opacity 0.125s 0.275s ease}.hamburger--elastic .hamburger-inner::after{top:12px;transition:transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.hamburger--elastic.is-active .hamburger-inner{transform:translate3d(0, 6px, 0) rotate(135deg);transition-delay:0.075s}.hamburger--elastic.is-active .hamburger-inner::before{transition-delay:0s;opacity:0}.hamburger--elastic.is-active .hamburger-inner::after{transform:translate3d(0, -12px, 0) rotate(-270deg);transition-delay:0.075s}.toast-title{font-weight:bold}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#cccccc;text-decoration:none}.toast-close-button{position:relative;right:-0.3em;top:-0.3em;float:right;font-weight:bold;color:#fff;opacity:0.8}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:0.4}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 .6rem;padding:.6rem .6rem .6rem 50px;width:300px;border-radius:.25rem;background-position:15px center;background-repeat:no-repeat;box-shadow:0 0.46875rem 2.1875rem rgba(4,9,20,0.03),0 0.9375rem 1.40625rem rgba(4,9,20,0.03),0 0.25rem 0.53125rem rgba(4,9,20,0.05),0 0.125rem 0.1875rem rgba(4,9,20,0.03);color:#fff;opacity:0.9}#toast-container>div:hover{opacity:1;cursor:pointer}#toast-container>.toast-info{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;box-shadow:0 0.66875rem 2.3875rem rgba(22,170,255,0.03),0 1.1375rem 1.60625rem rgba(22,170,255,0.03),0 0.45rem 0.73125rem rgba(22,170,255,0.05),0 0.325rem 0.3875rem rgba(22,170,255,0.03)}#toast-container>.toast-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;box-shadow:0 0.66875rem 2.3875rem rgba(217,37,80,0.03),0 1.1375rem 1.60625rem rgba(217,37,80,0.03),0 0.45rem 0.73125rem rgba(217,37,80,0.05),0 0.325rem 0.3875rem rgba(217,37,80,0.03)}#toast-container>.toast-success{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;box-shadow:0 0.66875rem 2.3875rem rgba(58,196,125,0.03),0 1.1375rem 1.60625rem rgba(58,196,125,0.03),0 0.45rem 0.73125rem rgba(58,196,125,0.05),0 0.325rem 0.3875rem rgba(58,196,125,0.03)}#toast-container>.toast-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;box-shadow:0 0.66875rem 2.3875rem rgba(247,185,36,0.03),0 1.1375rem 1.60625rem rgba(247,185,36,0.03),0 0.45rem 0.73125rem rgba(247,185,36,0.05),0 0.325rem 0.3875rem rgba(247,185,36,0.03);color:#212529}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#343a40}.toast-success{background-color:#3ac47d}.toast-error{background-color:#d92550}.toast-info{background-color:#16aaff}.toast-warning{background-color:#f7b924}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:0.4}@media all and (max-width: 240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}}@media all and (min-width: 241px) and (max-width: 480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}}@media all and (min-width: 481px) and (max-width: 768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}.popover,.tooltip{opacity:0;transition:opacity .2s ease}.popover.show,.tooltip.show{opacity:1}.popover{box-shadow:0 0.46875rem 2.1875rem rgba(4,9,20,0.03),0 0.9375rem 1.40625rem rgba(4,9,20,0.03),0 0.25rem 0.53125rem rgba(4,9,20,0.05),0 0.125rem 0.1875rem rgba(4,9,20,0.03)}.rm-pointers .popover .arrow{display:none !important}/*! - * FullCalendar v3.9.0 - * Docs & License: https://fullcalendar.io/ - * (c) 2018 Adam Shaw - */.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-highlight{background:#e0f3ff;opacity:.8}.fc-bgevent{background:#3f6ad8;opacity:.3}.fc-nonbusiness{background:#f8f9fa}.fc button{margin:0;white-space:nowrap;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid}.fc-state-default.fc-corner-left{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.fc-state-default.fc-corner-right{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.fc button .fc-icon{position:relative;top:-0.05em;margin:0 .2em;vertical-align:middle}.fc-state-default{background-color:#f8f9fa;border-color:#e9ecef #e9ecef #dee2e6;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.fc-state-hover,.fc-state-down,.fc-state-active,.fc-state-disabled{color:#6c757d;background-color:#e6e6e6}.fc-state-hover{color:#6c757d;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear}.fc-state-down,.fc-state-active{background-color:#cccccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:0.65;box-shadow:none}.fc-button-group{display:inline-block}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.fc-popover .fc-header{padding:1.5rem .75rem}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{cursor:pointer}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-rtl .fc-popover .fc-header .fc-title,.fc-ltr .fc-popover .fc-header .fc-close{float:right}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-highlight-skeleton,.fc-helper-skeleton{position:absolute;top:0;left:0;right:0}.fc-bg{bottom:0}.fc-bg table{height:100%}.fc table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc th,.fc td{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]{cursor:pointer}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-row .fc-highlight-skeleton td,.fc-row .fc-bgevent-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc .fc-row .fc-content-skeleton table,.fc .fc-row .fc-content-skeleton td,.fc .fc-row .fc-helper-skeleton td{background:none;border-color:transparent}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3f6ad8}.fc-event,.fc-event-dot{background-color:#3f6ad8}.fc-event,.fc-event:hover{color:#fff;text-decoration:none}.fc-event[href],.fc-event.fc-draggable{cursor:pointer}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4}.fc-event .fc-resizer{display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999 !important;box-shadow:0 2px 5px rgba(0,0,0,0.2)}.fc-event.fc-selected.fc-dragging{box-shadow:0 2px 7px rgba(0,0,0,0.3)}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:.25rem;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-day-grid-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:bold}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid #d92550}.fc-unselectable{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.fc-unthemed th,.fc-unthemed td,.fc-unthemed thead,.fc-unthemed tbody,.fc-unthemed .fc-divider,.fc-unthemed .fc-row,.fc-unthemed .fc-content,.fc-unthemed .fc-popover,.fc-unthemed .fc-list-view,.fc-unthemed .fc-list-heading td{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover .fc-header,.fc-unthemed .fc-list-heading td{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed td.fc-today{background:#fcf8e3}.fc-unthemed .fc-disabled-day{background:#d7d7d7;opacity:.3}.fc-icon{display:inline-block;height:1em;line-height:1em;font-size:1em;text-align:center;overflow:hidden;font-family:"Courier New", Courier, monospace;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative}.fc-icon-left-single-arrow:after{content:"\2039";font-weight:bold;font-size:200%;top:-7%}.fc-icon-right-single-arrow:after{content:"\203A";font-weight:bold;font-size:200%;top:-7%}.fc-icon-left-double-arrow:after{content:"\AB";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:"\BB";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:"\25C4";font-size:125%;top:3%}.fc-icon-right-triangle:after{content:"\25BA";font-size:125%;top:3%}.fc-icon-down-triangle:after{content:"\25BC";font-size:125%;top:2%}.fc-icon-x:after{content:"\D7";font-size:200%;top:6%}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-unthemed .fc-list-item:hover td{background-color:#f5f5f5}.ui-widget .fc-disabled-day{background-image:none}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.ui-widget .fc-event{color:#fff;text-decoration:none;font-weight:normal}.ui-widget td.fc-axis{font-weight:normal}.fc-time-grid .fc-slats .ui-widget-content{background:none}.fc.fc-bootstrap3 a{text-decoration:none}.fc.fc-bootstrap3 a[data-goto]:hover{text-decoration:underline}.fc-bootstrap3 hr.fc-divider{border-color:inherit}.fc-bootstrap3 .fc-today.alert{border-radius:0}.fc-bootstrap3 .fc-popover .panel-body{padding:0}.fc-bootstrap3 .fc-time-grid .fc-slats table{background:none}.fc.fc-bootstrap4 a{text-decoration:none}.fc.fc-bootstrap4 a[data-goto]:hover{text-decoration:underline}.fc-bootstrap4 hr.fc-divider{border-color:inherit}.fc-bootstrap4 .fc-today.alert{border-radius:0}.fc-bootstrap4 a.fc-event:not([href]):not([tabindex]){color:#fff}.fc-bootstrap4 .fc-popover.card{position:absolute}.fc-bootstrap4 .fc-popover .card-body{padding:0}.fc-bootstrap4 .fc-time-grid .fc-slats table{background:none}.fc-toolbar{text-align:center}.fc-toolbar.fc-header-toolbar{margin-bottom:1em}.fc-toolbar.fc-footer-toolbar{margin-top:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container *:before,.fc-view-container *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicWeek-view .fc-content-skeleton,.fc-basicDay-view .fc-content-skeleton{padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:0.3}.fc-basic-view .fc-week-number,.fc-basic-view .fc-day-number{padding:2px}.fc-basic-view th.fc-week-number,.fc-basic-view th.fc-day-number{padding:0 2px}.fc-ltr .fc-basic-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-basic-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-basic-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px 0}.fc-rtl .fc-basic-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-basic-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:#808080}.fc-basic-view td.fc-week-number{text-align:center}.fc-basic-view td.fc-week-number>*{display:inline-block;min-width:1.25em}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.fc-time-grid-container,.fc-time-grid{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{position:relative;z-index:3}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-helper-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-highlight-container{position:relative}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-event,.fc-time-grid .fc-bgevent{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event{overflow:hidden}.fc-time-grid-event.fc-selected{overflow:visible}.fc-time-grid-event.fc-selected .fc-bg{display:none}.fc-time-grid-event .fc-content{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\A0-\A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:bold}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt{float:right}.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee}.jvectormap-container{width:100%;height:100%;position:relative;overflow:hidden}.jvectormap-tip{position:absolute;display:none;border:solid 1px #CDCDCD;border-radius:3px;background:#292929;color:white;font-family:sans-serif, Verdana;font-size:smaller;padding:3px}.jvectormap-zoomin,.jvectormap-zoomout,.jvectormap-goback{position:absolute;left:10px;border-radius:3px;background:#292929;padding:3px;color:white;cursor:pointer;line-height:10px;text-align:center}.jvectormap-zoomin{top:10px}.jvectormap-zoomout{top:30px}.jvectormap-goback{bottom:10px;z-index:1000;padding:6px}.jvectormap-spinner{position:absolute;left:0;top:0;right:0;bottom:0;background:center no-repeat url(data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==)}.jvectormap-legend-title{font-weight:bold;font-size:14px;text-align:center}.jvectormap-legend-cnt{position:absolute}.jvectormap-legend-cnt-h{bottom:0;right:0}.jvectormap-legend-cnt-v{top:0;right:0}.jvectormap-legend{background:black;color:white;border-radius:3px}.jvectormap-legend-cnt-h .jvectormap-legend{float:left;margin:0 10px 10px 0;padding:3px 3px 1px 3px}.jvectormap-legend-cnt-h .jvectormap-legend .jvectormap-legend-tick{float:left}.jvectormap-legend-cnt-v .jvectormap-legend{margin:10px 10px 0 0;padding:3px}.jvectormap-legend-cnt-h .jvectormap-legend-tick{width:40px}.jvectormap-legend-cnt-h .jvectormap-legend-tick-sample{height:15px}.jvectormap-legend-cnt-v .jvectormap-legend-tick-sample{height:20px;width:20px;display:inline-block;vertical-align:middle}.jvectormap-legend-tick-text{font-size:12px}.jvectormap-legend-cnt-h .jvectormap-legend-tick-text{text-align:center}.jvectormap-legend-cnt-v .jvectormap-legend-tick-text{display:inline-block;vertical-align:middle;line-height:20px;padding-left:3px}@media only screen and (max-width: 1320px){.header-user-info{display:none}}@media (max-width: 991.98px){.app-main{display:block}.dropdown-menu::before,.dropdown-menu::after{display:none}.app-sidebar{flex:0 0 280px !important;width:280px !important;transform:translateX(-280px);position:fixed}.app-sidebar .app-header__logo{display:none}.sidebar-mobile-open .app-sidebar{transform:translateX(0)}.sidebar-mobile-open .app-sidebar .app-sidebar__inner .app-sidebar__heading{text-indent:initial}.sidebar-mobile-open .app-sidebar .app-sidebar__inner .app-sidebar__heading::before{display:none}.sidebar-mobile-open .app-sidebar .app-sidebar__inner ul li a{text-indent:initial;padding:0 1.5rem 0 45px}.sidebar-mobile-open .app-sidebar .app-sidebar__inner .metismenu-icon{text-indent:initial;left:5px;margin-left:0}.sidebar-mobile-open .app-sidebar .app-sidebar__inner .metismenu-state-icon{visibility:visible}.sidebar-mobile-open .app-sidebar .app-sidebar__inner ul::before{display:block}.sidebar-mobile-open .app-sidebar .app-sidebar__inner ul ul li a{padding-left:1em}.sidebar-mobile-open .app-sidebar .app-sidebar__inner ul.mm-show{padding:.5em 0 0 2rem}.sidebar-mobile-open .app-sidebar .app-sidebar__inner ul.mm-show>li>a{height:2rem;line-height:2rem}.sidebar-mobile-open .app-sidebar .app-header__logo{width:auto !important}.sidebar-mobile-open .app-sidebar .app-header__logo .logo-src{width:97px !important;margin-left:auto;margin-right:0}.sidebar-mobile-open .fixed-sidebar .app-sidebar{height:100%}.sidebar-mobile-open .sidebar-mobile-overlay{display:block}.app-main .app-main__outer{padding-left:0 !important}.app-header{justify-content:space-between}.app-header .app-header__logo{display:none;order:2;background:transparent !important;border:0 !important}.app-header .app-header__content{visibility:hidden;opacity:0;box-shadow:0 0.46875rem 2.1875rem rgba(4,9,20,0.03),0 0.9375rem 1.40625rem rgba(4,9,20,0.03),0 0.25rem 0.53125rem rgba(4,9,20,0.05),0 0.125rem 0.1875rem rgba(4,9,20,0.03);position:absolute;left:5%;width:90%;top:0;transition:all .2s;background:#fff;border-radius:50px;padding:0 10px;overflow:hidden}.app-header .app-header__content .header-btn-lg{margin-left:.5rem;padding:0 .5rem}.app-header .app-header__content .app-header-left .nav{display:none}.app-header .app-header__content.header-mobile-open{visibility:visible;opacity:1;top:80px}.app-header .app-header__mobile-menu{display:flex;order:1}.app-header .app-header__menu{display:flex;order:3}.app-header.header-text-light .app-header__menu>span .btn,.app-header.header-text-light .app-header__menu>.btn{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.1)}.app-header.header-text-light .header-mobile-open{background:#343a40}.popover,.dropdown-menu{position:fixed !important;z-index:50;left:5% !important;top:50% !important;width:90% !important;transform:translateY(-50%) !important;min-width:10px !important}.popover .btn-icon-vertical .btn-icon-wrapper,.dropdown-menu .btn-icon-vertical .btn-icon-wrapper{display:none}.popover{max-width:initial}.popover .arrow{display:none !important}.app-page-title{text-align:center}.app-page-title .page-title-heading,.app-page-title .page-title-wrapper{margin:0 auto;display:block}.app-page-title .page-title-actions{margin:15px auto 0}.app-page-title .page-title-actions .breadcrumb-item,.app-page-title .page-title-actions .breadcrumb,.app-page-title .page-title-subheading .breadcrumb-item,.app-page-title .page-title-subheading .breadcrumb{display:inline-block}.app-footer .app-footer__inner .app-footer-right{display:none}.app-footer .app-footer__inner .app-footer-left{width:100%}.app-footer .app-footer__inner .app-footer-left .footer-dots{margin:0 auto}.widget-content .widget-numbers{font-size:1.6rem;line-height:1}.slick-slider-sm .slick-slider{max-width:650px !important}.bg-transparent.list-group-item{border-color:transparent}.tabs-lg-alternate.card-header>.nav .nav-item .widget-number{font-size:1.5rem}.page-title-head{display:block}}@media (max-width: 991.98px){.app-page-title .page-title-icon,.ui-theme-settings{display:none}.card-header.responsive-center{display:block;text-align:center;height:auto;padding:1.5rem}.card-header.responsive-center .nav,.card-header.responsive-center .btn-actions-pane-right{margin:.75rem 0 0}.card-header.responsive-center .nav .d-inline-block.ml-2,.card-header.responsive-center .btn-actions-pane-right .d-inline-block.ml-2{width:100% !important;text-align:left;margin:0 !important}.slick-slider-sm .slick-slider{max-width:650px !important}}@media (min-width: 992px){.slick-slider-sm .slick-slider{max-width:850px !important}}@media (max-width: 1199.98px){.-hide-paging .-pagination .-center{display:none}}@media (max-width: 767.98px){.app-main .app-main__inner{padding:15px 15px 0}.mbg-3,body .card.mb-3{margin-bottom:15px !important}.app-page-title{padding:15px;margin:-15px -15px 15px}.app-page-title+.body-tabs-layout{margin-top:-15px !important}.body-tabs-line .body-tabs-layout{margin-bottom:15px;margin-left:-15px;margin-right:-15px;padding:0 15px}.body-tabs{padding:0 15px;display:block}.body-tabs .nav-item .nav-link{margin:0}.popover,.dropdown-menu{width:80%;left:10%}body .card-header{height:auto;display:block;padding:.75rem 1.5rem;text-align:center}body .card-header .btn-actions-pane-right{padding:.75rem 0 0}body .card-header .actions-icon-btn{padding:0}.card-header.card-header-tab .card-header-title{display:inline-flex !important;line-height:1}.card-header.card-header-tab>.nav{margin:.75rem 0 -.75rem;display:table !important;width:100%}.card-header.card-header-tab>.nav .nav-item{display:table-cell}.header-icon{display:none}.profile-responsive-sm .dropdown-menu-header .menu-header-content.btn-pane-right,.profile-responsive .dropdown-menu-header .menu-header-content.btn-pane-right{display:block;text-align:center}.profile-responsive-sm .dropdown-menu-header .menu-header-content.btn-pane-right .avatar-icon-wrapper,.profile-responsive .dropdown-menu-header .menu-header-content.btn-pane-right .avatar-icon-wrapper{margin-right:0 !important}.profile-responsive-sm .dropdown-menu-header .menu-header-content.btn-pane-right .menu-header-btn-pane,.profile-responsive .dropdown-menu-header .menu-header-content.btn-pane-right .menu-header-btn-pane{margin-top:1rem}.slick-slider-sm .slick-slider .slick-prev{left:15px}.slick-slider-sm .slick-slider .slick-next{right:15px}}@media only screen and (min-width: 1200px) and (max-width: 1500px){.profile-responsive .dropdown-menu-header .menu-header-content.btn-pane-right{display:block;text-align:center}.profile-responsive .dropdown-menu-header .menu-header-content.btn-pane-right .avatar-icon-wrapper{margin-right:0 !important}.profile-responsive .dropdown-menu-header .menu-header-content.btn-pane-right .menu-header-btn-pane{margin-top:1rem}}.ui-theme-settings{position:fixed;z-index:155;right:-30px;top:0;height:100vh;transform:translate(500px);transition:all .2s;box-shadow:-0.46875rem 0 2.1875rem rgba(4,9,20,0.03),-0.9375rem 0 1.40625rem rgba(4,9,20,0.03),-0.25rem 0 0.53125rem rgba(4,9,20,0.05),-0.125rem 0 0.1875rem rgba(4,9,20,0.03)}.ui-theme-settings .btn-open-options{border-radius:50px;position:absolute;left:-114px;bottom:80px;padding:0;height:54px;line-height:54px;width:54px;text-align:center;display:block;box-shadow:0 0.46875rem 2.1875rem rgba(4,9,20,0.03),0 0.9375rem 1.40625rem rgba(4,9,20,0.03),0 0.25rem 0.53125rem rgba(4,9,20,0.05),0 0.125rem 0.1875rem rgba(4,9,20,0.03);margin-top:-27px}.ui-theme-settings .btn-open-options svg{top:50%;left:50%;position:absolute;margin:-0.5em 0 0 -0.5em}.ui-theme-settings .theme-settings__inner{background:#fff;width:500px;height:100vh;padding:0}.ui-theme-settings.settings-open{transform:translate(0);right:0}.ui-theme-settings .theme-settings-swatches{text-align:center}.ui-theme-settings .theme-settings-swatches .swatch-holder-img{width:72px;height:auto;border-radius:3px}.ui-theme-settings .theme-settings-swatches .swatch-holder-img img{width:100%}.ui-theme-settings .themeoptions-heading{font-size:1.1rem;color:#495057;margin:0;background:#f8f9fa;padding:.75rem 1.5rem;border-bottom:#dee2e6 solid 1px;border-top:#dee2e6 solid 1px;display:flex;align-items:center;align-content:center}.ui-theme-settings .themeoptions-heading:first-child{border-top:0}.ui-theme-settings .list-group-item h5{color:#3f6ad8;font-size:.968rem;text-transform:uppercase;margin:0;text-align:center}.swatch-holder{width:24px;height:24px;line-height:24px;margin:5px 5px 0;transition:all .2s;opacity:.7;display:inline-block;border-radius:30px}.swatch-holder.active{border:#fff solid 2px;box-shadow:0 0 0 5px #3f6ad8;opacity:1}.swatch-holder:hover{opacity:1}.swatch-holder-lg{width:48px;height:48px;line-height:48px}.font-icon-wrapper{text-align:center;border:#e9ecef solid 1px;border-radius:.25rem;margin:0 0 10px;padding:5px}.font-icon-wrapper.font-icon-lg{float:left;padding:10px;text-align:center;margin-right:15px;min-width:64px}.font-icon-wrapper.font-icon-lg i{font-size:2.5rem}.font-icon-wrapper:hover{background:#f8f9fa;color:#3f6ad8}.font-icon-wrapper:hover p{color:#6c757d}.font-icon-wrapper i{font-size:1.65rem}.font-icon-wrapper p{color:#adb5bd;font-size:.80667rem;margin:5px 0 0}.btn-icon-vertical{min-width:100px}.card.mb-3{margin-bottom:30px !important}.demo-image-bg{height:350px;margin-bottom:30px;background-size:100%} diff --git a/static/backend/fonts/Pe-icon-7-stroke.eot b/static/backend/fonts/Pe-icon-7-stroke.eot deleted file mode 100644 index 6f7b584..0000000 Binary files a/static/backend/fonts/Pe-icon-7-stroke.eot and /dev/null differ diff --git a/static/backend/fonts/Pe-icon-7-stroke.svg b/static/backend/fonts/Pe-icon-7-stroke.svg deleted file mode 100644 index 13d9709..0000000 --- a/static/backend/fonts/Pe-icon-7-stroke.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/static/backend/fonts/Pe-icon-7-stroke.ttf b/static/backend/fonts/Pe-icon-7-stroke.ttf deleted file mode 100644 index bc8a269..0000000 Binary files a/static/backend/fonts/Pe-icon-7-stroke.ttf and /dev/null differ diff --git a/static/backend/fonts/Pe-icon-7-stroke.woff b/static/backend/fonts/Pe-icon-7-stroke.woff deleted file mode 100644 index c205e6f..0000000 Binary files a/static/backend/fonts/Pe-icon-7-stroke.woff and /dev/null differ diff --git a/static/backend/fonts/fa-solid-900.eot b/static/backend/fonts/fa-solid-900.eot deleted file mode 100644 index a233070..0000000 Binary files a/static/backend/fonts/fa-solid-900.eot and /dev/null differ diff --git a/static/backend/fonts/fa-solid-900.svg b/static/backend/fonts/fa-solid-900.svg deleted file mode 100644 index 7316c44..0000000 --- a/static/backend/fonts/fa-solid-900.svg +++ /dev/null @@ -1,2763 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/backend/fonts/fa-solid-900.ttf b/static/backend/fonts/fa-solid-900.ttf deleted file mode 100644 index acec33c..0000000 Binary files a/static/backend/fonts/fa-solid-900.ttf and /dev/null differ diff --git a/static/backend/fonts/fa-solid-900.woff b/static/backend/fonts/fa-solid-900.woff deleted file mode 100644 index 6f229ba..0000000 Binary files a/static/backend/fonts/fa-solid-900.woff and /dev/null differ diff --git a/static/backend/fonts/fa-solid-900.woff2 b/static/backend/fonts/fa-solid-900.woff2 deleted file mode 100644 index 3140f47..0000000 Binary files a/static/backend/fonts/fa-solid-900.woff2 and /dev/null differ diff --git a/static/backend/images/avatars/noimage.png b/static/backend/images/avatars/noimage.png deleted file mode 100644 index b14ad43..0000000 Binary files a/static/backend/images/avatars/noimage.png and /dev/null differ diff --git a/static/backend/images/logo-inverse.png b/static/backend/images/logo-inverse.png deleted file mode 100644 index bff9eeb..0000000 Binary files a/static/backend/images/logo-inverse.png and /dev/null differ diff --git a/static/backend/images/logo.png b/static/backend/images/logo.png deleted file mode 100644 index cfb4d39..0000000 Binary files a/static/backend/images/logo.png and /dev/null differ diff --git a/static/backend/scripts/main.js b/static/backend/scripts/main.js deleted file mode 100644 index aa3c753..0000000 --- a/static/backend/scripts/main.js +++ /dev/null @@ -1,89 +0,0 @@ -!function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=146)}([function(e,t,n){(function(e){e.exports=function(){"use strict";var t,i;function r(){return t.apply(null,arguments)}function a(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function o(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return void 0===e}function s(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function u(e,t){var n,i=[];for(n=0;n>>0,i=0;i0)for(n=0;n<_.length;n++)i=_[n],l(r=t[i])||(e[i]=r);return e}var v=!1;function M(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===v&&(v=!0,r.updateOffset(this),v=!1)}function b(e){return e instanceof M||null!=e&&null!=e._isAMomentObject}function w(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function L(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=w(t)),n}function D(e,t,n){var i,r=Math.min(e.length,t.length),a=Math.abs(e.length-t.length),o=0;for(i=0;i=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,W=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},B={};function V(e,t,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),e&&(B[e]=r),t&&(B[t[0]]=function(){return F(r.apply(this,arguments),t[1],t[2])}),n&&(B[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function G(e,t){return e.isValid()?(t=U(t,e.localeData()),z[t]=z[t]||function(e){var t,n,i,r=e.match(N);for(t=0,n=r.length;t=0&&W.test(e);)e=e.replace(W,i),W.lastIndex=0,n-=1;return e}var Z=/\d/,q=/\d\d/,X=/\d{3}/,J=/\d{4}/,$=/[+-]?\d{6}/,K=/\d\d?/,Q=/\d\d\d\d?/,ee=/\d\d\d\d\d\d?/,te=/\d{1,3}/,ne=/\d{1,4}/,ie=/[+-]?\d{1,6}/,re=/\d+/,ae=/[+-]?\d+/,oe=/Z|[+-]\d\d:?\d\d/gi,le=/Z|[+-]\d\d(?::?\d\d)?/gi,se=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,de={};function ue(e,t,n){de[e]=E(t)?t:function(e,i){return e&&n?n:t}}function ce(e,t){return c(de,e)?de[e](t._strict,t._locale):new RegExp(he(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,i,r){return t||n||i||r})))}function he(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var pe={};function fe(e,t){var n,i=t;for("string"==typeof e&&(e=[e]),s(t)&&(i=function(e,n){n[t]=L(e)}),n=0;n68?1900:2e3)};var xe,Ye=Ee("FullYear",!0);function Ee(e,t){return function(n){return null!=n?(He(this,e,n),r.updateOffset(this,t),this):Ce(this,e)}}function Ce(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function He(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&Se(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Pe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,i=(t%(n=12)+n)%n;return e+=(t-i)/12,1===i?Se(e)?29:28:31-i%7%2}xe=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Be(e,t,n){var i=7+t-n,r=(7+ze(e,0,i).getUTCDay()-t)%7;return-r+i-1}function Ve(e,t,n,i,r){var a,o,l=(7+n-i)%7,s=Be(e,i,r),d=1+7*(t-1)+l+s;return d<=0?o=ke(a=e-1)+d:d>ke(e)?(a=e+1,o=d-ke(e)):(a=e,o=d),{year:a,dayOfYear:o}}function Ge(e,t,n){var i,r,a=Be(e.year(),t,n),o=Math.floor((e.dayOfYear()-a-1)/7)+1;return o<1?(r=e.year()-1,i=o+Ue(r,t,n)):o>Ue(e.year(),t,n)?(i=o-Ue(e.year(),t,n),r=e.year()+1):(r=e.year(),i=o),{week:i,year:r}}function Ue(e,t,n){var i=Be(e,t,n),r=Be(e+1,t,n);return(ke(e)-i+r)/7}V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),j("week",5),j("isoWeek",5),ue("w",K),ue("ww",K,q),ue("W",K),ue("WW",K,q),me(["w","ww","W","WW"],function(e,t,n,i){t[i.substr(0,1)]=L(e)}),V("d",0,"do","day"),V("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),V("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),V("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),ue("d",K),ue("e",K),ue("E",K),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),me(["dd","ddd","dddd"],function(e,t,n,i){var r=n._locale.weekdaysParse(e,i,n._strict);null!=r?t.d=r:f(n).invalidWeekday=e}),me(["d","e","E"],function(e,t,n,i){t[i]=L(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),qe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Je=se,$e=se,Ke=se;function Qe(){function e(e,t){return t.length-e.length}var t,n,i,r,a,o=[],l=[],s=[],d=[];for(t=0;t<7;t++)n=p([2e3,1]).day(t),i=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(i),l.push(r),s.push(a),d.push(i),d.push(r),d.push(a);for(o.sort(e),l.sort(e),s.sort(e),d.sort(e),t=0;t<7;t++)l[t]=he(l[t]),s[t]=he(s[t]),d[t]=he(d[t]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function et(){return this.hours()%12||12}function tt(e,t){V(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function nt(e,t){return t._meridiemParse}V("H",["HH",2],0,"hour"),V("h",["hh",2],0,et),V("k",["kk",2],0,function(){return this.hours()||24}),V("hmm",0,0,function(){return""+et.apply(this)+F(this.minutes(),2)}),V("hmmss",0,0,function(){return""+et.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),V("Hmm",0,0,function(){return""+this.hours()+F(this.minutes(),2)}),V("Hmmss",0,0,function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),tt("a",!0),tt("A",!1),O("hour","h"),j("hour",13),ue("a",nt),ue("A",nt),ue("H",K),ue("h",K),ue("k",K),ue("HH",K,q),ue("hh",K,q),ue("kk",K,q),ue("hmm",Q),ue("hmmss",ee),ue("Hmm",Q),ue("Hmmss",ee),fe(["H","HH"],Me),fe(["k","kk"],function(e,t,n){var i=L(e);t[Me]=24===i?0:i}),fe(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),fe(["h","hh"],function(e,t,n){t[Me]=L(e),f(n).bigHour=!0}),fe("hmm",function(e,t,n){var i=e.length-2;t[Me]=L(e.substr(0,i)),t[be]=L(e.substr(i)),f(n).bigHour=!0}),fe("hmmss",function(e,t,n){var i=e.length-4,r=e.length-2;t[Me]=L(e.substr(0,i)),t[be]=L(e.substr(i,2)),t[we]=L(e.substr(r)),f(n).bigHour=!0}),fe("Hmm",function(e,t,n){var i=e.length-2;t[Me]=L(e.substr(0,i)),t[be]=L(e.substr(i))}),fe("Hmmss",function(e,t,n){var i=e.length-4,r=e.length-2;t[Me]=L(e.substr(0,i)),t[be]=L(e.substr(i,2)),t[we]=L(e.substr(r))});var it,rt=Ee("Hours",!0),at={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ae,monthsShort:Ie,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:Xe,weekdaysShort:qe,meridiemParse:/[ap]\.?m?\.?/i},ot={},lt={};function st(e){return e?e.toLowerCase().replace("_","-"):e}function dt(t){var i=null;if(!ot[t]&&void 0!==e&&e&&e.exports)try{i=it._abbr,n(159)("./"+t),ut(i)}catch(e){}return ot[t]}function ut(e,t){var n;return e&&((n=l(t)?ht(e):ct(e,t))?it=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),it._abbr}function ct(e,t){if(null!==t){var n,i=at;if(t.abbr=e,null!=ot[e])Y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=ot[e]._config;else if(null!=t.parentLocale)if(null!=ot[t.parentLocale])i=ot[t.parentLocale]._config;else{if(null==(n=dt(t.parentLocale)))return lt[t.parentLocale]||(lt[t.parentLocale]=[]),lt[t.parentLocale].push({name:e,config:t}),null;i=n._config}return ot[e]=new H(C(i,t)),lt[e]&<[e].forEach(function(e){ct(e.name,e.config)}),ut(e),ot[e]}return delete ot[e],null}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return it;if(!a(e)){if(t=dt(e))return t;e=[e]}return function(e){for(var t,n,i,r,a=0;a0;){if(i=dt(r.slice(0,t).join("-")))return i;if(n&&n.length>=t&&D(r,n,!0)>=t-1)break;t--}a++}return it}(e)}function pt(e){var t,n=e._a;return n&&-2===f(e).overflow&&(t=n[ye]<0||n[ye]>11?ye:n[ve]<1||n[ve]>Pe(n[_e],n[ye])?ve:n[Me]<0||n[Me]>24||24===n[Me]&&(0!==n[be]||0!==n[we]||0!==n[Le])?Me:n[be]<0||n[be]>59?be:n[we]<0||n[we]>59?we:n[Le]<0||n[Le]>999?Le:-1,f(e)._overflowDayOfYear&&(t<_e||t>ve)&&(t=ve),f(e)._overflowWeeks&&-1===t&&(t=De),f(e)._overflowWeekday&&-1===t&&(t=Te),f(e).overflow=t),e}function ft(e,t,n){return null!=e?e:null!=t?t:n}function mt(e){var t,n,i,a,o,l=[];if(!e._d){for(i=function(e){var t=new Date(r.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[ve]&&null==e._a[ye]&&function(e){var t,n,i,r,a,o,l,s;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)a=1,o=4,n=ft(t.GG,e._a[_e],Ge(Et(),1,4).year),i=ft(t.W,1),((r=ft(t.E,1))<1||r>7)&&(s=!0);else{a=e._locale._week.dow,o=e._locale._week.doy;var d=Ge(Et(),a,o);n=ft(t.gg,e._a[_e],d.year),i=ft(t.w,d.week),null!=t.d?((r=t.d)<0||r>6)&&(s=!0):null!=t.e?(r=t.e+a,(t.e<0||t.e>6)&&(s=!0)):r=a}i<1||i>Ue(n,a,o)?f(e)._overflowWeeks=!0:null!=s?f(e)._overflowWeekday=!0:(l=Ve(n,i,r,a,o),e._a[_e]=l.year,e._dayOfYear=l.dayOfYear)}(e),null!=e._dayOfYear&&(o=ft(e._a[_e],i[_e]),(e._dayOfYear>ke(o)||0===e._dayOfYear)&&(f(e)._overflowDayOfYear=!0),n=ze(o,0,e._dayOfYear),e._a[ye]=n.getUTCMonth(),e._a[ve]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=l[t]=i[t];for(;t<7;t++)e._a[t]=l[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Me]&&0===e._a[be]&&0===e._a[we]&&0===e._a[Le]&&(e._nextDay=!0,e._a[Me]=0),e._d=(e._useUTC?ze:function(e,t,n,i,r,a,o){var l=new Date(e,t,n,i,r,a,o);return e<100&&e>=0&&isFinite(l.getFullYear())&&l.setFullYear(e),l}).apply(null,l),a=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Me]=24),e._w&&void 0!==e._w.d&&e._w.d!==a&&(f(e).weekdayMismatch=!0)}}var gt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,yt=/Z|[+-]\d\d(?::?\d\d)?/,vt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Mt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],bt=/^\/?Date\((\-?\d+)/i;function wt(e){var t,n,i,r,a,o,l=e._i,s=gt.exec(l)||_t.exec(l);if(s){for(f(e).iso=!0,t=0,n=vt.length;t0&&f(e).unusedInput.push(o),l=l.slice(l.indexOf(n)+n.length),d+=n.length),B[a]?(n?f(e).empty=!1:f(e).unusedTokens.push(a),ge(a,n,e)):e._strict&&!n&&f(e).unusedTokens.push(a);f(e).charsLeftOver=s-d,l.length>0&&f(e).unusedInput.push(l),e._a[Me]<=12&&!0===f(e).bigHour&&e._a[Me]>0&&(f(e).bigHour=void 0),f(e).parsedDateParts=e._a.slice(0),f(e).meridiem=e._meridiem,e._a[Me]=(u=e._locale,c=e._a[Me],null==(h=e._meridiem)?c:null!=u.meridiemHour?u.meridiemHour(c,h):null!=u.isPM?((p=u.isPM(h))&&c<12&&(c+=12),p||12!==c||(c=0),c):c),mt(e),pt(e)}else kt(e);else wt(e);var u,c,h,p}function xt(e){var t=e._i,n=e._f;return e._locale=e._locale||ht(e._l),null===t||void 0===n&&""===t?g({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),b(t)?new M(pt(t)):(d(t)?e._d=t:a(n)?function(e){var t,n,i,r,a;if(0===e._f.length)return f(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;rthis?this:e:g()});function Pt(e,t){var n,i;if(1===t.length&&a(t[0])&&(t=t[0]),!t.length)return Et();for(n=t[0],i=1;ia&&(t=a),function(e,t,n,i,r){var a=Ve(e,t,n,i,r),o=ze(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,e,t,n,i,r))}V(0,["gg",2],0,function(){return this.weekYear()%100}),V(0,["GG",2],0,function(){return this.isoWeekYear()%100}),rn("gggg","weekYear"),rn("ggggg","weekYear"),rn("GGGG","isoWeekYear"),rn("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),ue("G",ae),ue("g",ae),ue("GG",K,q),ue("gg",K,q),ue("GGGG",ne,J),ue("gggg",ne,J),ue("GGGGG",ie,$),ue("ggggg",ie,$),me(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,i){t[i.substr(0,2)]=L(e)}),me(["gg","GG"],function(e,t,n,i){t[i]=r.parseTwoDigitYear(e)}),V("Q",0,"Qo","quarter"),O("quarter","Q"),j("quarter",7),ue("Q",Z),fe("Q",function(e,t){t[ye]=3*(L(e)-1)}),V("D",["DD",2],"Do","date"),O("date","D"),j("date",9),ue("D",K),ue("DD",K,q),ue("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),fe(["D","DD"],ve),fe("Do",function(e,t){t[ve]=L(e.match(K)[0])});var on=Ee("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),j("dayOfYear",4),ue("DDD",te),ue("DDDD",X),fe(["DDD","DDDD"],function(e,t,n){n._dayOfYear=L(e)}),V("m",["mm",2],0,"minute"),O("minute","m"),j("minute",14),ue("m",K),ue("mm",K,q),fe(["m","mm"],be);var ln=Ee("Minutes",!1);V("s",["ss",2],0,"second"),O("second","s"),j("second",15),ue("s",K),ue("ss",K,q),fe(["s","ss"],we);var sn,dn=Ee("Seconds",!1);for(V("S",0,0,function(){return~~(this.millisecond()/100)}),V(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,function(){return 10*this.millisecond()}),V(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),V(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),V(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),V(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),V(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),j("millisecond",16),ue("S",te,Z),ue("SS",te,q),ue("SSS",te,X),sn="SSSS";sn.length<=9;sn+="S")ue(sn,re);function un(e,t){t[Le]=L(1e3*("0."+e))}for(sn="S";sn.length<=9;sn+="S")fe(sn,un);var cn=Ee("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var hn=M.prototype;function pn(e){return e}hn.add=$t,hn.calendar=function(e,t){var n=e||Et(),i=Wt(n,this).startOf("day"),a=r.calendarFormat(this,i)||"sameElse",o=t&&(E(t[a])?t[a].call(this,n):t[a]);return this.format(o||this.localeData().calendar(a,this,Et(n)))},hn.clone=function(){return new M(this)},hn.diff=function(e,t,n){var i,r,a;if(!this.isValid())return NaN;if(!(i=Wt(e,this)).isValid())return NaN;switch(r=6e4*(i.utcOffset()-this.utcOffset()),t=A(t)){case"year":a=Qt(this,i)/12;break;case"month":a=Qt(this,i);break;case"quarter":a=Qt(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-r)/864e5;break;case"week":a=(this-i-r)/6048e5;break;default:a=this-i}return n?a:w(a)},hn.endOf=function(e){return void 0===(e=A(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},hn.format=function(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var t=G(this,e);return this.localeData().postformat(t)},hn.from=function(e,t){return this.isValid()&&(b(e)&&e.isValid()||Et(e).isValid())?Ut({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},hn.fromNow=function(e){return this.from(Et(),e)},hn.to=function(e,t){return this.isValid()&&(b(e)&&e.isValid()||Et(e).isValid())?Ut({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},hn.toNow=function(e){return this.to(Et(),e)},hn.get=function(e){return E(this[e=A(e)])?this[e]():this},hn.invalidAt=function(){return f(this).overflow},hn.isAfter=function(e,t){var n=b(e)?e:Et(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=A(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?G(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):E(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",G(n,"Z")):G(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},hn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r=t+'[")]';return this.format(n+i+"-MM-DD[T]HH:mm:ss.SSS"+r)},hn.toJSON=function(){return this.isValid()?this.toISOString():null},hn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},hn.unix=function(){return Math.floor(this.valueOf()/1e3)},hn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},hn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},hn.year=Ye,hn.isLeapYear=function(){return Se(this.year())},hn.weekYear=function(e){return an.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},hn.isoWeekYear=function(e){return an.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},hn.quarter=hn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},hn.month=je,hn.daysInMonth=function(){return Pe(this.year(),this.month())},hn.week=hn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},hn.isoWeek=hn.isoWeeks=function(e){var t=Ge(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},hn.weeksInYear=function(){var e=this.localeData()._week;return Ue(this.year(),e.dow,e.doy)},hn.isoWeeksInYear=function(){return Ue(this.year(),1,4)},hn.date=on,hn.day=hn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},hn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},hn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},hn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},hn.hour=hn.hours=rt,hn.minute=hn.minutes=ln,hn.second=hn.seconds=dn,hn.millisecond=hn.milliseconds=cn,hn.utcOffset=function(e,t,n){var i,a=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=Nt(le,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(i=zt(this)),this._offset=e,this._isUTC=!0,null!=i&&this.add(i,"m"),a!==e&&(!t||this._changeInProgress?Jt(this,Ut(e-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:zt(this)},hn.utc=function(e){return this.utcOffset(0,e)},hn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(zt(this),"m")),this},hn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Nt(oe,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},hn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Et(e).utcOffset():0,(this.utcOffset()-e)%60==0)},hn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},hn.isLocal=function(){return!!this.isValid()&&!this._isUTC},hn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},hn.isUtc=Bt,hn.isUTC=Bt,hn.zoneAbbr=function(){return this._isUTC?"UTC":""},hn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},hn.dates=k("dates accessor is deprecated. Use date instead.",on),hn.months=k("months accessor is deprecated. Use month instead",je),hn.years=k("years accessor is deprecated. Use year instead",Ye),hn.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),hn.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e={};if(y(e,this),(e=xt(e))._a){var t=e._isUTC?p(e._a):Et(e._a);this._isDSTShifted=this.isValid()&&D(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var fn=H.prototype;function mn(e,t,n,i){var r=ht(),a=p().set(i,t);return r[n](a,e)}function gn(e,t,n){if(s(e)&&(t=e,e=void 0),e=e||"",null!=t)return mn(e,t,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=mn(e,i,n,"month");return r}function _n(e,t,n,i){"boolean"==typeof e?(s(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,s(t)&&(n=t,t=void 0),t=t||"");var r,a=ht(),o=e?a._week.dow:0;if(null!=n)return mn(t,(n+o)%7,i,"day");var l=[];for(r=0;r<7;r++)l[r]=mn(t,(r+o)%7,i,"day");return l}fn.calendar=function(e,t,n){var i=this._calendar[e]||this._calendar.sameElse;return E(i)?i.call(t,n):i},fn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},fn.invalidDate=function(){return this._invalidDate},fn.ordinal=function(e){return this._ordinal.replace("%d",e)},fn.preparse=pn,fn.postformat=pn,fn.relativeTime=function(e,t,n,i){var r=this._relativeTime[n];return E(r)?r(e,t,n,i):r.replace(/%d/i,e)},fn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return E(n)?n(t):n.replace(/%s/i,t)},fn.set=function(e){var t,n;for(n in e)E(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},fn.months=function(e,t){return e?a(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Oe).test(t)?"format":"standalone"][e.month()]:a(this._months)?this._months:this._months.standalone},fn.monthsShort=function(e,t){return e?a(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Oe.test(t)?"format":"standalone"][e.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},fn.monthsParse=function(e,t,n){var i,r,a;if(this._monthsParseExact)return function(e,t,n){var i,r,a,o=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=p([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(r=xe.call(this._shortMonthsParse,o))?r:null:-1!==(r=xe.call(this._longMonthsParse,o))?r:null:"MMM"===t?-1!==(r=xe.call(this._shortMonthsParse,o))?r:-1!==(r=xe.call(this._longMonthsParse,o))?r:null:-1!==(r=xe.call(this._longMonthsParse,o))?r:-1!==(r=xe.call(this._shortMonthsParse,o))?r:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(r=p([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(a="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[i].test(e))return i;if(n&&"MMM"===t&&this._shortMonthsParse[i].test(e))return i;if(!n&&this._monthsParse[i].test(e))return i}},fn.monthsRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||We.call(this),e?this._monthsStrictRegex:this._monthsRegex):(c(this,"_monthsRegex")||(this._monthsRegex=Ne),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},fn.monthsShortRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||We.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(c(this,"_monthsShortRegex")||(this._monthsShortRegex=Fe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},fn.week=function(e){return Ge(e,this._week.dow,this._week.doy).week},fn.firstDayOfYear=function(){return this._week.doy},fn.firstDayOfWeek=function(){return this._week.dow},fn.weekdays=function(e,t){return e?a(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:a(this._weekdays)?this._weekdays:this._weekdays.standalone},fn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},fn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},fn.weekdaysParse=function(e,t,n){var i,r,a;if(this._weekdaysParseExact)return function(e,t,n){var i,r,a,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=p([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(r=xe.call(this._weekdaysParse,o))?r:null:"ddd"===t?-1!==(r=xe.call(this._shortWeekdaysParse,o))?r:null:-1!==(r=xe.call(this._minWeekdaysParse,o))?r:null:"dddd"===t?-1!==(r=xe.call(this._weekdaysParse,o))?r:-1!==(r=xe.call(this._shortWeekdaysParse,o))?r:-1!==(r=xe.call(this._minWeekdaysParse,o))?r:null:"ddd"===t?-1!==(r=xe.call(this._shortWeekdaysParse,o))?r:-1!==(r=xe.call(this._weekdaysParse,o))?r:-1!==(r=xe.call(this._minWeekdaysParse,o))?r:null:-1!==(r=xe.call(this._minWeekdaysParse,o))?r:-1!==(r=xe.call(this._weekdaysParse,o))?r:-1!==(r=xe.call(this._shortWeekdaysParse,o))?r:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=p([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[i].test(e))return i;if(n&&"ddd"===t&&this._shortWeekdaysParse[i].test(e))return i;if(n&&"dd"===t&&this._minWeekdaysParse[i].test(e))return i;if(!n&&this._weekdaysParse[i].test(e))return i}},fn.weekdaysRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=Je),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},fn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$e),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},fn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ke),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},fn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},fn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},ut("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===L(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),r.lang=k("moment.lang is deprecated. Use moment.locale instead.",ut),r.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ht);var yn=Math.abs;function vn(e,t,n,i){var r=Ut(t,n);return e._milliseconds+=i*r._milliseconds,e._days+=i*r._days,e._months+=i*r._months,e._bubble()}function Mn(e){return e<0?Math.floor(e):Math.ceil(e)}function bn(e){return 4800*e/146097}function wn(e){return 146097*e/4800}function Ln(e){return function(){return this.as(e)}}var Dn=Ln("ms"),Tn=Ln("s"),kn=Ln("m"),Sn=Ln("h"),xn=Ln("d"),Yn=Ln("w"),En=Ln("M"),Cn=Ln("y");function Hn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Pn=Hn("milliseconds"),On=Hn("seconds"),An=Hn("minutes"),In=Hn("hours"),Rn=Hn("days"),jn=Hn("months"),Fn=Hn("years"),Nn=Math.round,Wn={ss:44,s:45,m:45,h:22,d:26,M:11},zn=Math.abs;function Bn(e){return(e>0)-(e<0)||+e}function Vn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=zn(this._milliseconds)/1e3,i=zn(this._days),r=zn(this._months);e=w(n/60),t=w(e/60),n%=60,e%=60;var a=w(r/12),o=r%=12,l=i,s=t,d=e,u=n?n.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var h=c<0?"-":"",p=Bn(this._months)!==Bn(c)?"-":"",f=Bn(this._days)!==Bn(c)?"-":"",m=Bn(this._milliseconds)!==Bn(c)?"-":"";return h+"P"+(a?p+a+"Y":"")+(o?p+o+"M":"")+(l?f+l+"D":"")+(s||d||u?"T":"")+(s?m+s+"H":"")+(d?m+d+"M":"")+(u?m+u+"S":"")}var Gn=At.prototype;return Gn.isValid=function(){return this._isValid},Gn.abs=function(){var e=this._data;return this._milliseconds=yn(this._milliseconds),this._days=yn(this._days),this._months=yn(this._months),e.milliseconds=yn(e.milliseconds),e.seconds=yn(e.seconds),e.minutes=yn(e.minutes),e.hours=yn(e.hours),e.months=yn(e.months),e.years=yn(e.years),this},Gn.add=function(e,t){return vn(this,e,t,1)},Gn.subtract=function(e,t){return vn(this,e,t,-1)},Gn.as=function(e){if(!this.isValid())return NaN;var t,n,i=this._milliseconds;if("month"===(e=A(e))||"year"===e)return t=this._days+i/864e5,n=this._months+bn(t),"month"===e?n:n/12;switch(t=this._days+Math.round(wn(this._months)),e){case"week":return t/7+i/6048e5;case"day":return t+i/864e5;case"hour":return 24*t+i/36e5;case"minute":return 1440*t+i/6e4;case"second":return 86400*t+i/1e3;case"millisecond":return Math.floor(864e5*t)+i;default:throw new Error("Unknown unit "+e)}},Gn.asMilliseconds=Dn,Gn.asSeconds=Tn,Gn.asMinutes=kn,Gn.asHours=Sn,Gn.asDays=xn,Gn.asWeeks=Yn,Gn.asMonths=En,Gn.asYears=Cn,Gn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12):NaN},Gn._bubble=function(){var e,t,n,i,r,a=this._milliseconds,o=this._days,l=this._months,s=this._data;return a>=0&&o>=0&&l>=0||a<=0&&o<=0&&l<=0||(a+=864e5*Mn(wn(l)+o),o=0,l=0),s.milliseconds=a%1e3,e=w(a/1e3),s.seconds=e%60,t=w(e/60),s.minutes=t%60,n=w(t/60),s.hours=n%24,o+=w(n/24),r=w(bn(o)),l+=r,o-=Mn(wn(r)),i=w(l/12),l%=12,s.days=o,s.months=l,s.years=i,this},Gn.clone=function(){return Ut(this)},Gn.get=function(e){return e=A(e),this.isValid()?this[e+"s"]():NaN},Gn.milliseconds=Pn,Gn.seconds=On,Gn.minutes=An,Gn.hours=In,Gn.days=Rn,Gn.weeks=function(){return w(this.days()/7)},Gn.months=jn,Gn.years=Fn,Gn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var i=Ut(e).abs(),r=Nn(i.as("s")),a=Nn(i.as("m")),o=Nn(i.as("h")),l=Nn(i.as("d")),s=Nn(i.as("M")),d=Nn(i.as("y")),u=r<=Wn.ss&&["s",r]||r0,u[4]=n,function(e,t,n,i,r){return r.relativeTime(t||1,!!n,e,i)}.apply(null,u)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},Gn.toISOString=Vn,Gn.toString=Vn,Gn.toJSON=Vn,Gn.locale=en,Gn.localeData=nn,Gn.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Vn),Gn.lang=tn,V("X",0,0,"unix"),V("x",0,0,"valueOf"),ue("x",ae),ue("X",/[+-]?\d+(\.\d{1,3})?/),fe("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),fe("x",function(e,t,n){n._d=new Date(L(e))}),r.version="2.23.0",t=Et,r.fn=hn,r.min=function(){return Pt("isBefore",[].slice.call(arguments,0))},r.max=function(){return Pt("isAfter",[].slice.call(arguments,0))},r.now=function(){return Date.now?Date.now():+new Date},r.utc=p,r.unix=function(e){return Et(1e3*e)},r.months=function(e,t){return gn(e,t,"months")},r.isDate=d,r.locale=ut,r.invalid=g,r.duration=Ut,r.isMoment=b,r.weekdays=function(e,t,n){return _n(e,t,n,"weekdays")},r.parseZone=function(){return Et.apply(null,arguments).parseZone()},r.localeData=ht,r.isDuration=It,r.monthsShort=function(e,t){return gn(e,t,"monthsShort")},r.weekdaysMin=function(e,t,n){return _n(e,t,n,"weekdaysMin")},r.defineLocale=ct,r.updateLocale=function(e,t){if(null!=t){var n,i,r=at;null!=(i=dt(e))&&(r=i._config),t=C(r,t),(n=new H(t)).parentLocale=ot[e],ot[e]=n,ut(e)}else null!=ot[e]&&(null!=ot[e].parentLocale?ot[e]=ot[e].parentLocale:null!=ot[e]&&delete ot[e]);return ot[e]},r.locales=function(){return S(ot)},r.weekdaysShort=function(e,t,n){return _n(e,t,n,"weekdaysShort")},r.normalizeUnits=A,r.relativeTimeRounding=function(e){return void 0===e?Nn:"function"==typeof e&&(Nn=e,!0)},r.relativeTimeThreshold=function(e,t){return void 0!==Wn[e]&&(void 0===t?Wn[e]:(Wn[e]=t,"s"===e&&(Wn.ss=t-1),!0))},r.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=hn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n(158)(e))},function(e,t,n){var i; -/*! - * jQuery JavaScript Library v3.3.1 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2018-01-20T17:24Z - */ -/*! - * jQuery JavaScript Library v3.3.1 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2018-01-20T17:24Z - */ -!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,r){"use strict";var a=[],o=n.document,l=Object.getPrototypeOf,s=a.slice,d=a.concat,u=a.push,c=a.indexOf,h={},p=h.toString,f=h.hasOwnProperty,m=f.toString,g=m.call(Object),_={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},v=function(e){return null!=e&&e===e.window},M={type:!0,src:!0,noModule:!0};function b(e,t,n){var i,r=(t=t||o).createElement("script");if(r.text=e,n)for(i in M)n[i]&&(r[i]=n[i]);t.head.appendChild(r).parentNode.removeChild(r)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?h[p.call(e)]||"object":typeof e}var L=function(e,t){return new L.fn.init(e,t)},D=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function T(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!y(e)&&!v(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}L.fn=L.prototype={jquery:"3.3.1",constructor:L,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=L.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return L.each(this,e)},map:function(e){return this.pushStack(L.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+I+")"+I+"*"),V=new RegExp("="+I+"*([^\\]'\"]*?)"+I+"*\\]","g"),G=new RegExp(F),U=new RegExp("^"+R+"$"),Z={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+j),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+A+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},q=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Q=new RegExp("\\\\([\\da-f]{1,6}"+I+"?|("+I+")|.)","ig"),ee=function(e,t,n){var i="0x"+t-65536;return i!=i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=function(){h()},re=ye(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{H.apply(Y=P.call(b.childNodes),b.childNodes),Y[b.childNodes.length].nodeType}catch(e){H={apply:Y.length?function(e,t){C.apply(e,P.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function ae(e,t,i,r){var a,l,d,u,c,f,_,y=t&&t.ownerDocument,w=t?t.nodeType:9;if(i=i||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return i;if(!r&&((t?t.ownerDocument||t:b)!==p&&h(t),t=t||p,m)){if(11!==w&&(c=$.exec(e)))if(a=c[1]){if(9===w){if(!(d=t.getElementById(a)))return i;if(d.id===a)return i.push(d),i}else if(y&&(d=y.getElementById(a))&&v(t,d)&&d.id===a)return i.push(d),i}else{if(c[2])return H.apply(i,t.getElementsByTagName(e)),i;if((a=c[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(i,t.getElementsByClassName(a)),i}if(n.qsa&&!k[e+" "]&&(!g||!g.test(e))){if(1!==w)y=t,_=e;else if("object"!==t.nodeName.toLowerCase()){for((u=t.getAttribute("id"))?u=u.replace(te,ne):t.setAttribute("id",u=M),l=(f=o(e)).length;l--;)f[l]="#"+u+" "+_e(f[l]);_=f.join(","),y=K.test(e)&&me(t.parentNode)||t}if(_)try{return H.apply(i,y.querySelectorAll(_)),i}catch(e){}finally{u===M&&t.removeAttribute("id")}}}return s(e.replace(W,"$1"),t,i,r)}function oe(){var e=[];return function t(n,r){return e.push(n+" ")>i.cacheLength&&delete t[e.shift()],t[n+" "]=r}}function le(e){return e[M]=!0,e}function se(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),r=n.length;r--;)i.attrHandle[n[r]]=t}function ue(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function ce(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&re(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function fe(e){return le(function(t){return t=+t,le(function(n,i){for(var r,a=e([],n.length,t),o=a.length;o--;)n[r=a[o]]&&(n[r]=!(i[r]=n[r]))})})}function me(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=ae.support={},a=ae.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},h=ae.setDocument=function(e){var t,r,o=e?e.ownerDocument||e:b;return o!==p&&9===o.nodeType&&o.documentElement?(f=(p=o).documentElement,m=!a(p),b!==p&&(r=p.defaultView)&&r.top!==r&&(r.addEventListener?r.addEventListener("unload",ie,!1):r.attachEvent&&r.attachEvent("onunload",ie)),n.attributes=se(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=J.test(p.getElementsByClassName),n.getById=se(function(e){return f.appendChild(e).id=M,!p.getElementsByName||!p.getElementsByName(M).length}),n.getById?(i.filter.ID=function(e){var t=e.replace(Q,ee);return function(e){return e.getAttribute("id")===t}},i.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(i.filter.ID=function(e){var t=e.replace(Q,ee);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},i.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n,i,r,a=t.getElementById(e);if(a){if((n=a.getAttributeNode("id"))&&n.value===e)return[a];for(r=t.getElementsByName(e),i=0;a=r[i++];)if((n=a.getAttributeNode("id"))&&n.value===e)return[a]}return[]}}),i.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[r++];)1===n.nodeType&&i.push(n);return i}return a},i.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&m)return t.getElementsByClassName(e)},_=[],g=[],(n.qsa=J.test(p.querySelectorAll))&&(se(function(e){f.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+I+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+I+"*(?:value|"+A+")"),e.querySelectorAll("[id~="+M+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+M+"+*").length||g.push(".#.+[+~]")}),se(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+I+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),f.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(n.matchesSelector=J.test(y=f.matches||f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&se(function(e){n.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),_.push("!=",F)}),g=g.length&&new RegExp(g.join("|")),_=_.length&&new RegExp(_.join("|")),t=J.test(f.compareDocumentPosition),v=t||J.test(f.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return c=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i||(1&(i=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===i?e===p||e.ownerDocument===b&&v(b,e)?-1:t===p||t.ownerDocument===b&&v(b,t)?1:u?O(u,e)-O(u,t):0:4&i?-1:1)}:function(e,t){if(e===t)return c=!0,0;var n,i=0,r=e.parentNode,a=t.parentNode,o=[e],l=[t];if(!r||!a)return e===p?-1:t===p?1:r?-1:a?1:u?O(u,e)-O(u,t):0;if(r===a)return ue(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)l.unshift(n);for(;o[i]===l[i];)i++;return i?ue(o[i],l[i]):o[i]===b?-1:l[i]===b?1:0},p):p},ae.matches=function(e,t){return ae(e,null,null,t)},ae.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&h(e),t=t.replace(V,"='$1']"),n.matchesSelector&&m&&!k[t+" "]&&(!_||!_.test(t))&&(!g||!g.test(t)))try{var i=y.call(e,t);if(i||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){}return ae(t,p,null,[e]).length>0},ae.contains=function(e,t){return(e.ownerDocument||e)!==p&&h(e),v(e,t)},ae.attr=function(e,t){(e.ownerDocument||e)!==p&&h(e);var r=i.attrHandle[t.toLowerCase()],a=r&&x.call(i.attrHandle,t.toLowerCase())?r(e,t,!m):void 0;return void 0!==a?a:n.attributes||!m?e.getAttribute(t):(a=e.getAttributeNode(t))&&a.specified?a.value:null},ae.escape=function(e){return(e+"").replace(te,ne)},ae.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ae.uniqueSort=function(e){var t,i=[],r=0,a=0;if(c=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(S),c){for(;t=e[a++];)t===e[a]&&(r=i.push(a));for(;r--;)e.splice(i[r],1)}return u=null,e},r=ae.getText=function(e){var t,n="",i=0,a=e.nodeType;if(a){if(1===a||9===a||11===a){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=r(e)}else if(3===a||4===a)return e.nodeValue}else for(;t=e[i++];)n+=r(t);return n},(i=ae.selectors={cacheLength:50,createPseudo:le,match:Z,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Q,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Q,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ae.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ae.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Z.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&G.test(n)&&(t=o(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Q,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=D[e+" "];return t||(t=new RegExp("(^|"+I+")"+e+"("+I+"|$)"))&&D(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(i){var r=ae.attr(i,e);return null==r?"!="===t:!t||(r+="","="===t?r===n:"!="===t?r!==n:"^="===t?n&&0===r.indexOf(n):"*="===t?n&&r.indexOf(n)>-1:"$="===t?n&&r.slice(-n.length)===n:"~="===t?(" "+r.replace(N," ")+" ").indexOf(n)>-1:"|="===t&&(r===n||r.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,i,r){var a="nth"!==e.slice(0,3),o="last"!==e.slice(-4),l="of-type"===t;return 1===i&&0===r?function(e){return!!e.parentNode}:function(t,n,s){var d,u,c,h,p,f,m=a!==o?"nextSibling":"previousSibling",g=t.parentNode,_=l&&t.nodeName.toLowerCase(),y=!s&&!l,v=!1;if(g){if(a){for(;m;){for(h=t;h=h[m];)if(l?h.nodeName.toLowerCase()===_:1===h.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[o?g.firstChild:g.lastChild],o&&y){for(v=(p=(d=(u=(c=(h=g)[M]||(h[M]={}))[h.uniqueID]||(c[h.uniqueID]={}))[e]||[])[0]===w&&d[1])&&d[2],h=p&&g.childNodes[p];h=++p&&h&&h[m]||(v=p=0)||f.pop();)if(1===h.nodeType&&++v&&h===t){u[e]=[w,p,v];break}}else if(y&&(v=p=(d=(u=(c=(h=t)[M]||(h[M]={}))[h.uniqueID]||(c[h.uniqueID]={}))[e]||[])[0]===w&&d[1]),!1===v)for(;(h=++p&&h&&h[m]||(v=p=0)||f.pop())&&((l?h.nodeName.toLowerCase()!==_:1!==h.nodeType)||!++v||(y&&((u=(c=h[M]||(h[M]={}))[h.uniqueID]||(c[h.uniqueID]={}))[e]=[w,v]),h!==t)););return(v-=r)===i||v%i==0&&v/i>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ae.error("unsupported pseudo: "+e);return r[M]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,n){for(var i,a=r(e,t),o=a.length;o--;)e[i=O(e,a[o])]=!(n[i]=a[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:le(function(e){var t=[],n=[],i=l(e.replace(W,"$1"));return i[M]?le(function(e,t,n,r){for(var a,o=i(e,null,r,[]),l=e.length;l--;)(a=o[l])&&(e[l]=!(t[l]=a))}):function(e,r,a){return t[0]=e,i(t,null,a,n),t[0]=null,!n.pop()}}),has:le(function(e){return function(t){return ae(e,t).length>0}}),contains:le(function(e){return e=e.replace(Q,ee),function(t){return(t.textContent||t.innerText||r(t)).indexOf(e)>-1}}),lang:le(function(e){return U.test(e||"")||ae.error("unsupported lang: "+e),e=e.replace(Q,ee).toLowerCase(),function(t){var n;do{if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return X.test(e.nodeName)},input:function(e){return q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:fe(function(){return[0]}),last:fe(function(e,t){return[t-1]}),eq:fe(function(e,t,n){return[n<0?n+t:n]}),even:fe(function(e,t){for(var n=0;n=0;)e.push(i);return e}),gt:fe(function(e,t,n){for(var i=n<0?n+t:n;++i1?function(t,n,i){for(var r=e.length;r--;)if(!e[r](t,n,i))return!1;return!0}:e[0]}function Me(e,t,n,i,r){for(var a,o=[],l=0,s=e.length,d=null!=t;l-1&&(a[d]=!(o[d]=c))}}else _=Me(_===o?_.splice(f,_.length):_),r?r(null,o,_,s):H.apply(o,_)})}function we(e){for(var t,n,r,a=e.length,o=i.relative[e[0].type],l=o||i.relative[" "],s=o?1:0,u=ye(function(e){return e===t},l,!0),c=ye(function(e){return O(t,e)>-1},l,!0),h=[function(e,n,i){var r=!o&&(i||n!==d)||((t=n).nodeType?u(e,n,i):c(e,n,i));return t=null,r}];s1&&ve(h),s>1&&_e(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(W,"$1"),n,s0,r=e.length>0,a=function(a,o,l,s,u){var c,f,g,_=0,y="0",v=a&&[],M=[],b=d,L=a||r&&i.find.TAG("*",u),D=w+=null==b?1:Math.random()||.1,T=L.length;for(u&&(d=o===p||o||u);y!==T&&null!=(c=L[y]);y++){if(r&&c){for(f=0,o||c.ownerDocument===p||(h(c),l=!m);g=e[f++];)if(g(c,o||p,l)){s.push(c);break}u&&(w=D)}n&&((c=!g&&c)&&_--,a&&v.push(c))}if(_+=y,n&&y!==_){for(f=0;g=t[f++];)g(v,M,o,l);if(a){if(_>0)for(;y--;)v[y]||M[y]||(M[y]=E.call(s));M=Me(M)}H.apply(s,M),u&&!a&&M.length>0&&_+t.length>1&&ae.uniqueSort(s)}return u&&(w=D,d=b),v};return n?le(a):a}(a,r))).selector=e}return l},s=ae.select=function(e,t,n,r){var a,s,d,u,c,h="function"==typeof e&&e,p=!r&&o(e=h.selector||e);if(n=n||[],1===p.length){if((s=p[0]=p[0].slice(0)).length>2&&"ID"===(d=s[0]).type&&9===t.nodeType&&m&&i.relative[s[1].type]){if(!(t=(i.find.ID(d.matches[0].replace(Q,ee),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(s.shift().value.length)}for(a=Z.needsContext.test(e)?0:s.length;a--&&(d=s[a],!i.relative[u=d.type]);)if((c=i.find[u])&&(r=c(d.matches[0].replace(Q,ee),K.test(s[0].type)&&me(t.parentNode)||t))){if(s.splice(a,1),!(e=r.length&&_e(s)))return H.apply(n,r),n;break}}return(h||l(e,p))(r,t,!m,n,!t||K.test(e)&&me(t.parentNode)||t),n},n.sortStable=M.split("").sort(S).join("")===M,n.detectDuplicates=!!c,h(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),se(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||de("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||de("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute("disabled")})||de(A,function(e,t,n){var i;if(!n)return!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),ae}(n);L.find=k,L.expr=k.selectors,L.expr[":"]=L.expr.pseudos,L.uniqueSort=L.unique=k.uniqueSort,L.text=k.getText,L.isXMLDoc=k.isXML,L.contains=k.contains,L.escapeSelector=k.escape;var S=function(e,t,n){for(var i=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&L(e).is(n))break;i.push(e)}return i},x=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Y=L.expr.match.needsContext;function E(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function H(e,t,n){return y(t)?L.grep(e,function(e,i){return!!t.call(e,i,e)!==n}):t.nodeType?L.grep(e,function(e){return e===t!==n}):"string"!=typeof t?L.grep(e,function(e){return c.call(t,e)>-1!==n}):L.filter(t,e,n)}L.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?L.find.matchesSelector(i,e)?[i]:[]:L.find.matches(e,L.grep(t,function(e){return 1===e.nodeType}))},L.fn.extend({find:function(e){var t,n,i=this.length,r=this;if("string"!=typeof e)return this.pushStack(L(e).filter(function(){for(t=0;t1?L.uniqueSort(n):n},filter:function(e){return this.pushStack(H(this,e||[],!1))},not:function(e){return this.pushStack(H(this,e||[],!0))},is:function(e){return!!H(this,"string"==typeof e&&Y.test(e)?L(e):e||[],!1).length}});var P,O=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(L.fn.init=function(e,t,n){var i,r;if(!e)return this;if(n=n||P,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:O.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof L?t[0]:t,L.merge(this,L.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(i[1])&&L.isPlainObject(t))for(i in t)y(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(r=o.getElementById(i[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(L):L.makeArray(e,this)}).prototype=L.fn,P=L(o);var A=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};function R(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}L.fn.extend({has:function(e){var t=L(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&L.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?L.uniqueSort(a):a)},index:function(e){return e?"string"==typeof e?c.call(L(e),this[0]):c.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(L.uniqueSort(L.merge(this.get(),L(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),L.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,"parentNode")},parentsUntil:function(e,t,n){return S(e,"parentNode",n)},next:function(e){return R(e,"nextSibling")},prev:function(e){return R(e,"previousSibling")},nextAll:function(e){return S(e,"nextSibling")},prevAll:function(e){return S(e,"previousSibling")},nextUntil:function(e,t,n){return S(e,"nextSibling",n)},prevUntil:function(e,t,n){return S(e,"previousSibling",n)},siblings:function(e){return x((e.parentNode||{}).firstChild,e)},children:function(e){return x(e.firstChild)},contents:function(e){return E(e,"iframe")?e.contentDocument:(E(e,"template")&&(e=e.content||e),L.merge([],e.childNodes))}},function(e,t){L.fn[e]=function(n,i){var r=L.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=L.filter(i,r)),this.length>1&&(I[e]||L.uniqueSort(r),A.test(e)&&r.reverse()),this.pushStack(r)}});var j=/[^\x20\t\r\n\f]+/g;function F(e){return e}function N(e){throw e}function W(e,t,n,i){var r;try{e&&y(r=e.promise)?r.call(e).done(t).fail(n):e&&y(r=e.then)?r.call(e,t,n):t.apply(void 0,[e].slice(i))}catch(e){n.apply(void 0,[e])}}L.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return L.each(e.match(j)||[],function(e,n){t[n]=!0}),t}(e):L.extend({},e);var t,n,i,r,a=[],o=[],l=-1,s=function(){for(r=r||e.once,i=t=!0;o.length;l=-1)for(n=o.shift();++l-1;)a.splice(n,1),n<=l&&l--}),this},has:function(e){return e?L.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return r=o=[],a=n="",this},disabled:function(){return!a},lock:function(){return r=o=[],n||t||(a=n=""),this},locked:function(){return!!r},fireWith:function(e,n){return r||(n=[e,(n=n||[]).slice?n.slice():n],o.push(n),t||s()),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!i}};return d},L.extend({Deferred:function(e){var t=[["notify","progress",L.Callbacks("memory"),L.Callbacks("memory"),2],["resolve","done",L.Callbacks("once memory"),L.Callbacks("once memory"),0,"resolved"],["reject","fail",L.Callbacks("once memory"),L.Callbacks("once memory"),1,"rejected"]],i="pending",r={state:function(){return i},always:function(){return a.done(arguments).fail(arguments),this},catch:function(e){return r.then(null,e)},pipe:function(){var e=arguments;return L.Deferred(function(n){L.each(t,function(t,i){var r=y(e[i[4]])&&e[i[4]];a[i[1]](function(){var e=r&&r.apply(this,arguments);e&&y(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this,r?[e]:arguments)})}),e=null}).promise()},then:function(e,i,r){var a=0;function o(e,t,i,r){return function(){var l=this,s=arguments,d=function(){var n,d;if(!(e=a&&(i!==N&&(l=void 0,s=[n]),t.rejectWith(l,s))}};e?u():(L.Deferred.getStackHook&&(u.stackTrace=L.Deferred.getStackHook()),n.setTimeout(u))}}return L.Deferred(function(n){t[0][3].add(o(0,n,y(r)?r:F,n.notifyWith)),t[1][3].add(o(0,n,y(e)?e:F)),t[2][3].add(o(0,n,y(i)?i:N))}).promise()},promise:function(e){return null!=e?L.extend(e,r):r}},a={};return L.each(t,function(e,n){var o=n[2],l=n[5];r[n[1]]=o.add,l&&o.add(function(){i=l},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),o.add(n[3].fire),a[n[0]]=function(){return a[n[0]+"With"](this===a?void 0:this,arguments),this},a[n[0]+"With"]=o.fireWith}),r.promise(a),e&&e.call(a,a),a},when:function(e){var t=arguments.length,n=t,i=Array(n),r=s.call(arguments),a=L.Deferred(),o=function(e){return function(n){i[e]=this,r[e]=arguments.length>1?s.call(arguments):n,--t||a.resolveWith(i,r)}};if(t<=1&&(W(e,a.done(o(n)).resolve,a.reject,!t),"pending"===a.state()||y(r[n]&&r[n].then)))return a.then();for(;n--;)W(r[n],o(n),a.reject);return a.promise()}});var z=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;L.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&z.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},L.readyException=function(e){n.setTimeout(function(){throw e})};var B=L.Deferred();function V(){o.removeEventListener("DOMContentLoaded",V),n.removeEventListener("load",V),L.ready()}L.fn.ready=function(e){return B.then(e).catch(function(e){L.readyException(e)}),this},L.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--L.readyWait:L.isReady)||(L.isReady=!0,!0!==e&&--L.readyWait>0||B.resolveWith(o,[L]))}}),L.ready.then=B.then,"complete"===o.readyState||"loading"!==o.readyState&&!o.documentElement.doScroll?n.setTimeout(L.ready):(o.addEventListener("DOMContentLoaded",V),n.addEventListener("load",V));var G=function(e,t,n,i,r,a,o){var l=0,s=e.length,d=null==n;if("object"===w(n))for(l in r=!0,n)G(e,t,l,n[l],!0,a,o);else if(void 0!==i&&(r=!0,y(i)||(o=!0),d&&(o?(t.call(e,i),t=null):(d=t,t=function(e,t,n){return d.call(L(e),n)})),t))for(;l1,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),L.extend({queue:function(e,t,n){var i;if(e)return t=(t||"fx")+"queue",i=K.get(e,t),n&&(!i||Array.isArray(n)?i=K.access(e,t,L.makeArray(n)):i.push(n)),i||[]},dequeue:function(e,t){t=t||"fx";var n=L.queue(e,t),i=n.length,r=n.shift(),a=L._queueHooks(e,t);"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===t&&n.unshift("inprogress"),delete a.stop,r.call(e,function(){L.dequeue(e,t)},a)),!i&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:L.Callbacks("once memory").add(function(){K.remove(e,[t+"queue",n])})})}}),L.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,fe=/^$|^module$|\/(?:java|ecma)script/i,me={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ge(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&E(e,t)?L.merge([e],n):n}function _e(e,t){for(var n=0,i=e.length;n-1)r&&r.push(a);else if(d=L.contains(a.ownerDocument,a),o=ge(c.appendChild(a),"script"),d&&_e(o),n)for(u=0;a=o[u++];)fe.test(a.type||"")&&n.push(a);return c}ye=o.createDocumentFragment().appendChild(o.createElement("div")),(ve=o.createElement("input")).setAttribute("type","radio"),ve.setAttribute("checked","checked"),ve.setAttribute("name","t"),ye.appendChild(ve),_.checkClone=ye.cloneNode(!0).cloneNode(!0).lastChild.checked,ye.innerHTML="",_.noCloneChecked=!!ye.cloneNode(!0).lastChild.defaultValue;var we=o.documentElement,Le=/^key/,De=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function xe(){try{return o.activeElement}catch(e){}}function Ye(e,t,n,i,r,a){var o,l;if("object"==typeof t){for(l in"string"!=typeof n&&(i=i||n,n=void 0),t)Ye(e,l,n,i,t[l],a);return e}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=Se;else if(!r)return e;return 1===a&&(o=r,(r=function(e){return L().off(e),o.apply(this,arguments)}).guid=o.guid||(o.guid=L.guid++)),e.each(function(){L.event.add(this,t,r,i,n)})}L.event={global:{},add:function(e,t,n,i,r){var a,o,l,s,d,u,c,h,p,f,m,g=K.get(e);if(g)for(n.handler&&(n=(a=n).handler,r=a.selector),r&&L.find.matchesSelector(we,r),n.guid||(n.guid=L.guid++),(s=g.events)||(s=g.events={}),(o=g.handle)||(o=g.handle=function(t){return void 0!==L&&L.event.triggered!==t.type?L.event.dispatch.apply(e,arguments):void 0}),d=(t=(t||"").match(j)||[""]).length;d--;)p=m=(l=Te.exec(t[d])||[])[1],f=(l[2]||"").split(".").sort(),p&&(c=L.event.special[p]||{},p=(r?c.delegateType:c.bindType)||p,c=L.event.special[p]||{},u=L.extend({type:p,origType:m,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&L.expr.match.needsContext.test(r),namespace:f.join(".")},a),(h=s[p])||((h=s[p]=[]).delegateCount=0,c.setup&&!1!==c.setup.call(e,i,f,o)||e.addEventListener&&e.addEventListener(p,o)),c.add&&(c.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),r?h.splice(h.delegateCount++,0,u):h.push(u),L.event.global[p]=!0)},remove:function(e,t,n,i,r){var a,o,l,s,d,u,c,h,p,f,m,g=K.hasData(e)&&K.get(e);if(g&&(s=g.events)){for(d=(t=(t||"").match(j)||[""]).length;d--;)if(p=m=(l=Te.exec(t[d])||[])[1],f=(l[2]||"").split(".").sort(),p){for(c=L.event.special[p]||{},h=s[p=(i?c.delegateType:c.bindType)||p]||[],l=l[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=a=h.length;a--;)u=h[a],!r&&m!==u.origType||n&&n.guid!==u.guid||l&&!l.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(h.splice(a,1),u.selector&&h.delegateCount--,c.remove&&c.remove.call(e,u));o&&!h.length&&(c.teardown&&!1!==c.teardown.call(e,f,g.handle)||L.removeEvent(e,p,g.handle),delete s[p])}else for(p in s)L.event.remove(e,p+t[d],n,i,!0);L.isEmptyObject(s)&&K.remove(e,"handle events")}},dispatch:function(e){var t,n,i,r,a,o,l=L.event.fix(e),s=new Array(arguments.length),d=(K.get(this,"events")||{})[l.type]||[],u=L.event.special[l.type]||{};for(s[0]=l,t=1;t=1))for(;d!==this;d=d.parentNode||this)if(1===d.nodeType&&("click"!==e.type||!0!==d.disabled)){for(a=[],o={},n=0;n-1:L.find(r,this,null,[d]).length),o[r]&&a.push(i);a.length&&l.push({elem:d,handlers:a})}return d=this,s\x20\t\r\n\f]*)[^>]*)\/>/gi,Ce=/\s*$/g;function Oe(e,t){return E(e,"table")&&E(11!==t.nodeType?t:t.firstChild,"tr")&&L(e).children("tbody")[0]||e}function Ae(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ie(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Re(e,t){var n,i,r,a,o,l,s,d;if(1===t.nodeType){if(K.hasData(e)&&(a=K.access(e),o=K.set(t,a),d=a.events))for(r in delete o.handle,o.events={},d)for(n=0,i=d[r].length;n1&&"string"==typeof f&&!_.checkClone&&He.test(f))return e.each(function(r){var a=e.eq(r);m&&(t[0]=f.call(this,r,a.html())),je(a,t,n,i)});if(h&&(a=(r=be(t,e[0].ownerDocument,!1,e,i)).firstChild,1===r.childNodes.length&&(r=a),a||i)){for(l=(o=L.map(ge(r,"script"),Ae)).length;c")},clone:function(e,t,n){var i,r,a,o,l,s,d,u=e.cloneNode(!0),c=L.contains(e.ownerDocument,e);if(!(_.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||L.isXMLDoc(e)))for(o=ge(u),i=0,r=(a=ge(e)).length;i0&&_e(o,!c&&ge(e,"script")),u},cleanData:function(e){for(var t,n,i,r=L.event.special,a=0;void 0!==(n=e[a]);a++)if(J(n)){if(t=n[K.expando]){if(t.events)for(i in t.events)r[i]?L.event.remove(n,i):L.removeEvent(n,i,t.handle);n[K.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),L.fn.extend({detach:function(e){return Fe(this,e,!0)},remove:function(e){return Fe(this,e)},text:function(e){return G(this,function(e){return void 0===e?L.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return je(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return je(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return je(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return je(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(L.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return L.clone(this,e,t)})},html:function(e){return G(this,function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ce.test(e)&&!me[(pe.exec(e)||["",""])[1].toLowerCase()]){e=L.htmlPrefilter(e);try{for(;n=0&&(s+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-a-s-l-.5))),s}function et(e,t,n){var i=We(e),r=Be(e,t,i),a="border-box"===L.css(e,"boxSizing",!1,i),o=a;if(Ne.test(r)){if(!n)return r;r="auto"}return o=o&&(_.boxSizingReliable()||r===e.style[t]),("auto"===r||!parseFloat(r)&&"inline"===L.css(e,"display",!1,i))&&(r=e["offset"+t[0].toUpperCase()+t.slice(1)],o=!0),(r=parseFloat(r)||0)+Qe(e,t,n||(a?"border":"content"),o,i,r)+"px"}function tt(e,t,n,i,r){return new tt.prototype.init(e,t,n,i,r)}L.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,a,o,l=X(t),s=Ue.test(t),d=e.style;if(s||(t=$e(l)),o=L.cssHooks[t]||L.cssHooks[l],void 0===n)return o&&"get"in o&&void 0!==(r=o.get(e,!1,i))?r:d[t];"string"===(a=typeof n)&&(r=re.exec(n))&&r[1]&&(n=se(e,t,r),a="number"),null!=n&&n==n&&("number"===a&&(n+=r&&r[3]||(L.cssNumber[l]?"":"px")),_.clearCloneStyle||""!==n||0!==t.indexOf("background")||(d[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,i))||(s?d.setProperty(t,n):d[t]=n))}},css:function(e,t,n,i){var r,a,o,l=X(t);return Ue.test(t)||(t=$e(l)),(o=L.cssHooks[t]||L.cssHooks[l])&&"get"in o&&(r=o.get(e,!0,n)),void 0===r&&(r=Be(e,t,i)),"normal"===r&&t in qe&&(r=qe[t]),""===n||n?(a=parseFloat(r),!0===n||isFinite(a)?a||0:r):r}}),L.each(["height","width"],function(e,t){L.cssHooks[t]={get:function(e,n,i){if(n)return!Ge.test(L.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,i):le(e,Ze,function(){return et(e,t,i)})},set:function(e,n,i){var r,a=We(e),o="border-box"===L.css(e,"boxSizing",!1,a),l=i&&Qe(e,t,i,o,a);return o&&_.scrollboxSize()===a.position&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(a[t])-Qe(e,t,"border",!1,a)-.5)),l&&(r=re.exec(n))&&"px"!==(r[3]||"px")&&(e.style[t]=n,n=L.css(e,t)),Ke(0,n,l)}}}),L.cssHooks.marginLeft=Ve(_.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-le(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),L.each({margin:"",padding:"",border:"Width"},function(e,t){L.cssHooks[e+t]={expand:function(n){for(var i=0,r={},a="string"==typeof n?n.split(" "):[n];i<4;i++)r[e+ae[i]+t]=a[i]||a[i-2]||a[0];return r}},"margin"!==e&&(L.cssHooks[e+t].set=Ke)}),L.fn.extend({css:function(e,t){return G(this,function(e,t,n){var i,r,a={},o=0;if(Array.isArray(t)){for(i=We(e),r=t.length;o1)}}),L.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,i,r,a){this.elem=e,this.prop=n,this.easing=r||L.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=a||(L.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=L.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=L.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){L.fx.step[e.prop]?L.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[L.cssProps[e.prop]]&&!L.cssHooks[e.prop]?e.elem[e.prop]=e.now:L.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},L.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},L.fx=tt.prototype.init,L.fx.step={};var nt,it,rt=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function ot(){it&&(!1===o.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ot):n.setTimeout(ot,L.fx.interval),L.fx.tick())}function lt(){return n.setTimeout(function(){nt=void 0}),nt=Date.now()}function st(e,t){var n,i=0,r={height:e};for(t=t?1:0;i<4;i+=2-t)r["margin"+(n=ae[i])]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function dt(e,t,n){for(var i,r=(ut.tweeners[t]||[]).concat(ut.tweeners["*"]),a=0,o=r.length;a1)},removeAttr:function(e){return this.each(function(){L.removeAttr(this,e)})}}),L.extend({attr:function(e,t,n){var i,r,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return void 0===e.getAttribute?L.prop(e,t,n):(1===a&&L.isXMLDoc(e)||(r=L.attrHooks[t.toLowerCase()]||(L.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void L.removeAttr(e,t):r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:(e.setAttribute(t,n+""),n):r&&"get"in r&&null!==(i=r.get(e,t))?i:null==(i=L.find.attr(e,t))?void 0:i)},attrHooks:{type:{set:function(e,t){if(!_.radioValue&&"radio"===t&&E(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,i=0,r=t&&t.match(j);if(r&&1===e.nodeType)for(;n=r[i++];)e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?L.removeAttr(e,n):e.setAttribute(n,n),n}},L.each(L.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||L.find.attr;ht[t]=function(e,t,i){var r,a,o=t.toLowerCase();return i||(a=ht[o],ht[o]=r,r=null!=n(e,t,i)?o:null,ht[o]=a),r}});var pt=/^(?:input|select|textarea|button)$/i,ft=/^(?:a|area)$/i;function mt(e){return(e.match(j)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function _t(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(j)||[]}L.fn.extend({prop:function(e,t){return G(this,L.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[L.propFix[e]||e]})}}),L.extend({prop:function(e,t,n){var i,r,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&L.isXMLDoc(e)||(t=L.propFix[t]||t,r=L.propHooks[t]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:e[t]=n:r&&"get"in r&&null!==(i=r.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=L.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||ft.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),_.optSelected||(L.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),L.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){L.propFix[this.toLowerCase()]=this}),L.fn.extend({addClass:function(e){var t,n,i,r,a,o,l,s=0;if(y(e))return this.each(function(t){L(this).addClass(e.call(this,t,gt(this)))});if((t=_t(e)).length)for(;n=this[s++];)if(r=gt(n),i=1===n.nodeType&&" "+mt(r)+" "){for(o=0;a=t[o++];)i.indexOf(" "+a+" ")<0&&(i+=a+" ");r!==(l=mt(i))&&n.setAttribute("class",l)}return this},removeClass:function(e){var t,n,i,r,a,o,l,s=0;if(y(e))return this.each(function(t){L(this).removeClass(e.call(this,t,gt(this)))});if(!arguments.length)return this.attr("class","");if((t=_t(e)).length)for(;n=this[s++];)if(r=gt(n),i=1===n.nodeType&&" "+mt(r)+" "){for(o=0;a=t[o++];)for(;i.indexOf(" "+a+" ")>-1;)i=i.replace(" "+a+" "," ");r!==(l=mt(i))&&n.setAttribute("class",l)}return this},toggleClass:function(e,t){var n=typeof e,i="string"===n||Array.isArray(e);return"boolean"==typeof t&&i?t?this.addClass(e):this.removeClass(e):y(e)?this.each(function(n){L(this).toggleClass(e.call(this,n,gt(this),t),t)}):this.each(function(){var t,r,a,o;if(i)for(r=0,a=L(this),o=_t(e);t=o[r++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else void 0!==e&&"boolean"!==n||((t=gt(this))&&K.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":K.get(this,"__className__")||""))})},hasClass:function(e){var t,n,i=0;for(t=" "+e+" ";n=this[i++];)if(1===n.nodeType&&(" "+mt(gt(n))+" ").indexOf(t)>-1)return!0;return!1}});var yt=/\r/g;L.fn.extend({val:function(e){var t,n,i,r=this[0];return arguments.length?(i=y(e),this.each(function(n){var r;1===this.nodeType&&(null==(r=i?e.call(this,n,L(this).val()):e)?r="":"number"==typeof r?r+="":Array.isArray(r)&&(r=L.map(r,function(e){return null==e?"":e+""})),(t=L.valHooks[this.type]||L.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))})):r?(t=L.valHooks[r.type]||L.valHooks[r.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(r,"value"))?n:"string"==typeof(n=r.value)?n.replace(yt,""):null==n?"":n:void 0}}),L.extend({valHooks:{option:{get:function(e){var t=L.find.attr(e,"value");return null!=t?t:mt(L.text(e))}},select:{get:function(e){var t,n,i,r=e.options,a=e.selectedIndex,o="select-one"===e.type,l=o?null:[],s=o?a+1:r.length;for(i=a<0?s:o?a:0;i-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),L.each(["radio","checkbox"],function(){L.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=L.inArray(L(e).val(),t)>-1}},_.checkOn||(L.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),_.focusin="onfocusin"in n;var vt=/^(?:focusinfocus|focusoutblur)$/,Mt=function(e){e.stopPropagation()};L.extend(L.event,{trigger:function(e,t,i,r){var a,l,s,d,u,c,h,p,m=[i||o],g=f.call(e,"type")?e.type:e,_=f.call(e,"namespace")?e.namespace.split("."):[];if(l=p=s=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!vt.test(g+L.event.triggered)&&(g.indexOf(".")>-1&&(_=g.split("."),g=_.shift(),_.sort()),u=g.indexOf(":")<0&&"on"+g,(e=e[L.expando]?e:new L.Event(g,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=_.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+_.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=i),t=null==t?[e]:L.makeArray(t,[e]),h=L.event.special[g]||{},r||!h.trigger||!1!==h.trigger.apply(i,t))){if(!r&&!h.noBubble&&!v(i)){for(d=h.delegateType||g,vt.test(d+g)||(l=l.parentNode);l;l=l.parentNode)m.push(l),s=l;s===(i.ownerDocument||o)&&m.push(s.defaultView||s.parentWindow||n)}for(a=0;(l=m[a++])&&!e.isPropagationStopped();)p=l,e.type=a>1?d:h.bindType||g,(c=(K.get(l,"events")||{})[e.type]&&K.get(l,"handle"))&&c.apply(l,t),(c=u&&l[u])&&c.apply&&J(l)&&(e.result=c.apply(l,t),!1===e.result&&e.preventDefault());return e.type=g,r||e.isDefaultPrevented()||h._default&&!1!==h._default.apply(m.pop(),t)||!J(i)||u&&y(i[g])&&!v(i)&&((s=i[u])&&(i[u]=null),L.event.triggered=g,e.isPropagationStopped()&&p.addEventListener(g,Mt),i[g](),e.isPropagationStopped()&&p.removeEventListener(g,Mt),L.event.triggered=void 0,s&&(i[u]=s)),e.result}},simulate:function(e,t,n){var i=L.extend(new L.Event,n,{type:e,isSimulated:!0});L.event.trigger(i,null,t)}}),L.fn.extend({trigger:function(e,t){return this.each(function(){L.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return L.event.trigger(e,t,n,!0)}}),_.focusin||L.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){L.event.simulate(t,e.target,L.event.fix(e))};L.event.special[t]={setup:function(){var i=this.ownerDocument||this,r=K.access(i,t);r||i.addEventListener(e,n,!0),K.access(i,t,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=K.access(i,t)-1;r?K.access(i,t,r):(i.removeEventListener(e,n,!0),K.remove(i,t))}}});var bt=n.location,wt=Date.now(),Lt=/\?/;L.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||L.error("Invalid XML: "+e),t};var Dt=/\[\]$/,Tt=/\r?\n/g,kt=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;function xt(e,t,n,i){var r;if(Array.isArray(t))L.each(t,function(t,r){n||Dt.test(e)?i(e,r):xt(e+"["+("object"==typeof r&&null!=r?t:"")+"]",r,n,i)});else if(n||"object"!==w(t))i(e,t);else for(r in t)xt(e+"["+r+"]",t[r],n,i)}L.param=function(e,t){var n,i=[],r=function(e,t){var n=y(t)?t():t;i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!L.isPlainObject(e))L.each(e,function(){r(this.name,this.value)});else for(n in e)xt(n,e[n],t,r);return i.join("&")},L.fn.extend({serialize:function(){return L.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=L.prop(this,"elements");return e?L.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!L(this).is(":disabled")&&St.test(this.nodeName)&&!kt.test(e)&&(this.checked||!he.test(e))}).map(function(e,t){var n=L(this).val();return null==n?null:Array.isArray(n)?L.map(n,function(e){return{name:t.name,value:e.replace(Tt,"\r\n")}}):{name:t.name,value:n.replace(Tt,"\r\n")}}).get()}});var Yt=/%20/g,Et=/#.*$/,Ct=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:GET|HEAD)$/,Ot=/^\/\//,At={},It={},Rt="*/".concat("*"),jt=o.createElement("a");function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,r=0,a=t.toLowerCase().match(j)||[];if(y(n))for(;i=a[r++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function Nt(e,t,n,i){var r={},a=e===It;function o(l){var s;return r[l]=!0,L.each(e[l]||[],function(e,l){var d=l(t,n,i);return"string"!=typeof d||a||r[d]?a?!(s=d):void 0:(t.dataTypes.unshift(d),o(d),!1)}),s}return o(t.dataTypes[0])||!r["*"]&&o("*")}function Wt(e,t){var n,i,r=L.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:i||(i={}))[n]=t[n]);return i&&L.extend(!0,e,i),e}jt.href=bt.href,L.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":L.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Wt(Wt(e,L.ajaxSettings),t):Wt(L.ajaxSettings,e)},ajaxPrefilter:Ft(At),ajaxTransport:Ft(It),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var i,r,a,l,s,d,u,c,h,p,f=L.ajaxSetup({},t),m=f.context||f,g=f.context&&(m.nodeType||m.jquery)?L(m):L.event,_=L.Deferred(),y=L.Callbacks("once memory"),v=f.statusCode||{},M={},b={},w="canceled",D={readyState:0,getResponseHeader:function(e){var t;if(u){if(!l)for(l={};t=Ht.exec(a);)l[t[1].toLowerCase()]=t[2];t=l[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return u?a:null},setRequestHeader:function(e,t){return null==u&&(e=b[e.toLowerCase()]=b[e.toLowerCase()]||e,M[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)D.always(e[D.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||w;return i&&i.abort(t),T(0,t),this}};if(_.promise(D),f.url=((e||f.url||bt.href)+"").replace(Ot,bt.protocol+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(j)||[""],null==f.crossDomain){d=o.createElement("a");try{d.href=f.url,d.href=d.href,f.crossDomain=jt.protocol+"//"+jt.host!=d.protocol+"//"+d.host}catch(e){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=L.param(f.data,f.traditional)),Nt(At,f,t,D),u)return D;for(h in(c=L.event&&f.global)&&0==L.active++&&L.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Pt.test(f.type),r=f.url.replace(Et,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Yt,"+")):(p=f.url.slice(r.length),f.data&&(f.processData||"string"==typeof f.data)&&(r+=(Lt.test(r)?"&":"?")+f.data,delete f.data),!1===f.cache&&(r=r.replace(Ct,"$1"),p=(Lt.test(r)?"&":"?")+"_="+wt+++p),f.url=r+p),f.ifModified&&(L.lastModified[r]&&D.setRequestHeader("If-Modified-Since",L.lastModified[r]),L.etag[r]&&D.setRequestHeader("If-None-Match",L.etag[r])),(f.data&&f.hasContent&&!1!==f.contentType||t.contentType)&&D.setRequestHeader("Content-Type",f.contentType),D.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Rt+"; q=0.01":""):f.accepts["*"]),f.headers)D.setRequestHeader(h,f.headers[h]);if(f.beforeSend&&(!1===f.beforeSend.call(m,D,f)||u))return D.abort();if(w="abort",y.add(f.complete),D.done(f.success),D.fail(f.error),i=Nt(It,f,t,D)){if(D.readyState=1,c&&g.trigger("ajaxSend",[D,f]),u)return D;f.async&&f.timeout>0&&(s=n.setTimeout(function(){D.abort("timeout")},f.timeout));try{u=!1,i.send(M,T)}catch(e){if(u)throw e;T(-1,e)}}else T(-1,"No Transport");function T(e,t,o,l){var d,h,p,M,b,w=t;u||(u=!0,s&&n.clearTimeout(s),i=void 0,a=l||"",D.readyState=e>0?4:0,d=e>=200&&e<300||304===e,o&&(M=function(e,t,n){for(var i,r,a,o,l=e.contents,s=e.dataTypes;"*"===s[0];)s.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(r in l)if(l[r]&&l[r].test(i)){s.unshift(r);break}if(s[0]in n)a=s[0];else{for(r in n){if(!s[0]||e.converters[r+" "+s[0]]){a=r;break}o||(o=r)}a=a||o}if(a)return a!==s[0]&&s.unshift(a),n[a]}(f,D,o)),M=function(e,t,n,i){var r,a,o,l,s,d={},u=e.dataTypes.slice();if(u[1])for(o in e.converters)d[o.toLowerCase()]=e.converters[o];for(a=u.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!s&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),s=a,a=u.shift())if("*"===a)a=s;else if("*"!==s&&s!==a){if(!(o=d[s+" "+a]||d["* "+a]))for(r in d)if((l=r.split(" "))[1]===a&&(o=d[s+" "+l[0]]||d["* "+l[0]])){!0===o?o=d[r]:!0!==d[r]&&(a=l[0],u.unshift(l[1]));break}if(!0!==o)if(o&&e.throws)t=o(t);else try{t=o(t)}catch(e){return{state:"parsererror",error:o?e:"No conversion from "+s+" to "+a}}}return{state:"success",data:t}}(f,M,D,d),d?(f.ifModified&&((b=D.getResponseHeader("Last-Modified"))&&(L.lastModified[r]=b),(b=D.getResponseHeader("etag"))&&(L.etag[r]=b)),204===e||"HEAD"===f.type?w="nocontent":304===e?w="notmodified":(w=M.state,h=M.data,d=!(p=M.error))):(p=w,!e&&w||(w="error",e<0&&(e=0))),D.status=e,D.statusText=(t||w)+"",d?_.resolveWith(m,[h,w,D]):_.rejectWith(m,[D,w,p]),D.statusCode(v),v=void 0,c&&g.trigger(d?"ajaxSuccess":"ajaxError",[D,f,d?h:p]),y.fireWith(m,[D,w]),c&&(g.trigger("ajaxComplete",[D,f]),--L.active||L.event.trigger("ajaxStop")))}return D},getJSON:function(e,t,n){return L.get(e,t,n,"json")},getScript:function(e,t){return L.get(e,void 0,t,"script")}}),L.each(["get","post"],function(e,t){L[t]=function(e,n,i,r){return y(n)&&(r=r||i,i=n,n=void 0),L.ajax(L.extend({url:e,type:t,dataType:r,data:n,success:i},L.isPlainObject(e)&&e))}}),L._evalUrl=function(e){return L.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},L.fn.extend({wrapAll:function(e){var t;return this[0]&&(y(e)&&(e=e.call(this[0])),t=L(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return y(e)?this.each(function(t){L(this).wrapInner(e.call(this,t))}):this.each(function(){var t=L(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=y(e);return this.each(function(n){L(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){L(this).replaceWith(this.childNodes)}),this}}),L.expr.pseudos.hidden=function(e){return!L.expr.pseudos.visible(e)},L.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},L.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var zt={0:200,1223:204},Bt=L.ajaxSettings.xhr();_.cors=!!Bt&&"withCredentials"in Bt,_.ajax=Bt=!!Bt,L.ajaxTransport(function(e){var t,i;if(_.cors||Bt&&!e.crossDomain)return{send:function(r,a){var o,l=e.xhr();if(l.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)l[o]=e.xhrFields[o];for(o in e.mimeType&&l.overrideMimeType&&l.overrideMimeType(e.mimeType),e.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest"),r)l.setRequestHeader(o,r[o]);t=function(e){return function(){t&&(t=i=l.onload=l.onerror=l.onabort=l.ontimeout=l.onreadystatechange=null,"abort"===e?l.abort():"error"===e?"number"!=typeof l.status?a(0,"error"):a(l.status,l.statusText):a(zt[l.status]||l.status,l.statusText,"text"!==(l.responseType||"text")||"string"!=typeof l.responseText?{binary:l.response}:{text:l.responseText},l.getAllResponseHeaders()))}},l.onload=t(),i=l.onerror=l.ontimeout=t("error"),void 0!==l.onabort?l.onabort=i:l.onreadystatechange=function(){4===l.readyState&&n.setTimeout(function(){t&&i()})},t=t("abort");try{l.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),L.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),L.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return L.globalEval(e),e}}}),L.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),L.ajaxTransport("script",function(e){var t,n;if(e.crossDomain)return{send:function(i,r){t=L(" - diff --git a/templates/backend/auth/login.html b/templates/backend/auth/login.html deleted file mode 100644 index 9c56c3f..0000000 --- a/templates/backend/auth/login.html +++ /dev/null @@ -1,34 +0,0 @@ -{% extends "backend/auth/base.html" %} -{% load bootstrap4 %} -{% block content %} - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/auth/otp_selector.html b/templates/backend/auth/otp_selector.html deleted file mode 100644 index 482c964..0000000 --- a/templates/backend/auth/otp_selector.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "backend/auth/base.html" %} -{% load bootstrap4 %} -{% block content %} - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/auth/otp_verifier.html b/templates/backend/auth/otp_verifier.html deleted file mode 100644 index 5e9cf9a..0000000 --- a/templates/backend/auth/otp_verifier.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "backend/auth/base.html" %} -{% load bootstrap4 %} -{% block content %} - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/auth/pwrequest.html b/templates/backend/auth/pwrequest.html deleted file mode 100644 index cc02348..0000000 --- a/templates/backend/auth/pwrequest.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "backend/auth/base.html" %} -{% load bootstrap4 %} -{% block content %} - - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/auth/pwreset.html b/templates/backend/auth/pwreset.html deleted file mode 100644 index fd8a709..0000000 --- a/templates/backend/auth/pwreset.html +++ /dev/null @@ -1,33 +0,0 @@ -{% extends "backend/auth/base.html" %} -{% load bootstrap4 %} -{% block content %} - - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/base.html b/templates/backend/base.html deleted file mode 100644 index b3895bb..0000000 --- a/templates/backend/base.html +++ /dev/null @@ -1,480 +0,0 @@ -{% load static %} -{% load navigation %} -{% load dbsetting %} -{% dbsetting "core.title" as sitetitle %} - - - - - - - - - {% if title %}{{ title }} - {% endif %}{{ sitetitle }} - - - - - - - - -
-
- -
-
- -
-
-
- - - -
- -
-
-
-
-
- -
- - -
-
-
-
-
-
-
-
- {% block content %}{% endblock %} - - -
- -
-
-
- - - diff --git a/templates/backend/dbsettings/create.html b/templates/backend/dbsettings/create.html deleted file mode 100644 index 72ccdab..0000000 --- a/templates/backend/dbsettings/create.html +++ /dev/null @@ -1,57 +0,0 @@ -{% extends "backend/base.html" %} -{% load bootstrap4 %} -{% block content %} -
-
-
-
- - -
-
Database Settings - Create Setting -
Create a new key-value setting -
-
-
-
- - -
-
-
-
-
-
-
-
- - Create Setting -
-
-
-
-
-
- {% csrf_token %} - {% bootstrap_form form %} - {% buttons %} - - - Cancel - - {% endbuttons %} -
-
-
-
-
-
-
- - - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/dbsettings/delete.html b/templates/backend/dbsettings/delete.html deleted file mode 100644 index 14fbb00..0000000 --- a/templates/backend/dbsettings/delete.html +++ /dev/null @@ -1,57 +0,0 @@ -{% extends "backend/base.html" %} -{% load bootstrap4 %} -{% block content %} -
-
-
-
- - -
-
Database Settings - Delete Setting -
Delete a setting from the system -
-
-
-
- - -
-
-
-
-
-
-
-
- - Deleting {{ object.key }} -
-
-
-
-
-
- {% csrf_token %} - Are you sure you wish to delete {{ object.key }}? - {% buttons %} - - - Cancel - - {% endbuttons %} -
-
-
-
-
-
-
- - - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/dbsettings/index.html b/templates/backend/dbsettings/index.html deleted file mode 100644 index 8e52bce..0000000 --- a/templates/backend/dbsettings/index.html +++ /dev/null @@ -1,64 +0,0 @@ -{% extends "backend/base.html" %} -{% block content %} -
-
-
-
- - -
-
Database Settings -
Modify generic database settings - only proceed if you know what you are doing! -
-
-
- -
-
-
-
-
-
-
- - Active Settings -
-
-
-
-
-
- - - - - - - - - - {% for setting in object_list %} - - - - - - {% endfor %} - -
KeyValueOptions
{{ setting.key }}Click to display...
-
-
-
-
-
-
-
- - - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/dbsettings/update.html b/templates/backend/dbsettings/update.html deleted file mode 100644 index f0c11d3..0000000 --- a/templates/backend/dbsettings/update.html +++ /dev/null @@ -1,57 +0,0 @@ -{% extends "backend/base.html" %} -{% load bootstrap4 %} -{% block content %} -
-
-
-
- - -
-
Database Settings - Edit Setting -
Edit key and value of a setting -
-
-
-
- - -
-
-
-
-
-
-
-
- - Editing {{ form.key.value }} -
-
-
-
-
-
- {% csrf_token %} - {% bootstrap_form form %} - {% buttons %} - - - Cancel - - {% endbuttons %} -
-
-
-
-
-
-
- - - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/index.html b/templates/backend/index.html deleted file mode 100644 index 92f65ff..0000000 --- a/templates/backend/index.html +++ /dev/null @@ -1,316 +0,0 @@ -{% extends "backend/base.html" %} -{% block content %} -
-
-
-
- - -
-
Expephalon Dashboard -
This page gives an overview of everything that's going on. -
-
-
-
-
-
-
-
-
-
-
Total Invoices
-
All paid and unpaid invoices
-
-
-
1896
-
-
-
-
-
-
-
-
-
Revenue
-
Total revenue
-
-
-
$ 568
-
-
-
-
-
-
-
-
-
Clients
-
Total number of clients
-
-
-
46
-
-
-
-
-
-
-
-
-
-
- - Sales Report -
- -
-
-
-
-
-
-
- -
-
-
-
Top Authors
-
-
-
    -
  • -
    -
    -
    - -
    -
    -
    Ella-Rose Henry
    -
    Web Developer
    -
    -
    -
    - $ - 129 - - - -
    -
    -
    -
    -
  • -
  • -
    -
    -
    - -
    -
    -
    Ruben Tillman
    -
    UI Designer
    -
    -
    -
    - $ - 54 - - - -
    -
    -
    -
    -
  • -
  • -
    -
    -
    - -
    -
    -
    Vinnie Wagstaff
    -
    Java Programmer
    -
    -
    -
    - $ - 429 - - - -
    -
    -
    -
    -
  • -
  • -
    -
    -
    - -
    -
    -
    Ella-Rose Henry
    -
    Web Developer
    -
    -
    -
    - $ - 129 - - - -
    -
    -
    -
    -
  • -
  • -
    -
    -
    - -
    -
    -
    Ruben Tillman
    -
    UI Designer
    -
    -
    -
    - $ - 54 - - - -
    -
    -
    -
    -
  • -
-
-
-
-
-
-
-
-
-
-
-
- - Bandwidth Reports -
-
- -
-
-
-
-
-
- -
-
-
- - 175.5% - increased server resources -
-
-
-
-
-
-
-
-
-
-
63%
-
-
-
Generated Leads
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
32%
-
-
-
Submitted Tickers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
71%
-
-
-
Server Allocation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
41%
-
-
-
Generated Leads
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{% endblock %} \ No newline at end of file diff --git a/templates/backend/notimplemented.html b/templates/backend/notimplemented.html deleted file mode 100644 index 8f2d0f1..0000000 --- a/templates/backend/notimplemented.html +++ /dev/null @@ -1,40 +0,0 @@ -{% extends "backend/base.html" %} -{% block content %} -
-
-
-
- - -
-
Oops! -
This is not implemented yet... -
-
-
-
-
-
-
-
-
-
-
-
- - But here's something for you: -
-
-
-
-
-
- -
-
-
-
-
-
-
-{% endblock %} \ No newline at end of file diff --git a/templates/backend/profiles/create.html b/templates/backend/profiles/create.html deleted file mode 100644 index 84204f9..0000000 --- a/templates/backend/profiles/create.html +++ /dev/null @@ -1,57 +0,0 @@ -{% extends "backend/base.html" %} -{% load bootstrap4 %} -{% block content %} -
-
-
-
- - -
-
Administrator Users - Create User -
Create a new administrator -
-
-
-
- - -
-
-
-
-
-
-
-
- - Create Administrator -
-
-
-
-
-
- {% csrf_token %} - {% bootstrap_form form %} - {% buttons %} - - - Cancel - - {% endbuttons %} -
-
-
-
-
-
-
- - - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/profiles/delete.html b/templates/backend/profiles/delete.html deleted file mode 100644 index e4131b1..0000000 --- a/templates/backend/profiles/delete.html +++ /dev/null @@ -1,57 +0,0 @@ -{% extends "backend/base.html" %} -{% load bootstrap4 %} -{% block content %} -
-
-
-
- - -
-
Administrator Users - Delete User -
Delete an administrator from the system -
-
-
-
- - -
-
-
-
-
-
-
-
- - Deleting {{ object.get_full_name }} -
-
-
-
-
-
- {% csrf_token %} - Are you sure you wish to delete {{ object.get_full_name }}? This will irrevocably delete their account and any associated information. You can also disable the user without deleting their data! - {% buttons %} - - - Cancel - - {% endbuttons %} -
-
-
-
-
-
-
- - - -{% endblock %} \ No newline at end of file diff --git a/templates/backend/profiles/index.html b/templates/backend/profiles/index.html deleted file mode 100644 index 39e53a7..0000000 --- a/templates/backend/profiles/index.html +++ /dev/null @@ -1,67 +0,0 @@ -{% extends "backend/base.html" %} -{% block content %} -
-
-
-
- - -
-
Administrator Users -
Create, edit and delete users with backend access -
-
-
- -
-
-
-
-
-
-
- - Active Users -
-
-
-
-
-
- - - - - - - - - - - - - {% for admin in object_list %} - - - - - - - - - {% endfor %} - -
First NameLast NameRoleEmailMobileOptions
{{ admin.user.first_name }}{{ admin.user.last_name }}{{ admin.role }}{{ admin.user.username }}{{ admin.mobile }}
-
-
-
-
-
-
-
-{% endblock %} \ No newline at end of file diff --git a/templates/backend/profiles/update.html b/templates/backend/profiles/update.html deleted file mode 100644 index 3519020..0000000 --- a/templates/backend/profiles/update.html +++ /dev/null @@ -1,57 +0,0 @@ -{% extends "backend/base.html" %} -{% load bootstrap4 %} -{% block content %} -
-
-
-
- - -
-
Administrator Users - Edit User -
Edit adminstrator user properties -
-
-
-
- - -
-
-
-
-
-
-
-
- - Editing {{ form.email.value }} -
-
-
-
-
-
- {% csrf_token %} - {% bootstrap_form form %} - {% buttons %} - - - Cancel - - {% endbuttons %} -
-
-
-
-
-
-
- - - -{% endblock %} \ No newline at end of file diff --git a/templates/mail/backend/auth/pwreset.html b/templates/mail/backend/auth/pwreset.html deleted file mode 100644 index e69de29..0000000 diff --git a/templates/mail/backend/auth/pwreset.txt b/templates/mail/backend/auth/pwreset.txt deleted file mode 100644 index 76c8073..0000000 --- a/templates/mail/backend/auth/pwreset.txt +++ /dev/null @@ -1,11 +0,0 @@ -Hi {§first_name§}, - -Somebody (hopefully you) requested a new password for your {§sitename§} account. If this was you, please click the following link to reset your password: - -{§link§} - -If it was not you, you can ignore this message. The link will expire in 24 hours. - -Best regards - -Your {§sitename§} Team \ No newline at end of file diff --git a/chat/tests.py b/tests.py similarity index 100% rename from chat/tests.py rename to tests.py diff --git a/totp/__init__.py b/totp/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/totp/apps.py b/totp/apps.py deleted file mode 100644 index df50f88..0000000 --- a/totp/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class TotpConfig(AppConfig): - name = 'totp' diff --git a/totp/management/commands/disabletotp.py b/totp/management/commands/disabletotp.py deleted file mode 100644 index c2f7d36..0000000 --- a/totp/management/commands/disabletotp.py +++ /dev/null @@ -1,22 +0,0 @@ -from django.core.management.base import BaseCommand, CommandError -from django.contrib.auth import get_user_model - -from totp.models import TOTPUser -from totp.otp import TOTP - -class Command(BaseCommand): - help = 'Disables TOTP for the specified user (identified by username)' - - def add_arguments(self, parser): - parser.add_argument('user', type=str) - - def handle(self, *args, **options): - try: - user = get_user_model().objects.get(username=options["user"]) - except get_user_model().DoesNotExist: - raise ValueError(f"User {options['user']} does not exist") - - try: - TOTPUser.objects.get(user=user).delete() - except TOTPUser.DoesNotExist: - raise ValueError(f"TOTP not enabled for user {options['user']}") diff --git a/totp/management/commands/enabletotp.py b/totp/management/commands/enabletotp.py deleted file mode 100644 index 24ce22a..0000000 --- a/totp/management/commands/enabletotp.py +++ /dev/null @@ -1,32 +0,0 @@ -from django.core.management.base import BaseCommand, CommandError -from django.contrib.auth import get_user_model - -from totp.models import TOTPUser -from totp.otp import TOTP - -from dbsettings.functions import getValue - -import pyqrcode -import pyotp - -class Command(BaseCommand): - help = 'Enables TOTP for the specified user (identified by username)' - - def add_arguments(self, parser): - parser.add_argument('user', type=str) - - def handle(self, *args, **options): - try: - user = get_user_model().objects.get(username=options["user"]) - except get_user_model().DoesNotExist: - raise ValueError(f"User {options['user']} does not exist") - - if TOTP().active_for_user(user): - raise ValueError(f"TOTP already enabled for user {options['user']}") - - totu = TOTPUser.objects.create(user=user) - - uri = pyotp.totp.TOTP(totu.secret).provisioning_uri(options["user"], issuer_name=getValue("core.title", "Expephalon")) - - print(pyqrcode.create(uri).terminal()) - print(uri) \ No newline at end of file diff --git a/totp/models.py b/totp/models.py deleted file mode 100644 index b880a7f..0000000 --- a/totp/models.py +++ /dev/null @@ -1,10 +0,0 @@ -from django.db.models import Model, CharField, ForeignKey, CASCADE, DateTimeField -from django.contrib.auth import get_user_model - -from dbsettings.functions import getValue - -import pyotp - -class TOTPUser(Model): - secret = CharField(max_length=32, default=pyotp.random_base32) - user = ForeignKey(get_user_model(), CASCADE) diff --git a/totp/otp.py b/totp/otp.py deleted file mode 100644 index e8b15f9..0000000 --- a/totp/otp.py +++ /dev/null @@ -1,36 +0,0 @@ -from core.classes.otp import BaseOTPProvider -from totp.models import TOTPUser - -from dbsettings.functions import getValue - -from django.utils import timezone - -import pyotp - -class TOTP(BaseOTPProvider): - @property - def get_name(self): - return "Time-based OTP" - - @property - def is_active(self): - return True - - def active_for_user(self, user): - try: - TOTPUser.objects.get(user=user) - return super().active_for_user(user) - except TOTPUser.DoesNotExist: - return False - - def start_authentication(self, user): - return "Please enter the token displayed in your app." - - def validate_token(self, user, token): - try: - otpuser = TOTPUser.objects.get(user=user) - return pyotp.TOTP(otpuser.secret).verify(token) - except TOTPUser.DoesNotExist: - return False - -OTPPROVIDERS = {"totp": TOTP} \ No newline at end of file diff --git a/totp/requirements.txt b/totp/requirements.txt deleted file mode 100644 index 92138ba..0000000 --- a/totp/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -pyotp -pyqrcode \ No newline at end of file diff --git a/demomodule/urls.py b/urls.py similarity index 100% rename from demomodule/urls.py rename to urls.py diff --git a/chat/views.py b/views.py similarity index 100% rename from chat/views.py rename to views.py