From d44d74eb2cb52deabeb1f2740b12a9ed89184a19 Mon Sep 17 00:00:00 2001 From: relikd Date: Thu, 27 Jun 2024 21:13:47 +0200 Subject: [PATCH] Initial --- .gitignore | 8 + Makefile | 37 + README.md | 14 + backend/Dockerfile | 22 + backend/app/__init__.py | 0 backend/app/admin.py | 71 ++ backend/app/apps.py | 6 + backend/app/migrations/0001_initial.py | 85 +++ backend/app/migrations/__init__.py | 0 backend/app/models/__init__.py | 4 + backend/app/models/audiofile.py | 45 ++ backend/app/models/category.py | 55 ++ backend/app/models/content.py | 40 ++ backend/app/models/place.py | 131 ++++ backend/app/static/admin/admin.css | 5 + backend/common/__init__.py | 0 backend/common/form/audio_file.py | 70 ++ backend/common/form/img_with_preview.py | 67 ++ .../common/locale/de/LC_MESSAGES/django.mo | Bin 0 -> 230 bytes .../common/locale/de/LC_MESSAGES/django.po | 8 + backend/common/settings.py | 30 + .../static/admin/file-upload-validator.js | 6 + backend/common/static/admin/tinymce-upload.js | 55 ++ backend/common/static/favicon.ico | Bin 0 -> 905 bytes .../common/templates/forms/audio-file.html | 17 + .../templates/forms/img-with-preview.html | 14 + backend/common/urls.py | 36 + backend/common/validators.py | 23 + backend/config/__init__.py | 0 backend/config/asgi.py | 16 + backend/config/settings.py | 151 ++++ backend/config/urls.py | 26 + backend/config/wsgi.py | 16 + backend/docker-compose.yml | 30 + backend/manage.py | 22 + backend/requirements.txt | 5 + backend/scripts/run.sh | 6 + frontend/3p/bootstrap/bootstrap.min.css | 6 + frontend/3p/bootstrap/bootstrap.min.css.map | 1 + frontend/3p/bootstrap/bootstrap.min.js | 7 + frontend/3p/bootstrap/bootstrap.min.js.map | 1 + frontend/3p/leaflet/images/layers-2x.png | Bin 0 -> 1259 bytes frontend/3p/leaflet/images/layers.png | Bin 0 -> 696 bytes frontend/3p/leaflet/images/marker-icon-2x.png | Bin 0 -> 2464 bytes frontend/3p/leaflet/images/marker-icon.png | Bin 0 -> 1466 bytes frontend/3p/leaflet/images/marker-shadow.png | Bin 0 -> 618 bytes frontend/3p/leaflet/leaflet.css | 661 ++++++++++++++++++ frontend/3p/leaflet/leaflet.js | 6 + frontend/3p/leaflet/leaflet.js.map | 1 + .../3p/leaflet/locate/L.Control.Locate.css | 63 ++ .../3p/leaflet/locate/L.Control.Locate.min.js | 4 + .../locate/L.Control.Locate.min.js.map | 1 + frontend/3p/lozad.min.js | 15 + frontend/data | 1 + frontend/favicon.ico | Bin 0 -> 905 bytes frontend/ico/150.png | Bin 0 -> 946 bytes frontend/ico/16.png | Bin 0 -> 171 bytes frontend/ico/192.png | Bin 0 -> 1024 bytes frontend/ico/310.png | Bin 0 -> 1830 bytes frontend/ico/32.png | Bin 0 -> 293 bytes frontend/ico/48.png | Bin 0 -> 387 bytes frontend/ico/512.png | Bin 0 -> 3052 bytes frontend/ico/70.png | Bin 0 -> 506 bytes frontend/ico/apple-touch-icon.png | Bin 0 -> 1094 bytes frontend/ico/browserconfig.xml | 12 + frontend/ico/favicon.svg | 1 + frontend/ico/manifest.json | 18 + frontend/icons.svg | 11 + frontend/index.html | 110 +++ frontend/script.js | 305 ++++++++ frontend/style.css | 99 +++ screenshot.jpg | Bin 0 -> 276763 bytes 72 files changed, 2444 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 README.md create mode 100755 backend/Dockerfile create mode 100644 backend/app/__init__.py create mode 100644 backend/app/admin.py create mode 100644 backend/app/apps.py create mode 100644 backend/app/migrations/0001_initial.py create mode 100644 backend/app/migrations/__init__.py create mode 100644 backend/app/models/__init__.py create mode 100644 backend/app/models/audiofile.py create mode 100644 backend/app/models/category.py create mode 100644 backend/app/models/content.py create mode 100644 backend/app/models/place.py create mode 100644 backend/app/static/admin/admin.css create mode 100644 backend/common/__init__.py create mode 100644 backend/common/form/audio_file.py create mode 100644 backend/common/form/img_with_preview.py create mode 100644 backend/common/locale/de/LC_MESSAGES/django.mo create mode 100644 backend/common/locale/de/LC_MESSAGES/django.po create mode 100644 backend/common/settings.py create mode 100644 backend/common/static/admin/file-upload-validator.js create mode 100644 backend/common/static/admin/tinymce-upload.js create mode 100644 backend/common/static/favicon.ico create mode 100644 backend/common/templates/forms/audio-file.html create mode 100644 backend/common/templates/forms/img-with-preview.html create mode 100644 backend/common/urls.py create mode 100644 backend/common/validators.py create mode 100644 backend/config/__init__.py create mode 100644 backend/config/asgi.py create mode 100644 backend/config/settings.py create mode 100644 backend/config/urls.py create mode 100644 backend/config/wsgi.py create mode 100755 backend/docker-compose.yml create mode 100755 backend/manage.py create mode 100644 backend/requirements.txt create mode 100755 backend/scripts/run.sh create mode 100644 frontend/3p/bootstrap/bootstrap.min.css create mode 100644 frontend/3p/bootstrap/bootstrap.min.css.map create mode 100644 frontend/3p/bootstrap/bootstrap.min.js create mode 100644 frontend/3p/bootstrap/bootstrap.min.js.map create mode 100644 frontend/3p/leaflet/images/layers-2x.png create mode 100644 frontend/3p/leaflet/images/layers.png create mode 100644 frontend/3p/leaflet/images/marker-icon-2x.png create mode 100644 frontend/3p/leaflet/images/marker-icon.png create mode 100644 frontend/3p/leaflet/images/marker-shadow.png create mode 100644 frontend/3p/leaflet/leaflet.css create mode 100644 frontend/3p/leaflet/leaflet.js create mode 100644 frontend/3p/leaflet/leaflet.js.map create mode 100755 frontend/3p/leaflet/locate/L.Control.Locate.css create mode 100755 frontend/3p/leaflet/locate/L.Control.Locate.min.js create mode 100755 frontend/3p/leaflet/locate/L.Control.Locate.min.js.map create mode 100644 frontend/3p/lozad.min.js create mode 120000 frontend/data create mode 100644 frontend/favicon.ico create mode 100644 frontend/ico/150.png create mode 100644 frontend/ico/16.png create mode 100644 frontend/ico/192.png create mode 100644 frontend/ico/310.png create mode 100644 frontend/ico/32.png create mode 100644 frontend/ico/48.png create mode 100644 frontend/ico/512.png create mode 100644 frontend/ico/70.png create mode 100644 frontend/ico/apple-touch-icon.png create mode 100644 frontend/ico/browserconfig.xml create mode 100644 frontend/ico/favicon.svg create mode 100644 frontend/ico/manifest.json create mode 100644 frontend/icons.svg create mode 100644 frontend/index.html create mode 100644 frontend/script.js create mode 100644 frontend/style.css create mode 100644 screenshot.jpg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..445fa20 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +__pycache__/ +*.egg-info/ + +backend/.env +backend/data/ +backend/db/ +backend/static/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..aeddf26 --- /dev/null +++ b/Makefile @@ -0,0 +1,37 @@ + +.PHONY: help +help: + @echo "available commands:" + @echo " - start-frontend : start frontend server" + @echo " - start-backend : start backend server" + @echo " - push-frontend : push changes to server" + @echo " - push-backend : push changes to server" + +.PHONY: start-backend +start-backend: + @echo Starting server ... http://127.0.0.1:8000/admin/ + @./backend/manage.py runserver + +.PHONY: start-frontend +start-frontend: + @echo Server started on: http://127.0.0.1/ + @python -m http.server -b 0.0.0.0 80 -d ./frontend + +.PHONY: push-backend +push-backend: + rsync -av --delete backend/ piko:~/klangkarte/ \ + --exclude=/data \ + --exclude=/static \ + --exclude=/db \ + --exclude=__pycache__ \ + --exclude=.DS_Store + +.PHONY: push-frontend +push-frontend: + rsync -av --delete frontend/ piko:/srv/http/klangkarte/ \ + --exclude=/data \ + --exclude=/static \ + --exclude=.DS_Store + +.PHONY: push +push: push-frontend push-backend diff --git a/README.md b/README.md new file mode 100644 index 0000000..609837f --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Klangkarte + +Django app for managing places with json export and a fully-static frontend map. + +![Screenshot map overview](screenshot.jpg) + + +## Deploy + +Start container with `docker-compose up -d` and create admin user (first-run): + +```sh +docker-compose exec app python manage.py createsuperuser --email '' +``` diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100755 index 0000000..1e0df89 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.11-alpine + +EXPOSE 8000 + +# install base system +RUN apk add --no-cache gcc libc-dev linux-headers +RUN pip install --upgrade pip +RUN pip install uvicorn gunicorn + +# install requirements +WORKDIR /django_project +COPY ./requirements.txt . +RUN pip install -r requirements.txt + +# then scripts (likely wont change often) +ENV PATH="/scripts:/py/bin:$PATH" +COPY --chmod=700 ./scripts /scripts + +# finally copy app (likely will invalidate cache) +COPY . . + +CMD ["run.sh"] diff --git a/backend/app/__init__.py b/backend/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/app/admin.py b/backend/app/admin.py new file mode 100644 index 0000000..98cc39d --- /dev/null +++ b/backend/app/admin.py @@ -0,0 +1,71 @@ +from django.conf import settings +from django.contrib import admin +from django.contrib.auth.models import Group # , User +from django.utils.html import format_html + +from app.models import Audiofile, Category, Content, Place + +# admin.site.register(Place, ) + +############################# +# Django defaults +############################# + +admin.site.site_header = 'Klangkarte-Verwaltung' # top-most title +admin.site.index_title = 'Klangkarte' # title at root +admin.site.site_title = 'Klangkarte-Verwaltung' # suffix to + +admin.site.unregister(Group) +# admin.site.unregister(User) + + +############################# +# App adjustments +############################# + + +@admin.register(Audiofile) +class AudiofileAdmin(admin.ModelAdmin): + list_display = ['desc', 'media_url', 'created'] + search_fields = ['desc'] + + @admin.display(description='URL') + def media_url(self, obj: 'Audiofile'): + return settings.MEDIA_URL + obj.url + + +@admin.register(Category) +class CategoryAdmin(admin.ModelAdmin): + list_display = ['name', 'color_dot', 'sort', 'places_count'] + search_fields = ['name'] + + class Media: + css = {'all': ['admin/admin.css']} + + @admin.display(description='Orte') + def places_count(self, obj: 'Category'): + return obj.places.count() + + @admin.display(description='Farbe') + def color_dot(self, obj: 'Category'): + return format_html( + '<span class="color-dot" style="background:{};color:{}">{}</span>', + obj.color, + '#fff' if obj.fg_color_white else '#000', + obj.color.upper()) + + +@admin.register(Content) +class ContentAdmin(admin.ModelAdmin): + list_display = ['title', 'body'] + search_fields = ['title', 'body'] + + def get_readonly_fields(self, request, obj=None): + return ['key'] if obj else [] + + +@admin.register(Place) +class PlaceAdmin(admin.ModelAdmin): + list_display = ['title', 'category', 'sort', 'created'] + search_fields = ['title'] + list_filter = ['category'] diff --git a/backend/app/apps.py b/backend/app/apps.py new file mode 100644 index 0000000..ed327d2 --- /dev/null +++ b/backend/app/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class AppConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'app' diff --git a/backend/app/migrations/0001_initial.py b/backend/app/migrations/0001_initial.py new file mode 100644 index 0000000..44f62f8 --- /dev/null +++ b/backend/app/migrations/0001_initial.py @@ -0,0 +1,85 @@ +# Generated by Django 4.2.13 on 2024-06-22 15:46 + +import app.models.audiofile +import app.models.place +import colorfield.fields +import common.form.audio_file +import common.form.img_with_preview +import map_location.fields +from django.db import migrations, models +import django.db.models.deletion +import tinymce.models +import uuid + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Audiofile', + fields=[ + ('key', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='ID')), + ('audio', common.form.audio_file.AudioFileField(upload_to=app.models.audiofile.overwrite_audio, verbose_name='Audio')), + ('desc', models.CharField(max_length=200, verbose_name='Beschreibung')), + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Erstellt')), + ], + options={ + 'verbose_name': 'Audiodatei', + 'verbose_name_plural': 'Audiodateien', + 'ordering': ('-created',), + }, + ), + migrations.CreateModel( + name='Category', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100, verbose_name='Name')), + ('color', colorfield.fields.ColorField(default='#3388ff', image_field=None, max_length=7, samples=None, verbose_name='Farbe')), + ('fg_color_white', models.BooleanField(default=False, verbose_name='Textfarbe Weiß')), + ('sort', models.IntegerField(default=0, verbose_name='Sortierung')), + ], + options={ + 'verbose_name': 'Kategorie', + 'verbose_name_plural': 'Kategorien', + 'ordering': ('sort',), + }, + ), + migrations.CreateModel( + name='Content', + fields=[ + ('key', models.SlugField(primary_key=True, serialize=False, unique=True, verbose_name='ID')), + ('title', models.CharField(max_length=100, verbose_name='Titel')), + ('body', tinymce.models.HTMLField(verbose_name='Inhalt')), + ('wide', models.BooleanField(verbose_name='Breiteres Fenster')), + ], + options={ + 'verbose_name': 'Text', + 'verbose_name_plural': 'Texte', + }, + ), + migrations.CreateModel( + name='Place', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sort', models.IntegerField(default=0, verbose_name='Sortierung')), + ('isExtended', models.BooleanField(verbose_name='Bis 1.1.2025 verstecken')), + ('title', models.CharField(max_length=100, verbose_name='Titel')), + ('image', common.form.img_with_preview.FileWithImagePreview(blank=True, null=True, upload_to=app.models.place.overwrite_img_upload, verbose_name='Bild')), + ('audio', common.form.audio_file.AudioFileField(blank=True, null=True, upload_to=app.models.place.overwrite_audio_upload, verbose_name='Audio')), + ('location', map_location.fields.LocationField(blank=True, null=True, verbose_name='Position')), + ('description', tinymce.models.HTMLField(verbose_name='Beschreibung')), + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Erstellt')), + ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='places', to='app.category', verbose_name='Kategorie')), + ], + options={ + 'verbose_name': 'Ort', + 'verbose_name_plural': 'Orte', + 'ordering': ('sort',), + }, + ), + ] diff --git a/backend/app/migrations/__init__.py b/backend/app/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py new file mode 100644 index 0000000..00ac39a --- /dev/null +++ b/backend/app/models/__init__.py @@ -0,0 +1,4 @@ +from .audiofile import Audiofile # noqa: F401 +from .category import Category # noqa: F401 +from .content import Content # noqa: F401 +from .place import Place # noqa: F401 diff --git a/backend/app/models/audiofile.py b/backend/app/models/audiofile.py new file mode 100644 index 0000000..908e80b --- /dev/null +++ b/backend/app/models/audiofile.py @@ -0,0 +1,45 @@ +from django.conf import settings +from django.db import models +from django.db.models.signals import post_delete +from django.dispatch import receiver + +import os +import uuid +from pathlib import Path + +from common.form.audio_file import AudioFileField + + +def overwrite_audio(instance: 'Audiofile', filename: str): + if instance.path.is_file(): + os.remove(instance.path) + return instance.url + + +class Audiofile(models.Model): + key = models.UUIDField('ID', primary_key=True, default=uuid.uuid4, + editable=False) + audio = AudioFileField('Audio', upload_to=overwrite_audio) + desc = models.CharField('Beschreibung', max_length=200) + created = models.DateTimeField('Erstellt', auto_now_add=True) + + class Meta: + verbose_name = 'Audiodatei' + verbose_name_plural = 'Audiodateien' + ordering = ('-created',) + + def __str__(self) -> str: + return self.desc + + @property + def path(self) -> Path: + return settings.MEDIA_ROOT / 'audio' / f'{self.pk}.mp3' + + @property + def url(self) -> str: + return f'audio/{self.pk}.mp3' + + +@receiver(post_delete, sender=Audiofile) +def on_delete_Audiofile(sender, instance: 'Audiofile', using, **kwargs): + os.remove(instance.path) diff --git a/backend/app/models/category.py b/backend/app/models/category.py new file mode 100644 index 0000000..52994cc --- /dev/null +++ b/backend/app/models/category.py @@ -0,0 +1,55 @@ +from django.conf import settings +from django.db import models +from django.db.models.signals import post_delete +from django.dispatch import receiver + +import json +from colorfield.fields import ColorField + +import typing +if typing.TYPE_CHECKING: + from app.models.place import Place + + +class Category(models.Model): + name = models.CharField('Name', max_length=100) + color = ColorField('Farbe', default='#3388ff', max_length=7) + fg_color_white = models.BooleanField('Textfarbe Weiß', default=False) + sort = models.IntegerField('Sortierung', default=0) + + places: 'models.QuerySet[Place]' + + class Meta: + verbose_name = 'Kategorie' + verbose_name_plural = 'Kategorien' + ordering = ('sort',) + + def __str__(self) -> str: + return self.name + + def save(self, *args, **kwargs): + rv = super().save(*args, **kwargs) + Category.update_json() + return rv + + @staticmethod + def update_json(): + with open(settings.MEDIA_ROOT / 'categories.json', 'w') as fp: + json.dump(Category.asJson(), fp) + + @staticmethod + def asJson() -> 'list[dict[str, str]]': + rv = [] + for x in Category.objects.all(): + rv.append({ + 'id': x.pk, + 'name': x.name, + 'color': x.color, + 'inv': x.fg_color_white, + }) + return rv + + +@receiver(post_delete, sender=Category) +def on_delete_Audiofile(sender, instance: 'Category', using, **kwargs): + Category.update_json() diff --git a/backend/app/models/content.py b/backend/app/models/content.py new file mode 100644 index 0000000..ad71d92 --- /dev/null +++ b/backend/app/models/content.py @@ -0,0 +1,40 @@ +from django.conf import settings +from django.db import models + +import json +from tinymce.models import HTMLField + + +class Content(models.Model): + key = models.SlugField('ID', primary_key=True, unique=True) + title = models.CharField('Titel', max_length=100) + body = HTMLField('Inhalt') + wide = models.BooleanField('Breiteres Fenster') + + class Meta: + verbose_name = 'Text' + verbose_name_plural = 'Texte' + + def __str__(self) -> str: + return self.title + + def save(self, *args, **kwargs): + rv = super().save(*args, **kwargs) + self.update_json() + return rv + + def delete(self, *args, **kwargs): + rv = super().delete(*args, **kwargs) + self.update_json() + return rv + + def update_json(self): + with open(settings.MEDIA_ROOT / 'text.json', 'w') as fp: + json.dump(self.asJson(), fp) + + @staticmethod + def asJson() -> 'dict[str, str]': + rv = {} + for x in Content.objects.all(): + rv[x.pk] = {'title': x.title, 'body': x.body, 'wide': x.wide} + return rv diff --git a/backend/app/models/place.py b/backend/app/models/place.py new file mode 100644 index 0000000..ead16af --- /dev/null +++ b/backend/app/models/place.py @@ -0,0 +1,131 @@ +from django.conf import settings +from django.db import models +from django.db.models.signals import post_delete +from django.dispatch import receiver + +import json +import os +import shutil +from pathlib import Path +from PIL import Image, ImageOps +from tinymce.models import HTMLField +from map_location.fields import LocationField +# default_app_config = 'map_location.apps.MapLocationConfig' + +from app.models.category import Category +from common.form.audio_file import AudioFileField +from common.form.img_with_preview import FileWithImagePreview + + +def overwrite_img_upload(instance: 'Place', filename: str): + path = instance.fixed_os_path('img.jpg') + if path.is_file(): + os.remove(path) + return instance.fixed_save_url('img.jpg') + + +def overwrite_audio_upload(instance: 'Place', filename: str): + path = instance.fixed_os_path('audio.mp3') + if path.is_file(): + os.remove(path) + return instance.fixed_save_url('audio.mp3') + + +class Place(models.Model): + category: 'models.ForeignKey[Category]' = models.ForeignKey( + 'Category', on_delete=models.CASCADE, related_name='places', + verbose_name='Kategorie') + + sort = models.IntegerField('Sortierung', default=0) + isExtended = models.BooleanField('Bis 1.1.2025 verstecken') + title = models.CharField('Titel', max_length=100) + image = FileWithImagePreview('Bild', blank=True, null=True, + upload_to=overwrite_img_upload) + # help_text='Ideal: 600 x 400 px (JPEG oder PNG)' + audio = AudioFileField('Audio', blank=True, null=True, + upload_to=overwrite_audio_upload) + location = LocationField('Position', blank=True, null=True, options={ + 'map': { + 'center': [49.895, 10.890], + 'zoom': 14, + }, + }) + description = HTMLField('Beschreibung') + created = models.DateTimeField('Erstellt', auto_now_add=True) + + class Meta: + verbose_name = 'Ort' + verbose_name_plural = 'Orte' + ordering = ('sort',) + + def __str__(self) -> str: + return self.title + + def fixed_os_path(self, name: str) -> Path: + return settings.MEDIA_ROOT / str(self.pk) / name + + def fixed_save_url(self, name: str) -> str: + if self.pk is None: + next_id = Place.objects.count() + 1 + return f'{next_id}/{name}' + return f'{self.pk}/{name}' + + @property + def cover_image_url(self) -> 'str|None': + if self.image: + return self.image.url.replace('img.jpg', 'cov.jpg') + return None + + def save(self, *args, **kwargs): + rv = super().save(*args, **kwargs) + self.update_cover_image() + Place.update_json() + return rv + + # def delete(self, *args, **kwargs): + # theId = str(self.pk) + # rv = super().delete(*args, **kwargs) + # shutil.rmtree(settings.MEDIA_ROOT / theId, ignore_errors=True) + # self.update_json() + # return rv + + def update_cover_image(self): + path = self.fixed_os_path('cov.jpg') + if self.image: + img = Image.open(self.image.path) + thumb = ImageOps.fit(img, (600, 400)) + # img.thumbnail((600, 400)) + path.parent.mkdir(parents=True, exist_ok=True) + thumb.save(path, 'jpeg') + else: + if path.exists(): + os.remove(path) + + @staticmethod + def update_json(): + with open(settings.MEDIA_ROOT / 'places.json', 'w') as fp: + json.dump(Place.asJson(), fp) + + @staticmethod + def asJson() -> 'list[dict[str, str]]': + rv = [] + for x in Place.objects.all(): + rv.append({ + 'id': x.pk, + 'name': x.title, + 'loc': [round(x.location.lat, 6), + round(x.location.long, 6)] if x.location else None, + 'cat': x.category.pk, + 'cov': x.cover_image_url, + 'img': x.image.url if x.image else None, + 'audio': x.audio.url if x.audio else None, + 'later': x.isExtended, + 'desc': x.description, + }) + return rv + + +@receiver(post_delete, sender=Place) +def on_delete_Audiofile(sender, instance: 'Place', using, **kwargs): + shutil.rmtree(settings.MEDIA_ROOT / str(instance.pk), ignore_errors=True) + Place.update_json() diff --git a/backend/app/static/admin/admin.css b/backend/app/static/admin/admin.css new file mode 100644 index 0000000..fc79cbe --- /dev/null +++ b/backend/app/static/admin/admin.css @@ -0,0 +1,5 @@ +.color-dot { + font-family: monospace; + border-radius: 4px; + padding: 2px 8px; +} diff --git a/backend/common/__init__.py b/backend/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/common/form/audio_file.py b/backend/common/form/audio_file.py new file mode 100644 index 0000000..fb062a1 --- /dev/null +++ b/backend/common/form/audio_file.py @@ -0,0 +1,70 @@ +from django import forms +from django.conf import settings +from django.contrib.admin.widgets import AdminFileWidget +from django.core.validators import FileExtensionValidator +from django.db import models +from django.forms import FileInput, widgets + +from common.validators import MaxFilesizeValidator, readableToInt + +MAX_UPLOAD_SIZE = '20 MB' + + +class AudioFileWidget(widgets.ClearableFileInput): + template_name = 'forms/audio-file.html' + + class Media: + js = ['admin/file-upload-validator.js'] + + def get_context(self, name, value, attrs): + context = super().get_context(name, value, attrs) + context['MEDIA_URL'] = settings.MEDIA_URL + return context + + +class AudioField(forms.FileField): + widget = AudioFileWidget + default_validators = [ + FileExtensionValidator(['mp3']), + MaxFilesizeValidator(MAX_UPLOAD_SIZE) + ] + + def widget_attrs(self, widget): + attrs = super().widget_attrs(widget) + if isinstance(widget, FileInput) and 'accept' not in widget.attrs: + attrs.setdefault('accept', 'audio/mpeg') # audio/* + if isinstance(widget, AudioFileWidget): + attrs.update({ + 'data-upload-limit': readableToInt(MAX_UPLOAD_SIZE), + 'data-upload-limit-str': MAX_UPLOAD_SIZE, + 'onchange': 'validate_upload_limit(this)', + }) + return attrs + + +class AudioFileField(models.FileField): + __del_file_on_save = False + + def formfield(self, **kwargs): + if kwargs['widget'] is AdminFileWidget: + # Override admin widget. Defined by AudioField anyway + del kwargs['widget'] + return super().formfield(**{'form_class': AudioField, **kwargs}) + + def save_form_data(self, instance, data): + if data is False: + self.__del_file_on_save = True + super().save_form_data(instance, data) + + def pre_save(self, model_instance, add): + if self.__del_file_on_save: + self.__del_file_on_save = False + self.deletePreviousFile(model_instance) + return super().pre_save(model_instance, add) + + def deletePreviousFile(self, instance: models.Model): + if not instance.pk: + return + prev = instance.__class__.objects.get(pk=instance.pk) + fileField = getattr(prev, self.attname) + fileField.delete(save=False) diff --git a/backend/common/form/img_with_preview.py b/backend/common/form/img_with_preview.py new file mode 100644 index 0000000..19ac002 --- /dev/null +++ b/backend/common/form/img_with_preview.py @@ -0,0 +1,67 @@ +from django import forms +from django.conf import settings +from django.contrib.admin.widgets import AdminFileWidget +from django.core.validators import FileExtensionValidator +from django.db import models +from django.forms import FileInput, widgets + +from common.validators import MaxFilesizeValidator, readableToInt + +MAX_UPLOAD_SIZE = '312 KB' + + +class ImageFileWidget(widgets.ClearableFileInput): + template_name = 'forms/img-with-preview.html' + + def get_context(self, name, value, attrs): + context = super().get_context(name, value, attrs) + context['MEDIA_URL'] = settings.MEDIA_URL + return context + + +class ImgField(forms.FileField): + widget = ImageFileWidget + default_validators = [ + FileExtensionValidator(['jpg', 'jpeg', 'png']), + MaxFilesizeValidator(MAX_UPLOAD_SIZE), + ] + + def widget_attrs(self, widget): + attrs = super().widget_attrs(widget) + if isinstance(widget, FileInput) and 'accept' not in widget.attrs: + attrs.setdefault('accept', 'image/png,image/jpeg') # image/* + if isinstance(widget, ImageFileWidget): + attrs.update({ + 'data-upload-limit': readableToInt(MAX_UPLOAD_SIZE), + 'data-upload-limit-str': MAX_UPLOAD_SIZE, + 'onchange': 'validate_upload_limit(this)', + }) + return attrs + + +class FileWithImagePreview(models.FileField): # use ImageField to omit Pillow + __del_image_on_save = False + + def formfield(self, **kwargs): + if kwargs['widget'] is AdminFileWidget: + # Override admin widget. Defined by ImgField anyway + del kwargs['widget'] + return super().formfield(**{'form_class': ImgField, **kwargs}) + + def save_form_data(self, instance, data): + if data is False: + self.__del_image_on_save = True + super().save_form_data(instance, data) + + def pre_save(self, model_instance, add): + if self.__del_image_on_save: + self.__del_image_on_save = False + self.deletePreviousImage(model_instance) + return super().pre_save(model_instance, add) + + def deletePreviousImage(self, instance: models.Model): + if not instance.pk: + return + prev = instance.__class__.objects.get(pk=instance.pk) + imgField = getattr(prev, self.attname) + imgField.delete(save=False) diff --git a/backend/common/locale/de/LC_MESSAGES/django.mo b/backend/common/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..5a2afc715a6670f16bef8e91da09087cc10bbd84 GIT binary patch literal 230 zcmca7#4?qEfq{XEfq_AWfq_8>#9?4yutB1=85kIB85kHs85kHc85kJU7#JA#gXG;Z zb5a$GGpkY+O7im+auSQuQx!CF6D#x-R5fxkb2Cfg%Mx=+Q#Fe<^%#5-^U_Nb(^IV! zQc}5`^Ycnl^Gb9>DhpDr6iQMnO7shI5;OCx6_PU&i;7cAY(qobbS)6-iW2jR(^89c lUGtLjQ!?|?trRShGE2A^ToOxCGZm^z71E3H56{PGIRL#bJ~jXV literal 0 HcmV?d00001 diff --git a/backend/common/locale/de/LC_MESSAGES/django.po b/backend/common/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..b45c6b6 --- /dev/null +++ b/backend/common/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,8 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" + +msgid "File size too large (max. %(limit_value)s)." +msgstr "Datei zu groß (max. %(limit_value)s)." diff --git a/backend/common/settings.py b/backend/common/settings.py new file mode 100644 index 0000000..2bc40a3 --- /dev/null +++ b/backend/common/settings.py @@ -0,0 +1,30 @@ + +TINYMCE_DEFAULT_CONFIG = { + "width": "100%", + + # see https://www.tiny.cloud/docs/tinymce/latest/available-menu-items/ + "menubar": "edit view insert format table help", # file tools + + "plugins": "advlist autolink lists link image charmap anchor " + "searchreplace visualblocks code fullscreen insertdatetime media table " + "help", # paste print preview wordcount + + # see https://www.tiny.cloud/docs/tinymce/latest/available-toolbar-buttons/ + "toolbar": "undo redo | blocks | bold italic removeformat | " + "bullist numlist outdent indent", + # forecolor backcolor | alignleft aligncenter alignright alignjustify + + "promotion": False, # hide upgrade button + "language": "de_DE", + # "custom_undo_redo_levels": 10, + + "images_file_types": 'jpeg,jpg,png,gif', + "images_upload_handler": "tinymce_image_upload_handler", + "images_reuse_filename": True, # prevent image edits from reuploading imgs + "convert_urls": False, +} + +TINYMCE_EXTRA_MEDIA = { + 'css': {'all': []}, + 'js': ['admin/tinymce-upload.js'], +} diff --git a/backend/common/static/admin/file-upload-validator.js b/backend/common/static/admin/file-upload-validator.js new file mode 100644 index 0000000..28c9a84 --- /dev/null +++ b/backend/common/static/admin/file-upload-validator.js @@ -0,0 +1,6 @@ +function validate_upload_limit(sender) { + if (sender.files[0].size > sender.dataset.uploadLimit) { + sender.value = ''; + alert(`Datei zu groß (max. ${sender.dataset.uploadLimitStr})`); + } +} \ No newline at end of file diff --git a/backend/common/static/admin/tinymce-upload.js b/backend/common/static/admin/tinymce-upload.js new file mode 100644 index 0000000..0a53bf7 --- /dev/null +++ b/backend/common/static/admin/tinymce-upload.js @@ -0,0 +1,55 @@ +function tinymce_image_upload_handler(blobInfo, progress) { + return new Promise((resolve, reject) => { + const match = self.location.pathname.match('/app/place/([0-9]*)/'); + if (!match) { + return reject('Cannot match place id from URL.'); + } + + // FIXME: this will still upload the image as base64 string + // if (blobInfo.blob().size > 1_000_000) { // >1MB + // return reject('Image too large. Max file size: 1 MB'); + // } + + const placeId = match[1]; + let xhr, formData; + // token = Cookies.get("csrftoken"); + token = document.cookie.match('csrftoken=([^;]*)')[1]; + xhr = new XMLHttpRequest(); + xhr.withCredentials = false; + xhr.open('POST', '/tinymce/upload/' + placeId + '/'); + xhr.setRequestHeader('X-CSRFToken', token); + + if (progress) { + xhr.upload.onprogress = function (e) { + progress(e.loaded / e.total * 100); + }; + } + xhr.onload = function () { + let json; + + if (xhr.status === 403) { + return reject('HTTP Error: ' + xhr.status, { remove: true }); + } + + if (xhr.status < 200 || xhr.status >= 300) { + return reject('HTTP Error: ' + xhr.status); + } + + json = JSON.parse(xhr.responseText); + + if (!json || typeof json.location != 'string') { + return reject('Invalid JSON: ' + xhr.responseText); + } + + return resolve(json.location); + }; + xhr.onerror = function () { + return reject('Image upload failed due to a XHR Transport error. Code: ' + xhr.status); + }; + + formData = new FormData(); + formData.append('file', blobInfo.blob(), blobInfo.filename()); + + xhr.send(formData); + }); +} diff --git a/backend/common/static/favicon.ico b/backend/common/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..205d1a77cfbff6511c5aa4c78141d6d465e45606 GIT binary patch literal 905 zcmZQzU}Rus5D;KsU|>*SSk1t|U<P6-K=`VR3=9t$7#Iu;ApB-V1_m}J28PZ6KX+a( zDJ}*E23}7OmmmfP29OB?94rhB3|oJhzhYouDDrf145_&F^r9ngvx9)!Lv=<@Wma*S zNcJ_t1q^->>JJ!XZ2V@M&0h9$?|YM<pYF5Otx0zc`*lq3#SDu>HxJ&N(A>GAt)Tba zs<hB@_l;6bTmL-#wcXLM^W-Np4Yi#Ik4~8EGr{uk(TAzBcXG~lo8`QT=1<sS-`Dt9 zyb$DAPgg&ebxsLQSey#-oC4UXH;XsbGcYi`fjIT;R7cTf0|6IzCLtwO_9Kp}4a@}& zvRn8LII1=@A8}Omk&hG-TJYt@K0CGTsXvUD$3FNzWnoLBW9OR-%je{Kv|HvSe6bSQ zZ7=?!N&RH$;-*=%TFoV{1O(>o{b8f<L~EOginN&uZ}zGk-X}uW%=Kqz=FzXY;LWfo z@1@c6vWK%7IJVUoh4Cc3c=WrFJ0hF6!rYos{Q=7#^8=d-PcL3*%MuZ{y<whJWc;kZ zdJ3O<jU9@fC-U?5-qR0wsnl?!+}-YN%5;-{omDU9XoPIo*S*K~e%JQEzUrbJvwekA zch|pLrZ>Mf{vx;dFDA{-g+;jp0tpo31{}-`3=9c(IJYt|F!%-dgt&q<VZ#av3IPED z{{H^!*RTKo|Nnsl2kPtV@87@Az`)?(;ILuCh6fKGG&D3YFfc4wumEC!fPg?&vRV-X z1A}BqkY6x^|N8$83ibE@LxBT`e(--ofVuoieg+1H)8IH_e0!xm>wp1IOQQOw&EL=c z-k%Y;q3WyXsdr+R|J2A_es?>5n)kfgkiWOfHM}lrcRzR$Al&y@^2!wNQ194}JgXQV z``-R~sXRB?I7YOAKl!@tg4f3mrY&2d^<n*<*E}z7@?^0*(A*#y!tj*m(HWi1VN9}& zRduRA*#AF}|I?g0tunE}E8*^=`#aY11TapED){PjU{yGS-tPH-`et$jG*=%G{8?$a z_w|;U>^h#I1<l8~&4Rtph8`%KQ5oO+Ik9aO`|(7!ufOkc|M}@WYe`m^3@9LA=@bBR C!C>M5 literal 0 HcmV?d00001 diff --git a/backend/common/templates/forms/audio-file.html b/backend/common/templates/forms/audio-file.html new file mode 100644 index 0000000..6ce5f1b --- /dev/null +++ b/backend/common/templates/forms/audio-file.html @@ -0,0 +1,17 @@ +<div style="width: 100%"> + {% if widget.is_initial %} + <audio controls preload="none" style="width: 100%"> + <source src="{{MEDIA_URL}}{{widget.value}}" type="audio/mpeg"> + Browser does not support Audio + </audio> + {% if not widget.required %} + <span class="clearable-file-input"> + <input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}"{% if widget.attrs.disabled %} disabled{% endif %}> + <label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label> + </span> + {% endif %} + <br> + <span>{{ widget.input_text }}:</span> + {% endif %} + <input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}> +</div> \ No newline at end of file diff --git a/backend/common/templates/forms/img-with-preview.html b/backend/common/templates/forms/img-with-preview.html new file mode 100644 index 0000000..6696183 --- /dev/null +++ b/backend/common/templates/forms/img-with-preview.html @@ -0,0 +1,14 @@ +<div> + {% if widget.is_initial %} + <img src="{{MEDIA_URL}}{{widget.value}}" style="max-width: 150px; max-height: 150px; margin: 8px;" /> + {% if not widget.required %} + <span class="clearable-file-input"> + <input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}"{% if widget.attrs.disabled %} disabled{% endif %}> + <label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label> + </span> + {% endif %} + <br> + <span>{{ widget.input_text }}:</span> + {% endif %} + <input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}> +</div> \ No newline at end of file diff --git a/backend/common/urls.py b/backend/common/urls.py new file mode 100644 index 0000000..fb0e305 --- /dev/null +++ b/backend/common/urls.py @@ -0,0 +1,36 @@ +from django.conf import settings +from django.http import HttpRequest, JsonResponse +from django.urls import include, path + +from pathlib import Path + +from app.models.place import Place + + +def tinymce_upload(request: HttpRequest, placeId: int): + if request.method != 'POST': + return JsonResponse({'error': 'unsupported method type'}) + + try: + Place.objects.get(pk=placeId) + except Place.DoesNotExist: + return JsonResponse({'error': 'place does not exist'}) + + file = request.FILES.get('file') + if not file: + return JsonResponse({'error': 'could not read file'}) + + save_dir = Path(settings.MEDIA_ROOT) / str(placeId) + if not save_dir.exists(): + save_dir.mkdir() + with open(save_dir / file.name, 'wb') as fp: + fp.write(file.read()) + + fname = f'{placeId}/{file.name}' + return JsonResponse({'location': settings.MEDIA_URL + fname}) + + +urlpatterns = [ + path('tinymce/', include('tinymce.urls')), + path('tinymce/upload/<int:placeId>/', tinymce_upload), +] diff --git a/backend/common/validators.py b/backend/common/validators.py new file mode 100644 index 0000000..500a374 --- /dev/null +++ b/backend/common/validators.py @@ -0,0 +1,23 @@ +from django.core.validators import BaseValidator +from django.utils.deconstruct import deconstructible +from django.utils.translation import gettext_lazy as _ +from django.core.files.uploadedfile import TemporaryUploadedFile + + +UNITS = {'k': 1000, 'm': 1000_000, 'g': 1000_000_000} + + +def readableToInt(limit: str) -> int: + x = limit.lower().rstrip(' ib') # KiB & KB -> k + multiply = UNITS.get(x[-1], 1) + value = float(x.rstrip(' _kmg').replace(',', '.')) + return int(value * multiply) + + +@deconstructible +class MaxFilesizeValidator(BaseValidator): + message = _('File size too large (max. %(limit_value)s).') + code = 'max_filesize' + + def compare(self, a: TemporaryUploadedFile, limit: str): + return a.size > readableToInt(limit) diff --git a/backend/config/__init__.py b/backend/config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/config/asgi.py b/backend/config/asgi.py new file mode 100644 index 0000000..3535150 --- /dev/null +++ b/backend/config/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for 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/4.2/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') + +application = get_asgi_application() diff --git a/backend/config/settings.py b/backend/config/settings.py new file mode 100644 index 0000000..8c66288 --- /dev/null +++ b/backend/config/settings.py @@ -0,0 +1,151 @@ +""" +Django settings for project. + +Generated by 'django-admin startproject' using Django 4.2.13. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.2/ref/settings/ +""" +import os +from pathlib import Path +from common.settings import * # noqa: 401 + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', 'insecure-$a^nh$d!tgut43^91@') + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = SECRET_KEY.startswith('insecure') or \ + os.environ.get('DEBUG', '0').lower() not in ['false', 'no', '0'] + +ALLOWED_HOSTS = [] +ALLOWED_HOSTS.extend( + filter( + None, + os.environ.get('ALLOWED_HOSTS', '*').split(','), + ) +) +CSRF_TRUSTED_ORIGINS = ['https://' + x for x in ALLOWED_HOSTS] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'colorfield', + 'tinymce', + 'map_location', + 'common', + 'app', +] + +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 = 'config.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], # 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 = 'config.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.2/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db' / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.2/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/4.2/topics/i18n/ + +LANGUAGE_CODE = 'de' + +TIME_ZONE = 'Europe/Berlin' + +USE_I18N = True + +USE_TZ = False + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.2/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + + +# Custom + +ADMIN_URL = os.environ.get('ADMIN_URL', 'admin/').rstrip('/') + '/' + +STATIC_ROOT = BASE_DIR / 'static' + +MEDIA_URL = 'data/' +MEDIA_ROOT = BASE_DIR / 'data' + +STATIC_ROOT.mkdir(exist_ok=True) +MEDIA_ROOT.mkdir(exist_ok=True) +(BASE_DIR / 'db').mkdir(exist_ok=True) diff --git a/backend/config/urls.py b/backend/config/urls.py new file mode 100644 index 0000000..285dab3 --- /dev/null +++ b/backend/config/urls.py @@ -0,0 +1,26 @@ +""" +URL configuration for project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.2/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.conf import settings +from django.conf.urls.static import static +from django.contrib import admin +from django.urls import include, path + + +urlpatterns = [ + path(settings.ADMIN_URL, admin.site.urls), + path('', include('common.urls')), +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/backend/config/wsgi.py b/backend/config/wsgi.py new file mode 100644 index 0000000..c7d8a2f --- /dev/null +++ b/backend/config/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for 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/4.2/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') + +application = get_wsgi_application() diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml new file mode 100755 index 0000000..b0fe7b0 --- /dev/null +++ b/backend/docker-compose.yml @@ -0,0 +1,30 @@ +services: + app: + container_name: klangkarte + build: + context: . + # dockerfile: . + pull_policy: build + ports: + - 127.0.0.1:8070:8000 + image: klangkarte:latest + working_dir: /django_project + environment: + DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY} + ALLOWED_HOSTS: ${ALLOWED_HOSTS} + DEBUG: ${DEBUG:-0} + volumes: + - volume-klangkarte:/django_project/db + - /srv/http/klangkarte-data:/django_project/data + - /srv/http/klangkarte-static:/django_project/static + restart: unless-stopped + networks: + - network-klangkarte + +volumes: + volume-klangkarte: + name: klangkarte + +networks: + network-klangkarte: + name: klangkarte \ No newline at end of file diff --git a/backend/manage.py b/backend/manage.py new file mode 100755 index 0000000..8e7ac79 --- /dev/null +++ b/backend/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.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/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000..cd8cda8 --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,5 @@ +Django==4.2.13 +Pillow==10.3.0 +django_colorfield==0.11.0 +django-tinymce==4.0.0 +django-map-location==0.9.1 diff --git a/backend/scripts/run.sh b/backend/scripts/run.sh new file mode 100755 index 0000000..577002c --- /dev/null +++ b/backend/scripts/run.sh @@ -0,0 +1,6 @@ +#!/bin/sh +python manage.py collectstatic --noinput +python manage.py migrate + +# python -m uvicorn --port 8000 config.asgi:application +python -m gunicorn -b 0.0.0.0:8000 -k uvicorn.workers.UvicornWorker config.asgi:application diff --git a/frontend/3p/bootstrap/bootstrap.min.css b/frontend/3p/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..3993414 --- /dev/null +++ b/frontend/3p/bootstrap/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{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,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.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:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: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")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.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");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.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");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.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{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.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}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .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}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .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}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.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-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;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:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 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,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.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%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.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}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!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}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.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}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!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}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.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-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}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-evenly{justify-content:space-evenly!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}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!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}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.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-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}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-sm-evenly{justify-content:space-evenly!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}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!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}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.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-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}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-md-evenly{justify-content:space-evenly!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}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!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}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.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-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}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-lg-evenly{justify-content:space-evenly!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}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!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}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.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-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}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-xl-evenly{justify-content:space-evenly!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}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!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}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/frontend/3p/bootstrap/bootstrap.min.css.map b/frontend/3p/bootstrap/bootstrap.min.css.map new file mode 100644 index 0000000..90ce798 --- /dev/null +++ b/frontend/3p/bootstrap/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_root.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/mixins/_backdrop.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/_offcanvas.scss","../../scss/_placeholders.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n",":root,\n[data-bs-theme=\"light\"] {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{inspect($font-family-base)};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-color: #{$mark-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n --#{$prefix}highlight-color: #{$mark-color-dark};\n --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","@charset \"UTF-8\";\n/*!\n * Bootstrap v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root,\n[data-bs-theme=light] {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-primary-text-emphasis: #052c65;\n --bs-secondary-text-emphasis: #2b2f32;\n --bs-success-text-emphasis: #0a3622;\n --bs-info-text-emphasis: #055160;\n --bs-warning-text-emphasis: #664d03;\n --bs-danger-text-emphasis: #58151c;\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: #cfe2ff;\n --bs-secondary-bg-subtle: #e2e3e5;\n --bs-success-bg-subtle: #d1e7dd;\n --bs-info-bg-subtle: #cff4fc;\n --bs-warning-bg-subtle: #fff3cd;\n --bs-danger-bg-subtle: #f8d7da;\n --bs-light-bg-subtle: #fcfcfd;\n --bs-dark-bg-subtle: #ced4da;\n --bs-primary-border-subtle: #9ec5fe;\n --bs-secondary-border-subtle: #c4c8cb;\n --bs-success-border-subtle: #a3cfbb;\n --bs-info-border-subtle: #9eeaf9;\n --bs-warning-border-subtle: #ffe69c;\n --bs-danger-border-subtle: #f1aeb5;\n --bs-light-border-subtle: #e9ecef;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(33, 37, 41, 0.75);\n --bs-secondary-color-rgb: 33, 37, 41;\n --bs-secondary-bg: #e9ecef;\n --bs-secondary-bg-rgb: 233, 236, 239;\n --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n --bs-tertiary-color-rgb: 33, 37, 41;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-heading-color: inherit;\n --bs-link-color: #0d6efd;\n --bs-link-color-rgb: 13, 110, 253;\n --bs-link-decoration: underline;\n --bs-link-hover-color: #0a58ca;\n --bs-link-hover-color-rgb: 10, 88, 202;\n --bs-code-color: #d63384;\n --bs-highlight-color: #212529;\n --bs-highlight-bg: #fff3cd;\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #dee2e6;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0.375rem;\n --bs-border-radius-sm: 0.25rem;\n --bs-border-radius-lg: 0.5rem;\n --bs-border-radius-xl: 1rem;\n --bs-border-radius-xxl: 2rem;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50rem;\n --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25rem;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n --bs-form-valid-color: #198754;\n --bs-form-valid-border-color: #198754;\n --bs-form-invalid-color: #dc3545;\n --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n --bs-body-color: #dee2e6;\n --bs-body-color-rgb: 222, 226, 230;\n --bs-body-bg: #212529;\n --bs-body-bg-rgb: 33, 37, 41;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(222, 226, 230, 0.75);\n --bs-secondary-color-rgb: 222, 226, 230;\n --bs-secondary-bg: #343a40;\n --bs-secondary-bg-rgb: 52, 58, 64;\n --bs-tertiary-color: rgba(222, 226, 230, 0.5);\n --bs-tertiary-color-rgb: 222, 226, 230;\n --bs-tertiary-bg: #2b3035;\n --bs-tertiary-bg-rgb: 43, 48, 53;\n --bs-primary-text-emphasis: #6ea8fe;\n --bs-secondary-text-emphasis: #a7acb1;\n --bs-success-text-emphasis: #75b798;\n --bs-info-text-emphasis: #6edff6;\n --bs-warning-text-emphasis: #ffda6a;\n --bs-danger-text-emphasis: #ea868f;\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: #031633;\n --bs-secondary-bg-subtle: #161719;\n --bs-success-bg-subtle: #051b11;\n --bs-info-bg-subtle: #032830;\n --bs-warning-bg-subtle: #332701;\n --bs-danger-bg-subtle: #2c0b0e;\n --bs-light-bg-subtle: #343a40;\n --bs-dark-bg-subtle: #1a1d20;\n --bs-primary-border-subtle: #084298;\n --bs-secondary-border-subtle: #41464b;\n --bs-success-border-subtle: #0f5132;\n --bs-info-border-subtle: #087990;\n --bs-warning-border-subtle: #997404;\n --bs-danger-border-subtle: #842029;\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #343a40;\n --bs-heading-color: inherit;\n --bs-link-color: #6ea8fe;\n --bs-link-hover-color: #8bb9fe;\n --bs-link-color-rgb: 110, 168, 254;\n --bs-link-hover-color-rgb: 139, 185, 254;\n --bs-code-color: #e685b5;\n --bs-highlight-color: #dee2e6;\n --bs-highlight-bg: #664d03;\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: #75b798;\n --bs-form-valid-border-color: #75b798;\n --bs-form-invalid-color: #ea868f;\n --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--bs-heading-color);\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.1875em;\n color: var(--bs-highlight-color);\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0.25rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n.blockquote-footer::before {\n content: \"— \";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: var(--bs-body-bg);\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: var(--bs-secondary-color);\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.table {\n --bs-table-color-type: initial;\n --bs-table-bg-type: initial;\n --bs-table-color-state: initial;\n --bs-table-bg-state: initial;\n --bs-table-color: var(--bs-emphasis-color);\n --bs-table-bg: var(--bs-body-bg);\n --bs-table-border-color: var(--bs-border-color);\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: var(--bs-emphasis-color);\n --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);\n --bs-table-active-color: var(--bs-emphasis-color);\n --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);\n --bs-table-hover-color: var(--bs-emphasis-color);\n --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);\n width: 100%;\n margin-bottom: 1rem;\n vertical-align: top;\n border-color: var(--bs-table-border-color);\n}\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));\n background-color: var(--bs-table-bg);\n border-bottom-width: var(--bs-border-width);\n box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n\n.table-group-divider {\n border-top: calc(var(--bs-border-width) * 2) solid currentcolor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: var(--bs-border-width) 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 var(--bs-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n.table-borderless > :not(:first-child) {\n border-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n --bs-table-color-type: var(--bs-table-striped-color);\n --bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --bs-table-color-type: var(--bs-table-striped-color);\n --bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-active {\n --bs-table-color-state: var(--bs-table-active-color);\n --bs-table-bg-state: var(--bs-table-active-bg);\n}\n\n.table-hover > tbody > tr:hover > * {\n --bs-table-color-state: var(--bs-table-hover-color);\n --bs-table-bg-state: var(--bs-table-hover-bg);\n}\n\n.table-primary {\n --bs-table-color: #000;\n --bs-table-bg: #cfe2ff;\n --bs-table-border-color: #a6b5cc;\n --bs-table-striped-bg: #c5d7f2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bacbe6;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfd1ec;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-secondary {\n --bs-table-color: #000;\n --bs-table-bg: #e2e3e5;\n --bs-table-border-color: #b5b6b7;\n --bs-table-striped-bg: #d7d8da;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #cbccce;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #d1d2d4;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-success {\n --bs-table-color: #000;\n --bs-table-bg: #d1e7dd;\n --bs-table-border-color: #a7b9b1;\n --bs-table-striped-bg: #c7dbd2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bcd0c7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c1d6cc;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-info {\n --bs-table-color: #000;\n --bs-table-bg: #cff4fc;\n --bs-table-border-color: #a6c3ca;\n --bs-table-striped-bg: #c5e8ef;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #badce3;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfe2e9;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-warning {\n --bs-table-color: #000;\n --bs-table-bg: #fff3cd;\n --bs-table-border-color: #ccc2a4;\n --bs-table-striped-bg: #f2e7c3;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6dbb9;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ece1be;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-danger {\n --bs-table-color: #000;\n --bs-table-bg: #f8d7da;\n --bs-table-border-color: #c6acae;\n --bs-table-striped-bg: #eccccf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfc2c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5c7ca;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-light {\n --bs-table-color: #000;\n --bs-table-bg: #f8f9fa;\n --bs-table-border-color: #c6c7c8;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-dark {\n --bs-table-color: #fff;\n --bs-table-bg: #212529;\n --bs-table-border-color: #4d5154;\n --bs-table-striped-bg: #2c3034;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #373b3e;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #323539;\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + var(--bs-border-width));\n padding-bottom: calc(0.375rem + var(--bs-border-width));\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + var(--bs-border-width));\n padding-bottom: calc(0.5rem + var(--bs-border-width));\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + var(--bs-border-width));\n padding-bottom: calc(0.25rem + var(--bs-border-width));\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--bs-secondary-color);\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: var(--bs-body-bg);\n background-clip: padding-box;\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type=file] {\n overflow: hidden;\n}\n.form-control[type=file]:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n min-width: 85px;\n height: 1.5em;\n margin: 0;\n}\n.form-control::-webkit-datetime-edit {\n display: block;\n padding: 0;\n}\n.form-control::-moz-placeholder {\n color: var(--bs-secondary-color);\n opacity: 1;\n}\n.form-control::placeholder {\n color: var(--bs-secondary-color);\n opacity: 1;\n}\n.form-control:disabled {\n background-color: var(--bs-secondary-bg);\n opacity: 1;\n}\n.form-control::-webkit-file-upload-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n -webkit-margin-end: 0.75rem;\n margin-inline-end: 0.75rem;\n color: var(--bs-body-color);\n background-color: var(--bs-tertiary-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--bs-border-width);\n border-radius: 0;\n -webkit-transition: color 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;\n transition: color 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;\n}\n.form-control::file-selector-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n -webkit-margin-end: 0.75rem;\n margin-inline-end: 0.75rem;\n color: var(--bs-body-color);\n background-color: var(--bs-tertiary-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--bs-border-width);\n border-radius: 0;\n transition: color 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::-webkit-file-upload-button {\n -webkit-transition: none;\n transition: none;\n }\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n background-color: var(--bs-secondary-bg);\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--bs-secondary-bg);\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--bs-border-width) 0;\n}\n.form-control-plaintext:focus {\n outline: 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--bs-border-radius-sm);\n}\n.form-control-sm::-webkit-file-upload-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n.form-control-sm::file-selector-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: var(--bs-border-radius-lg);\n}\n.form-control-lg::-webkit-file-upload-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n -webkit-margin-end: 1rem;\n margin-inline-end: 1rem;\n}\n.form-control-lg::file-selector-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n -webkit-margin-end: 1rem;\n margin-inline-end: 1rem;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n}\n\n.form-control-color {\n width: 3rem;\n height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));\n padding: 0.375rem;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--bs-border-radius);\n}\n.form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--bs-border-radius);\n}\n.form-control-color.form-control-sm {\n height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n}\n.form-control-color.form-control-lg {\n height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n}\n\n.form-select {\n --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: block;\n width: 100%;\n padding: 0.375rem 2.25rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: var(--bs-body-bg);\n background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-select {\n transition: none;\n }\n}\n.form-select:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n padding-right: 0.75rem;\n background-image: none;\n}\n.form-select:disabled {\n background-color: var(--bs-secondary-bg);\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 var(--bs-body-color);\n}\n\n.form-select-sm {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--bs-border-radius-sm);\n}\n\n.form-select-lg {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n border-radius: var(--bs-border-radius-lg);\n}\n\n[data-bs-theme=dark] .form-select {\n --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-reverse {\n padding-right: 1.5em;\n padding-left: 0;\n text-align: right;\n}\n.form-check-reverse .form-check-input {\n float: right;\n margin-right: -1.5em;\n margin-left: 0;\n}\n\n.form-check-input {\n --bs-form-check-bg: var(--bs-body-bg);\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: var(--bs-form-check-bg);\n background-image: var(--bs-form-check-bg-image);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: var(--bs-border-width) solid var(--bs-border-color);\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n print-color-adjust: exact;\n}\n.form-check-input[type=checkbox] {\n border-radius: 0.25em;\n}\n.form-check-input[type=radio] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.form-check-input:checked[type=checkbox] {\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type=radio] {\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-check-input[type=checkbox]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n cursor: default;\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n width: 2em;\n margin-left: -2.5em;\n background-image: var(--bs-form-switch-bg);\n background-position: left center;\n border-radius: 2em;\n transition: background-position 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n.form-switch .form-check-input:focus {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n --bs-form-switch-bg: 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\");\n}\n.form-switch.form-check-reverse {\n padding-right: 2.5em;\n padding-left: 0;\n}\n.form-switch.form-check-reverse .form-check-input {\n margin-right: -2.5em;\n margin-left: 0;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\");\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n}\n.form-range:focus {\n outline: 0;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n -webkit-appearance: none;\n appearance: none;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: #b6d4fe;\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--bs-secondary-bg);\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n -moz-appearance: none;\n appearance: none;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: #b6d4fe;\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--bs-secondary-bg);\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: var(--bs-secondary-color);\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: var(--bs-secondary-color);\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n line-height: 1.25;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n height: 100%;\n padding: 1rem 0.75rem;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--bs-border-width) solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n padding: 1rem 0.75rem;\n}\n.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {\n color: transparent;\n}\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after {\n position: absolute;\n inset: 1rem 0.375rem;\n z-index: -1;\n height: 1.5em;\n content: \"\";\n background-color: var(--bs-body-bg);\n border-radius: var(--bs-border-radius);\n}\n.form-floating > .form-control:focus ~ label::after,\n.form-floating > .form-control:not(:placeholder-shown) ~ label::after,\n.form-floating > .form-control-plaintext ~ label::after,\n.form-floating > .form-select ~ label::after {\n position: absolute;\n inset: 1rem 0.375rem;\n z-index: -1;\n height: 1.5em;\n content: \"\";\n background-color: var(--bs-body-bg);\n border-radius: var(--bs-border-radius);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control-plaintext ~ label {\n border-width: var(--bs-border-width) 0;\n}\n.form-floating > :disabled ~ label,\n.form-floating > .form-control:disabled ~ label {\n color: #6c757d;\n}\n.form-floating > :disabled ~ label::after,\n.form-floating > .form-control:disabled ~ label::after {\n background-color: var(--bs-secondary-bg);\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n z-index: 5;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 5;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--bs-tertiary-bg);\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: var(--bs-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--bs-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 3rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: calc(var(--bs-border-width) * -1);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group > .form-floating:not(:first-child) > .form-control,\n.input-group > .form-floating:not(:first-child) > .form-select {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--bs-form-valid-color);\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: var(--bs-success);\n border-radius: var(--bs-border-radius);\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: var(--bs-form-valid-border-color);\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.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\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: var(--bs-form-valid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size=\"1\"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size=\"1\"] {\n --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.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\");\n padding-right: 4.125rem;\n background-position: right 0.75rem center, center right 2.25rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: var(--bs-form-valid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated .form-control-color:valid, .form-control-color.is-valid {\n width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: var(--bs-form-valid-color);\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: var(--bs-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--bs-form-invalid-color);\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: var(--bs-danger);\n border-radius: var(--bs-border-radius);\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: var(--bs-form-invalid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size=\"1\"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size=\"1\"] {\n --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n padding-right: 4.125rem;\n background-position: right 0.75rem center, center right 2.25rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: var(--bs-form-invalid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: var(--bs-form-invalid-color);\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: var(--bs-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n}\n\n.btn {\n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition: color 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n}\n.btn-check + .btn:hover {\n color: var(--bs-btn-color);\n background-color: var(--bs-btn-bg);\n border-color: var(--bs-btn-border-color);\n}\n.btn:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:focus-visible + .btn {\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {\n color: var(--bs-btn-active-color);\n background-color: var(--bs-btn-active-bg);\n border-color: var(--bs-btn-active-border-color);\n}\n.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:checked:focus-visible + .btn {\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n}\n\n.btn-primary {\n --bs-btn-color: #fff;\n --bs-btn-bg: #0d6efd;\n --bs-btn-border-color: #0d6efd;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #0b5ed7;\n --bs-btn-hover-border-color: #0a58ca;\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #0d6efd;\n --bs-btn-disabled-border-color: #0d6efd;\n}\n\n.btn-secondary {\n --bs-btn-color: #fff;\n --bs-btn-bg: #6c757d;\n --bs-btn-border-color: #6c757d;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #5c636a;\n --bs-btn-hover-border-color: #565e64;\n --bs-btn-focus-shadow-rgb: 130, 138, 145;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #565e64;\n --bs-btn-active-border-color: #51585e;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #6c757d;\n --bs-btn-disabled-border-color: #6c757d;\n}\n\n.btn-success {\n --bs-btn-color: #fff;\n --bs-btn-bg: #198754;\n --bs-btn-border-color: #198754;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #157347;\n --bs-btn-hover-border-color: #146c43;\n --bs-btn-focus-shadow-rgb: 60, 153, 110;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #146c43;\n --bs-btn-active-border-color: #13653f;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #198754;\n --bs-btn-disabled-border-color: #198754;\n}\n\n.btn-info {\n --bs-btn-color: #000;\n --bs-btn-bg: #0dcaf0;\n --bs-btn-border-color: #0dcaf0;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #31d2f2;\n --bs-btn-hover-border-color: #25cff2;\n --bs-btn-focus-shadow-rgb: 11, 172, 204;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #3dd5f3;\n --bs-btn-active-border-color: #25cff2;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #0dcaf0;\n --bs-btn-disabled-border-color: #0dcaf0;\n}\n\n.btn-warning {\n --bs-btn-color: #000;\n --bs-btn-bg: #ffc107;\n --bs-btn-border-color: #ffc107;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #ffca2c;\n --bs-btn-hover-border-color: #ffc720;\n --bs-btn-focus-shadow-rgb: 217, 164, 6;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #ffcd39;\n --bs-btn-active-border-color: #ffc720;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #ffc107;\n --bs-btn-disabled-border-color: #ffc107;\n}\n\n.btn-danger {\n --bs-btn-color: #fff;\n --bs-btn-bg: #dc3545;\n --bs-btn-border-color: #dc3545;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #bb2d3b;\n --bs-btn-hover-border-color: #b02a37;\n --bs-btn-focus-shadow-rgb: 225, 83, 97;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #b02a37;\n --bs-btn-active-border-color: #a52834;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #dc3545;\n --bs-btn-disabled-border-color: #dc3545;\n}\n\n.btn-light {\n --bs-btn-color: #000;\n --bs-btn-bg: #f8f9fa;\n --bs-btn-border-color: #f8f9fa;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #d3d4d5;\n --bs-btn-hover-border-color: #c6c7c8;\n --bs-btn-focus-shadow-rgb: 211, 212, 213;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #c6c7c8;\n --bs-btn-active-border-color: #babbbc;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #f8f9fa;\n --bs-btn-disabled-border-color: #f8f9fa;\n}\n\n.btn-dark {\n --bs-btn-color: #fff;\n --bs-btn-bg: #212529;\n --bs-btn-border-color: #212529;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #424649;\n --bs-btn-hover-border-color: #373b3e;\n --bs-btn-focus-shadow-rgb: 66, 70, 73;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #4d5154;\n --bs-btn-active-border-color: #373b3e;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #212529;\n --bs-btn-disabled-border-color: #212529;\n}\n\n.btn-outline-primary {\n --bs-btn-color: #0d6efd;\n --bs-btn-border-color: #0d6efd;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #0d6efd;\n --bs-btn-hover-border-color: #0d6efd;\n --bs-btn-focus-shadow-rgb: 13, 110, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0d6efd;\n --bs-btn-active-border-color: #0d6efd;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #0d6efd;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #0d6efd;\n --bs-gradient: none;\n}\n\n.btn-outline-secondary {\n --bs-btn-color: #6c757d;\n --bs-btn-border-color: #6c757d;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #6c757d;\n --bs-btn-hover-border-color: #6c757d;\n --bs-btn-focus-shadow-rgb: 108, 117, 125;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #6c757d;\n --bs-btn-active-border-color: #6c757d;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #6c757d;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #6c757d;\n --bs-gradient: none;\n}\n\n.btn-outline-success {\n --bs-btn-color: #198754;\n --bs-btn-border-color: #198754;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #198754;\n --bs-btn-hover-border-color: #198754;\n --bs-btn-focus-shadow-rgb: 25, 135, 84;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #198754;\n --bs-btn-active-border-color: #198754;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #198754;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #198754;\n --bs-gradient: none;\n}\n\n.btn-outline-info {\n --bs-btn-color: #0dcaf0;\n --bs-btn-border-color: #0dcaf0;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #0dcaf0;\n --bs-btn-hover-border-color: #0dcaf0;\n --bs-btn-focus-shadow-rgb: 13, 202, 240;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #0dcaf0;\n --bs-btn-active-border-color: #0dcaf0;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #0dcaf0;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #0dcaf0;\n --bs-gradient: none;\n}\n\n.btn-outline-warning {\n --bs-btn-color: #ffc107;\n --bs-btn-border-color: #ffc107;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #ffc107;\n --bs-btn-hover-border-color: #ffc107;\n --bs-btn-focus-shadow-rgb: 255, 193, 7;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #ffc107;\n --bs-btn-active-border-color: #ffc107;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #ffc107;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #ffc107;\n --bs-gradient: none;\n}\n\n.btn-outline-danger {\n --bs-btn-color: #dc3545;\n --bs-btn-border-color: #dc3545;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #dc3545;\n --bs-btn-hover-border-color: #dc3545;\n --bs-btn-focus-shadow-rgb: 220, 53, 69;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #dc3545;\n --bs-btn-active-border-color: #dc3545;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #dc3545;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #dc3545;\n --bs-gradient: none;\n}\n\n.btn-outline-light {\n --bs-btn-color: #f8f9fa;\n --bs-btn-border-color: #f8f9fa;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #f8f9fa;\n --bs-btn-hover-border-color: #f8f9fa;\n --bs-btn-focus-shadow-rgb: 248, 249, 250;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #f8f9fa;\n --bs-btn-active-border-color: #f8f9fa;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #f8f9fa;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #f8f9fa;\n --bs-gradient: none;\n}\n\n.btn-outline-dark {\n --bs-btn-color: #212529;\n --bs-btn-border-color: #212529;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #212529;\n --bs-btn-hover-border-color: #212529;\n --bs-btn-focus-shadow-rgb: 33, 37, 41;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #212529;\n --bs-btn-active-border-color: #212529;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #212529;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #212529;\n --bs-gradient: none;\n}\n\n.btn-link {\n --bs-btn-font-weight: 400;\n --bs-btn-color: var(--bs-link-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-color: transparent;\n --bs-btn-hover-color: var(--bs-link-hover-color);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-active-color: var(--bs-link-hover-color);\n --bs-btn-active-border-color: transparent;\n --bs-btn-disabled-color: #6c757d;\n --bs-btn-disabled-border-color: transparent;\n --bs-btn-box-shadow: 0 0 0 #000;\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n text-decoration: underline;\n}\n.btn-link:focus-visible {\n color: var(--bs-btn-color);\n}\n.btn-link:hover {\n color: var(--bs-btn-hover-color);\n}\n\n.btn-lg, .btn-group-lg > .btn {\n --bs-btn-padding-y: 0.5rem;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 1.25rem;\n --bs-btn-border-radius: var(--bs-border-radius-lg);\n}\n\n.btn-sm, .btn-group-sm > .btn {\n --bs-btn-padding-y: 0.25rem;\n --bs-btn-padding-x: 0.5rem;\n --bs-btn-font-size: 0.875rem;\n --bs-btn-border-radius: var(--bs-border-radius-sm);\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n --bs-dropdown-zindex: 1000;\n --bs-dropdown-min-width: 10rem;\n --bs-dropdown-padding-x: 0;\n --bs-dropdown-padding-y: 0.5rem;\n --bs-dropdown-spacer: 0.125rem;\n --bs-dropdown-font-size: 1rem;\n --bs-dropdown-color: var(--bs-body-color);\n --bs-dropdown-bg: var(--bs-body-bg);\n --bs-dropdown-border-color: var(--bs-border-color-translucent);\n --bs-dropdown-border-radius: var(--bs-border-radius);\n --bs-dropdown-border-width: var(--bs-border-width);\n --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));\n --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n --bs-dropdown-divider-margin-y: 0.5rem;\n --bs-dropdown-box-shadow: var(--bs-box-shadow);\n --bs-dropdown-link-color: var(--bs-body-color);\n --bs-dropdown-link-hover-color: var(--bs-body-color);\n --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);\n --bs-dropdown-link-active-color: #fff;\n --bs-dropdown-link-active-bg: #0d6efd;\n --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);\n --bs-dropdown-item-padding-x: 1rem;\n --bs-dropdown-item-padding-y: 0.25rem;\n --bs-dropdown-header-color: #6c757d;\n --bs-dropdown-header-padding-x: 1rem;\n --bs-dropdown-header-padding-y: 0.5rem;\n position: absolute;\n z-index: var(--bs-dropdown-zindex);\n display: none;\n min-width: var(--bs-dropdown-min-width);\n padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n margin: 0;\n font-size: var(--bs-dropdown-font-size);\n color: var(--bs-dropdown-color);\n text-align: left;\n list-style: none;\n background-color: var(--bs-dropdown-bg);\n background-clip: padding-box;\n border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n border-radius: var(--bs-dropdown-border-radius);\n}\n.dropdown-menu[data-bs-popper] {\n top: 100%;\n left: 0;\n margin-top: var(--bs-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n --bs-position: start;\n}\n.dropdown-menu-start[data-bs-popper] {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-end {\n --bs-position: end;\n}\n.dropdown-menu-end[data-bs-popper] {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-start {\n --bs-position: start;\n }\n .dropdown-menu-sm-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-end {\n --bs-position: end;\n }\n .dropdown-menu-sm-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-start {\n --bs-position: start;\n }\n .dropdown-menu-md-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-end {\n --bs-position: end;\n }\n .dropdown-menu-md-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-start {\n --bs-position: start;\n }\n .dropdown-menu-lg-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-end {\n --bs-position: end;\n }\n .dropdown-menu-lg-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-start {\n --bs-position: start;\n }\n .dropdown-menu-xl-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-end {\n --bs-position: end;\n }\n .dropdown-menu-xl-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-start {\n --bs-position: start;\n }\n .dropdown-menu-xxl-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-end {\n --bs-position: end;\n }\n .dropdown-menu-xxl-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu[data-bs-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--bs-dropdown-spacer);\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropend .dropdown-menu[data-bs-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: var(--bs-dropdown-spacer);\n}\n.dropend .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropend .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropend .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: var(--bs-dropdown-spacer);\n}\n.dropstart .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n.dropstart .dropdown-toggle::after {\n display: none;\n}\n.dropstart .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropstart .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: var(--bs-dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--bs-dropdown-divider-bg);\n opacity: 1;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n clear: both;\n font-weight: 400;\n color: var(--bs-dropdown-link-color);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n border-radius: var(--bs-dropdown-item-border-radius, 0);\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: var(--bs-dropdown-link-hover-color);\n background-color: var(--bs-dropdown-link-hover-bg);\n}\n.dropdown-item.active, .dropdown-item:active {\n color: var(--bs-dropdown-link-active-color);\n text-decoration: none;\n background-color: var(--bs-dropdown-link-active-bg);\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: var(--bs-dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\n margin-bottom: 0;\n font-size: 0.875rem;\n color: var(--bs-dropdown-header-color);\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n color: var(--bs-dropdown-link-color);\n}\n\n.dropdown-menu-dark {\n --bs-dropdown-color: #dee2e6;\n --bs-dropdown-bg: #343a40;\n --bs-dropdown-border-color: var(--bs-border-color-translucent);\n --bs-dropdown-box-shadow: ;\n --bs-dropdown-link-color: #dee2e6;\n --bs-dropdown-link-hover-color: #fff;\n --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n --bs-dropdown-link-active-color: #fff;\n --bs-dropdown-link-active-bg: #0d6efd;\n --bs-dropdown-link-disabled-color: #adb5bd;\n --bs-dropdown-header-color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group {\n border-radius: var(--bs-border-radius);\n}\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n margin-left: calc(var(--bs-border-width) * -1);\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(var(--bs-border-width) * -1);\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn ~ .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n --bs-nav-link-padding-x: 1rem;\n --bs-nav-link-padding-y: 0.5rem;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-link-color);\n --bs-nav-link-hover-color: var(--bs-link-hover-color);\n --bs-nav-link-disabled-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n font-size: var(--bs-nav-link-font-size);\n font-weight: var(--bs-nav-link-font-weight);\n color: var(--bs-nav-link-color);\n text-decoration: none;\n background: none;\n border: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover, .nav-link:focus {\n color: var(--bs-nav-link-hover-color);\n}\n.nav-link:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.nav-link.disabled, .nav-link:disabled {\n color: var(--bs-nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n --bs-nav-tabs-border-width: var(--bs-border-width);\n --bs-nav-tabs-border-color: var(--bs-border-color);\n --bs-nav-tabs-border-radius: var(--bs-border-radius);\n --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);\n --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n --bs-nav-tabs-link-active-bg: var(--bs-body-bg);\n --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);\n border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n border: var(--bs-nav-tabs-border-width) solid transparent;\n border-top-left-radius: var(--bs-nav-tabs-border-radius);\n border-top-right-radius: var(--bs-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n isolation: isolate;\n border-color: var(--bs-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: var(--bs-nav-tabs-link-active-color);\n background-color: var(--bs-nav-tabs-link-active-bg);\n border-color: var(--bs-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills {\n --bs-nav-pills-border-radius: var(--bs-border-radius);\n --bs-nav-pills-link-active-color: #fff;\n --bs-nav-pills-link-active-bg: #0d6efd;\n}\n.nav-pills .nav-link {\n border-radius: var(--bs-nav-pills-border-radius);\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: var(--bs-nav-pills-link-active-color);\n background-color: var(--bs-nav-pills-link-active-bg);\n}\n\n.nav-underline {\n --bs-nav-underline-gap: 1rem;\n --bs-nav-underline-border-width: 0.125rem;\n --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n gap: var(--bs-nav-underline-gap);\n}\n.nav-underline .nav-link {\n padding-right: 0;\n padding-left: 0;\n border-bottom: var(--bs-nav-underline-border-width) solid transparent;\n}\n.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-bottom-color: currentcolor;\n}\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--bs-nav-underline-link-active-color);\n border-bottom-color: currentcolor;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n --bs-navbar-padding-x: 0;\n --bs-navbar-padding-y: 0.5rem;\n --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);\n --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);\n --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);\n --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-brand-padding-y: 0.3125rem;\n --bs-navbar-brand-margin-end: 1rem;\n --bs-navbar-brand-font-size: 1.25rem;\n --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-nav-link-padding-x: 0.5rem;\n --bs-navbar-toggler-padding-y: 0.25rem;\n --bs-navbar-toggler-padding-x: 0.75rem;\n --bs-navbar-toggler-font-size: 1.25rem;\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);\n --bs-navbar-toggler-border-radius: var(--bs-border-radius);\n --bs-navbar-toggler-focus-width: 0.25rem;\n --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n}\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: var(--bs-navbar-brand-padding-y);\n padding-bottom: var(--bs-navbar-brand-padding-y);\n margin-right: var(--bs-navbar-brand-margin-end);\n font-size: var(--bs-navbar-brand-font-size);\n color: var(--bs-navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n}\n.navbar-brand:hover, .navbar-brand:focus {\n color: var(--bs-navbar-brand-hover-color);\n}\n\n.navbar-nav {\n --bs-nav-link-padding-x: 0;\n --bs-nav-link-padding-y: 0.5rem;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-navbar-color);\n --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--bs-navbar-active-color);\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-navbar-color);\n}\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n color: var(--bs-navbar-active-color);\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n font-size: var(--bs-navbar-toggler-font-size);\n line-height: 1;\n color: var(--bs-navbar-color);\n background-color: transparent;\n border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n border-radius: var(--bs-navbar-toggler-border-radius);\n transition: var(--bs-navbar-toggler-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--bs-navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--bs-scroll-height, 75vh);\n overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xxl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n}\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n.navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n}\n.navbar-expand .offcanvas .offcanvas-header {\n display: none;\n}\n.navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n.navbar-dark,\n.navbar[data-bs-theme=dark] {\n --bs-navbar-color: rgba(255, 255, 255, 0.55);\n --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\n --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n --bs-navbar-active-color: #fff;\n --bs-navbar-brand-color: #fff;\n --bs-navbar-brand-hover-color: #fff;\n --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n[data-bs-theme=dark] .navbar-toggler-icon {\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.card {\n --bs-card-spacer-y: 1rem;\n --bs-card-spacer-x: 1rem;\n --bs-card-title-spacer-y: 0.5rem;\n --bs-card-title-color: ;\n --bs-card-subtitle-color: ;\n --bs-card-border-width: var(--bs-border-width);\n --bs-card-border-color: var(--bs-border-color-translucent);\n --bs-card-border-radius: var(--bs-border-radius);\n --bs-card-box-shadow: ;\n --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));\n --bs-card-cap-padding-y: 0.5rem;\n --bs-card-cap-padding-x: 1rem;\n --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);\n --bs-card-cap-color: ;\n --bs-card-height: ;\n --bs-card-color: ;\n --bs-card-bg: var(--bs-body-bg);\n --bs-card-img-overlay-padding: 1rem;\n --bs-card-group-margin: 0.75rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--bs-card-height);\n color: var(--bs-body-color);\n word-wrap: break-word;\n background-color: var(--bs-card-bg);\n background-clip: border-box;\n border: var(--bs-card-border-width) solid var(--bs-card-border-color);\n border-radius: var(--bs-card-border-radius);\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: var(--bs-card-inner-border-radius);\n border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n color: var(--bs-card-color);\n}\n\n.card-title {\n margin-bottom: var(--bs-card-title-spacer-y);\n color: var(--bs-card-title-color);\n}\n\n.card-subtitle {\n margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n margin-bottom: 0;\n color: var(--bs-card-subtitle-color);\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link + .card-link {\n margin-left: var(--bs-card-spacer-x);\n}\n\n.card-header {\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n margin-bottom: 0;\n color: var(--bs-card-cap-color);\n background-color: var(--bs-card-cap-bg);\n border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-header:first-child {\n border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n color: var(--bs-card-cap-color);\n background-color: var(--bs-card-cap-bg);\n border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-footer:last-child {\n border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\n}\n\n.card-header-tabs {\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n border-bottom: 0;\n}\n.card-header-tabs .nav-link.active {\n background-color: var(--bs-card-bg);\n border-bottom-color: var(--bs-card-bg);\n}\n\n.card-header-pills {\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--bs-card-img-overlay-padding);\n border-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: var(--bs-card-inner-border-radius);\n border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-group > .card {\n margin-bottom: var(--bs-card-group-margin);\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n --bs-accordion-color: var(--bs-body-color);\n --bs-accordion-bg: var(--bs-body-bg);\n --bs-accordion-transition: color 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, border-radius 0.15s ease;\n --bs-accordion-border-color: var(--bs-border-color);\n --bs-accordion-border-width: var(--bs-border-width);\n --bs-accordion-border-radius: var(--bs-border-radius);\n --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));\n --bs-accordion-btn-padding-x: 1.25rem;\n --bs-accordion-btn-padding-y: 1rem;\n --bs-accordion-btn-color: var(--bs-body-color);\n --bs-accordion-btn-bg: var(--bs-accordion-bg);\n --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e\");\n --bs-accordion-btn-icon-width: 1.25rem;\n --bs-accordion-btn-icon-transform: rotate(-180deg);\n --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e\");\n --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n --bs-accordion-body-padding-x: 1.25rem;\n --bs-accordion-body-padding-y: 1rem;\n --bs-accordion-active-color: var(--bs-primary-text-emphasis);\n --bs-accordion-active-bg: var(--bs-primary-bg-subtle);\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n font-size: 1rem;\n color: var(--bs-accordion-btn-color);\n text-align: left;\n background-color: var(--bs-accordion-btn-bg);\n border: 0;\n border-radius: 0;\n overflow-anchor: none;\n transition: var(--bs-accordion-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button:not(.collapsed) {\n color: var(--bs-accordion-active-color);\n background-color: var(--bs-accordion-active-bg);\n box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);\n}\n.accordion-button:not(.collapsed)::after {\n background-image: var(--bs-accordion-btn-active-icon);\n transform: var(--bs-accordion-btn-icon-transform);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: var(--bs-accordion-btn-icon-width);\n height: var(--bs-accordion-btn-icon-width);\n margin-left: auto;\n content: \"\";\n background-image: var(--bs-accordion-btn-icon);\n background-repeat: no-repeat;\n background-size: var(--bs-accordion-btn-icon-width);\n transition: var(--bs-accordion-btn-icon-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n outline: 0;\n box-shadow: var(--bs-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n color: var(--bs-accordion-color);\n background-color: var(--bs-accordion-bg);\n border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\n}\n.accordion-item:first-of-type {\n border-top-left-radius: var(--bs-accordion-border-radius);\n border-top-right-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:first-of-type > .accordion-header .accordion-button {\n border-top-left-radius: var(--bs-accordion-inner-border-radius);\n border-top-right-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:not(:first-of-type) {\n border-top: 0;\n}\n.accordion-item:last-of-type {\n border-bottom-right-radius: var(--bs-accordion-border-radius);\n border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {\n border-bottom-right-radius: var(--bs-accordion-inner-border-radius);\n border-bottom-left-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:last-of-type > .accordion-collapse {\n border-bottom-right-radius: var(--bs-accordion-border-radius);\n border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-body {\n padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n}\n\n.accordion-flush > .accordion-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush > .accordion-item:first-child {\n border-top: 0;\n}\n.accordion-flush > .accordion-item:last-child {\n border-bottom: 0;\n}\n.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {\n border-radius: 0;\n}\n.accordion-flush > .accordion-item > .accordion-collapse {\n border-radius: 0;\n}\n\n[data-bs-theme=dark] .accordion-button::after {\n --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.breadcrumb {\n --bs-breadcrumb-padding-x: 0;\n --bs-breadcrumb-padding-y: 0;\n --bs-breadcrumb-margin-bottom: 1rem;\n --bs-breadcrumb-bg: ;\n --bs-breadcrumb-border-radius: ;\n --bs-breadcrumb-divider-color: var(--bs-secondary-color);\n --bs-breadcrumb-item-padding-x: 0.5rem;\n --bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n margin-bottom: var(--bs-breadcrumb-margin-bottom);\n font-size: var(--bs-breadcrumb-font-size);\n list-style: none;\n background-color: var(--bs-breadcrumb-bg);\n border-radius: var(--bs-breadcrumb-border-radius);\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: var(--bs-breadcrumb-item-padding-x);\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: var(--bs-breadcrumb-item-padding-x);\n color: var(--bs-breadcrumb-divider-color);\n content: var(--bs-breadcrumb-divider, \"/\") /* rtl: var(--bs-breadcrumb-divider, \"/\") */;\n}\n.breadcrumb-item.active {\n color: var(--bs-breadcrumb-item-active-color);\n}\n\n.pagination {\n --bs-pagination-padding-x: 0.75rem;\n --bs-pagination-padding-y: 0.375rem;\n --bs-pagination-font-size: 1rem;\n --bs-pagination-color: var(--bs-link-color);\n --bs-pagination-bg: var(--bs-body-bg);\n --bs-pagination-border-width: var(--bs-border-width);\n --bs-pagination-border-color: var(--bs-border-color);\n --bs-pagination-border-radius: var(--bs-border-radius);\n --bs-pagination-hover-color: var(--bs-link-hover-color);\n --bs-pagination-hover-bg: var(--bs-tertiary-bg);\n --bs-pagination-hover-border-color: var(--bs-border-color);\n --bs-pagination-focus-color: var(--bs-link-hover-color);\n --bs-pagination-focus-bg: var(--bs-secondary-bg);\n --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n --bs-pagination-active-color: #fff;\n --bs-pagination-active-bg: #0d6efd;\n --bs-pagination-active-border-color: #0d6efd;\n --bs-pagination-disabled-color: var(--bs-secondary-color);\n --bs-pagination-disabled-bg: var(--bs-secondary-bg);\n --bs-pagination-disabled-border-color: var(--bs-border-color);\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n font-size: var(--bs-pagination-font-size);\n color: var(--bs-pagination-color);\n text-decoration: none;\n background-color: var(--bs-pagination-bg);\n border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);\n transition: color 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n.page-link:hover {\n z-index: 2;\n color: var(--bs-pagination-hover-color);\n background-color: var(--bs-pagination-hover-bg);\n border-color: var(--bs-pagination-hover-border-color);\n}\n.page-link:focus {\n z-index: 3;\n color: var(--bs-pagination-focus-color);\n background-color: var(--bs-pagination-focus-bg);\n outline: 0;\n box-shadow: var(--bs-pagination-focus-box-shadow);\n}\n.page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--bs-pagination-active-color);\n background-color: var(--bs-pagination-active-bg);\n border-color: var(--bs-pagination-active-border-color);\n}\n.page-link.disabled, .disabled > .page-link {\n color: var(--bs-pagination-disabled-color);\n pointer-events: none;\n background-color: var(--bs-pagination-disabled-bg);\n border-color: var(--bs-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: calc(var(--bs-border-width) * -1);\n}\n.page-item:first-child .page-link {\n border-top-left-radius: var(--bs-pagination-border-radius);\n border-bottom-left-radius: var(--bs-pagination-border-radius);\n}\n.page-item:last-child .page-link {\n border-top-right-radius: var(--bs-pagination-border-radius);\n border-bottom-right-radius: var(--bs-pagination-border-radius);\n}\n\n.pagination-lg {\n --bs-pagination-padding-x: 1.5rem;\n --bs-pagination-padding-y: 0.75rem;\n --bs-pagination-font-size: 1.25rem;\n --bs-pagination-border-radius: var(--bs-border-radius-lg);\n}\n\n.pagination-sm {\n --bs-pagination-padding-x: 0.5rem;\n --bs-pagination-padding-y: 0.25rem;\n --bs-pagination-font-size: 0.875rem;\n --bs-pagination-border-radius: var(--bs-border-radius-sm);\n}\n\n.badge {\n --bs-badge-padding-x: 0.65em;\n --bs-badge-padding-y: 0.35em;\n --bs-badge-font-size: 0.75em;\n --bs-badge-font-weight: 700;\n --bs-badge-color: #fff;\n --bs-badge-border-radius: var(--bs-border-radius);\n display: inline-block;\n padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n font-size: var(--bs-badge-font-size);\n font-weight: var(--bs-badge-font-weight);\n line-height: 1;\n color: var(--bs-badge-color);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--bs-badge-border-radius);\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n --bs-alert-bg: transparent;\n --bs-alert-padding-x: 1rem;\n --bs-alert-padding-y: 1rem;\n --bs-alert-margin-bottom: 1rem;\n --bs-alert-color: inherit;\n --bs-alert-border-color: transparent;\n --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);\n --bs-alert-border-radius: var(--bs-border-radius);\n --bs-alert-link-color: inherit;\n position: relative;\n padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n margin-bottom: var(--bs-alert-margin-bottom);\n color: var(--bs-alert-color);\n background-color: var(--bs-alert-bg);\n border: var(--bs-alert-border);\n border-radius: var(--bs-alert-border-radius);\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n color: var(--bs-alert-link-color);\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n --bs-alert-color: var(--bs-primary-text-emphasis);\n --bs-alert-bg: var(--bs-primary-bg-subtle);\n --bs-alert-border-color: var(--bs-primary-border-subtle);\n --bs-alert-link-color: var(--bs-primary-text-emphasis);\n}\n\n.alert-secondary {\n --bs-alert-color: var(--bs-secondary-text-emphasis);\n --bs-alert-bg: var(--bs-secondary-bg-subtle);\n --bs-alert-border-color: var(--bs-secondary-border-subtle);\n --bs-alert-link-color: var(--bs-secondary-text-emphasis);\n}\n\n.alert-success {\n --bs-alert-color: var(--bs-success-text-emphasis);\n --bs-alert-bg: var(--bs-success-bg-subtle);\n --bs-alert-border-color: var(--bs-success-border-subtle);\n --bs-alert-link-color: var(--bs-success-text-emphasis);\n}\n\n.alert-info {\n --bs-alert-color: var(--bs-info-text-emphasis);\n --bs-alert-bg: var(--bs-info-bg-subtle);\n --bs-alert-border-color: var(--bs-info-border-subtle);\n --bs-alert-link-color: var(--bs-info-text-emphasis);\n}\n\n.alert-warning {\n --bs-alert-color: var(--bs-warning-text-emphasis);\n --bs-alert-bg: var(--bs-warning-bg-subtle);\n --bs-alert-border-color: var(--bs-warning-border-subtle);\n --bs-alert-link-color: var(--bs-warning-text-emphasis);\n}\n\n.alert-danger {\n --bs-alert-color: var(--bs-danger-text-emphasis);\n --bs-alert-bg: var(--bs-danger-bg-subtle);\n --bs-alert-border-color: var(--bs-danger-border-subtle);\n --bs-alert-link-color: var(--bs-danger-text-emphasis);\n}\n\n.alert-light {\n --bs-alert-color: var(--bs-light-text-emphasis);\n --bs-alert-bg: var(--bs-light-bg-subtle);\n --bs-alert-border-color: var(--bs-light-border-subtle);\n --bs-alert-link-color: var(--bs-light-text-emphasis);\n}\n\n.alert-dark {\n --bs-alert-color: var(--bs-dark-text-emphasis);\n --bs-alert-bg: var(--bs-dark-bg-subtle);\n --bs-alert-border-color: var(--bs-dark-border-subtle);\n --bs-alert-link-color: var(--bs-dark-text-emphasis);\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n.progress,\n.progress-stacked {\n --bs-progress-height: 1rem;\n --bs-progress-font-size: 0.75rem;\n --bs-progress-bg: var(--bs-secondary-bg);\n --bs-progress-border-radius: var(--bs-border-radius);\n --bs-progress-box-shadow: var(--bs-box-shadow-inset);\n --bs-progress-bar-color: #fff;\n --bs-progress-bar-bg: #0d6efd;\n --bs-progress-bar-transition: width 0.6s ease;\n display: flex;\n height: var(--bs-progress-height);\n overflow: hidden;\n font-size: var(--bs-progress-font-size);\n background-color: var(--bs-progress-bg);\n border-radius: var(--bs-progress-border-radius);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--bs-progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--bs-progress-bar-bg);\n transition: var(--bs-progress-bar-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n 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);\n background-size: var(--bs-progress-height) var(--bs-progress-height);\n}\n\n.progress-stacked > .progress {\n overflow: visible;\n}\n\n.progress-stacked > .progress > .progress-bar {\n width: 100%;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n --bs-list-group-color: var(--bs-body-color);\n --bs-list-group-bg: var(--bs-body-bg);\n --bs-list-group-border-color: var(--bs-border-color);\n --bs-list-group-border-width: var(--bs-border-width);\n --bs-list-group-border-radius: var(--bs-border-radius);\n --bs-list-group-item-padding-x: 1rem;\n --bs-list-group-item-padding-y: 0.5rem;\n --bs-list-group-action-color: var(--bs-secondary-color);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);\n --bs-list-group-action-active-color: var(--bs-body-color);\n --bs-list-group-action-active-bg: var(--bs-secondary-bg);\n --bs-list-group-disabled-color: var(--bs-secondary-color);\n --bs-list-group-disabled-bg: var(--bs-body-bg);\n --bs-list-group-active-color: #fff;\n --bs-list-group-active-bg: #0d6efd;\n --bs-list-group-active-border-color: #0d6efd;\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: var(--bs-list-group-border-radius);\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n}\n.list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n}\n\n.list-group-item-action {\n width: 100%;\n color: var(--bs-list-group-action-color);\n text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: var(--bs-list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--bs-list-group-action-hover-bg);\n}\n.list-group-item-action:active {\n color: var(--bs-list-group-action-active-color);\n background-color: var(--bs-list-group-action-active-bg);\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\n color: var(--bs-list-group-color);\n text-decoration: none;\n background-color: var(--bs-list-group-bg);\n border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: var(--bs-list-group-disabled-color);\n pointer-events: none;\n background-color: var(--bs-list-group-disabled-bg);\n}\n.list-group-item.active {\n z-index: 2;\n color: var(--bs-list-group-active-color);\n background-color: var(--bs-list-group-active-bg);\n border-color: var(--bs-list-group-active-border-color);\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--bs-list-group-border-width));\n border-top-width: var(--bs-list-group-border-width);\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 var(--bs-list-group-border-width);\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n --bs-list-group-color: var(--bs-primary-text-emphasis);\n --bs-list-group-bg: var(--bs-primary-bg-subtle);\n --bs-list-group-border-color: var(--bs-primary-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);\n --bs-list-group-active-color: var(--bs-primary-bg-subtle);\n --bs-list-group-active-bg: var(--bs-primary-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);\n}\n\n.list-group-item-secondary {\n --bs-list-group-color: var(--bs-secondary-text-emphasis);\n --bs-list-group-bg: var(--bs-secondary-bg-subtle);\n --bs-list-group-border-color: var(--bs-secondary-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);\n --bs-list-group-active-color: var(--bs-secondary-bg-subtle);\n --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);\n}\n\n.list-group-item-success {\n --bs-list-group-color: var(--bs-success-text-emphasis);\n --bs-list-group-bg: var(--bs-success-bg-subtle);\n --bs-list-group-border-color: var(--bs-success-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-success-border-subtle);\n --bs-list-group-active-color: var(--bs-success-bg-subtle);\n --bs-list-group-active-bg: var(--bs-success-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-success-text-emphasis);\n}\n\n.list-group-item-info {\n --bs-list-group-color: var(--bs-info-text-emphasis);\n --bs-list-group-bg: var(--bs-info-bg-subtle);\n --bs-list-group-border-color: var(--bs-info-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-info-border-subtle);\n --bs-list-group-active-color: var(--bs-info-bg-subtle);\n --bs-list-group-active-bg: var(--bs-info-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-info-text-emphasis);\n}\n\n.list-group-item-warning {\n --bs-list-group-color: var(--bs-warning-text-emphasis);\n --bs-list-group-bg: var(--bs-warning-bg-subtle);\n --bs-list-group-border-color: var(--bs-warning-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);\n --bs-list-group-active-color: var(--bs-warning-bg-subtle);\n --bs-list-group-active-bg: var(--bs-warning-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);\n}\n\n.list-group-item-danger {\n --bs-list-group-color: var(--bs-danger-text-emphasis);\n --bs-list-group-bg: var(--bs-danger-bg-subtle);\n --bs-list-group-border-color: var(--bs-danger-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);\n --bs-list-group-active-color: var(--bs-danger-bg-subtle);\n --bs-list-group-active-bg: var(--bs-danger-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);\n}\n\n.list-group-item-light {\n --bs-list-group-color: var(--bs-light-text-emphasis);\n --bs-list-group-bg: var(--bs-light-bg-subtle);\n --bs-list-group-border-color: var(--bs-light-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-light-border-subtle);\n --bs-list-group-active-color: var(--bs-light-bg-subtle);\n --bs-list-group-active-bg: var(--bs-light-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-light-text-emphasis);\n}\n\n.list-group-item-dark {\n --bs-list-group-color: var(--bs-dark-text-emphasis);\n --bs-list-group-bg: var(--bs-dark-bg-subtle);\n --bs-list-group-border-color: var(--bs-dark-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);\n --bs-list-group-active-color: var(--bs-dark-bg-subtle);\n --bs-list-group-active-bg: var(--bs-dark-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);\n}\n\n.btn-close {\n --bs-btn-close-color: #000;\n --bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");\n --bs-btn-close-opacity: 0.5;\n --bs-btn-close-hover-opacity: 0.75;\n --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n --bs-btn-close-focus-opacity: 1;\n --bs-btn-close-disabled-opacity: 0.25;\n --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: var(--bs-btn-close-color);\n background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n border: 0;\n border-radius: 0.375rem;\n opacity: var(--bs-btn-close-opacity);\n}\n.btn-close:hover {\n color: var(--bs-btn-close-color);\n text-decoration: none;\n opacity: var(--bs-btn-close-hover-opacity);\n}\n.btn-close:focus {\n outline: 0;\n box-shadow: var(--bs-btn-close-focus-shadow);\n opacity: var(--bs-btn-close-focus-opacity);\n}\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n opacity: var(--bs-btn-close-disabled-opacity);\n}\n\n.btn-close-white {\n filter: var(--bs-btn-close-white-filter);\n}\n\n[data-bs-theme=dark] .btn-close {\n filter: var(--bs-btn-close-white-filter);\n}\n\n.toast {\n --bs-toast-zindex: 1090;\n --bs-toast-padding-x: 0.75rem;\n --bs-toast-padding-y: 0.5rem;\n --bs-toast-spacing: 1.5rem;\n --bs-toast-max-width: 350px;\n --bs-toast-font-size: 0.875rem;\n --bs-toast-color: ;\n --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n --bs-toast-border-width: var(--bs-border-width);\n --bs-toast-border-color: var(--bs-border-color-translucent);\n --bs-toast-border-radius: var(--bs-border-radius);\n --bs-toast-box-shadow: var(--bs-box-shadow);\n --bs-toast-header-color: var(--bs-secondary-color);\n --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n --bs-toast-header-border-color: var(--bs-border-color-translucent);\n width: var(--bs-toast-max-width);\n max-width: 100%;\n font-size: var(--bs-toast-font-size);\n color: var(--bs-toast-color);\n pointer-events: auto;\n background-color: var(--bs-toast-bg);\n background-clip: padding-box;\n border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n box-shadow: var(--bs-toast-box-shadow);\n border-radius: var(--bs-toast-border-radius);\n}\n.toast.showing {\n opacity: 0;\n}\n.toast:not(.show) {\n display: none;\n}\n\n.toast-container {\n --bs-toast-zindex: 1090;\n position: absolute;\n z-index: var(--bs-toast-zindex);\n width: -webkit-max-content;\n width: -moz-max-content;\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n}\n.toast-container > :not(:last-child) {\n margin-bottom: var(--bs-toast-spacing);\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n color: var(--bs-toast-header-color);\n background-color: var(--bs-toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\n border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n}\n.toast-header .btn-close {\n margin-right: calc(-0.5 * var(--bs-toast-padding-x));\n margin-left: var(--bs-toast-padding-x);\n}\n\n.toast-body {\n padding: var(--bs-toast-padding-x);\n word-wrap: break-word;\n}\n\n.modal {\n --bs-modal-zindex: 1055;\n --bs-modal-width: 500px;\n --bs-modal-padding: 1rem;\n --bs-modal-margin: 0.5rem;\n --bs-modal-color: ;\n --bs-modal-bg: var(--bs-body-bg);\n --bs-modal-border-color: var(--bs-border-color-translucent);\n --bs-modal-border-width: var(--bs-border-width);\n --bs-modal-border-radius: var(--bs-border-radius-lg);\n --bs-modal-box-shadow: var(--bs-box-shadow-sm);\n --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));\n --bs-modal-header-padding-x: 1rem;\n --bs-modal-header-padding-y: 1rem;\n --bs-modal-header-padding: 1rem 1rem;\n --bs-modal-header-border-color: var(--bs-border-color);\n --bs-modal-header-border-width: var(--bs-border-width);\n --bs-modal-title-line-height: 1.5;\n --bs-modal-footer-gap: 0.5rem;\n --bs-modal-footer-bg: ;\n --bs-modal-footer-border-color: var(--bs-border-color);\n --bs-modal-footer-border-width: var(--bs-border-width);\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--bs-modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--bs-modal-margin);\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--bs-modal-margin) * 2);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n color: var(--bs-modal-color);\n pointer-events: auto;\n background-color: var(--bs-modal-bg);\n background-clip: padding-box;\n border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);\n border-radius: var(--bs-modal-border-radius);\n outline: 0;\n}\n\n.modal-backdrop {\n --bs-backdrop-zindex: 1050;\n --bs-backdrop-bg: #000;\n --bs-backdrop-opacity: 0.5;\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--bs-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--bs-backdrop-bg);\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: var(--bs-backdrop-opacity);\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--bs-modal-header-padding);\n border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);\n border-top-left-radius: var(--bs-modal-inner-border-radius);\n border-top-right-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-header .btn-close {\n padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);\n margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: var(--bs-modal-title-line-height);\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--bs-modal-padding);\n}\n\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);\n background-color: var(--bs-modal-footer-bg);\n border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);\n border-bottom-right-radius: var(--bs-modal-inner-border-radius);\n border-bottom-left-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-footer > * {\n margin: calc(var(--bs-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n .modal {\n --bs-modal-margin: 1.75rem;\n --bs-modal-box-shadow: var(--bs-box-shadow);\n }\n .modal-dialog {\n max-width: var(--bs-modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n .modal-sm {\n --bs-modal-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n --bs-modal-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n --bs-modal-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header,\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header,\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header,\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header,\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header,\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n}\n.tooltip {\n --bs-tooltip-zindex: 1080;\n --bs-tooltip-max-width: 200px;\n --bs-tooltip-padding-x: 0.5rem;\n --bs-tooltip-padding-y: 0.25rem;\n --bs-tooltip-margin: ;\n --bs-tooltip-font-size: 0.875rem;\n --bs-tooltip-color: var(--bs-body-bg);\n --bs-tooltip-bg: var(--bs-emphasis-color);\n --bs-tooltip-border-radius: var(--bs-border-radius);\n --bs-tooltip-opacity: 0.9;\n --bs-tooltip-arrow-width: 0.8rem;\n --bs-tooltip-arrow-height: 0.4rem;\n z-index: var(--bs-tooltip-zindex);\n display: block;\n margin: var(--bs-tooltip-margin);\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--bs-tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: var(--bs-tooltip-opacity);\n}\n.tooltip .tooltip-arrow {\n display: block;\n width: var(--bs-tooltip-arrow-width);\n height: var(--bs-tooltip-arrow-height);\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n border-top-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--bs-tooltip-arrow-height));\n width: var(--bs-tooltip-arrow-height);\n height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n border-right-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n border-bottom-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--bs-tooltip-arrow-height));\n width: var(--bs-tooltip-arrow-height);\n height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n border-left-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.tooltip-inner {\n max-width: var(--bs-tooltip-max-width);\n padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n color: var(--bs-tooltip-color);\n text-align: center;\n background-color: var(--bs-tooltip-bg);\n border-radius: var(--bs-tooltip-border-radius);\n}\n\n.popover {\n --bs-popover-zindex: 1070;\n --bs-popover-max-width: 276px;\n --bs-popover-font-size: 0.875rem;\n --bs-popover-bg: var(--bs-body-bg);\n --bs-popover-border-width: var(--bs-border-width);\n --bs-popover-border-color: var(--bs-border-color-translucent);\n --bs-popover-border-radius: var(--bs-border-radius-lg);\n --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n --bs-popover-box-shadow: var(--bs-box-shadow);\n --bs-popover-header-padding-x: 1rem;\n --bs-popover-header-padding-y: 0.5rem;\n --bs-popover-header-font-size: 1rem;\n --bs-popover-header-color: inherit;\n --bs-popover-header-bg: var(--bs-secondary-bg);\n --bs-popover-body-padding-x: 1rem;\n --bs-popover-body-padding-y: 1rem;\n --bs-popover-body-color: var(--bs-body-color);\n --bs-popover-arrow-width: 1rem;\n --bs-popover-arrow-height: 0.5rem;\n --bs-popover-arrow-border: var(--bs-popover-border-color);\n z-index: var(--bs-popover-zindex);\n display: block;\n max-width: var(--bs-popover-max-width);\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--bs-popover-font-size);\n word-wrap: break-word;\n background-color: var(--bs-popover-bg);\n background-clip: padding-box;\n border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n border-radius: var(--bs-popover-border-radius);\n}\n.popover .popover-arrow {\n display: block;\n width: var(--bs-popover-arrow-width);\n height: var(--bs-popover-arrow-height);\n}\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-top-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n bottom: var(--bs-popover-border-width);\n border-top-color: var(--bs-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n width: var(--bs-popover-arrow-height);\n height: var(--bs-popover-arrow-width);\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n left: 0;\n border-right-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n left: var(--bs-popover-border-width);\n border-right-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-bottom-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n top: var(--bs-popover-border-width);\n border-bottom-color: var(--bs-popover-bg);\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--bs-popover-arrow-width);\n margin-left: calc(-0.5 * var(--bs-popover-arrow-width));\n content: \"\";\n border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n width: var(--bs-popover-arrow-height);\n height: var(--bs-popover-arrow-width);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n right: 0;\n border-left-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n right: var(--bs-popover-border-width);\n border-left-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.popover-header {\n padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--bs-popover-header-font-size);\n color: var(--bs-popover-header-color);\n background-color: var(--bs-popover-header-bg);\n border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n border-top-left-radius: var(--bs-popover-inner-border-radius);\n border-top-right-radius: var(--bs-popover-inner-border-radius);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n color: var(--bs-popover-body-color);\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n padding: 0;\n color: #fff;\n text-align: center;\n background: none;\n border: 0;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\") /*rtl:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")*/;\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\") /*rtl:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")*/;\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-right: 15%;\n margin-bottom: 1rem;\n margin-left: 15%;\n}\n.carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n padding: 0;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n[data-bs-theme=dark] .carousel .carousel-control-prev-icon,\n[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,\n[data-bs-theme=dark].carousel .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {\n color: #000;\n}\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n width: var(--bs-spinner-width);\n height: var(--bs-spinner-height);\n vertical-align: var(--bs-spinner-vertical-align);\n border-radius: 50%;\n animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n.spinner-border {\n --bs-spinner-width: 2rem;\n --bs-spinner-height: 2rem;\n --bs-spinner-vertical-align: -0.125em;\n --bs-spinner-border-width: 0.25em;\n --bs-spinner-animation-speed: 0.75s;\n --bs-spinner-animation-name: spinner-border;\n border: var(--bs-spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n --bs-spinner-width: 1rem;\n --bs-spinner-height: 1rem;\n --bs-spinner-border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n --bs-spinner-width: 2rem;\n --bs-spinner-height: 2rem;\n --bs-spinner-vertical-align: -0.125em;\n --bs-spinner-animation-speed: 0.75s;\n --bs-spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --bs-spinner-width: 1rem;\n --bs-spinner-height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --bs-spinner-animation-speed: 1.5s;\n }\n}\n.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n --bs-offcanvas-zindex: 1045;\n --bs-offcanvas-width: 400px;\n --bs-offcanvas-height: 30vh;\n --bs-offcanvas-padding-x: 1rem;\n --bs-offcanvas-padding-y: 1rem;\n --bs-offcanvas-color: var(--bs-body-color);\n --bs-offcanvas-bg: var(--bs-body-bg);\n --bs-offcanvas-border-width: var(--bs-border-width);\n --bs-offcanvas-border-color: var(--bs-border-color-translucent);\n --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);\n --bs-offcanvas-transition: transform 0.3s ease-in-out;\n --bs-offcanvas-title-line-height: 1.5;\n}\n\n@media (max-width: 575.98px) {\n .offcanvas-sm {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-sm.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-sm.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-sm.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n visibility: visible;\n }\n}\n@media (min-width: 576px) {\n .offcanvas-sm {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 767.98px) {\n .offcanvas-md {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-md.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-md.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-md.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n visibility: visible;\n }\n}\n@media (min-width: 768px) {\n .offcanvas-md {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 991.98px) {\n .offcanvas-lg {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-lg.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-lg.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-lg.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n visibility: visible;\n }\n}\n@media (min-width: 992px) {\n .offcanvas-lg {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1199.98px) {\n .offcanvas-xl {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1200px) {\n .offcanvas-xl {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1399.98px) {\n .offcanvas-xxl {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xxl {\n transition: none;\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xxl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xxl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xxl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1400px) {\n .offcanvas-xxl {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xxl .offcanvas-header {\n display: none;\n }\n .offcanvas-xxl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n.offcanvas {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n}\n.offcanvas.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n}\n.offcanvas.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n}\n.offcanvas.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n}\n.offcanvas.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n}\n.offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none;\n}\n.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n}\n\n.offcanvas-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n.offcanvas-backdrop.fade {\n opacity: 0;\n}\n.offcanvas-backdrop.show {\n opacity: 0.5;\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n}\n.offcanvas-header .btn-close {\n padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\n margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x)) calc(-0.5 * var(--bs-offcanvas-padding-y)) auto;\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: var(--bs-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n overflow-y: auto;\n}\n\n.placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: 0.5;\n}\n.placeholder.btn::before {\n display: inline-block;\n content: \"\";\n}\n\n.placeholder-xs {\n min-height: 0.6em;\n}\n\n.placeholder-sm {\n min-height: 0.8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: 0.2;\n }\n}\n.placeholder-wave {\n -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n -webkit-mask-size: 200% 100%;\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n -webkit-mask-position: -200% 0%;\n mask-position: -200% 0%;\n }\n}\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.text-bg-primary {\n color: #fff !important;\n background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-secondary {\n color: #fff !important;\n background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-success {\n color: #fff !important;\n background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-info {\n color: #000 !important;\n background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-warning {\n color: #000 !important;\n background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-danger {\n color: #fff !important;\n background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-light {\n color: #000 !important;\n background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-dark {\n color: #fff !important;\n background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.link-primary {\n color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-primary:hover, .link-primary:focus {\n color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary {\n color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-secondary:hover, .link-secondary:focus {\n color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-success {\n color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-success:hover, .link-success:focus {\n color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-info {\n color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-info:hover, .link-info:focus {\n color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-warning {\n color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-warning:hover, .link-warning:focus {\n color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-danger {\n color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-danger:hover, .link-danger:focus {\n color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-light {\n color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-light:hover, .link-light:focus {\n color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-dark {\n color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-dark:hover, .link-dark:focus {\n color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis {\n color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-body-emphasis:hover, .link-body-emphasis:focus {\n color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;\n -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;\n text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;\n}\n\n.focus-ring:focus {\n outline: 0;\n box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);\n}\n\n.icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n text-underline-offset: 0.25em;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n}\n.icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n}\n@media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n}\n\n.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--bs-aspect-ratio);\n content: \"\";\n}\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --bs-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n --bs-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n --bs-aspect-ratio: 42.8571428571%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sticky-bottom {\n position: -webkit-sticky;\n position: sticky;\n bottom: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: -webkit-sticky;\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: -webkit-sticky;\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: -webkit-sticky;\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: -webkit-sticky;\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xxl-bottom {\n position: -webkit-sticky;\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n.visually-hidden:not(caption),\n.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.vr {\n display: inline-block;\n align-self: stretch;\n width: var(--bs-border-width);\n min-height: 1em;\n background-color: currentcolor;\n opacity: 0.25;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-start {\n float: left !important;\n}\n\n.float-end {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.object-fit-contain {\n -o-object-fit: contain !important;\n object-fit: contain !important;\n}\n\n.object-fit-cover {\n -o-object-fit: cover !important;\n object-fit: cover !important;\n}\n\n.object-fit-fill {\n -o-object-fit: fill !important;\n object-fit: fill !important;\n}\n\n.object-fit-scale {\n -o-object-fit: scale-down !important;\n object-fit: scale-down !important;\n}\n\n.object-fit-none {\n -o-object-fit: none !important;\n object-fit: none !important;\n}\n\n.opacity-0 {\n opacity: 0 !important;\n}\n\n.opacity-25 {\n opacity: 0.25 !important;\n}\n\n.opacity-50 {\n opacity: 0.5 !important;\n}\n\n.opacity-75 {\n opacity: 0.75 !important;\n}\n\n.opacity-100 {\n opacity: 1 !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.overflow-x-auto {\n overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n overflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: var(--bs-box-shadow) !important;\n}\n\n.shadow-sm {\n box-shadow: var(--bs-box-shadow-sm) !important;\n}\n\n.shadow-lg {\n box-shadow: var(--bs-box-shadow-lg) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.focus-ring-primary {\n --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-secondary {\n --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-success {\n --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-info {\n --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-danger {\n --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-light {\n --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-dark {\n --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.start-0 {\n left: 0 !important;\n}\n\n.start-50 {\n left: 50% !important;\n}\n\n.start-100 {\n left: 100% !important;\n}\n\n.end-0 {\n right: 0 !important;\n}\n\n.end-50 {\n right: 50% !important;\n}\n\n.end-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n transform: translateY(-50%) !important;\n}\n\n.border {\n border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-end {\n border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-end-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-start {\n border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-start-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-secondary {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-success {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-info {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-warning {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-danger {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-light {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-dark {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-black {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-white {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-primary-subtle {\n border-color: var(--bs-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n border-color: var(--bs-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n border-color: var(--bs-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n border-color: var(--bs-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n border-color: var(--bs-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n border-color: var(--bs-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n border-color: var(--bs-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n border-color: var(--bs-dark-border-subtle) !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.border-opacity-10 {\n --bs-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n --bs-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n --bs-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n --bs-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n --bs-border-opacity: 1;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 3rem !important;\n}\n\n.row-gap-0 {\n row-gap: 0 !important;\n}\n\n.row-gap-1 {\n row-gap: 0.25rem !important;\n}\n\n.row-gap-2 {\n row-gap: 0.5rem !important;\n}\n\n.row-gap-3 {\n row-gap: 1rem !important;\n}\n\n.row-gap-4 {\n row-gap: 1.5rem !important;\n}\n\n.row-gap-5 {\n row-gap: 3rem !important;\n}\n\n.column-gap-0 {\n -moz-column-gap: 0 !important;\n column-gap: 0 !important;\n}\n\n.column-gap-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n}\n\n.column-gap-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n}\n\n.column-gap-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n}\n\n.column-gap-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n}\n\n.column-gap-5 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-medium {\n font-weight: 500 !important;\n}\n\n.fw-semibold {\n font-weight: 600 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.text-start {\n text-align: left !important;\n}\n\n.text-end {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-secondary {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-success {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-info {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-warning {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-danger {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-light {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-dark {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-black {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-white {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-body {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-muted {\n --bs-text-opacity: 1;\n color: var(--bs-secondary-color) !important;\n}\n\n.text-black-50 {\n --bs-text-opacity: 1;\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n --bs-text-opacity: 1;\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-body-secondary {\n --bs-text-opacity: 1;\n color: var(--bs-secondary-color) !important;\n}\n\n.text-body-tertiary {\n --bs-text-opacity: 1;\n color: var(--bs-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n --bs-text-opacity: 1;\n color: var(--bs-emphasis-color) !important;\n}\n\n.text-reset {\n --bs-text-opacity: 1;\n color: inherit !important;\n}\n\n.text-opacity-25 {\n --bs-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n --bs-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n --bs-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n --bs-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n color: var(--bs-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n color: var(--bs-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n color: var(--bs-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n color: var(--bs-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n color: var(--bs-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n color: var(--bs-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n color: var(--bs-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n color: var(--bs-dark-text-emphasis) !important;\n}\n\n.link-opacity-10 {\n --bs-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n --bs-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n --bs-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n --bs-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n --bs-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n --bs-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n --bs-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n --bs-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n --bs-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n --bs-link-opacity: 1;\n}\n\n.link-offset-1 {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-1-hover:hover {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-2 {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-2-hover:hover {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-3 {\n text-underline-offset: 0.375em !important;\n}\n\n.link-offset-3-hover:hover {\n text-underline-offset: 0.375em !important;\n}\n\n.link-underline-primary {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;\n text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-secondary {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;\n text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-success {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;\n text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-info {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;\n text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-warning {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;\n text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-danger {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;\n text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-light {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;\n text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-dark {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;\n text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline {\n --bs-link-underline-opacity: 1;\n -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-underline-opacity-0 {\n --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n --bs-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n --bs-link-underline-opacity: 1;\n}\n\n.bg-primary {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-success {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-info {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-warning {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-danger {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-light {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-dark {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-black {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-white {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-transparent {\n --bs-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n.bg-body-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body-tertiary {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-opacity-10 {\n --bs-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n --bs-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n --bs-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n --bs-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n --bs-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n background-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n background-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n background-color: var(--bs-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n background-color: var(--bs-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n background-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n background-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n background-color: var(--bs-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n background-color: var(--bs-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.user-select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n user-select: all !important;\n}\n\n.user-select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n user-select: auto !important;\n}\n\n.user-select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-2 {\n border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-3 {\n border-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-4 {\n border-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-5 {\n border-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-top {\n border-top-left-radius: var(--bs-border-radius) !important;\n border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-0 {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n}\n\n.rounded-top-1 {\n border-top-left-radius: var(--bs-border-radius-sm) !important;\n border-top-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n border-top-left-radius: var(--bs-border-radius) !important;\n border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-3 {\n border-top-left-radius: var(--bs-border-radius-lg) !important;\n border-top-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n border-top-left-radius: var(--bs-border-radius-xl) !important;\n border-top-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n border-top-left-radius: var(--bs-border-radius-xxl) !important;\n border-top-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n}\n\n.rounded-top-pill {\n border-top-left-radius: var(--bs-border-radius-pill) !important;\n border-top-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-end {\n border-top-right-radius: var(--bs-border-radius) !important;\n border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-0 {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.rounded-end-1 {\n border-top-right-radius: var(--bs-border-radius-sm) !important;\n border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n border-top-right-radius: var(--bs-border-radius) !important;\n border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-3 {\n border-top-right-radius: var(--bs-border-radius-lg) !important;\n border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n border-top-right-radius: var(--bs-border-radius-xl) !important;\n border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n border-top-right-radius: var(--bs-border-radius-xxl) !important;\n border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n}\n\n.rounded-end-pill {\n border-top-right-radius: var(--bs-border-radius-pill) !important;\n border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: var(--bs-border-radius) !important;\n border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n border-bottom-right-radius: var(--bs-border-radius) !important;\n border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n border-bottom-right-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-start {\n border-bottom-left-radius: var(--bs-border-radius) !important;\n border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-0 {\n border-bottom-left-radius: 0 !important;\n border-top-left-radius: 0 !important;\n}\n\n.rounded-start-1 {\n border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n border-top-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n border-bottom-left-radius: var(--bs-border-radius) !important;\n border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-3 {\n border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n border-top-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n border-top-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n border-top-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n border-bottom-left-radius: 50% !important;\n border-top-left-radius: 50% !important;\n}\n\n.rounded-start-pill {\n border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n border-top-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.z-n1 {\n z-index: -1 !important;\n}\n\n.z-0 {\n z-index: 0 !important;\n}\n\n.z-1 {\n z-index: 1 !important;\n}\n\n.z-2 {\n z-index: 2 !important;\n}\n\n.z-3 {\n z-index: 3 !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-start {\n float: left !important;\n }\n .float-sm-end {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .object-fit-sm-contain {\n -o-object-fit: contain !important;\n object-fit: contain !important;\n }\n .object-fit-sm-cover {\n -o-object-fit: cover !important;\n object-fit: cover !important;\n }\n .object-fit-sm-fill {\n -o-object-fit: fill !important;\n object-fit: fill !important;\n }\n .object-fit-sm-scale {\n -o-object-fit: scale-down !important;\n object-fit: scale-down !important;\n }\n .object-fit-sm-none {\n -o-object-fit: none !important;\n object-fit: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n .gap-sm-0 {\n gap: 0 !important;\n }\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n .gap-sm-3 {\n gap: 1rem !important;\n }\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n .gap-sm-5 {\n gap: 3rem !important;\n }\n .row-gap-sm-0 {\n row-gap: 0 !important;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-sm-3 {\n row-gap: 1rem !important;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-sm-5 {\n row-gap: 3rem !important;\n }\n .column-gap-sm-0 {\n -moz-column-gap: 0 !important;\n column-gap: 0 !important;\n }\n .column-gap-sm-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n .column-gap-sm-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n .column-gap-sm-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n .column-gap-sm-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n .column-gap-sm-5 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n .text-sm-start {\n text-align: left !important;\n }\n .text-sm-end {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-start {\n float: left !important;\n }\n .float-md-end {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .object-fit-md-contain {\n -o-object-fit: contain !important;\n object-fit: contain !important;\n }\n .object-fit-md-cover {\n -o-object-fit: cover !important;\n object-fit: cover !important;\n }\n .object-fit-md-fill {\n -o-object-fit: fill !important;\n object-fit: fill !important;\n }\n .object-fit-md-scale {\n -o-object-fit: scale-down !important;\n object-fit: scale-down !important;\n }\n .object-fit-md-none {\n -o-object-fit: none !important;\n object-fit: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n .gap-md-0 {\n gap: 0 !important;\n }\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n .gap-md-3 {\n gap: 1rem !important;\n }\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n .gap-md-5 {\n gap: 3rem !important;\n }\n .row-gap-md-0 {\n row-gap: 0 !important;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-md-3 {\n row-gap: 1rem !important;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-md-5 {\n row-gap: 3rem !important;\n }\n .column-gap-md-0 {\n -moz-column-gap: 0 !important;\n column-gap: 0 !important;\n }\n .column-gap-md-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n .column-gap-md-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n .column-gap-md-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n .column-gap-md-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n .column-gap-md-5 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n .text-md-start {\n text-align: left !important;\n }\n .text-md-end {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-start {\n float: left !important;\n }\n .float-lg-end {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .object-fit-lg-contain {\n -o-object-fit: contain !important;\n object-fit: contain !important;\n }\n .object-fit-lg-cover {\n -o-object-fit: cover !important;\n object-fit: cover !important;\n }\n .object-fit-lg-fill {\n -o-object-fit: fill !important;\n object-fit: fill !important;\n }\n .object-fit-lg-scale {\n -o-object-fit: scale-down !important;\n object-fit: scale-down !important;\n }\n .object-fit-lg-none {\n -o-object-fit: none !important;\n object-fit: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n .gap-lg-0 {\n gap: 0 !important;\n }\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n .gap-lg-3 {\n gap: 1rem !important;\n }\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n .gap-lg-5 {\n gap: 3rem !important;\n }\n .row-gap-lg-0 {\n row-gap: 0 !important;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-lg-3 {\n row-gap: 1rem !important;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-lg-5 {\n row-gap: 3rem !important;\n }\n .column-gap-lg-0 {\n -moz-column-gap: 0 !important;\n column-gap: 0 !important;\n }\n .column-gap-lg-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n .column-gap-lg-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n .column-gap-lg-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n .column-gap-lg-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n .column-gap-lg-5 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n .text-lg-start {\n text-align: left !important;\n }\n .text-lg-end {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-start {\n float: left !important;\n }\n .float-xl-end {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .object-fit-xl-contain {\n -o-object-fit: contain !important;\n object-fit: contain !important;\n }\n .object-fit-xl-cover {\n -o-object-fit: cover !important;\n object-fit: cover !important;\n }\n .object-fit-xl-fill {\n -o-object-fit: fill !important;\n object-fit: fill !important;\n }\n .object-fit-xl-scale {\n -o-object-fit: scale-down !important;\n object-fit: scale-down !important;\n }\n .object-fit-xl-none {\n -o-object-fit: none !important;\n object-fit: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n .gap-xl-0 {\n gap: 0 !important;\n }\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n .gap-xl-3 {\n gap: 1rem !important;\n }\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n .gap-xl-5 {\n gap: 3rem !important;\n }\n .row-gap-xl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-xl-3 {\n row-gap: 1rem !important;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-xl-5 {\n row-gap: 3rem !important;\n }\n .column-gap-xl-0 {\n -moz-column-gap: 0 !important;\n column-gap: 0 !important;\n }\n .column-gap-xl-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n .column-gap-xl-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n .column-gap-xl-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n .column-gap-xl-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n .column-gap-xl-5 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n .text-xl-start {\n text-align: left !important;\n }\n .text-xl-end {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-start {\n float: left !important;\n }\n .float-xxl-end {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .object-fit-xxl-contain {\n -o-object-fit: contain !important;\n object-fit: contain !important;\n }\n .object-fit-xxl-cover {\n -o-object-fit: cover !important;\n object-fit: cover !important;\n }\n .object-fit-xxl-fill {\n -o-object-fit: fill !important;\n object-fit: fill !important;\n }\n .object-fit-xxl-scale {\n -o-object-fit: scale-down !important;\n object-fit: scale-down !important;\n }\n .object-fit-xxl-none {\n -o-object-fit: none !important;\n object-fit: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n .gap-xxl-0 {\n gap: 0 !important;\n }\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n .gap-xxl-5 {\n gap: 3rem !important;\n }\n .row-gap-xxl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xxl-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-xxl-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-xxl-3 {\n row-gap: 1rem !important;\n }\n .row-gap-xxl-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-xxl-5 {\n row-gap: 3rem !important;\n }\n .column-gap-xxl-0 {\n -moz-column-gap: 0 !important;\n column-gap: 0 !important;\n }\n .column-gap-xxl-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n .column-gap-xxl-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n .column-gap-xxl-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n .column-gap-xxl-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n .column-gap-xxl-5 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n .text-xxl-start {\n text-align: left !important;\n }\n .text-xxl-end {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n .fs-2 {\n font-size: 2rem !important;\n }\n .fs-3 {\n font-size: 1.75rem !important;\n }\n .fs-4 {\n font-size: 1.5rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query () {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query () {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n } @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + \" \" + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n } @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + \" \" + $value;\n } @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule () {\n #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n @if $color-mode-type == \"media-query\" {\n @if $root == true {\n @media (prefers-color-scheme: $mode) {\n :root {\n @content;\n }\n }\n } @else {\n @media (prefers-color-scheme: $mode) {\n @content;\n }\n }\n } @else {\n [data-bs-theme=\"#{$mode}\"] {\n @content;\n }\n }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n color: var(--#{$prefix}highlight-color);\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n}\n\n// Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n// See https://stackoverflow.com/a/54997118\n\n[list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: left; // 2\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n// 2. Correct the outline style in Safari.\n\n[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n}\n\n// 1. A few input types should stay LTR\n// See https://rtlstyling.com/posts/rtl-styling#form-inputs\n// 2. RTL only output\n// See https://rtlcss.com/learn/usage-guide/control-directives/#raw\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n\n// 1. Inherit font family and line height for file input buttons\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::file-selector-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-family: $display-font-family;\n font-style: $display-font-style;\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer * .5;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n // Reset needed for nesting tables\n --#{$prefix}table-color-type: initial;\n --#{$prefix}table-bg-type: initial;\n --#{$prefix}table-color-state: initial;\n --#{$prefix}table-bg-state: initial;\n // End of reset\n --#{$prefix}table-color: #{$table-color};\n --#{$prefix}table-bg: #{$table-bg};\n --#{$prefix}table-border-color: #{$table-border-color};\n --#{$prefix}table-accent-bg: #{$table-accent-bg};\n --#{$prefix}table-striped-color: #{$table-striped-color};\n --#{$prefix}table-striped-bg: #{$table-striped-bg};\n --#{$prefix}table-active-color: #{$table-active-color};\n --#{$prefix}table-active-bg: #{$table-active-bg};\n --#{$prefix}table-hover-color: #{$table-hover-color};\n --#{$prefix}table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n vertical-align: $table-cell-vertical-align;\n border-color: var(--#{$prefix}table-border-color);\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n color: var(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}table-color)));\n background-color: var(--#{$prefix}table-bg);\n border-bottom-width: $table-border-width;\n box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}table-accent-bg)));\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n}\n\n.table-group-divider {\n border-top: calc(#{$table-border-width} * 2) solid $table-group-separator-color; // stylelint-disable-line function-disallowed-list\n}\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefore we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n\n > :not(:first-child) {\n border-top-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n// For rows\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);\n --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);\n }\n}\n\n// For columns\n.table-striped-columns {\n > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);\n --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);\n }\n}\n\n// Active table\n//\n// The `.table-active` class can be added to highlight rows or cells\n\n.table-active {\n --#{$prefix}table-color-state: var(--#{$prefix}table-active-color);\n --#{$prefix}table-bg-state: var(--#{$prefix}table-active-bg);\n}\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover > * {\n --#{$prefix}table-color-state: var(--#{$prefix}table-hover-color);\n --#{$prefix}table-bg-state: var(--#{$prefix}table-hover-bg);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n $table-border-color: mix($color, $background, percentage($table-border-factor));\n\n --#{$prefix}table-color: #{$color};\n --#{$prefix}table-bg: #{$background};\n --#{$prefix}table-border-color: #{$table-border-color};\n --#{$prefix}table-striped-bg: #{$striped-bg};\n --#{$prefix}table-striped-color: #{color-contrast($striped-bg)};\n --#{$prefix}table-active-bg: #{$active-bg};\n --#{$prefix}table-active-color: #{color-contrast($active-bg)};\n --#{$prefix}table-hover-bg: #{$hover-bg};\n --#{$prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n color: var(--#{$prefix}table-color);\n border-color: var(--#{$prefix}table-border-color);\n }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n","//\n// General form controls (plus a few specific high-level interventions)\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n appearance: none; // Fix appearance for date inputs in Safari\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n &::-webkit-date-and-time-value {\n // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n //\n // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n // Tested under iOS 16.2 / Safari 16.2\n min-width: 85px; // Seems to be a good minimum safe width\n\n // Add some height to date inputs on iOS\n // https://github.com/twbs/bootstrap/issues/23307\n // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n // Multiply line-height by 1em if it has no unit\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n\n // Android Chrome type=\"date\" is taller than the other inputs\n // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n margin: 0;\n }\n\n // Prevent excessive date input height in Webkit\n // https://github.com/twbs/bootstrap/issues/34433\n &::-webkit-datetime-edit {\n display: block;\n padding: 0;\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled {\n color: $input-disabled-color;\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // File input buttons theming\n &::file-selector-button {\n padding: $input-padding-y $input-padding-x;\n margin: (-$input-padding-y) (-$input-padding-x);\n margin-inline-end: $input-padding-x;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: $input-border-width;\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition($btn-transition);\n }\n\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: $form-file-button-hover-bg;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &:focus {\n outline: 0;\n }\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n\n &::file-selector-button {\n padding: $input-padding-y-sm $input-padding-x-sm;\n margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n margin-inline-end: $input-padding-x-sm;\n }\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n\n &::file-selector-button {\n padding: $input-padding-y-lg $input-padding-x-lg;\n margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n margin-inline-end: $input-padding-x-lg;\n }\n}\n\n// Make sure textareas don't shrink too much when resized\n// https://github.com/twbs/bootstrap/pull/29124\n// stylelint-disable selector-no-qualifying-type\ntextarea {\n &.form-control {\n min-height: $input-height;\n }\n\n &.form-control-sm {\n min-height: $input-height-sm;\n }\n\n &.form-control-lg {\n min-height: $input-height-lg;\n }\n}\n// stylelint-enable selector-no-qualifying-type\n\n.form-control-color {\n width: $form-color-width;\n height: $input-height;\n padding: $input-padding-y;\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n\n &::-moz-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius($input-border-radius);\n }\n\n &::-webkit-color-swatch {\n border: 0 !important; // stylelint-disable-line declaration-no-important\n @include border-radius($input-border-radius);\n }\n\n &.form-control-sm { height: $input-height-sm; }\n &.form-control-lg { height: $input-height-lg; }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--#{$prefix}gradient);\n }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n --#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator)};\n\n display: block;\n width: 100%;\n padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n appearance: none;\n background-color: $form-select-bg;\n background-image: var(--#{$prefix}form-select-bg-img), var(--#{$prefix}form-select-bg-icon, none);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n @include transition($form-select-transition);\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n @include border-radius($form-select-border-radius-sm);\n}\n\n.form-select-lg {\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n @include border-radius($form-select-border-radius-lg);\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark) {\n .form-select {\n --#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator-dark)};\n }\n }\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-start;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-start * -1;\n }\n}\n\n.form-check-reverse {\n padding-right: $form-check-padding-start;\n padding-left: 0;\n text-align: right;\n\n .form-check-input {\n float: right;\n margin-right: $form-check-padding-start * -1;\n margin-left: 0;\n }\n}\n\n.form-check-input {\n --#{$prefix}form-check-bg: #{$form-check-input-bg};\n\n flex-shrink: 0;\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height\n vertical-align: top;\n appearance: none;\n background-color: var(--#{$prefix}form-check-bg);\n background-image: var(--#{$prefix}form-check-bg-image);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n print-color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-checked-bg-image)}, var(--#{$prefix}gradient);\n } @else {\n --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-checked-bg-image)};\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n --#{$prefix}form-check-bg-image: #{escape-svg($form-check-radio-checked-bg-image)}, var(--#{$prefix}gradient);\n } @else {\n --#{$prefix}form-check-bg-image: #{escape-svg($form-check-radio-checked-bg-image)};\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-indeterminate-bg-image)}, var(--#{$prefix}gradient);\n } @else {\n --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-indeterminate-bg-image)};\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: $form-check-input-disabled-opacity;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n cursor: default;\n opacity: $form-check-label-disabled-opacity;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-start;\n\n .form-check-input {\n --#{$prefix}form-switch-bg: #{escape-svg($form-switch-bg-image)};\n\n width: $form-switch-width;\n margin-left: $form-switch-padding-start * -1;\n background-image: var(--#{$prefix}form-switch-bg);\n background-position: left center;\n @include border-radius($form-switch-border-radius, 0);\n @include transition($form-switch-transition);\n\n &:focus {\n --#{$prefix}form-switch-bg: #{escape-svg($form-switch-focus-bg-image)};\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n --#{$prefix}form-switch-bg: #{escape-svg($form-switch-checked-bg-image)}, var(--#{$prefix}gradient);\n } @else {\n --#{$prefix}form-switch-bg: #{escape-svg($form-switch-checked-bg-image)};\n }\n }\n }\n\n &.form-check-reverse {\n padding-right: $form-switch-padding-start;\n padding-left: 0;\n\n .form-check-input {\n margin-right: $form-switch-padding-start * -1;\n margin-left: 0;\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-end;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n\n &[disabled],\n &:disabled {\n + .btn {\n pointer-events: none;\n filter: none;\n opacity: $form-check-btn-check-disabled-opacity;\n }\n }\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark) {\n .form-switch .form-check-input:not(:checked):not(:focus) {\n --#{$prefix}form-switch-bg: #{escape-svg($form-switch-bg-image-dark)};\n }\n }\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n appearance: none;\n background-color: transparent;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific\n appearance: none;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n appearance: none;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n",".form-floating {\n position: relative;\n\n > .form-control,\n > .form-control-plaintext,\n > .form-select {\n height: $form-floating-height;\n min-height: $form-floating-height;\n line-height: $form-floating-line-height;\n }\n\n > label {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n height: 100%; // allow textareas\n padding: $form-floating-padding-y $form-floating-padding-x;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n transform-origin: 0 0;\n @include transition($form-floating-transition);\n }\n\n > .form-control,\n > .form-control-plaintext {\n padding: $form-floating-padding-y $form-floating-padding-x;\n\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n }\n\n > .form-select {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-control-plaintext,\n > .form-select {\n ~ label {\n color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});\n transform: $form-floating-label-transform;\n\n &::after {\n position: absolute;\n inset: $form-floating-padding-y ($form-floating-padding-x * .5);\n z-index: -1;\n height: $form-floating-label-height;\n content: \"\";\n background-color: $input-bg;\n @include border-radius($input-border-radius);\n }\n }\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n color: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});\n transform: $form-floating-label-transform;\n }\n }\n\n > .form-control-plaintext {\n ~ label {\n border-width: $input-border-width 0; // Required to properly position label text - as explained above\n }\n }\n\n > :disabled ~ label,\n > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n color: $form-floating-label-disabled-color;\n\n &::after {\n background-color: $input-disabled-bg;\n }\n }\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-floating {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-floating:focus-within {\n z-index: 5;\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 5;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n &:not(.has-validation) {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n > .dropdown-toggle:nth-last-child(n + 3),\n > .form-floating:not(:last-child) > .form-control,\n > .form-floating:not(:last-child) > .form-select {\n @include border-end-radius(0);\n }\n }\n\n &.has-validation {\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n > .dropdown-toggle:nth-last-child(n + 4),\n > .form-floating:nth-last-child(n + 3) > .form-control,\n > .form-floating:nth-last-child(n + 3) > .form-select {\n @include border-end-radius(0);\n }\n }\n\n $validation-messages: \"\";\n @each $state in map-keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + unquote($state) + \"-tooltip)\" + \":not(.\" + unquote($state) + \"-feedback)\";\n }\n\n > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n margin-left: calc(#{$input-border-width} * -1); // stylelint-disable-line function-disallowed-list\n @include border-start-radius(0);\n }\n\n > .form-floating:not(:first-child) > .form-control,\n > .form-floating:not(:first-child) > .form-select {\n @include border-start-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state(\n $state,\n $color,\n $icon,\n $tooltip-color: color-contrast($color),\n $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n $focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity),\n $border-color: $color\n) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: $tooltip-color;\n background-color: $tooltip-bg-color;\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $border-color;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $focus-box-shadow;\n }\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n @if $enable-validation-icons {\n &:not([multiple]):not([size]),\n &:not([multiple])[size=\"1\"] {\n --#{$prefix}form-select-bg-icon: #{escape-svg($icon)};\n padding-right: $form-select-feedback-icon-padding-end;\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n }\n\n &:focus {\n border-color: $border-color;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $focus-box-shadow;\n }\n }\n }\n }\n\n .form-control-color {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n width: add($form-color-width, $input-height-inner);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $border-color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: $focus-box-shadow;\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n .input-group {\n > .form-control:not(:focus),\n > .form-select:not(:focus),\n > .form-floating:not(:focus-within) {\n @include form-validation-state-selector($state) {\n @if $state == \"valid\" {\n z-index: 3;\n } @else if $state == \"invalid\" {\n z-index: 4;\n }\n }\n }\n }\n}\n// scss-docs-end form-validation-mixins\n","//\n// Base styles\n//\n\n.btn {\n // scss-docs-start btn-css-vars\n --#{$prefix}btn-padding-x: #{$btn-padding-x};\n --#{$prefix}btn-padding-y: #{$btn-padding-y};\n --#{$prefix}btn-font-family: #{$btn-font-family};\n @include rfs($btn-font-size, --#{$prefix}btn-font-size);\n --#{$prefix}btn-font-weight: #{$btn-font-weight};\n --#{$prefix}btn-line-height: #{$btn-line-height};\n --#{$prefix}btn-color: #{$btn-color};\n --#{$prefix}btn-bg: transparent;\n --#{$prefix}btn-border-width: #{$btn-border-width};\n --#{$prefix}btn-border-color: transparent;\n --#{$prefix}btn-border-radius: #{$btn-border-radius};\n --#{$prefix}btn-hover-border-color: transparent;\n --#{$prefix}btn-box-shadow: #{$btn-box-shadow};\n --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};\n --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);\n // scss-docs-end btn-css-vars\n\n display: inline-block;\n padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);\n font-family: var(--#{$prefix}btn-font-family);\n @include font-size(var(--#{$prefix}btn-font-size));\n font-weight: var(--#{$prefix}btn-font-weight);\n line-height: var(--#{$prefix}btn-line-height);\n color: var(--#{$prefix}btn-color);\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);\n @include border-radius(var(--#{$prefix}btn-border-radius));\n @include gradient-bg(var(--#{$prefix}btn-bg));\n @include box-shadow(var(--#{$prefix}btn-box-shadow));\n @include transition($btn-transition);\n\n &:hover {\n color: var(--#{$prefix}btn-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: var(--#{$prefix}btn-hover-bg);\n border-color: var(--#{$prefix}btn-hover-border-color);\n }\n\n .btn-check + &:hover {\n // override for the checkbox/radio buttons\n color: var(--#{$prefix}btn-color);\n background-color: var(--#{$prefix}btn-bg);\n border-color: var(--#{$prefix}btn-border-color);\n }\n\n &:focus-visible {\n color: var(--#{$prefix}btn-hover-color);\n @include gradient-bg(var(--#{$prefix}btn-hover-bg));\n border-color: var(--#{$prefix}btn-hover-border-color);\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);\n } @else {\n box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n }\n }\n\n .btn-check:focus-visible + & {\n border-color: var(--#{$prefix}btn-hover-border-color);\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);\n } @else {\n box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n }\n }\n\n .btn-check:checked + &,\n :not(.btn-check) + &:active,\n &:first-child:active,\n &.active,\n &.show {\n color: var(--#{$prefix}btn-active-color);\n background-color: var(--#{$prefix}btn-active-bg);\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: var(--#{$prefix}btn-active-border-color);\n @include box-shadow(var(--#{$prefix}btn-active-shadow));\n\n &:focus-visible {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);\n } @else {\n box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n }\n }\n }\n\n .btn-check:checked:focus-visible + & {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);\n } @else {\n box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--#{$prefix}btn-disabled-color);\n pointer-events: none;\n background-color: var(--#{$prefix}btn-disabled-bg);\n background-image: if($enable-gradients, none, null);\n border-color: var(--#{$prefix}btn-disabled-border-color);\n opacity: var(--#{$prefix}btn-disabled-opacity);\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n// scss-docs-start btn-variant-loops\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @if $color == \"light\" {\n @include button-variant(\n $value,\n $value,\n $hover-background: shade-color($value, $btn-hover-bg-shade-amount),\n $hover-border: shade-color($value, $btn-hover-border-shade-amount),\n $active-background: shade-color($value, $btn-active-bg-shade-amount),\n $active-border: shade-color($value, $btn-active-border-shade-amount)\n );\n } @else if $color == \"dark\" {\n @include button-variant(\n $value,\n $value,\n $hover-background: tint-color($value, $btn-hover-bg-tint-amount),\n $hover-border: tint-color($value, $btn-hover-border-tint-amount),\n $active-background: tint-color($value, $btn-active-bg-tint-amount),\n $active-border: tint-color($value, $btn-active-border-tint-amount)\n );\n } @else {\n @include button-variant($value, $value);\n }\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n// scss-docs-end btn-variant-loops\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n --#{$prefix}btn-font-weight: #{$font-weight-normal};\n --#{$prefix}btn-color: #{$btn-link-color};\n --#{$prefix}btn-bg: transparent;\n --#{$prefix}btn-border-color: transparent;\n --#{$prefix}btn-hover-color: #{$btn-link-hover-color};\n --#{$prefix}btn-hover-border-color: transparent;\n --#{$prefix}btn-active-color: #{$btn-link-hover-color};\n --#{$prefix}btn-active-border-color: transparent;\n --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};\n --#{$prefix}btn-disabled-border-color: transparent;\n --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows\n --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb};\n\n text-decoration: $link-decoration;\n @if $enable-gradients {\n background-image: none;\n }\n\n &:hover,\n &:focus-visible {\n text-decoration: $link-hover-decoration;\n }\n\n &:focus-visible {\n color: var(--#{$prefix}btn-color);\n }\n\n &:hover {\n color: var(--#{$prefix}btn-hover-color);\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n// scss-docs-start btn-variant-mixin\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),\n $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),\n $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n --#{$prefix}btn-color: #{$color};\n --#{$prefix}btn-bg: #{$background};\n --#{$prefix}btn-border-color: #{$border};\n --#{$prefix}btn-hover-color: #{$hover-color};\n --#{$prefix}btn-hover-bg: #{$hover-background};\n --#{$prefix}btn-hover-border-color: #{$hover-border};\n --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix($color, $border, 15%))};\n --#{$prefix}btn-active-color: #{$active-color};\n --#{$prefix}btn-active-bg: #{$active-background};\n --#{$prefix}btn-active-border-color: #{$active-border};\n --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};\n --#{$prefix}btn-disabled-color: #{$disabled-color};\n --#{$prefix}btn-disabled-bg: #{$disabled-background};\n --#{$prefix}btn-disabled-border-color: #{$disabled-border};\n}\n// scss-docs-end btn-variant-mixin\n\n// scss-docs-start btn-outline-variant-mixin\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n --#{$prefix}btn-color: #{$color};\n --#{$prefix}btn-border-color: #{$color};\n --#{$prefix}btn-hover-color: #{$color-hover};\n --#{$prefix}btn-hover-bg: #{$active-background};\n --#{$prefix}btn-hover-border-color: #{$active-border};\n --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};\n --#{$prefix}btn-active-color: #{$active-color};\n --#{$prefix}btn-active-bg: #{$active-background};\n --#{$prefix}btn-active-border-color: #{$active-border};\n --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};\n --#{$prefix}btn-disabled-color: #{$color};\n --#{$prefix}btn-disabled-bg: transparent;\n --#{$prefix}btn-disabled-border-color: #{$color};\n --#{$prefix}gradient: none;\n}\n// scss-docs-end btn-outline-variant-mixin\n\n// scss-docs-start btn-size-mixin\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n --#{$prefix}btn-padding-y: #{$padding-y};\n --#{$prefix}btn-padding-x: #{$padding-x};\n @include rfs($font-size, --#{$prefix}btn-font-size);\n --#{$prefix}btn-border-radius: #{$border-radius};\n}\n// scss-docs-end btn-size-mixin\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n\n &.collapse-horizontal {\n width: 0;\n height: auto;\n @include transition($transition-collapse-width);\n }\n}\n// scss-docs-end collapse-classes\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n // scss-docs-start dropdown-css-vars\n --#{$prefix}dropdown-zindex: #{$zindex-dropdown};\n --#{$prefix}dropdown-min-width: #{$dropdown-min-width};\n --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x};\n --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y};\n --#{$prefix}dropdown-spacer: #{$dropdown-spacer};\n @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size);\n --#{$prefix}dropdown-color: #{$dropdown-color};\n --#{$prefix}dropdown-bg: #{$dropdown-bg};\n --#{$prefix}dropdown-border-color: #{$dropdown-border-color};\n --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius};\n --#{$prefix}dropdown-border-width: #{$dropdown-border-width};\n --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg};\n --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow};\n --#{$prefix}dropdown-link-color: #{$dropdown-link-color};\n --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};\n --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color};\n --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg};\n --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x};\n --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y};\n --#{$prefix}dropdown-header-color: #{$dropdown-header-color};\n --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x};\n --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y};\n // scss-docs-end dropdown-css-vars\n\n position: absolute;\n z-index: var(--#{$prefix}dropdown-zindex);\n display: none; // none by default, but block on \"open\" of the menu\n min-width: var(--#{$prefix}dropdown-min-width);\n padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x);\n margin: 0; // Override default margin of ul\n @include font-size(var(--#{$prefix}dropdown-font-size));\n color: var(--#{$prefix}dropdown-color);\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: var(--#{$prefix}dropdown-bg);\n background-clip: padding-box;\n border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color);\n @include border-radius(var(--#{$prefix}dropdown-border-radius));\n @include box-shadow(var(--#{$prefix}dropdown-box-shadow));\n\n &[data-bs-popper] {\n top: 100%;\n left: 0;\n margin-top: var(--#{$prefix}dropdown-spacer);\n }\n\n @if $dropdown-padding-y == 0 {\n > .dropdown-item:first-child,\n > li:first-child .dropdown-item {\n @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius));\n }\n > .dropdown-item:last-child,\n > li:last-child .dropdown-item {\n @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius));\n }\n\n }\n}\n\n// scss-docs-start responsive-breakpoints\n// We deliberately hardcode the `bs-` prefix because we check\n// this custom property in JS to determine Popper's positioning\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-start {\n --bs-position: start;\n\n &[data-bs-popper] {\n right: auto;\n left: 0;\n }\n }\n\n .dropdown-menu#{$infix}-end {\n --bs-position: end;\n\n &[data-bs-popper] {\n right: 0;\n left: auto;\n }\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu[data-bs-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--#{$prefix}dropdown-spacer);\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropend {\n .dropdown-menu[data-bs-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: var(--#{$prefix}dropdown-spacer);\n }\n\n .dropdown-toggle {\n @include caret(end);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropstart {\n .dropdown-menu[data-bs-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: var(--#{$prefix}dropdown-spacer);\n }\n\n .dropdown-toggle {\n @include caret(start);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: var(--#{$prefix}dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--#{$prefix}dropdown-divider-bg);\n opacity: 1; // Revisit in v6 to de-dupe styles that conflict with <hr> element\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n clear: both;\n font-weight: $font-weight-normal;\n color: var(--#{$prefix}dropdown-link-color);\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n @include border-radius(var(--#{$prefix}dropdown-item-border-radius, 0));\n\n &:hover,\n &:focus {\n color: var(--#{$prefix}dropdown-link-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg(var(--#{$prefix}dropdown-link-hover-bg));\n }\n\n &.active,\n &:active {\n color: var(--#{$prefix}dropdown-link-active-color);\n text-decoration: none;\n @include gradient-bg(var(--#{$prefix}dropdown-link-active-bg));\n }\n\n &.disabled,\n &:disabled {\n color: var(--#{$prefix}dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: var(--#{$prefix}dropdown-header-padding-y) var(--#{$prefix}dropdown-header-padding-x);\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: var(--#{$prefix}dropdown-header-color);\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n color: var(--#{$prefix}dropdown-link-color);\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n // scss-docs-start dropdown-dark-css-vars\n --#{$prefix}dropdown-color: #{$dropdown-dark-color};\n --#{$prefix}dropdown-bg: #{$dropdown-dark-bg};\n --#{$prefix}dropdown-border-color: #{$dropdown-dark-border-color};\n --#{$prefix}dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n --#{$prefix}dropdown-link-color: #{$dropdown-dark-link-color};\n --#{$prefix}dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n --#{$prefix}dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n --#{$prefix}dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n --#{$prefix}dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n --#{$prefix}dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n --#{$prefix}dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n --#{$prefix}dropdown-header-color: #{$dropdown-dark-header-color};\n // scss-docs-end dropdown-dark-css-vars\n}\n","// scss-docs-start caret-mixins\n@mixin caret-down($width: $caret-width) {\n border-top: $width solid;\n border-right: $width solid transparent;\n border-bottom: 0;\n border-left: $width solid transparent;\n}\n\n@mixin caret-up($width: $caret-width) {\n border-top: 0;\n border-right: $width solid transparent;\n border-bottom: $width solid;\n border-left: $width solid transparent;\n}\n\n@mixin caret-end($width: $caret-width) {\n border-top: $width solid transparent;\n border-right: 0;\n border-bottom: $width solid transparent;\n border-left: $width solid;\n}\n\n@mixin caret-start($width: $caret-width) {\n border-top: $width solid transparent;\n border-right: $width solid;\n border-bottom: $width solid transparent;\n}\n\n@mixin caret(\n $direction: down,\n $width: $caret-width,\n $spacing: $caret-spacing,\n $vertical-align: $caret-vertical-align\n) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $spacing;\n vertical-align: $vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down($width);\n } @else if $direction == up {\n @include caret-up($width);\n } @else if $direction == end {\n @include caret-end($width);\n }\n }\n\n @if $direction == start {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $spacing;\n vertical-align: $vertical-align;\n content: \"\";\n @include caret-start($width);\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n// scss-docs-end caret-mixins\n","// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n @include border-radius($btn-border-radius);\n\n // Prevent double borders when buttons are next to each other\n > :not(.btn-check:first-child) + .btn,\n > .btn-group:not(:first-child) {\n margin-left: calc(#{$btn-border-width} * -1); // stylelint-disable-line function-disallowed-list\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn.dropdown-toggle-split:first-child,\n > .btn-group:not(:last-child) > .btn {\n @include border-end-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-start-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropend &::after {\n margin-left: 0;\n }\n\n .dropstart &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: calc(#{$btn-border-width} * -1); // stylelint-disable-line function-disallowed-list\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn ~ .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n // scss-docs-start nav-css-vars\n --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};\n --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n --#{$prefix}nav-link-color: #{$nav-link-color};\n --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};\n --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};\n // scss-docs-end nav-css-vars\n\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);\n @include font-size(var(--#{$prefix}nav-link-font-size));\n font-weight: var(--#{$prefix}nav-link-font-weight);\n color: var(--#{$prefix}nav-link-color);\n text-decoration: if($link-decoration == none, null, none);\n background: none;\n border: 0;\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: var(--#{$prefix}nav-link-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n &:focus-visible {\n outline: 0;\n box-shadow: $nav-link-focus-box-shadow;\n }\n\n // Disabled state lightens text\n &.disabled,\n &:disabled {\n color: var(--#{$prefix}nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n // scss-docs-start nav-tabs-css-vars\n --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};\n --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};\n --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};\n --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n // scss-docs-end nav-tabs-css-vars\n\n border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);\n\n .nav-link {\n margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list\n border: var(--#{$prefix}nav-tabs-border-width) solid transparent;\n @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));\n\n &:hover,\n &:focus {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: var(--#{$prefix}nav-tabs-link-active-color);\n background-color: var(--#{$prefix}nav-tabs-link-active-bg);\n border-color: var(--#{$prefix}nav-tabs-link-active-border-color);\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n // scss-docs-start nav-pills-css-vars\n --#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius};\n --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};\n --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n // scss-docs-end nav-pills-css-vars\n\n .nav-link {\n @include border-radius(var(--#{$prefix}nav-pills-border-radius));\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: var(--#{$prefix}nav-pills-link-active-color);\n @include gradient-bg(var(--#{$prefix}nav-pills-link-active-bg));\n }\n}\n\n\n//\n// Underline\n//\n\n.nav-underline {\n // scss-docs-start nav-underline-css-vars\n --#{$prefix}nav-underline-gap: #{$nav-underline-gap};\n --#{$prefix}nav-underline-border-width: #{$nav-underline-border-width};\n --#{$prefix}nav-underline-link-active-color: #{$nav-underline-link-active-color};\n // scss-docs-end nav-underline-css-vars\n\n gap: var(--#{$prefix}nav-underline-gap);\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n border-bottom: var(--#{$prefix}nav-underline-border-width) solid transparent;\n\n &:hover,\n &:focus {\n border-bottom-color: currentcolor;\n }\n }\n\n .nav-link.active,\n .show > .nav-link {\n font-weight: $font-weight-bold;\n color: var(--#{$prefix}nav-underline-link-active-color);\n border-bottom-color: currentcolor;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n.nav-fill,\n.nav-justified {\n .nav-item .nav-link {\n width: 100%; // Make sure button will grow\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n // scss-docs-start navbar-css-vars\n --#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)};\n --#{$prefix}navbar-padding-y: #{$navbar-padding-y};\n --#{$prefix}navbar-color: #{$navbar-light-color};\n --#{$prefix}navbar-hover-color: #{$navbar-light-hover-color};\n --#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color};\n --#{$prefix}navbar-active-color: #{$navbar-light-active-color};\n --#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y};\n --#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end};\n --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};\n --#{$prefix}navbar-brand-color: #{$navbar-light-brand-color};\n --#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n --#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n --#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n --#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n --#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size};\n --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n --#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n --#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width};\n --#{$prefix}navbar-toggler-transition: #{$navbar-toggler-transition};\n // scss-docs-end navbar-css-vars\n\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: var(--#{$prefix}navbar-padding-y) var(--#{$prefix}navbar-padding-x);\n @include gradient-bg();\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: var(--#{$prefix}navbar-brand-padding-y);\n padding-bottom: var(--#{$prefix}navbar-brand-padding-y);\n margin-right: var(--#{$prefix}navbar-brand-margin-end);\n @include font-size(var(--#{$prefix}navbar-brand-font-size));\n color: var(--#{$prefix}navbar-brand-color);\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n color: var(--#{$prefix}navbar-brand-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n // scss-docs-start navbar-nav-css-vars\n --#{$prefix}nav-link-padding-x: 0;\n --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n --#{$prefix}nav-link-color: var(--#{$prefix}navbar-color);\n --#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color);\n --#{$prefix}nav-link-disabled-color: var(--#{$prefix}navbar-disabled-color);\n // scss-docs-end navbar-nav-css-vars\n\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n &.active,\n &.show {\n color: var(--#{$prefix}navbar-active-color);\n }\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n color: var(--#{$prefix}navbar-color);\n\n a,\n a:hover,\n a:focus {\n color: var(--#{$prefix}navbar-active-color);\n }\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: var(--#{$prefix}navbar-toggler-padding-y) var(--#{$prefix}navbar-toggler-padding-x);\n @include font-size(var(--#{$prefix}navbar-toggler-font-size));\n line-height: 1;\n color: var(--#{$prefix}navbar-color);\n background-color: transparent; // remove default button style\n border: var(--#{$prefix}border-width) solid var(--#{$prefix}navbar-toggler-border-color); // remove default button style\n @include border-radius(var(--#{$prefix}navbar-toggler-border-radius));\n @include transition(var(--#{$prefix}navbar-toggler-transition));\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--#{$prefix}navbar-toggler-focus-width);\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--#{$prefix}navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--#{$prefix}scroll-height, 75vh);\n overflow-y: auto;\n}\n\n// scss-docs-start navbar-expand-loop\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n // stylelint-disable-next-line scss/selector-no-union-class-name\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: var(--#{$prefix}navbar-nav-link-padding-x);\n padding-left: var(--#{$prefix}navbar-nav-link-padding-x);\n }\n }\n\n .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n\n .offcanvas {\n // stylelint-disable declaration-no-important\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n @include box-shadow(none);\n @include transition(none);\n // stylelint-enable declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n }\n }\n }\n }\n}\n// scss-docs-end navbar-expand-loop\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n.navbar-light {\n @include deprecate(\"`.navbar-light`\", \"v5.2.0\", \"v6.0.0\", true);\n}\n\n.navbar-dark,\n.navbar[data-bs-theme=\"dark\"] {\n // scss-docs-start navbar-dark-css-vars\n --#{$prefix}navbar-color: #{$navbar-dark-color};\n --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};\n --#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};\n --#{$prefix}navbar-active-color: #{$navbar-dark-active-color};\n --#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color};\n --#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n --#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n // scss-docs-end navbar-dark-css-vars\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark) {\n .navbar-toggler-icon {\n --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n // scss-docs-start card-css-vars\n --#{$prefix}card-spacer-y: #{$card-spacer-y};\n --#{$prefix}card-spacer-x: #{$card-spacer-x};\n --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};\n --#{$prefix}card-title-color: #{$card-title-color};\n --#{$prefix}card-subtitle-color: #{$card-subtitle-color};\n --#{$prefix}card-border-width: #{$card-border-width};\n --#{$prefix}card-border-color: #{$card-border-color};\n --#{$prefix}card-border-radius: #{$card-border-radius};\n --#{$prefix}card-box-shadow: #{$card-box-shadow};\n --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};\n --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};\n --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};\n --#{$prefix}card-cap-bg: #{$card-cap-bg};\n --#{$prefix}card-cap-color: #{$card-cap-color};\n --#{$prefix}card-height: #{$card-height};\n --#{$prefix}card-color: #{$card-color};\n --#{$prefix}card-bg: #{$card-bg};\n --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};\n --#{$prefix}card-group-margin: #{$card-group-margin};\n // scss-docs-end card-css-vars\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: var(--#{$prefix}card-height);\n color: var(--#{$prefix}body-color);\n word-wrap: break-word;\n background-color: var(--#{$prefix}card-bg);\n background-clip: border-box;\n border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n @include border-radius(var(--#{$prefix}card-border-radius));\n @include box-shadow(var(--#{$prefix}card-box-shadow));\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);\n color: var(--#{$prefix}card-color);\n}\n\n.card-title {\n margin-bottom: var(--#{$prefix}card-title-spacer-y);\n color: var(--#{$prefix}card-title-color);\n}\n\n.card-subtitle {\n margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list\n margin-bottom: 0;\n color: var(--#{$prefix}card-subtitle-color);\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n + .card-link {\n margin-left: var(--#{$prefix}card-spacer-x);\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: var(--#{$prefix}card-cap-color);\n background-color: var(--#{$prefix}card-cap-bg);\n border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n &:first-child {\n @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);\n }\n}\n\n.card-footer {\n padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n color: var(--#{$prefix}card-cap-color);\n background-color: var(--#{$prefix}card-cap-bg);\n border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n &:last-child {\n @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n border-bottom: 0;\n\n .nav-link.active {\n background-color: var(--#{$prefix}card-bg);\n border-bottom-color: var(--#{$prefix}card-bg);\n }\n}\n\n.card-header-pills {\n margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--#{$prefix}card-img-overlay-padding);\n @include border-radius(var(--#{$prefix}card-inner-border-radius));\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: var(--#{$prefix}card-group-margin);\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-end-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-start-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.accordion {\n // scss-docs-start accordion-css-vars\n --#{$prefix}accordion-color: #{$accordion-color};\n --#{$prefix}accordion-bg: #{$accordion-bg};\n --#{$prefix}accordion-transition: #{$accordion-transition};\n --#{$prefix}accordion-border-color: #{$accordion-border-color};\n --#{$prefix}accordion-border-width: #{$accordion-border-width};\n --#{$prefix}accordion-border-radius: #{$accordion-border-radius};\n --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};\n --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};\n --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};\n --#{$prefix}accordion-btn-color: #{$accordion-button-color};\n --#{$prefix}accordion-btn-bg: #{$accordion-button-bg};\n --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};\n --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};\n --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};\n --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};\n --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};\n --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};\n --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};\n --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};\n --#{$prefix}accordion-active-color: #{$accordion-button-active-color};\n --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg};\n // scss-docs-end accordion-css-vars\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x);\n @include font-size($font-size-base);\n color: var(--#{$prefix}accordion-btn-color);\n text-align: left; // Reset button style\n background-color: var(--#{$prefix}accordion-btn-bg);\n border: 0;\n @include border-radius(0);\n overflow-anchor: none;\n @include transition(var(--#{$prefix}accordion-transition));\n\n &:not(.collapsed) {\n color: var(--#{$prefix}accordion-active-color);\n background-color: var(--#{$prefix}accordion-active-bg);\n box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list\n\n &::after {\n background-image: var(--#{$prefix}accordion-btn-active-icon);\n transform: var(--#{$prefix}accordion-btn-icon-transform);\n }\n }\n\n // Accordion icon\n &::after {\n flex-shrink: 0;\n width: var(--#{$prefix}accordion-btn-icon-width);\n height: var(--#{$prefix}accordion-btn-icon-width);\n margin-left: auto;\n content: \"\";\n background-image: var(--#{$prefix}accordion-btn-icon);\n background-repeat: no-repeat;\n background-size: var(--#{$prefix}accordion-btn-icon-width);\n @include transition(var(--#{$prefix}accordion-btn-icon-transition));\n }\n\n &:hover {\n z-index: 2;\n }\n\n &:focus {\n z-index: 3;\n outline: 0;\n box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);\n }\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n color: var(--#{$prefix}accordion-color);\n background-color: var(--#{$prefix}accordion-bg);\n border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color);\n\n &:first-of-type {\n @include border-top-radius(var(--#{$prefix}accordion-border-radius));\n\n > .accordion-header .accordion-button {\n @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));\n }\n }\n\n &:not(:first-of-type) {\n border-top: 0;\n }\n\n // Only set a border-radius on the last item if the accordion is collapsed\n &:last-of-type {\n @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n\n > .accordion-header .accordion-button {\n &.collapsed {\n @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));\n }\n }\n\n > .accordion-collapse {\n @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n }\n }\n}\n\n.accordion-body {\n padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x);\n}\n\n\n// Flush accordion items\n//\n// Remove borders and border-radius to keep accordion items edge-to-edge.\n\n.accordion-flush {\n > .accordion-item {\n border-right: 0;\n border-left: 0;\n @include border-radius(0);\n\n &:first-child { border-top: 0; }\n &:last-child { border-bottom: 0; }\n\n // stylelint-disable selector-max-class\n > .accordion-header .accordion-button {\n &,\n &.collapsed {\n @include border-radius(0);\n }\n }\n // stylelint-enable selector-max-class\n\n > .accordion-collapse {\n @include border-radius(0);\n }\n }\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark) {\n .accordion-button::after {\n --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon-dark)};\n --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon-dark)};\n }\n }\n}\n",".breadcrumb {\n // scss-docs-start breadcrumb-css-vars\n --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};\n --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};\n --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size);\n --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};\n --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};\n --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};\n --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};\n --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};\n // scss-docs-end breadcrumb-css-vars\n\n display: flex;\n flex-wrap: wrap;\n padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);\n margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);\n @include font-size(var(--#{$prefix}breadcrumb-font-size));\n list-style: none;\n background-color: var(--#{$prefix}breadcrumb-bg);\n @include border-radius(var(--#{$prefix}breadcrumb-border-radius));\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: var(--#{$prefix}breadcrumb-item-padding-x);\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: var(--#{$prefix}breadcrumb-item-padding-x);\n color: var(--#{$prefix}breadcrumb-divider-color);\n content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{\"/* rtl:\"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{\"*/\"};\n }\n }\n\n &.active {\n color: var(--#{$prefix}breadcrumb-item-active-color);\n }\n}\n",".pagination {\n // scss-docs-start pagination-css-vars\n --#{$prefix}pagination-padding-x: #{$pagination-padding-x};\n --#{$prefix}pagination-padding-y: #{$pagination-padding-y};\n @include rfs($pagination-font-size, --#{$prefix}pagination-font-size);\n --#{$prefix}pagination-color: #{$pagination-color};\n --#{$prefix}pagination-bg: #{$pagination-bg};\n --#{$prefix}pagination-border-width: #{$pagination-border-width};\n --#{$prefix}pagination-border-color: #{$pagination-border-color};\n --#{$prefix}pagination-border-radius: #{$pagination-border-radius};\n --#{$prefix}pagination-hover-color: #{$pagination-hover-color};\n --#{$prefix}pagination-hover-bg: #{$pagination-hover-bg};\n --#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color};\n --#{$prefix}pagination-focus-color: #{$pagination-focus-color};\n --#{$prefix}pagination-focus-bg: #{$pagination-focus-bg};\n --#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow};\n --#{$prefix}pagination-active-color: #{$pagination-active-color};\n --#{$prefix}pagination-active-bg: #{$pagination-active-bg};\n --#{$prefix}pagination-active-border-color: #{$pagination-active-border-color};\n --#{$prefix}pagination-disabled-color: #{$pagination-disabled-color};\n --#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg};\n --#{$prefix}pagination-disabled-border-color: #{$pagination-disabled-border-color};\n // scss-docs-end pagination-css-vars\n\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--#{$prefix}pagination-padding-y) var(--#{$prefix}pagination-padding-x);\n @include font-size(var(--#{$prefix}pagination-font-size));\n color: var(--#{$prefix}pagination-color);\n text-decoration: if($link-decoration == none, null, none);\n background-color: var(--#{$prefix}pagination-bg);\n border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);\n @include transition($pagination-transition);\n\n &:hover {\n z-index: 2;\n color: var(--#{$prefix}pagination-hover-color);\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: var(--#{$prefix}pagination-hover-bg);\n border-color: var(--#{$prefix}pagination-hover-border-color);\n }\n\n &:focus {\n z-index: 3;\n color: var(--#{$prefix}pagination-focus-color);\n background-color: var(--#{$prefix}pagination-focus-bg);\n outline: $pagination-focus-outline;\n box-shadow: var(--#{$prefix}pagination-focus-box-shadow);\n }\n\n &.active,\n .active > & {\n z-index: 3;\n color: var(--#{$prefix}pagination-active-color);\n @include gradient-bg(var(--#{$prefix}pagination-active-bg));\n border-color: var(--#{$prefix}pagination-active-border-color);\n }\n\n &.disabled,\n .disabled > & {\n color: var(--#{$prefix}pagination-disabled-color);\n pointer-events: none;\n background-color: var(--#{$prefix}pagination-disabled-bg);\n border-color: var(--#{$prefix}pagination-disabled-border-color);\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-start;\n }\n\n @if $pagination-margin-start == calc(#{$pagination-border-width} * -1) {\n &:first-child {\n .page-link {\n @include border-start-radius(var(--#{$prefix}pagination-border-radius));\n }\n }\n\n &:last-child {\n .page-link {\n @include border-end-radius(var(--#{$prefix}pagination-border-radius));\n }\n }\n } @else {\n // Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius(var(--#{$prefix}pagination-border-radius));\n }\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);\n}\n","// Pagination\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n --#{$prefix}pagination-padding-x: #{$padding-x};\n --#{$prefix}pagination-padding-y: #{$padding-y};\n @include rfs($font-size, --#{$prefix}pagination-font-size);\n --#{$prefix}pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n // scss-docs-start badge-css-vars\n --#{$prefix}badge-padding-x: #{$badge-padding-x};\n --#{$prefix}badge-padding-y: #{$badge-padding-y};\n @include rfs($badge-font-size, --#{$prefix}badge-font-size);\n --#{$prefix}badge-font-weight: #{$badge-font-weight};\n --#{$prefix}badge-color: #{$badge-color};\n --#{$prefix}badge-border-radius: #{$badge-border-radius};\n // scss-docs-end badge-css-vars\n\n display: inline-block;\n padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);\n @include font-size(var(--#{$prefix}badge-font-size));\n font-weight: var(--#{$prefix}badge-font-weight);\n line-height: 1;\n color: var(--#{$prefix}badge-color);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius(var(--#{$prefix}badge-border-radius));\n @include gradient-bg();\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n // scss-docs-start alert-css-vars\n --#{$prefix}alert-bg: transparent;\n --#{$prefix}alert-padding-x: #{$alert-padding-x};\n --#{$prefix}alert-padding-y: #{$alert-padding-y};\n --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};\n --#{$prefix}alert-color: inherit;\n --#{$prefix}alert-border-color: transparent;\n --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color);\n --#{$prefix}alert-border-radius: #{$alert-border-radius};\n --#{$prefix}alert-link-color: inherit;\n // scss-docs-end alert-css-vars\n\n position: relative;\n padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);\n margin-bottom: var(--#{$prefix}alert-margin-bottom);\n color: var(--#{$prefix}alert-color);\n background-color: var(--#{$prefix}alert-bg);\n border: var(--#{$prefix}alert-border);\n @include border-radius(var(--#{$prefix}alert-border-radius));\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n color: var(--#{$prefix}alert-link-color);\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $alert-dismissible-padding-r;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: $stretched-link-z-index + 1;\n padding: $alert-padding-y * 1.25 $alert-padding-x;\n }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert\n@each $state in map-keys($theme-colors) {\n .alert-#{$state} {\n --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis);\n --#{$prefix}alert-bg: var(--#{$prefix}#{$state}-bg-subtle);\n --#{$prefix}alert-border-color: var(--#{$prefix}#{$state}-border-subtle);\n --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);\n }\n}\n// scss-docs-end alert-modifiers\n","// Disable animation if transitions are disabled\n\n// scss-docs-start progress-keyframes\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n// scss-docs-end progress-keyframes\n\n.progress,\n.progress-stacked {\n // scss-docs-start progress-css-vars\n --#{$prefix}progress-height: #{$progress-height};\n @include rfs($progress-font-size, --#{$prefix}progress-font-size);\n --#{$prefix}progress-bg: #{$progress-bg};\n --#{$prefix}progress-border-radius: #{$progress-border-radius};\n --#{$prefix}progress-box-shadow: #{$progress-box-shadow};\n --#{$prefix}progress-bar-color: #{$progress-bar-color};\n --#{$prefix}progress-bar-bg: #{$progress-bar-bg};\n --#{$prefix}progress-bar-transition: #{$progress-bar-transition};\n // scss-docs-end progress-css-vars\n\n display: flex;\n height: var(--#{$prefix}progress-height);\n overflow: hidden; // force rounded corners by cropping it\n @include font-size(var(--#{$prefix}progress-font-size));\n background-color: var(--#{$prefix}progress-bg);\n @include border-radius(var(--#{$prefix}progress-border-radius));\n @include box-shadow(var(--#{$prefix}progress-box-shadow));\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--#{$prefix}progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--#{$prefix}progress-bar-bg);\n @include transition(var(--#{$prefix}progress-bar-transition));\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: var(--#{$prefix}progress-height) var(--#{$prefix}progress-height);\n}\n\n.progress-stacked > .progress {\n overflow: visible;\n}\n\n.progress-stacked > .progress > .progress-bar {\n width: 100%;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: $progress-bar-animation-timing progress-bar-stripes;\n\n @if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // scss-docs-start list-group-css-vars\n --#{$prefix}list-group-color: #{$list-group-color};\n --#{$prefix}list-group-bg: #{$list-group-bg};\n --#{$prefix}list-group-border-color: #{$list-group-border-color};\n --#{$prefix}list-group-border-width: #{$list-group-border-width};\n --#{$prefix}list-group-border-radius: #{$list-group-border-radius};\n --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};\n --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};\n --#{$prefix}list-group-action-color: #{$list-group-action-color};\n --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};\n --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};\n --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};\n --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};\n --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};\n --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};\n --#{$prefix}list-group-active-color: #{$list-group-active-color};\n --#{$prefix}list-group-active-bg: #{$list-group-active-bg};\n --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};\n // scss-docs-end list-group-css-vars\n\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius(var(--#{$prefix}list-group-border-radius));\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n\n > .list-group-item::before {\n // Increments only this instance of the section counter\n content: counters(section, \".\") \". \";\n counter-increment: section;\n }\n}\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: var(--#{$prefix}list-group-action-color);\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: var(--#{$prefix}list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--#{$prefix}list-group-action-hover-bg);\n }\n\n &:active {\n color: var(--#{$prefix}list-group-action-active-color);\n background-color: var(--#{$prefix}list-group-action-active-bg);\n }\n}\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);\n color: var(--#{$prefix}list-group-color);\n text-decoration: if($link-decoration == none, null, none);\n background-color: var(--#{$prefix}list-group-bg);\n border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}list-group-border-color);\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: var(--#{$prefix}list-group-disabled-color);\n pointer-events: none;\n background-color: var(--#{$prefix}list-group-disabled-bg);\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: var(--#{$prefix}list-group-active-color);\n background-color: var(--#{$prefix}list-group-active-bg);\n border-color: var(--#{$prefix}list-group-active-border-color);\n }\n\n // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n & + .list-group-item {\n border-top-width: 0;\n\n &.active {\n margin-top: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list\n border-top-width: var(--#{$prefix}list-group-border-width);\n }\n }\n}\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child:not(:last-child) {\n @include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));\n @include border-top-end-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-end-radius(var(--#{$prefix}list-group-border-radius));\n @include border-bottom-start-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: var(--#{$prefix}list-group-border-width);\n border-left-width: 0;\n\n &.active {\n margin-left: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list\n border-left-width: var(--#{$prefix}list-group-border-width);\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 var(--#{$prefix}list-group-border-width);\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $state in map-keys($theme-colors) {\n .list-group-item-#{$state} {\n --#{$prefix}list-group-color: var(--#{$prefix}#{$state}-text-emphasis);\n --#{$prefix}list-group-bg: var(--#{$prefix}#{$state}-bg-subtle);\n --#{$prefix}list-group-border-color: var(--#{$prefix}#{$state}-border-subtle);\n --#{$prefix}list-group-action-hover-color: var(--#{$prefix}emphasis-color);\n --#{$prefix}list-group-action-hover-bg: var(--#{$prefix}#{$state}-border-subtle);\n --#{$prefix}list-group-action-active-color: var(--#{$prefix}emphasis-color);\n --#{$prefix}list-group-action-active-bg: var(--#{$prefix}#{$state}-border-subtle);\n --#{$prefix}list-group-active-color: var(--#{$prefix}#{$state}-bg-subtle);\n --#{$prefix}list-group-active-bg: var(--#{$prefix}#{$state}-text-emphasis);\n --#{$prefix}list-group-active-border-color: var(--#{$prefix}#{$state}-text-emphasis);\n }\n}\n// scss-docs-end list-group-modifiers\n","// Transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n.btn-close {\n // scss-docs-start close-css-vars\n --#{$prefix}btn-close-color: #{$btn-close-color};\n --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };\n --#{$prefix}btn-close-opacity: #{$btn-close-opacity};\n --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};\n --#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};\n --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};\n --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n --#{$prefix}btn-close-white-filter: #{$btn-close-white-filter};\n // scss-docs-end close-css-vars\n\n box-sizing: content-box;\n width: $btn-close-width;\n height: $btn-close-height;\n padding: $btn-close-padding-y $btn-close-padding-x;\n color: var(--#{$prefix}btn-close-color);\n background: transparent var(--#{$prefix}btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements\n border: 0; // for button elements\n @include border-radius();\n opacity: var(--#{$prefix}btn-close-opacity);\n\n // Override <a>'s hover style\n &:hover {\n color: var(--#{$prefix}btn-close-color);\n text-decoration: none;\n opacity: var(--#{$prefix}btn-close-hover-opacity);\n }\n\n &:focus {\n outline: 0;\n box-shadow: var(--#{$prefix}btn-close-focus-shadow);\n opacity: var(--#{$prefix}btn-close-focus-opacity);\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--#{$prefix}btn-close-disabled-opacity);\n }\n}\n\n@mixin btn-close-white() {\n filter: var(--#{$prefix}btn-close-white-filter);\n}\n\n.btn-close-white {\n @include btn-close-white();\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark) {\n .btn-close {\n @include btn-close-white();\n }\n }\n}\n",".toast {\n // scss-docs-start toast-css-vars\n --#{$prefix}toast-zindex: #{$zindex-toast};\n --#{$prefix}toast-padding-x: #{$toast-padding-x};\n --#{$prefix}toast-padding-y: #{$toast-padding-y};\n --#{$prefix}toast-spacing: #{$toast-spacing};\n --#{$prefix}toast-max-width: #{$toast-max-width};\n @include rfs($toast-font-size, --#{$prefix}toast-font-size);\n --#{$prefix}toast-color: #{$toast-color};\n --#{$prefix}toast-bg: #{$toast-background-color};\n --#{$prefix}toast-border-width: #{$toast-border-width};\n --#{$prefix}toast-border-color: #{$toast-border-color};\n --#{$prefix}toast-border-radius: #{$toast-border-radius};\n --#{$prefix}toast-box-shadow: #{$toast-box-shadow};\n --#{$prefix}toast-header-color: #{$toast-header-color};\n --#{$prefix}toast-header-bg: #{$toast-header-background-color};\n --#{$prefix}toast-header-border-color: #{$toast-header-border-color};\n // scss-docs-end toast-css-vars\n\n width: var(--#{$prefix}toast-max-width);\n max-width: 100%;\n @include font-size(var(--#{$prefix}toast-font-size));\n color: var(--#{$prefix}toast-color);\n pointer-events: auto;\n background-color: var(--#{$prefix}toast-bg);\n background-clip: padding-box;\n border: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-border-color);\n box-shadow: var(--#{$prefix}toast-box-shadow);\n @include border-radius(var(--#{$prefix}toast-border-radius));\n\n &.showing {\n opacity: 0;\n }\n\n &:not(.show) {\n display: none;\n }\n}\n\n.toast-container {\n --#{$prefix}toast-zindex: #{$zindex-toast};\n\n position: absolute;\n z-index: var(--#{$prefix}toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n\n > :not(:last-child) {\n margin-bottom: var(--#{$prefix}toast-spacing);\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--#{$prefix}toast-padding-y) var(--#{$prefix}toast-padding-x);\n color: var(--#{$prefix}toast-header-color);\n background-color: var(--#{$prefix}toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-header-border-color);\n @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));\n\n .btn-close {\n margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x)); // stylelint-disable-line function-disallowed-list\n margin-left: var(--#{$prefix}toast-padding-x);\n }\n}\n\n.toast-body {\n padding: var(--#{$prefix}toast-padding-x);\n word-wrap: break-word;\n}\n","// stylelint-disable function-disallowed-list\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n// Container that the modal scrolls within\n.modal {\n // scss-docs-start modal-css-vars\n --#{$prefix}modal-zindex: #{$zindex-modal};\n --#{$prefix}modal-width: #{$modal-md};\n --#{$prefix}modal-padding: #{$modal-inner-padding};\n --#{$prefix}modal-margin: #{$modal-dialog-margin};\n --#{$prefix}modal-color: #{$modal-content-color};\n --#{$prefix}modal-bg: #{$modal-content-bg};\n --#{$prefix}modal-border-color: #{$modal-content-border-color};\n --#{$prefix}modal-border-width: #{$modal-content-border-width};\n --#{$prefix}modal-border-radius: #{$modal-content-border-radius};\n --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};\n --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};\n --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};\n --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};\n --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y\n --#{$prefix}modal-header-border-color: #{$modal-header-border-color};\n --#{$prefix}modal-header-border-width: #{$modal-header-border-width};\n --#{$prefix}modal-title-line-height: #{$modal-title-line-height};\n --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};\n --#{$prefix}modal-footer-bg: #{$modal-footer-bg};\n --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};\n --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};\n // scss-docs-end modal-css-vars\n\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--#{$prefix}modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--#{$prefix}modal-margin);\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--#{$prefix}modal-margin) * 2);\n\n .modal-content {\n max-height: 100%;\n overflow: hidden;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--#{$prefix}modal-margin) * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: var(--#{$prefix}modal-color);\n pointer-events: auto;\n background-color: var(--#{$prefix}modal-bg);\n background-clip: padding-box;\n border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color);\n @include border-radius(var(--#{$prefix}modal-border-radius));\n @include box-shadow(var(--#{$prefix}modal-box-shadow));\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n // scss-docs-start modal-backdrop-css-vars\n --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};\n --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};\n --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};\n // scss-docs-end modal-backdrop-css-vars\n\n @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--#{$prefix}modal-header-padding);\n border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);\n @include border-top-radius(var(--#{$prefix}modal-inner-border-radius));\n\n .btn-close {\n padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);\n margin: calc(-.5 * var(--#{$prefix}modal-header-padding-y)) calc(-.5 * var(--#{$prefix}modal-header-padding-x)) calc(-.5 * var(--#{$prefix}modal-header-padding-y)) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: var(--#{$prefix}modal-title-line-height);\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: var(--#{$prefix}modal-padding);\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: calc(var(--#{$prefix}modal-padding) - var(--#{$prefix}modal-footer-gap) * .5);\n background-color: var(--#{$prefix}modal-footer-bg);\n border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color);\n @include border-bottom-radius(var(--#{$prefix}modal-inner-border-radius));\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: calc(var(--#{$prefix}modal-footer-gap) * .5); // Todo in v6: replace with gap on parent class\n }\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n .modal {\n --#{$prefix}modal-margin: #{$modal-dialog-margin-y-sm-up};\n --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-sm-up};\n }\n\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: var(--#{$prefix}modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n\n .modal-sm {\n --#{$prefix}modal-width: #{$modal-sm};\n }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n --#{$prefix}modal-width: #{$modal-lg};\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl {\n --#{$prefix}modal-width: #{$modal-xl};\n }\n}\n\n// scss-docs-start modal-fullscreen-loop\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n @include media-breakpoint-down($breakpoint) {\n .modal-fullscreen#{$postfix} {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n\n .modal-content {\n height: 100%;\n border: 0;\n @include border-radius(0);\n }\n\n .modal-header,\n .modal-footer {\n @include border-radius(0);\n }\n\n .modal-body {\n overflow-y: auto;\n }\n }\n }\n}\n// scss-docs-end modal-fullscreen-loop\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex;\n width: 100vw;\n height: 100vh;\n background-color: $backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $backdrop-opacity; }\n}\n","// Base class\n.tooltip {\n // scss-docs-start tooltip-css-vars\n --#{$prefix}tooltip-zindex: #{$zindex-tooltip};\n --#{$prefix}tooltip-max-width: #{$tooltip-max-width};\n --#{$prefix}tooltip-padding-x: #{$tooltip-padding-x};\n --#{$prefix}tooltip-padding-y: #{$tooltip-padding-y};\n --#{$prefix}tooltip-margin: #{$tooltip-margin};\n @include rfs($tooltip-font-size, --#{$prefix}tooltip-font-size);\n --#{$prefix}tooltip-color: #{$tooltip-color};\n --#{$prefix}tooltip-bg: #{$tooltip-bg};\n --#{$prefix}tooltip-border-radius: #{$tooltip-border-radius};\n --#{$prefix}tooltip-opacity: #{$tooltip-opacity};\n --#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width};\n --#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height};\n // scss-docs-end tooltip-css-vars\n\n z-index: var(--#{$prefix}tooltip-zindex);\n display: block;\n margin: var(--#{$prefix}tooltip-margin);\n @include deprecate(\"`$tooltip-margin`\", \"v5\", \"v5.x\", true);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size(var(--#{$prefix}tooltip-font-size));\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: var(--#{$prefix}tooltip-opacity); }\n\n .tooltip-arrow {\n display: block;\n width: var(--#{$prefix}tooltip-arrow-width);\n height: var(--#{$prefix}tooltip-arrow-height);\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top .tooltip-arrow {\n bottom: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list\n\n &::before {\n top: -1px;\n border-width: var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n border-top-color: var(--#{$prefix}tooltip-bg);\n }\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow {\n left: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list\n width: var(--#{$prefix}tooltip-arrow-height);\n height: var(--#{$prefix}tooltip-arrow-width);\n\n &::before {\n right: -1px;\n border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n border-right-color: var(--#{$prefix}tooltip-bg);\n }\n}\n\n/* rtl:end:ignore */\n\n.bs-tooltip-bottom .tooltip-arrow {\n top: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list\n\n &::before {\n bottom: -1px;\n border-width: 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height); // stylelint-disable-line function-disallowed-list\n border-bottom-color: var(--#{$prefix}tooltip-bg);\n }\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow {\n right: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list\n width: var(--#{$prefix}tooltip-arrow-height);\n height: var(--#{$prefix}tooltip-arrow-width);\n\n &::before {\n left: -1px;\n border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height); // stylelint-disable-line function-disallowed-list\n border-left-color: var(--#{$prefix}tooltip-bg);\n }\n}\n\n/* rtl:end:ignore */\n\n.bs-tooltip-auto {\n &[data-popper-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[data-popper-placement^=\"right\"] {\n @extend .bs-tooltip-end;\n }\n &[data-popper-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[data-popper-placement^=\"left\"] {\n @extend .bs-tooltip-start;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: var(--#{$prefix}tooltip-max-width);\n padding: var(--#{$prefix}tooltip-padding-y) var(--#{$prefix}tooltip-padding-x);\n color: var(--#{$prefix}tooltip-color);\n text-align: center;\n background-color: var(--#{$prefix}tooltip-bg);\n @include border-radius(var(--#{$prefix}tooltip-border-radius));\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n}\n",".popover {\n // scss-docs-start popover-css-vars\n --#{$prefix}popover-zindex: #{$zindex-popover};\n --#{$prefix}popover-max-width: #{$popover-max-width};\n @include rfs($popover-font-size, --#{$prefix}popover-font-size);\n --#{$prefix}popover-bg: #{$popover-bg};\n --#{$prefix}popover-border-width: #{$popover-border-width};\n --#{$prefix}popover-border-color: #{$popover-border-color};\n --#{$prefix}popover-border-radius: #{$popover-border-radius};\n --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};\n --#{$prefix}popover-box-shadow: #{$popover-box-shadow};\n --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};\n --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};\n @include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);\n --#{$prefix}popover-header-color: #{$popover-header-color};\n --#{$prefix}popover-header-bg: #{$popover-header-bg};\n --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};\n --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};\n --#{$prefix}popover-body-color: #{$popover-body-color};\n --#{$prefix}popover-arrow-width: #{$popover-arrow-width};\n --#{$prefix}popover-arrow-height: #{$popover-arrow-height};\n --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);\n // scss-docs-end popover-css-vars\n\n z-index: var(--#{$prefix}popover-zindex);\n display: block;\n max-width: var(--#{$prefix}popover-max-width);\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size(var(--#{$prefix}popover-font-size));\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: var(--#{$prefix}popover-bg);\n background-clip: padding-box;\n border: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n @include border-radius(var(--#{$prefix}popover-border-radius));\n @include box-shadow(var(--#{$prefix}popover-box-shadow));\n\n .popover-arrow {\n display: block;\n width: var(--#{$prefix}popover-arrow-width);\n height: var(--#{$prefix}popover-arrow-height);\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n }\n }\n}\n\n.bs-popover-top {\n > .popover-arrow {\n bottom: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n\n &::before,\n &::after {\n border-width: var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n }\n\n &::before {\n bottom: 0;\n border-top-color: var(--#{$prefix}popover-arrow-border);\n }\n\n &::after {\n bottom: var(--#{$prefix}popover-border-width);\n border-top-color: var(--#{$prefix}popover-bg);\n }\n }\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end {\n > .popover-arrow {\n left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n width: var(--#{$prefix}popover-arrow-height);\n height: var(--#{$prefix}popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n }\n\n &::before {\n left: 0;\n border-right-color: var(--#{$prefix}popover-arrow-border);\n }\n\n &::after {\n left: var(--#{$prefix}popover-border-width);\n border-right-color: var(--#{$prefix}popover-bg);\n }\n }\n}\n\n/* rtl:end:ignore */\n\n.bs-popover-bottom {\n > .popover-arrow {\n top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n\n &::before,\n &::after {\n border-width: 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height); // stylelint-disable-line function-disallowed-list\n }\n\n &::before {\n top: 0;\n border-bottom-color: var(--#{$prefix}popover-arrow-border);\n }\n\n &::after {\n top: var(--#{$prefix}popover-border-width);\n border-bottom-color: var(--#{$prefix}popover-bg);\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--#{$prefix}popover-arrow-width);\n margin-left: calc(-.5 * var(--#{$prefix}popover-arrow-width)); // stylelint-disable-line function-disallowed-list\n content: \"\";\n border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);\n }\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start {\n > .popover-arrow {\n right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n width: var(--#{$prefix}popover-arrow-height);\n height: var(--#{$prefix}popover-arrow-width);\n\n &::before,\n &::after {\n border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height); // stylelint-disable-line function-disallowed-list\n }\n\n &::before {\n right: 0;\n border-left-color: var(--#{$prefix}popover-arrow-border);\n }\n\n &::after {\n right: var(--#{$prefix}popover-border-width);\n border-left-color: var(--#{$prefix}popover-bg);\n }\n }\n}\n\n/* rtl:end:ignore */\n\n.bs-popover-auto {\n &[data-popper-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[data-popper-placement^=\"right\"] {\n @extend .bs-popover-end;\n }\n &[data-popper-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[data-popper-placement^=\"left\"] {\n @extend .bs-popover-start;\n }\n}\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: var(--#{$prefix}popover-header-padding-y) var(--#{$prefix}popover-header-padding-x);\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size(var(--#{$prefix}popover-header-font-size));\n color: var(--#{$prefix}popover-header-color);\n background-color: var(--#{$prefix}popover-header-bg);\n border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n @include border-top-radius(var(--#{$prefix}popover-inner-border-radius));\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: var(--#{$prefix}popover-body-padding-y) var(--#{$prefix}popover-body-padding-x);\n color: var(--#{$prefix}popover-body-color);\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-start,\n .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-start,\n .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n padding: 0;\n color: $carousel-control-color;\n text-align: center;\n background: none;\n border: 0;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg) #{\"/*rtl:\" + escape-svg($carousel-control-next-icon-bg) + \"*/\"};\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg) #{\"/*rtl:\" + escape-svg($carousel-control-prev-icon-bg) + \"*/\"};\n}\n\n// Optional indicator pips/controls\n//\n// Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n// like a button) with data-bs-target for each slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-bottom: 1rem;\n margin-left: $carousel-control-width;\n\n [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n padding: 0;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n border: 0;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) * .5;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) * .5;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n\n// Dark mode carousel\n\n@mixin carousel-dark() {\n .carousel-control-prev-icon,\n .carousel-control-next-icon {\n filter: $carousel-dark-control-icon-filter;\n }\n\n .carousel-indicators [data-bs-target] {\n background-color: $carousel-dark-indicator-active-bg;\n }\n\n .carousel-caption {\n color: $carousel-dark-caption-color;\n }\n}\n\n.carousel-dark {\n @include carousel-dark();\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark) {\n @if $color-mode-type == \"media-query\" {\n .carousel {\n @include carousel-dark();\n }\n } @else {\n .carousel,\n &.carousel {\n @include carousel-dark();\n }\n }\n }\n}\n","// scss-docs-start clearfix\n@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n// scss-docs-end clearfix\n","//\n// Rotating border\n//\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n width: var(--#{$prefix}spinner-width);\n height: var(--#{$prefix}spinner-height);\n vertical-align: var(--#{$prefix}spinner-vertical-align);\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: var(--#{$prefix}spinner-animation-speed) linear infinite var(--#{$prefix}spinner-animation-name);\n}\n\n// scss-docs-start spinner-border-keyframes\n@keyframes spinner-border {\n to { transform: rotate(360deg) #{\"/* rtl:ignore */\"}; }\n}\n// scss-docs-end spinner-border-keyframes\n\n.spinner-border {\n // scss-docs-start spinner-border-css-vars\n --#{$prefix}spinner-width: #{$spinner-width};\n --#{$prefix}spinner-height: #{$spinner-height};\n --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n --#{$prefix}spinner-border-width: #{$spinner-border-width};\n --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n --#{$prefix}spinner-animation-name: spinner-border;\n // scss-docs-end spinner-border-css-vars\n\n border: var(--#{$prefix}spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n // scss-docs-start spinner-border-sm-css-vars\n --#{$prefix}spinner-width: #{$spinner-width-sm};\n --#{$prefix}spinner-height: #{$spinner-height-sm};\n --#{$prefix}spinner-border-width: #{$spinner-border-width-sm};\n // scss-docs-end spinner-border-sm-css-vars\n}\n\n//\n// Growing circle\n//\n\n// scss-docs-start spinner-grow-keyframes\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n// scss-docs-end spinner-grow-keyframes\n\n.spinner-grow {\n // scss-docs-start spinner-grow-css-vars\n --#{$prefix}spinner-width: #{$spinner-width};\n --#{$prefix}spinner-height: #{$spinner-height};\n --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n --#{$prefix}spinner-animation-name: spinner-grow;\n // scss-docs-end spinner-grow-css-vars\n\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --#{$prefix}spinner-width: #{$spinner-width-sm};\n --#{$prefix}spinner-height: #{$spinner-height-sm};\n}\n\n@if $enable-reduced-motion {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed * 2};\n }\n }\n}\n","// stylelint-disable function-disallowed-list\n\n%offcanvas-css-vars {\n // scss-docs-start offcanvas-css-vars\n --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};\n --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};\n --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};\n --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};\n --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};\n --#{$prefix}offcanvas-color: #{$offcanvas-color};\n --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};\n --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};\n --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};\n --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};\n --#{$prefix}offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n --#{$prefix}offcanvas-title-line-height: #{$offcanvas-title-line-height};\n // scss-docs-end offcanvas-css-vars\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n .offcanvas#{$infix} {\n @extend %offcanvas-css-vars;\n }\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n .offcanvas#{$infix} {\n @include media-breakpoint-down($next) {\n position: fixed;\n bottom: 0;\n z-index: var(--#{$prefix}offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--#{$prefix}offcanvas-color);\n visibility: hidden;\n background-color: var(--#{$prefix}offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));\n @include transition(var(--#{$prefix}offcanvas-transition));\n\n &.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--#{$prefix}offcanvas-width);\n border-right: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n transform: translateX(-100%);\n }\n\n &.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--#{$prefix}offcanvas-width);\n border-left: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n transform: translateX(100%);\n }\n\n &.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--#{$prefix}offcanvas-height);\n max-height: 100%;\n border-bottom: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n transform: translateY(-100%);\n }\n\n &.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--#{$prefix}offcanvas-height);\n max-height: 100%;\n border-top: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n transform: translateY(100%);\n }\n\n &.showing,\n &.show:not(.hiding) {\n transform: none;\n }\n\n &.showing,\n &.hiding,\n &.show {\n visibility: visible;\n }\n }\n\n @if not ($infix == \"\") {\n @include media-breakpoint-up($next) {\n --#{$prefix}offcanvas-height: auto;\n --#{$prefix}offcanvas-border-width: 0;\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n .offcanvas-header {\n display: none;\n }\n\n .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n // Reset `background-color` in case `.bg-*` classes are used in offcanvas\n background-color: transparent !important; // stylelint-disable-line declaration-no-important\n }\n }\n }\n }\n}\n\n.offcanvas-backdrop {\n @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n\n .btn-close {\n padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);\n margin: calc(-.5 * var(--#{$prefix}offcanvas-padding-y)) calc(-.5 * var(--#{$prefix}offcanvas-padding-x)) calc(-.5 * var(--#{$prefix}offcanvas-padding-y)) auto;\n }\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: var(--#{$prefix}offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n overflow-y: auto;\n}\n",".placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: $placeholder-opacity-max;\n\n &.btn::before {\n display: inline-block;\n content: \"\";\n }\n}\n\n// Sizing\n.placeholder-xs {\n min-height: .6em;\n}\n\n.placeholder-sm {\n min-height: .8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n// Animation\n.placeholder-glow {\n .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n }\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: $placeholder-opacity-min;\n }\n}\n\n.placeholder-wave {\n mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n}\n","// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@each $color, $value in $theme-colors {\n .text-bg-#{$color} {\n color: color-contrast($value) if($enable-important-utilities, !important, null);\n background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);\n }\n}\n","// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n text-decoration-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n\n @if $link-shade-percentage != 0 {\n &:hover,\n &:focus {\n $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n color: RGBA(#{to-rgb($hover-color)}, var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n text-decoration-color: RGBA(to-rgb($hover-color), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n }\n }\n }\n}\n\n// One-off special link helper as a bridge until v6\n.link-body-emphasis {\n color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n\n @if $link-shade-percentage != 0 {\n &:hover,\n &:focus {\n color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, .75)) if($enable-important-utilities, !important, null);\n text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, .75)) if($enable-important-utilities, !important, null);\n }\n }\n}\n",".focus-ring:focus {\n outline: 0;\n // By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values\n box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);\n}\n",".icon-link {\n display: inline-flex;\n gap: $icon-link-gap;\n align-items: center;\n text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, .5));\n text-underline-offset: $icon-link-underline-offset;\n backface-visibility: hidden;\n\n > .bi {\n flex-shrink: 0;\n width: $icon-link-icon-size;\n height: $icon-link-icon-size;\n fill: currentcolor;\n @include transition($icon-link-icon-transition);\n }\n}\n\n.icon-link-hover {\n &:hover,\n &:focus-visible {\n > .bi {\n transform: var(--#{$prefix}icon-link-transform, $icon-link-icon-transform);\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n padding-top: var(--#{$prefix}aspect-ratio);\n content: \"\";\n }\n\n > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $aspect-ratios {\n .ratio-#{$key} {\n --#{$prefix}aspect-ratio: #{$ratio};\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top and bottom\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n\n .sticky#{$infix}-bottom {\n position: sticky;\n bottom: 0;\n z-index: $zindex-sticky;\n }\n }\n}\n","// scss-docs-start stacks\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n// scss-docs-end stacks\n","//\n// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n @include visually-hidden();\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n\n // Fix for positioned table caption that could become anonymous cells\n &:not(caption) {\n position: absolute !important;\n }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin visually-hidden-focusable() {\n &:not(:focus):not(:focus-within) {\n @include visually-hidden();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",".vr {\n display: inline-block;\n align-self: stretch;\n width: $vr-border-width;\n min-height: 1em;\n background-color: currentcolor;\n opacity: $hr-opacity;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/frontend/3p/bootstrap/bootstrap.min.js b/frontend/3p/bootstrap/bootstrap.min.js new file mode 100644 index 0000000..d5dc5ea --- /dev/null +++ b/frontend/3p/bootstrap/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const i=e(t),s=new Map,n={set(t,e,i){s.has(t)||s.set(t,new Map);const n=s.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>s.has(t)&&s.get(t).get(e)||null,remove(t,e){if(!s.has(t))return;const i=s.get(t);i.delete(e),0===i.size&&s.delete(t)}},o="transitionend",r=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),a=t=>{t.dispatchEvent(new Event(o))},l=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(r(t)):null,h=t=>{if(!l(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),u=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?u(t.parentNode):null},_=()=>{},g=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,m=[],p=()=>"rtl"===document.documentElement.dir,b=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of m)t()})),m.push(e)):e()},v=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,y=(t,e,i=!0)=>{if(!i)return void v(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let n=!1;const r=({target:i})=>{i===e&&(n=!0,e.removeEventListener(o,r),v(t))};e.addEventListener(o,r),setTimeout((()=>{n||a(e)}),s)},w=(t,e,i,s)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!i&&s?t[n-1]:t[0]:(o+=i?1:-1,s&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])},A=/[^.]*(?=\..*)\.|.*/,E=/\..*/,C=/::\d+$/,T={};let k=1;const $={mouseenter:"mouseover",mouseleave:"mouseout"},S=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${k++}`||t.uidEvent||k++}function O(t){const e=L(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function I(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function D(t,e,i){const s="string"==typeof e,n=s?i:e||i;let o=M(t);return S.has(o)||(o=t),[s,n,o]}function N(t,e,i,s,n){if("string"!=typeof e||!t)return;let[o,r,a]=D(e,i,s);if(e in $){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=O(t),c=l[a]||(l[a]={}),h=I(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=L(r,e.replace(A,"")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return F(n,{delegateTarget:r}),s.oneOff&&j.off(t,n.type,e,i),i.apply(r,[n])}}(t,i,r):function(t,e){return function i(s){return F(s,{delegateTarget:t}),i.oneOff&&j.off(t,s.type,e),e.apply(t,[s])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function P(t,e,i,s,n){const o=I(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function x(t,e,i,s){const n=e[i]||{};for(const[o,r]of Object.entries(n))o.includes(s)&&P(t,e,i,r.callable,r.delegationSelector)}function M(t){return t=t.replace(E,""),$[t]||t}const j={on(t,e,i,s){N(t,e,i,s,!1)},one(t,e,i,s){N(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,o,r]=D(e,i,s),a=r!==e,l=O(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))x(t,l,i,e.slice(1));for(const[i,s]of Object.entries(c)){const n=i.replace(C,"");a&&!e.includes(n)||P(t,l,r,s.callable,s.delegationSelector)}}else{if(!Object.keys(c).length)return;P(t,l,r,o,n?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=f();let n=null,o=!0,r=!0,a=!1;e!==M(e)&&s&&(n=s.Event(e,i),s(t).trigger(n),o=!n.isPropagationStopped(),r=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=F(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function F(t,e={}){for(const[i,s]of Object.entries(e))try{t[i]=s}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>s})}return t}function z(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function H(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${H(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${H(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const s of i){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=z(t.dataset[s])}return e},getDataAttribute:(t,e)=>z(t.getAttribute(`data-bs-${H(e)}`))};class q{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=l(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...l(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,n]of Object.entries(e)){const e=t[s],o=l(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${n}".`)}var i}}class W extends q{constructor(t,e){super(),(t=c(t))&&(this._element=t,this._config=this._getConfig(e),n.set(this._element,this.constructor.DATA_KEY,this))}dispose(){n.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){y(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return n.get(c(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const R=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>r(t))).join(","):null},K={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let s=t.parentNode.closest(e);for(;s;)i.push(s),s=s.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!d(t)&&h(t)))},getSelectorFromElement(t){const e=R(t);return e&&K.findOne(e)?e:null},getElementFromSelector(t){const e=R(t);return e?K.findOne(e):null},getMultipleElementsFromSelector(t){const e=R(t);return e?K.find(e):[]}},V=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),d(this))return;const n=K.getElementFromSelector(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()}))},Q=".bs.alert",X=`close${Q}`,Y=`closed${Q}`;class U extends W{static get NAME(){return"alert"}close(){if(j.trigger(this._element,X).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,Y),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=U.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}V(U,"close"),b(U);const G='[data-bs-toggle="button"]';class J extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=J.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}j.on(document,"click.bs.button.data-api",G,(t=>{t.preventDefault();const e=t.target.closest(G);J.getOrCreateInstance(e).toggle()})),b(J);const Z=".bs.swipe",tt=`touchstart${Z}`,et=`touchmove${Z}`,it=`touchend${Z}`,st=`pointerdown${Z}`,nt=`pointerup${Z}`,ot={endCallback:null,leftCallback:null,rightCallback:null},rt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class at extends q{constructor(t,e){super(),this._element=t,t&&at.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"swipe"}dispose(){j.off(this._element,Z)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),v(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&v(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(j.on(this._element,st,(t=>this._start(t))),j.on(this._element,nt,(t=>this._end(t))),this._element.classList.add("pointer-event")):(j.on(this._element,tt,(t=>this._start(t))),j.on(this._element,et,(t=>this._move(t))),j.on(this._element,it,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const lt=".bs.carousel",ct=".data-api",ht="next",dt="prev",ut="left",_t="right",gt=`slide${lt}`,ft=`slid${lt}`,mt=`keydown${lt}`,pt=`mouseenter${lt}`,bt=`mouseleave${lt}`,vt=`dragstart${lt}`,yt=`load${lt}${ct}`,wt=`click${lt}${ct}`,At="carousel",Et="active",Ct=".active",Tt=".carousel-item",kt=Ct+Tt,$t={ArrowLeft:_t,ArrowRight:ut},St={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Ot extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=K.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===At&&this.cycle()}static get Default(){return St}static get DefaultType(){return Lt}static get NAME(){return"carousel"}next(){this._slide(ht)}nextWhenVisible(){!document.hidden&&h(this._element)&&this.next()}prev(){this._slide(dt)}pause(){this._isSliding&&a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?j.one(this._element,ft,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,ft,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const s=t>i?ht:dt;this._slide(s,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&j.on(this._element,mt,(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,pt,(()=>this.pause())),j.on(this._element,bt,(()=>this._maybeEnableCycle()))),this._config.touch&&at.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of K.find(".carousel-item img",this._element))j.on(t,vt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ut)),rightCallback:()=>this._slide(this._directionToOrder(_t)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new at(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=$t[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=K.findOne(Ct,this._indicatorsElement);e.classList.remove(Et),e.removeAttribute("aria-current");const i=K.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Et),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),s=t===ht,n=e||w(this._getItems(),i,s,this._config.wrap);if(n===i)return;const o=this._getItemIndex(n),r=e=>j.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(gt).defaultPrevented)return;if(!i||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=s?"carousel-item-start":"carousel-item-end",c=s?"carousel-item-next":"carousel-item-prev";n.classList.add(c),g(n),i.classList.add(l),n.classList.add(l),this._queueCallback((()=>{n.classList.remove(l,c),n.classList.add(Et),i.classList.remove(Et,c,l),this._isSliding=!1,r(ft)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return K.findOne(kt,this._element)}_getItems(){return K.find(Tt,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ut?dt:ht:t===ut?ht:dt}_orderToDirection(t){return p()?t===dt?ut:_t:t===dt?_t:ut}static jQueryInterface(t){return this.each((function(){const e=Ot.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}j.on(document,wt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=K.getElementFromSelector(this);if(!e||!e.classList.contains(At))return;t.preventDefault();const i=Ot.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),j.on(window,yt,(()=>{const t=K.find('[data-bs-ride="carousel"]');for(const e of t)Ot.getOrCreateInstance(e)})),b(Ot);const It=".bs.collapse",Dt=`show${It}`,Nt=`shown${It}`,Pt=`hide${It}`,xt=`hidden${It}`,Mt=`click${It}.data-api`,jt="show",Ft="collapse",zt="collapsing",Ht=`:scope .${Ft} .${Ft}`,Bt='[data-bs-toggle="collapse"]',qt={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Rt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=K.find(Bt);for(const t of i){const e=K.getSelectorFromElement(t),i=K.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return qt}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Rt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(j.trigger(this._element,Dt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ft),this._element.classList.add(zt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(zt),this._element.classList.add(Ft,jt),this._element.style[e]="",j.trigger(this._element,Nt)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,Pt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,g(this._element),this._element.classList.add(zt),this._element.classList.remove(Ft,jt);for(const t of this._triggerArray){const e=K.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(zt),this._element.classList.add(Ft),j.trigger(this._element,xt)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(jt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=c(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Bt);for(const e of t){const t=K.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=K.find(Ht,this._config.parent);return K.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Rt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,Mt,Bt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of K.getMultipleElementsFromSelector(this))Rt.getOrCreateInstance(t,{toggle:!1}).toggle()})),b(Rt);const Kt="dropdown",Vt=".bs.dropdown",Qt=".data-api",Xt="ArrowUp",Yt="ArrowDown",Ut=`hide${Vt}`,Gt=`hidden${Vt}`,Jt=`show${Vt}`,Zt=`shown${Vt}`,te=`click${Vt}${Qt}`,ee=`keydown${Vt}${Qt}`,ie=`keyup${Vt}${Qt}`,se="show",ne='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',oe=`${ne}.${se}`,re=".dropdown-menu",ae=p()?"top-end":"top-start",le=p()?"top-start":"top-end",ce=p()?"bottom-end":"bottom-start",he=p()?"bottom-start":"bottom-end",de=p()?"left-start":"right-start",ue=p()?"right-start":"left-start",_e={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ge={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class fe extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=K.next(this._element,re)[0]||K.prev(this._element,re)[0]||K.findOne(re,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return _e}static get DefaultType(){return ge}static get NAME(){return Kt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(d(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!j.trigger(this._element,Jt,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(se),this._element.classList.add(se),j.trigger(this._element,Zt,t)}}hide(){if(d(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!j.trigger(this._element,Ut,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._popper&&this._popper.destroy(),this._menu.classList.remove(se),this._element.classList.remove(se),this._element.setAttribute("aria-expanded","false"),B.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,Gt,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!l(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Kt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===i)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:l(this._config.reference)?t=c(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=i.createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(se)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return de;if(t.classList.contains("dropstart"))return ue;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?le:ae:e?he:ce}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...v(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=K.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>h(t)));i.length&&w(i,e,t===Yt,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=K.find(oe);for(const i of e){const e=fe.getInstance(i);if(!e||!1===e._config.autoClose)continue;const s=t.composedPath(),n=s.includes(e._menu);if(s.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,s=[Xt,Yt].includes(t.key);if(!s&&!i)return;if(e&&!i)return;t.preventDefault();const n=this.matches(ne)?this:K.prev(this,ne)[0]||K.next(this,ne)[0]||K.findOne(ne,t.delegateTarget.parentNode),o=fe.getOrCreateInstance(n);if(s)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),n.focus())}}j.on(document,ee,ne,fe.dataApiKeydownHandler),j.on(document,ee,re,fe.dataApiKeydownHandler),j.on(document,te,fe.clearMenus),j.on(document,ie,fe.clearMenus),j.on(document,te,ne,(function(t){t.preventDefault(),fe.getOrCreateInstance(this).toggle()})),b(fe);const me="backdrop",pe="show",be=`mousedown.bs.${me}`,ve={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},ye={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class we extends q{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return ve}static get DefaultType(){return ye}static get NAME(){return me}show(t){if(!this._config.isVisible)return void v(t);this._append();const e=this._getElement();this._config.isAnimated&&g(e),e.classList.add(pe),this._emulateAnimation((()=>{v(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(pe),this._emulateAnimation((()=>{this.dispose(),v(t)}))):v(t)}dispose(){this._isAppended&&(j.off(this._element,be),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=c(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),j.on(t,be,(()=>{v(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const Ae=".bs.focustrap",Ee=`focusin${Ae}`,Ce=`keydown.tab${Ae}`,Te="backward",ke={autofocus:!0,trapElement:null},$e={autofocus:"boolean",trapElement:"element"};class Se extends q{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ke}static get DefaultType(){return $e}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),j.off(document,Ae),j.on(document,Ee,(t=>this._handleFocusin(t))),j.on(document,Ce,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,Ae))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=K.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Te?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Te:"forward")}}const Le=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Oe=".sticky-top",Ie="padding-right",De="margin-right";class Ne{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ie,(e=>e+t)),this._setElementAttributes(Le,Ie,(e=>e+t)),this._setElementAttributes(Oe,De,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ie),this._resetElementAttributes(Le,Ie),this._resetElementAttributes(Oe,De)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(l(t))e(t);else for(const i of K.find(t,this._element))e(i)}}const Pe=".bs.modal",xe=`hide${Pe}`,Me=`hidePrevented${Pe}`,je=`hidden${Pe}`,Fe=`show${Pe}`,ze=`shown${Pe}`,He=`resize${Pe}`,Be=`click.dismiss${Pe}`,qe=`mousedown.dismiss${Pe}`,We=`keydown.dismiss${Pe}`,Re=`click${Pe}.data-api`,Ke="modal-open",Ve="show",Qe="modal-static",Xe={backdrop:!0,focus:!0,keyboard:!0},Ye={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ue extends W{constructor(t,e){super(t,e),this._dialog=K.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ne,this._addEventListeners()}static get Default(){return Xe}static get DefaultType(){return Ye}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,Fe,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Ke),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(j.trigger(this._element,xe).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Ve),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){j.off(window,Pe),j.off(this._dialog,Pe),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new we({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Se({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=K.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),g(this._element),this._element.classList.add(Ve),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,ze,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){j.on(this._element,We,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),j.on(window,He,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),j.on(this._element,qe,(t=>{j.one(this._element,Be,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Ke),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,je)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,Me).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Qe)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Qe),this._queueCallback((()=>{this._element.classList.remove(Qe),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ue.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,Re,'[data-bs-toggle="modal"]',(function(t){const e=K.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,Fe,(t=>{t.defaultPrevented||j.one(e,je,(()=>{h(this)&&this.focus()}))}));const i=K.findOne(".modal.show");i&&Ue.getInstance(i).hide(),Ue.getOrCreateInstance(e).toggle(this)})),V(Ue),b(Ue);const Ge=".bs.offcanvas",Je=".data-api",Ze=`load${Ge}${Je}`,ti="show",ei="showing",ii="hiding",si=".offcanvas.show",ni=`show${Ge}`,oi=`shown${Ge}`,ri=`hide${Ge}`,ai=`hidePrevented${Ge}`,li=`hidden${Ge}`,ci=`resize${Ge}`,hi=`click${Ge}${Je}`,di=`keydown.dismiss${Ge}`,ui={backdrop:!0,keyboard:!0,scroll:!1},_i={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class gi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return ui}static get DefaultType(){return _i}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,ni,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ne).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ei),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(ti),this._element.classList.remove(ei),j.trigger(this._element,oi,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,ri).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ii),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(ti,ii),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ne).reset(),j.trigger(this._element,li)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new we({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():j.trigger(this._element,ai)}:null})}_initializeFocusTrap(){return new Se({trapElement:this._element})}_addEventListeners(){j.on(this._element,di,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():j.trigger(this._element,ai))}))}static jQueryInterface(t){return this.each((function(){const e=gi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,hi,'[data-bs-toggle="offcanvas"]',(function(t){const e=K.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this))return;j.one(e,li,(()=>{h(this)&&this.focus()}));const i=K.findOne(si);i&&i!==e&&gi.getInstance(i).hide(),gi.getOrCreateInstance(e).toggle(this)})),j.on(window,Ze,(()=>{for(const t of K.find(si))gi.getOrCreateInstance(t).show()})),j.on(window,ci,(()=>{for(const t of K.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&gi.getOrCreateInstance(t).hide()})),V(gi),b(gi);const fi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},mi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),pi=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,bi=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!mi.has(i)||Boolean(pi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},vi={allowList:fi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},wi={entry:"(string|element|function|null)",selector:"(string|element)"};class Ai extends q{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return vi}static get DefaultType(){return yi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},wi)}_setContent(t,e,i){const s=K.findOne(i,t);s&&((e=this._resolvePossibleFunction(e))?l(e)?this._putElementInTemplate(c(e),s):this._config.html?s.innerHTML=this._maybeSanitize(e):s.textContent=e:s.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const s=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...s.body.querySelectorAll("*"));for(const t of n){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const s=[].concat(...t.attributes),n=[].concat(e["*"]||[],e[i]||[]);for(const e of s)bi(e,n)||t.removeAttribute(e.nodeName)}return s.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return v(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ei=new Set(["sanitize","allowList","sanitizeFn"]),Ci="fade",Ti="show",ki=".modal",$i="hide.bs.modal",Si="hover",Li="focus",Oi={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},Ii={allowList:fi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},Di={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Ni extends W{constructor(t,e){if(void 0===i)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Ii}static get DefaultType(){return Di}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ki),$i,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.eventName("show")),e=(u(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(i),j.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(Ti),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._queueCallback((()=>{j.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!j.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Ti),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._activeTrigger.click=!1,this._activeTrigger[Li]=!1,this._activeTrigger[Si]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Ci,Ti),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Ci),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ai({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ci)}_isShown(){return this.tip&&this.tip.classList.contains(Ti)}_createPopper(t){const e=v(this._config.placement,[this,t,this._element]),s=Oi[e.toUpperCase()];return i.createPopper(this._element,t,this._getPopperConfig(s))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return v(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...v(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)j.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===Si?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===Si?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");j.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Li:Si]=!0,e._enter()})),j.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Li:Si]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ki),$i,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ei.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:c(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(Ni);const Pi={...Ni.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},xi={...Ni.DefaultType,content:"(null|string|element|function)"};class Mi extends Ni{static get Default(){return Pi}static get DefaultType(){return xi}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=Mi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(Mi);const ji=".bs.scrollspy",Fi=`activate${ji}`,zi=`click${ji}`,Hi=`load${ji}.data-api`,Bi="active",qi="[href]",Wi=".nav-link",Ri=`${Wi}, .nav-item > ${Wi}, .list-group-item`,Ki={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Vi={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Qi extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Ki}static get DefaultType(){return Vi}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=c(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(j.off(this._config.target,zi),j.on(this._config.target,zi,qi,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,s=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:s,behavior:"smooth"});i.scrollTop=s}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},s=(this._rootElement||document.documentElement).scrollTop,n=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(i(o),!s)return}else n||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=K.find(qi,this._config.target);for(const e of t){if(!e.hash||d(e))continue;const t=K.findOne(decodeURI(e.hash),this._element);h(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Bi),this._activateParents(t),j.trigger(this._element,Fi,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))K.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Bi);else for(const e of K.parents(t,".nav, .list-group"))for(const t of K.prev(e,Ri))t.classList.add(Bi)}_clearActiveClass(t){t.classList.remove(Bi);const e=K.find(`${qi}.${Bi}`,t);for(const t of e)t.classList.remove(Bi)}static jQueryInterface(t){return this.each((function(){const e=Qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,Hi,(()=>{for(const t of K.find('[data-bs-spy="scroll"]'))Qi.getOrCreateInstance(t)})),b(Qi);const Xi=".bs.tab",Yi=`hide${Xi}`,Ui=`hidden${Xi}`,Gi=`show${Xi}`,Ji=`shown${Xi}`,Zi=`click${Xi}`,ts=`keydown${Xi}`,es=`load${Xi}`,is="ArrowLeft",ss="ArrowRight",ns="ArrowUp",os="ArrowDown",rs="Home",as="End",ls="active",cs="fade",hs="show",ds=".dropdown-toggle",us=`:not(${ds})`,_s='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',gs=`.nav-link${us}, .list-group-item${us}, [role="tab"]${us}, ${_s}`,fs=`.${ls}[data-bs-toggle="tab"], .${ls}[data-bs-toggle="pill"], .${ls}[data-bs-toggle="list"]`;class ms extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),j.on(this._element,ts,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?j.trigger(e,Yi,{relatedTarget:t}):null;j.trigger(t,Gi,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(ls),this._activate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),j.trigger(t,Ji,{relatedTarget:e})):t.classList.add(hs)}),t,t.classList.contains(cs)))}_deactivate(t,e){t&&(t.classList.remove(ls),t.blur(),this._deactivate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),j.trigger(t,Ui,{relatedTarget:e})):t.classList.remove(hs)}),t,t.classList.contains(cs)))}_keydown(t){if(![is,ss,ns,os,rs,as].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!d(t)));let i;if([rs,as].includes(t.key))i=e[t.key===rs?0:e.length-1];else{const s=[ss,os].includes(t.key);i=w(e,t.target,s,!0)}i&&(i.focus({preventScroll:!0}),ms.getOrCreateInstance(i).show())}_getChildren(){return K.find(gs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=K.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const s=(t,s)=>{const n=K.findOne(t,i);n&&n.classList.toggle(s,e)};s(ds,ls),s(".dropdown-menu",hs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(ls)}_getInnerElement(t){return t.matches(gs)?t:K.findOne(gs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=ms.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,Zi,_s,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this)||ms.getOrCreateInstance(this).show()})),j.on(window,es,(()=>{for(const t of K.find(fs))ms.getOrCreateInstance(t)})),b(ms);const ps=".bs.toast",bs=`mouseover${ps}`,vs=`mouseout${ps}`,ys=`focusin${ps}`,ws=`focusout${ps}`,As=`hide${ps}`,Es=`hidden${ps}`,Cs=`show${ps}`,Ts=`shown${ps}`,ks="hide",$s="show",Ss="showing",Ls={animation:"boolean",autohide:"boolean",delay:"number"},Os={animation:!0,autohide:!0,delay:5e3};class Is extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Os}static get DefaultType(){return Ls}static get NAME(){return"toast"}show(){j.trigger(this._element,Cs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(ks),g(this._element),this._element.classList.add($s,Ss),this._queueCallback((()=>{this._element.classList.remove(Ss),j.trigger(this._element,Ts),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(j.trigger(this._element,As).defaultPrevented||(this._element.classList.add(Ss),this._queueCallback((()=>{this._element.classList.add(ks),this._element.classList.remove(Ss,$s),j.trigger(this._element,Es)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($s),super.dispose()}isShown(){return this._element.classList.contains($s)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,bs,(t=>this._onInteraction(t,!0))),j.on(this._element,vs,(t=>this._onInteraction(t,!1))),j.on(this._element,ys,(t=>this._onInteraction(t,!0))),j.on(this._element,ws,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Is.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return V(Is),b(Is),{Alert:U,Button:J,Carousel:Ot,Collapse:Rt,Dropdown:fe,Modal:Ue,Offcanvas:gi,Popover:Mi,ScrollSpy:Qi,Tab:ms,Toast:Is,Tooltip:Ni}})); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/frontend/3p/bootstrap/bootstrap.min.js.map b/frontend/3p/bootstrap/bootstrap.min.js.map new file mode 100644 index 0000000..4d43715 --- /dev/null +++ b/frontend/3p/bootstrap/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","possibleCallback","args","defaultValue","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","value","_unused","defineProperty","configurable","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","prototype","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","EVENT_CLOSE","EVENT_CLOSED","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","autoClose","boundary","display","offset","popperConfig","reference","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","destroy","update","Popper","referenceElement","_getPopperConfig","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","modifiers","options","enabled","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","scrollTop","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","scroll","Offcanvas","blur","completeCallback","position","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","allowList","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","fallbackPlacements","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","phase","state","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","Popover","_getContent","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","top","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","HOME_KEY","END_KEY","SELECTOR_DROPDOWN_TOGGLE","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.3'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin, isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin, getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n item.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _clearActiveClass(parent) {\n parent.classList.remove(CLASS_NAME_ACTIVE)\n\n const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n for (const node of activeNodes) {\n node.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = ScrollSpy.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n ScrollSpy.getOrCreateInstance(spy)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(ScrollSpy)\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n constructor(element) {\n super(element)\n this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n if (!this._parent) {\n return\n // TODO: should throw exception in v6\n // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n }\n\n // Set up initial aria attributes\n this._setInitialAttributes(this._parent, this._getChildren())\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n show() { // Shows this elem and deactivate the active sibling if exists\n const innerElem = this._element\n if (this._elemIsActive(innerElem)) {\n return\n }\n\n // Search for active tab on same parent to deactivate it\n const active = this._getActiveElem()\n\n const hideEvent = active ?\n EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n null\n\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n return\n }\n\n this._deactivate(active, innerElem)\n this._activate(innerElem, active)\n }\n\n // Private\n _activate(element, relatedElem) {\n if (!element) {\n return\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n\n this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW)\n return\n }\n\n element.removeAttribute('tabindex')\n element.setAttribute('aria-selected', true)\n this._toggleDropDown(element, true)\n EventHandler.trigger(element, EVENT_SHOWN, {\n relatedTarget: relatedElem\n })\n }\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n }\n\n _deactivate(element, relatedElem) {\n if (!element) {\n return\n }\n\n element.classList.remove(CLASS_NAME_ACTIVE)\n element.blur()\n\n this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.remove(CLASS_NAME_SHOW)\n return\n }\n\n element.setAttribute('aria-selected', false)\n element.setAttribute('tabindex', '-1')\n this._toggleDropDown(element, false)\n EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n }\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n }\n\n _keydown(event) {\n if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n return\n }\n\n event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n event.preventDefault()\n\n const children = this._getChildren().filter(element => !isDisabled(element))\n let nextActiveElement\n\n if ([HOME_KEY, END_KEY].includes(event.key)) {\n nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n } else {\n const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n }\n\n if (nextActiveElement) {\n nextActiveElement.focus({ preventScroll: true })\n Tab.getOrCreateInstance(nextActiveElement).show()\n }\n }\n\n _getChildren() { // collection of inner elements\n return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n }\n\n _getActiveElem() {\n return this._getChildren().find(child => this._elemIsActive(child)) || null\n }\n\n _setInitialAttributes(parent, children) {\n this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n for (const child of children) {\n this._setInitialAttributesOnChild(child)\n }\n }\n\n _setInitialAttributesOnChild(child) {\n child = this._getInnerElement(child)\n const isActive = this._elemIsActive(child)\n const outerElem = this._getOuterElement(child)\n child.setAttribute('aria-selected', isActive)\n\n if (outerElem !== child) {\n this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n }\n\n if (!isActive) {\n child.setAttribute('tabindex', '-1')\n }\n\n this._setAttributeIfNotExists(child, 'role', 'tab')\n\n // set attributes to the related panel too\n this._setInitialAttributesOnTargetPanel(child)\n }\n\n _setInitialAttributesOnTargetPanel(child) {\n const target = SelectorEngine.getElementFromSelector(child)\n\n if (!target) {\n return\n }\n\n this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n if (child.id) {\n this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n }\n }\n\n _toggleDropDown(element, open) {\n const outerElem = this._getOuterElement(element)\n if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n return\n }\n\n const toggle = (selector, className) => {\n const element = SelectorEngine.findOne(selector, outerElem)\n if (element) {\n element.classList.toggle(className, open)\n }\n }\n\n toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n outerElem.setAttribute('aria-expanded', open)\n }\n\n _setAttributeIfNotExists(element, attribute, value) {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value)\n }\n }\n\n _elemIsActive(elem) {\n return elem.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n // Try to get the inner element (usually the .nav-link)\n _getInnerElement(elem) {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n }\n\n // Try to get the outer element (usually the .nav-item)\n _getOuterElement(elem) {\n return elem.closest(SELECTOR_OUTER) || elem\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tab.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element)\n }\n})\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tab)\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin, reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Toast.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Dropdown from './src/dropdown.js'\nimport Modal from './src/modal.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/frontend/3p/leaflet/images/layers-2x.png b/frontend/3p/leaflet/images/layers-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..200c333dca9652ac4cba004d609e5af4eee168c1 GIT binary patch literal 1259 zcmeAS@N?(olHy`uVBq!ia0y~yU@!q;4i*LmhWx_I2@DJ@n><|{Ln;`Pe)y|<v`zE6 z<`rfYVRE=E+<w8gO%1uyy^AaQX3k_eeugK>cT4BSrpMM7AKE|dn|XR+k!t#k(tv`Q zFW(sEd!8~#>$+9`f9l__#fF!KZ}B_rzo8eC{r}xGzO@x)!A}C+%Y(`<1s-2^LiGH- zNefThzU1_3Qe}!q>B&sRiQ8E#H9j`Wp1zeElOM1<_xPqG{7q&i{}sRA|NWDBa`yhi zf4~1}Z!&l?D{`K~v~Df`g0pk31-#L={QUP&^~BTfPt276eJZ4F#<Vr}OLp%G)4MzG ztF*A$PQ}~huWqeNiHx1TxHA3oIlcBTF`IT>OLLkrWm<1w?G}$K(_Zg>&?>%<J9lRg zyYMzcFSi*j)1qeYS!8_q{pX~Jy7=^EcOtWeIfdJV?C$K_6Kj{8z4Ghb4~I1F_fET& zw{rj8ZMBt$+BYdKbN!h<KUnP1jN|pUxOe_pe%tob6}#o1_=VGCiq2_yoBTWwG@GyM z>7rSDWy?-oPVGDw+3f6ddKzommMznMtmE1m^mE;|X)^@3r5^M>q%(7WwwkhRUVZzX zFui*B_UL;{ERE{7ySzCa{A5c-^`03^s-Cnw)fD`#!?J7Jk{=GMTBd1ws=RS{H7RMA z+lH2N3m&&zxMt!%-Q)BVRe@_$r#$1#RlV@>f}~i)v%B7(D}^uiKE0`=J9&~rL}git za^vjh=XaOCc>eeO>kuD~_nyZSSrR*<FYWAgIQoBI-h&knIdzX-mgYUg^u)JXtv{OM z;)gF;n!Nrz{CAiAUorp6!o_lB5s@D+EVEfuc<a=r;@RgOJ(Dk#=6_q~zW$Qo8Yi7s z)uvp1zGW@KT<V?DTnqa{uD&bRS?wjIFU{xFEG?*@<N9(*nwO>HoRZ?^jT=9HS|#-C z#I0=$9oqx1b}%c7@V%LR;e=gTTa&<X&yCs6&0BLj7F&Lu`gW0`c=5sX4V8Cho_(WK z_PkGOWzPIy{h|`hoiW@Jx&IYq6BX7t^}h7rov&K9bo1>Q*O*Q|E%7{caZdK)_+ZJf zZ?&H!g%0t3zQ`e9eahh1=NZBi3YOTd+htU}IKfpW%e~b`fYbPb(yyJ0eX|!$;Jmtc zpGlI(Uq{=OPOf@MjvXyZfAUxkxkT|?T2R1T7_4W$NpIDXdncV=-Og(5O3XcC)5tQ> zz+Ah^=e$i`pnF#TudS&IcRlWTsKE8W$-*hoo%u=2$;`|LE*k2wcM@{W?B28Hj1!|( z?&`3_D`smL6xn7gD*L#dPAd}*D+qeymA_@1k^7b7fk)o?9(Qdv5?I?{*Qdo6H_a$Z zWx4ILe&t;!1-}-TBu7TxOI@rh@5%8t*~M7);;#tq)bxD@K>`uh2LySGU20__qc2Mz zz5e8&(8Q{b_nT$qIxJK3ZwNANm$G;z+!`QW&+ygqZIXsCQ=*b?Q`wxE@t%9{h$R(y z`}7A0eZ8=B>r+-n=MV*-1+Ej;cKH>13)vbyyUbGSW~KP1V^g_>mQb1#clPCv9d}vs ze&jIq>z1(p^?bgvyl$yv;<GImc>Vr)mizp0?3uUtD~sA1FSi+%x^t@XE}h@-tYzk9 zqoeJq#fQ#h%zQM#GO;LXnVpKdkC%5qo68}Ws3tQNA+-xadlV-caB*y5$@Ne<GexZU bFaM^C#|uBoIzMG#U|{fc^>bP0l+XkKIZj$K literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/images/layers.png b/frontend/3p/leaflet/images/layers.png new file mode 100644 index 0000000000000000000000000000000000000000..1a72e5784b2b456eac5d7670738db80697af3377 GIT binary patch literal 696 zcmeAS@N?(olHy`uVBq!ia0y~yV2}b~4i*Lm24?3LR|W>AdQTU}kP61$5aS9JMv;5A zx9={r3D-Qo$}jd-@Kme(q}h{gk8N9f^YEHSI?4X$wi&*^XXUqVf93n@6)G0|HB0O+ z{oGRd;!&;aKiPjre@~N1y8by_{oP(ApF5A&Z+bmlV3plXX<tV6s>Q4Q^(0Q+y~?G3 z!a`R6-Bzb}>nxoMS3g;|c>CL9(`O!9VDQ7}^1l9i({>+QJ4<j?!NqpV-Sa;@wm)9L zbG+W};oLQLYYrV1^t!pQta?($^m)^L_AF>%7S^9P-Qtwc)jUmWjVlF-6H4cVyjqg@ zMm}=+<NHe<rmnhce8Mbd!jG-nZgwp9eH?$nNd4G;o7_#iZUy~~QhhglrsB334FMJ* z@fHOR)*MUYCv`K|d2VYBZR;#rB;F=-*d<K!w$t?`)+^s$f27=VZ1;-!<_pwKXT?Na z`S#k+>(G^1+f9<przIIod+^~5gQ4n@DU+PNFYMtBp1uC$l$Ec<&bmmeC5dP)cb#%X zWm1x+m~m*&$s*s0vlsv9sGl=a%_P}kS>k%t3*NyNhGDITISixbZs=XtX?<#@#To^} zllR&yC7Q0b2+Ufee$_3@VyDHEwjITj6hhx>ORdzOd~VN~YpdKO9dmD=@;Ir&?!Ka0 ze9@!>sms1^+w^n(%oWF3dR*t__<cB{GU3onMYUCu%rn+=UUTl5zH-NW4=2O6pzP_Y z7hHoi48xY@9Es*O+;H#Xw8M!3ZQ9ay(f%eg*Oaydfb9LD>&0jzGw-8qqez~?-<4~x zU6bljyRxA4^qUU`2YDx)`}y=x*@+KtSBac>;qcY?zuAd~x7`1fA4n|jeLTA^%I{0R z&%u&I8&&`GCa_jieR-P2?K98qLyM^QzxM~_R<vo|Fy8)4-b`~5`=z_GeGCi?44$rj JF6*2UngI0JPVN8z literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/images/marker-icon-2x.png b/frontend/3p/leaflet/images/marker-icon-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..88f9e501888c9c6cb29ad340d9a888627dd1b6d8 GIT binary patch literal 2464 zcmeAS@N?(olHy`uVBq!ia0y~yU@&4}U<l%1W?*1Y6fM8Wz`*o9z$e7jC$rGFa-~`Q zCX41B=FQvnvS%1qtgvaBW!|*SqItV{(^iv)O=fi)O-dK&<xDqg++t9^#JFOmS;J=C z^4W$Zi}bQ*nAUADtKVc)y4a+8jal6~)0(xWRjbUKcIf5I(9NE1ShC2peuGiz5~I?^ zhQ$l@a%Sk~%rq#Rr<Xg^pkR((?hL)0=|*KsjY<|7W`WqcIn(uWr|acR*Uy;-B6DZz z<xJPjnXU^GoMBeKK`&>zHi!*UqnACyylI<B-Fm$o5Z7hmMT538R^8|I+s^2<p4MwQ z?bvfdx8<~U^J(p-(^g&QwHi;`bYHOTIHuctTC?$#M#CxV*2C%zr_}3Dsn(scXxgt* zd(yJwymHM+i;nY()hA8sc3F2_P^da-)^=X5@`Q2Cc8$8zvK1#xTF=RppD=4ZZCJ5I zy6l8x=?TM%O=`8Lja$y@m##BxJZao=&anBMLH#kqrgM5FtMzM-=oPI9nR~@==4I2G zwFZUr_4DVLRILh_ec8BTMfifNF-xx*l`IaMe>HN^Rj+B6T>B0g6wD2rb>45<N$*(~ z|NsAQH}QPj(rd=$%cB=xb)Rt9tbU{Wj0;Xv&Ks32jahQdwr!Vr!)Du-?Z%ZW17@Bv zuU%(Vzrm(qvtjWf^U4)Q#S1;AUh<iKDQM1>pm~>lr(g1)bIG-PU&x&EkqfVSO*&yS z;hbgfS=;Jm?$a(hPCjqmxW%!3m-FO{289cX=kK>@-tIN=m|6E(zuA|q`_Fk#J#X4| z*0y<zMbkF>{tG5mYrJM&be(p=rT6IlmmfW5UU2Hz<2n7J+mwrr-TRF?&V<grsGm2> zs_)#7Uw`VB9X@~mmHni1?h{YB&A71m;5DZS7tY*$5wYNs%e3=LkK8nDKjS{>tX=Pg zt!M9fH?R8l@Bi^z&p&_vW!`i4?dR`v_g=Q2d_K5+tzXB6px$jMQ@2gtej$F@_2e0Q z9Xb!V_n&Z^e9@s{ZR~{2!982zCT(|`dj84V&nBH`ww%75u>873@7dlh=bfjXH|{(W z7d!Ji0|SF|NswPKgN%7_eosI1qqlQh)VQ0z2_?Q_-+JKUU7huPe~$OxD4((Q%=1rn z?q4@-&3bU7T<pikMN`cFs+`>sbLBvg!I5S2dYWD;2#S7ZU|<vVba4!+h+A{zdXb2` z1nYyig-nVroZM3dj;#|?NG|ZyKQOgo&AXF@#pf*5pUx>h_he3U@wtzOHt*icIpHmL zy?Ai&|Ch$MFYn&^pnlOR%aGe&>)tMux+?e~{z}Q!-sv)H?Z4&ghKAqWlXPcq>ejrS z$BVzazm`65urEF{ge%(WbpDLf>%-W3W7Q8Z-diaxRrFdX{@IL*dsFs5{QGX<!ezI% z=e<wad)#=vvF4JLsQt?>yq<hltu^o7W6NrpJr9qh_PggA&eZYz8@03~FYRkZRLBEU z-sL%FvgdbC`ewdF*XI5A8?&+;L_;U%YMlQ3=+@co5#FC_%I;me5mg$ZyY1(0z3^Yp z7?;JY+Z}g%<*8<CS&p>WOP4-1PE)zwr(UqLCNG@BDShIb@BbQOH~rvz6x(1rM{&)h zCI2^1ie0}woOhbaNv}DX8hPC_CNKHouloIxr(aOX;V(s%tEQ{y7mEGo6BjSNdm(Vs z!BXu_x9&`h);d4=?!Ti)lNFxZ-a1{#+&m+>>+vSZ{Dx(nJA39omT)(Wd}d*OchY}> zS=Wlr9G}5lbce-J`;++A6P>4z=5$@YRO0(?M@{jf7aF}sW!InoesgvD`S0uR{y+7c zJM*Z^%fdw#&#l*lSVe4|v9FI;Blz0)<NFlfzx>M}eM4}1S7y|fO|lGIHmwo6)ysN) z@`Y2E&hx0QzQ6Ic0N<k<d|P#Hb6K5r<mlbYDjncGd%r<QMUL5Pg+m(!4=va!EMvA? z@p8AKMb1CQ_gvD(?Fox!_-j^5Tf9BvVA89aaG~;az|+3Ttrt3qS&Yx66`WhyCS8%# z!nyf#RO!>5mtVH?#oTPjdTv<|H^U?6ohXl5NmKFtfVaU1XGt93HWL;;RCz(~i-B@2 ztMZwa3;7ji`<>cuYUsWYyyfT~aW>~)Ttdp0haa*^A7`rEIn48j^>mNb9mZLUU;Dgq zb(BBsvZ#Nx_Uel(roBAMoph#Zi{zHxs=z<2V(tqsuD&`oda+<j*Up|ji*pxD=FwPu zvdMRe+TwC8Y5VV!4|~izBEU6a?gQpYa~$_>X07I6J*oa%H2;&Oq~}6b8UMv1o^cHB zw@!+h7<Kn9kZk<3uY^hexW^{;qo-bS{e0-jpqJ&e@`nD69G#_VrWeEYKi_|}{;$;8 z0xi2ppQj-n#hTxr`*MD)xE~)8Z&Ro26nJIw#?|vPG`u1@k5_9OHU9Egxk4k$b>H6D zE$XK?O<(fKWT9kaoQA9NCob2O4UaD6IrQb)Yuwtmc1m82EZ4gF#as5z)n(u0^CphP zQoO8O{?ujuQ*uXBbiS=f+M{6qXZNIC-#wKX9$WmgkWlOGG%UQt>8v8C#bLHj^{?#p zq^}Oqw=ccclsgm}$Rb#}qSsU0T>Y|%q3Of?gq$MZT@r_@Zu{PyecS50-wK8AYV-e2 zfB!+nf3KYzTfhAMRX%I(>aI5GIrFb~>*ZDV4V`!wuLxajKX3Ps*sJFZ{dk2L|LmL? zzat=TpVAF?U;l!InHzU3j`scC<oQdVMJMZxxBIGZ+z&N(i65ML?8tPPBPMT+7hN%0 zn=WxJbCFSZ!}KT{|H7jNA5)_Z+bj<YY@Kar6muwSQe>uEl+urt8mrgm91(dc6j+tP z6A`%Mx>-aj?~J8<#TLO+mYPp{<aWe;?w<0Q+o$z-RLt;Mv}3~4r{!W{sXwJYr-(6K zOF5Ty=#=K;4`MYtLarXEo*Wvw_ZU;8B%kuqPtQ1)FB6!d<o$WaHDh@zoz+>qlT&iN z&a1S3<*O-TZj{@!u_4N6X2lK<m7D%ARIP0pms~oOw!74BZ{q`&o3mVcz1452cbb%U z)on5tJiw-&7G=ho$9<5o=t6h#yz|fArB>eSu#n_P@}6L{b6Jl@&cjG~%U8!&Dx}z( zrMAAcayuD$-&lEawocKa4aqJsJ&X3~rhP8ov`9`;z3BX#j-a~m>C=zc{$M|Ob;m?a ziOFe4?k<q8zO--N$@ku_KWtt4Pfby=4W8h2z{IvKo#klrr+0Zj7jy`2_jrAG+NoBj zoh)Z2bYI)8JFV2!<;BLdhQnS@FNhQh9SmGr^hCyR|Lw=g2|c?E+9wP11e));P`Oe& rP{HdiC!^x4N$1_~&YG(#{hxuOE!-i)SW}9Dfq}u()z4*}Q$iB}i0Z+t literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/images/marker-icon.png b/frontend/3p/leaflet/images/marker-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..950edf24677ded147df13b26f91baa2b0fa70513 GIT binary patch literal 1466 zcmeAS@N?(olHy`uVBq!ia0y~yV31^BV9?}XV_;x7FuCa*0|RTLr;B4q1>@Rq<_XD> zB4=;4Zhd?AM&|77+xND~`rPKZmAu(>+oP1++ovkt{rkN7+x4_tFaL!ukK6nGo$YfQ z^*v9n8!cmLEqlSVG%sR-0gvk<o|O{2GFI&rF4N*=-oAoIIW+6=hwEB@1u{>$*DRbW z{m-p)*DZrjd!y_xaa_#o*4U(@uKo4!Pp!ij7T!1}%l>}rjh7!Q-(N81zW?~clRw*E z{?k)GYWmiy#bRlmL;oJl&J$aiudgm)F0-iHas2Qk`y1cI?%sa8bcrAT(b;!%I<0P9 z{GTy@w!r#Jyj6z3I9)}Su6`_XYb*QXS!FV5bHD9z{itSs)R*aqqTRyE=Ymg+ZNB$v zHnpZ&)$hNave^Ci{e>)>+mm|UX)=F2arlas*Y!VZ^`gp;W=x!PmHFb<*?e}lzMCE0 zvRk9d<U-#>-y7$jUC*^W@geu4@I-OlYNyz3uMQ~hJ@ZAvR^;ZhPs}lPSAO%o7BSQa zbpPGC@q~NNuAHs@aeMx#hPkYYE#J1MVCVaHeA;*K{uFcFvg=QSSx&=`UA`hqVtqd? zdYU5{zPVBEP0{7r*yQI8{Cgfe_xwDKZM9d}j|Vzyjy`R7nLK@io8wY#kL`E7<ZHiM z%i2}-*!_R$ze>Jf<68x9vugLJO(0z-KZ&Qdg!24aAb07_69#wwGGo2xYnJYN`~G6Y z{f5WJTvyi~d3Pw}=hJ5XJrB~|HdTa{+%+rHYo0wvW<#>j?DETdO_@vH{3w)qU%ji; z_NZx&{M3G{ii77TKhyiAxALr4;M%-PCKi?|B^8>h(u}9Bzu_-jd+e)R*D9HVSAKyF zecrkG`QJvbip||uzVh)2I2K)AknA*Z-`f1(ke>{yQhV!uK44yNk^b+!z|FQq$H>U% z4;rj)&CipZ6`-=U+SoNLchL;9^D}-vc+R=`7mwnv#>0hg<$|tQStOh|DXSMGs<Ytj z`x?t-4bL~rd(JeUU-;%g((k9u`VsaO9#ihFe%g6?*ZZ(1x__h(PrZ8MKmWO2qjEjn z+kfSD*M3Y??y;~}^!>-QM%v9#OT6aOo!0u!OS>mk{4v*^-gU{kUv-=DI!X3RTGs59 zrms7aq`qxvdDNrlbwOV>GmT$cCUm!OcDu!Xn-2~CQ?8YY{CTrg$>;Sw`KWyp56!-# zvTn<7$3qHR4xXKK)bzH)nQ1H9&39e2*J8I>_;hw(^Yq=jSu~fmADQ`g-w!kW*($3f zq`R`zS+DL4=#y?Q`_N(ZtLBi%<=QzX-b%(U=MFlvzxDbXmD0JBS)OidXsr40A^42_ zgQZVg7!FDwD~idOcvfy#ai6Y&gUYVfn=F;xwLJ0PR(xmSKH_ux;D=dz-;~^0xZPL! z1ozroz7KYO?cK)hC-BfMm|Z;L!tIi4FB=3m3Vm8)$!*y6sqlWqio>o2PxU5+TD=Tg zTYBn%ncKVvzMt<;x^8t&I-EsdU*;9>P2#^c<W8(9zWKyK=F!o}&oxcvzO0k~sWfr# zxH#p#g6GcWJgu#MTs=}B|A<_cKQTXqr9pZJ*SgY;D&`{Z<;7pP%bb(kzId5Z(Qoe9 z^oMseN~1k(j(c7ge=9F8q5Eh?@kj1Y%XFAHf_hdKEMHk@*tfPM_u;=l2kT#jyJlY8 zZ}(RI&JNastf#lms+in(IjgC5aYNY`WxkJ>g&*=|96!BiOWgcbr%qb!*P729?QZ?6 zRrA<$=6|mncDLWmyzk*<c4=;ub?n65{mk*{>RUeFH>vO3!Qi?h`T=KR)_2Cros(q` zrr!L0L#TAiV);U2p+@gxZ`B_y65O@-44>dO5ph1@TNmwv1>fy$%wBo$+&WgT#8pop z)W1KvrsG3JiO}O;u{)0M6cpu=b+0}4U()?P(=nGF;+fwCy{@FkvLxKGX3gAtJaCcS qX{9?EN|FMnBE=+YEB(x$$D3}plVUPRyu-l2z~JfX=d#Wzp$P!`FXGq$ literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/images/marker-shadow.png b/frontend/3p/leaflet/images/marker-shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..9fd2979532a19a15b824ce763c76e04a8dafadfb GIT binary patch literal 618 zcmeAS@N?(olHy`uVBq!ia0y~yV9*3%4i*Lm2ByptwG0eQhMq2tAr*{oFSYhPb`W5> zz-9dRf4!`+aT{;(+DlW`OuKvh(cD`Fe?o50tvmGJPyYYkI}^-Pj=%i->5t$_?z+Eg z<0t)EHE)aXMy2F{nEjj_T;IYwdK?Rnnaqjf{1)D-;#kNmzt4GE;O+QxK@S+5(^AaU z7N=aDb)V1U?7Vn^%sUpxJr3q=Te918=e*elN$zhlHIzdXC1oeM8Mbg5Nj2o3WOPw+ zpMOwu*&gweJLb*OS~P7Ar@rLmS*ayg8lq+dZ0+?Zm6<qu;*}zfu2hy|uLF<soYNKV zknTP;LutbHx*an*6TNi~)JN`}Qs%BY>nX!yo^w|MJ60@P{_ADQggak&v`^0oPSK8g z6Zm$gzJVJ145{rKZ=dn?y=(KrV#&L&JR6VjWuMu>*SMBLWeLMd-$OHax6Mdiqt~NQ zs^Y#(?6|a*=efdFwcBoGHo3%{*nZNbWKCU{!`kM%S>CBD4~8GC3UcaXD%fwav8F%f z=oGOgmCmZ5<p%^+HM^ZH_x6bHNDI=Cc74Ja?y%tTtDab$aBsya^IN6GPu9I#9wb$A z=wi{KnJYXR9Z$DxUbr-1?cs*aiPfhaQ>0aHZd{<vr@<4{Ae6p%U(~+N6nB0l1;&_- z*G+D|PdcGqv!zC@Qe}mvm4OoXn?l8z0S~P09`rul+Zcayg7KCu2RnRB{eGO|=4Z1# z9=u0k2mABm5=R{pTwcxL{gH7-_|Ea<J;#=x5j}EbVPd^++($9~!rKR?|7cR)!4V{I dv}BHa{AJ^}7Ly#37#J8BJYD@<);T3K0RTo07ajlr literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/leaflet.css b/frontend/3p/leaflet/leaflet.css new file mode 100644 index 0000000..2961b76 --- /dev/null +++ b/frontend/3p/leaflet/leaflet.css @@ -0,0 +1,661 @@ +/* required styles */ + +.leaflet-pane, +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-tile-container, +.leaflet-pane > svg, +.leaflet-pane > canvas, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; + } +.leaflet-container { + overflow: hidden; + } +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; + } +/* Prevents IE11 from highlighting tiles in blue */ +.leaflet-tile::selection { + background: transparent; +} +/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ +.leaflet-safari .leaflet-tile { + image-rendering: -webkit-optimize-contrast; + } +/* hack that prevents hw layers "stretching" when loading new tiles */ +.leaflet-safari .leaflet-tile-container { + width: 1600px; + height: 1600px; + -webkit-transform-origin: 0 0; + } +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; + } +/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ +/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container .leaflet-overlay-pane svg { + max-width: none !important; + max-height: none !important; + } +.leaflet-container .leaflet-marker-pane img, +.leaflet-container .leaflet-shadow-pane img, +.leaflet-container .leaflet-tile-pane img, +.leaflet-container img.leaflet-image-layer, +.leaflet-container .leaflet-tile { + max-width: none !important; + max-height: none !important; + width: auto; + padding: 0; + } + +.leaflet-container img.leaflet-tile { + /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */ + mix-blend-mode: plus-lighter; +} + +.leaflet-container.leaflet-touch-zoom { + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; + } +.leaflet-container.leaflet-touch-drag { + -ms-touch-action: pinch-zoom; + /* Fallback for FF which doesn't support pinch-zoom */ + touch-action: none; + touch-action: pinch-zoom; +} +.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { + -ms-touch-action: none; + touch-action: none; +} +.leaflet-container { + -webkit-tap-highlight-color: transparent; +} +.leaflet-container a { + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); +} +.leaflet-tile { + filter: inherit; + visibility: hidden; + } +.leaflet-tile-loaded { + visibility: inherit; + } +.leaflet-zoom-box { + width: 0; + height: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + z-index: 800; + } +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; + } + +.leaflet-pane { z-index: 400; } + +.leaflet-tile-pane { z-index: 200; } +.leaflet-overlay-pane { z-index: 400; } +.leaflet-shadow-pane { z-index: 500; } +.leaflet-marker-pane { z-index: 600; } +.leaflet-tooltip-pane { z-index: 650; } +.leaflet-popup-pane { z-index: 700; } + +.leaflet-map-pane canvas { z-index: 100; } +.leaflet-map-pane svg { z-index: 200; } + +.leaflet-vml-shape { + width: 1px; + height: 1px; + } +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; + } + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 800; + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; + } +.leaflet-top { + top: 0; + } +.leaflet-right { + right: 0; + } +.leaflet-bottom { + bottom: 0; + } +.leaflet-left { + left: 0; + } +.leaflet-control { + float: left; + clear: both; + } +.leaflet-right .leaflet-control { + float: right; + } +.leaflet-top .leaflet-control { + margin-top: 10px; + } +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; + } +.leaflet-left .leaflet-control { + margin-left: 10px; + } +.leaflet-right .leaflet-control { + margin-right: 10px; + } + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; + } +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; + } +.leaflet-zoom-animated { + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + } +svg.leaflet-zoom-animated { + will-change: transform; +} + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); + } +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile { + -webkit-transition: none; + -moz-transition: none; + transition: none; + } + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; + } + + +/* cursors */ + +.leaflet-interactive { + cursor: pointer; + } +.leaflet-grab { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; + } +.leaflet-crosshair, +.leaflet-crosshair .leaflet-interactive { + cursor: crosshair; + } +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; + } +.leaflet-dragging .leaflet-grab, +.leaflet-dragging .leaflet-grab .leaflet-interactive, +.leaflet-dragging .leaflet-marker-draggable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; + } + +/* marker & overlays interactivity */ +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-image-layer, +.leaflet-pane > svg path, +.leaflet-tile-container { + pointer-events: none; + } + +.leaflet-marker-icon.leaflet-interactive, +.leaflet-image-layer.leaflet-interactive, +.leaflet-pane > svg path.leaflet-interactive, +svg.leaflet-image-layer.leaflet-interactive path { + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline-offset: 1px; + } +.leaflet-container a { + color: #0078A8; + } +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); + } + + +/* general typography */ +.leaflet-container { + font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; + font-size: 12px; + font-size: 0.75rem; + line-height: 1.5; + } + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; + } +.leaflet-bar a { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; + } +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + } +.leaflet-bar a:hover, +.leaflet-bar a:focus { + background-color: #f4f4f4; + } +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; + } +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; + } + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; + } +.leaflet-touch .leaflet-bar a:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; + } +.leaflet-touch .leaflet-bar a:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + } + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; + } + +.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { + font-size: 22px; + } + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; + } +.leaflet-control-layers-toggle { + background-image: url(images/layers.png); + width: 36px; + height: 36px; + } +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(images/layers-2x.png); + background-size: 26px 26px; + } +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; + } +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; + } +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; + } +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; + } +.leaflet-control-layers-scrollbar { + overflow-y: scroll; + overflow-x: hidden; + padding-right: 5px; + } +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; + } +.leaflet-control-layers label { + display: block; + font-size: 13px; + font-size: 1.08333em; + } +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; + } + +/* Default icon URLs */ +.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ + background-image: url(images/marker-icon.png); + } + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.8); + margin: 0; + } +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; + line-height: 1.4; + } +.leaflet-control-attribution a { + text-decoration: none; + } +.leaflet-control-attribution a:hover, +.leaflet-control-attribution a:focus { + text-decoration: underline; + } +.leaflet-attribution-flag { + display: inline !important; + vertical-align: baseline !important; + width: 1em; + height: 0.6669em; + } +.leaflet-left .leaflet-control-scale { + margin-left: 5px; + } +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; + } +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + white-space: nowrap; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(255, 255, 255, 0.8); + text-shadow: 1px 1px #fff; + } +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; + } +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; + } + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; + } +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; + } + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; + margin-bottom: 20px; + } +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; + } +.leaflet-popup-content { + margin: 13px 24px 13px 20px; + line-height: 1.3; + font-size: 13px; + font-size: 1.08333em; + min-height: 1px; + } +.leaflet-popup-content p { + margin: 17px 0; + margin: 1.3em 0; + } +.leaflet-popup-tip-container { + width: 40px; + height: 20px; + position: absolute; + left: 50%; + margin-top: -1px; + margin-left: -20px; + overflow: hidden; + pointer-events: none; + } +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + pointer-events: auto; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + } +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + color: #333; + box-shadow: 0 3px 14px rgba(0,0,0,0.4); + } +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + border: none; + text-align: center; + width: 24px; + height: 24px; + font: 16px/24px Tahoma, Verdana, sans-serif; + color: #757575; + text-decoration: none; + background: transparent; + } +.leaflet-container a.leaflet-popup-close-button:hover, +.leaflet-container a.leaflet-popup-close-button:focus { + color: #585858; + } +.leaflet-popup-scrolled { + overflow: auto; + } + +.leaflet-oldie .leaflet-popup-content-wrapper { + -ms-zoom: 1; + } +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); + } + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; + } + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; + } + + +/* Tooltip */ +/* Base styles for the element that has a tooltip */ +.leaflet-tooltip { + position: absolute; + padding: 6px; + background-color: #fff; + border: 1px solid #fff; + border-radius: 3px; + color: #222; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + box-shadow: 0 1px 3px rgba(0,0,0,0.4); + } +.leaflet-tooltip.leaflet-interactive { + cursor: pointer; + pointer-events: auto; + } +.leaflet-tooltip-top:before, +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + position: absolute; + pointer-events: none; + border: 6px solid transparent; + background: transparent; + content: ""; + } + +/* Directions */ + +.leaflet-tooltip-bottom { + margin-top: 6px; +} +.leaflet-tooltip-top { + margin-top: -6px; +} +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-top:before { + left: 50%; + margin-left: -6px; + } +.leaflet-tooltip-top:before { + bottom: 0; + margin-bottom: -12px; + border-top-color: #fff; + } +.leaflet-tooltip-bottom:before { + top: 0; + margin-top: -12px; + margin-left: -6px; + border-bottom-color: #fff; + } +.leaflet-tooltip-left { + margin-left: -6px; +} +.leaflet-tooltip-right { + margin-left: 6px; +} +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + top: 50%; + margin-top: -6px; + } +.leaflet-tooltip-left:before { + right: 0; + margin-right: -12px; + border-left-color: #fff; + } +.leaflet-tooltip-right:before { + left: 0; + margin-left: -12px; + border-right-color: #fff; + } + +/* Printing */ + +@media print { + /* Prevent printers from removing background-images of controls. */ + .leaflet-control { + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + } + } diff --git a/frontend/3p/leaflet/leaflet.js b/frontend/3p/leaflet/leaflet.js new file mode 100644 index 0000000..a3bf693 --- /dev/null +++ b/frontend/3p/leaflet/leaflet.js @@ -0,0 +1,6 @@ +/* @preserve + * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){"use strict";function l(t){for(var e,i,n=1,o=arguments.length;n<o;n++)for(e in i=arguments[n])t[e]=i[e];return t}var R=Object.create||function(t){return N.prototype=t,new N};function N(){}function a(t,e){var i,n=Array.prototype.slice;return t.bind?t.bind.apply(t,n.call(arguments,1)):(i=n.call(arguments,2),function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)})}var D=0;function h(t){return"_leaflet_id"in t||(t._leaflet_id=++D),t._leaflet_id}function j(t,e,i){var n,o,s=function(){n=!1,o&&(r.apply(i,o),o=!1)},r=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(s,e),n=!0)};return r}function H(t,e,i){var n=e[1],e=e[0],o=n-e;return t===n&&i?t:((t-e)%o+o)%o+e}function u(){return!1}function i(t,e){return!1===e?t:(e=Math.pow(10,void 0===e?6:e),Math.round(t*e)/e)}function W(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function F(t){return W(t).split(/\s+/)}function c(t,e){for(var i in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?R(t.options):{}),e)t.options[i]=e[i];return t.options}function U(t,e,i){var n,o=[];for(n in t)o.push(encodeURIComponent(i?n.toUpperCase():n)+"="+encodeURIComponent(t[n]));return(e&&-1!==e.indexOf("?")?"&":"?")+o.join("&")}var V=/\{ *([\w_ -]+) *\}/g;function q(t,i){return t.replace(V,function(t,e){e=i[e];if(void 0===e)throw new Error("No value provided for variable "+t);return e="function"==typeof e?e(i):e})}var d=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function G(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var K="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function Y(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var X=0;function J(t){var e=+new Date,i=Math.max(0,16-(e-X));return X=e+i,window.setTimeout(t,i)}var $=window.requestAnimationFrame||Y("RequestAnimationFrame")||J,Q=window.cancelAnimationFrame||Y("CancelAnimationFrame")||Y("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function x(t,e,i){if(!i||$!==J)return $.call(window,a(t,e));t.call(e)}function r(t){t&&Q.call(window,t)}var tt={__proto__:null,extend:l,create:R,bind:a,get lastId(){return D},stamp:h,throttle:j,wrapNum:H,falseFn:u,formatNum:i,trim:W,splitWords:F,setOptions:c,getParamString:U,template:q,isArray:d,indexOf:G,emptyImageUrl:K,requestFn:$,cancelFn:Q,requestAnimFrame:x,cancelAnimFrame:r};function et(){}et.extend=function(t){function e(){c(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()}var i,n=e.__super__=this.prototype,o=R(n);for(i in(o.constructor=e).prototype=o,this)Object.prototype.hasOwnProperty.call(this,i)&&"prototype"!==i&&"__super__"!==i&&(e[i]=this[i]);if(t.statics&&l(e,t.statics),t.includes){var s=t.includes;if("undefined"!=typeof L&&L&&L.Mixin){s=d(s)?s:[s];for(var r=0;r<s.length;r++)s[r]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}l.apply(null,[o].concat(t.includes))}return l(o,t),delete o.statics,delete o.includes,o.options&&(o.options=n.options?R(n.options):{},l(o.options,t.options)),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},et.include=function(t){var e=this.prototype.options;return l(this.prototype,t),t.options&&(this.prototype.options=e,this.mergeOptions(t.options)),this},et.mergeOptions=function(t){return l(this.prototype.options,t),this},et.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var e={on:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=F(t);for(var o=1===arguments.length,s=0,r=t.length;s<r;s++)o?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,n){"function"!=typeof e?console.warn("wrong listener type: "+typeof e):!1===this._listens(t,e,i)&&(e={fn:e,ctx:i=i===this?void 0:i},n&&(e.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e))},_off:function(t,e,i){var n,o,s;if(this._events&&(n=this._events[t]))if(1===arguments.length){if(this._firingCount)for(o=0,s=n.length;o<s;o++)n[o].fn=u;delete this._events[t]}else"function"!=typeof e?console.warn("wrong listener type: "+typeof e):!1!==(e=this._listens(t,e,i))&&(i=n[e],this._firingCount&&(i.fn=u,this._events[t]=n=n.slice()),n.splice(e,1))},fire:function(t,e,i){if(this.listens(t,i)){var n=l({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var s=0,r=o.length;s<r;s++){var a=o[s],h=a.fn;a.once&&this.off(t,h,a.ctx),h.call(a.ctx||this,n)}this._firingCount--}}i&&this._propagateEvent(n)}return this},listens:function(t,e,i,n){"string"!=typeof t&&console.warn('"string" type argument expected');var o=e,s=("function"!=typeof e&&(n=!!e,i=o=void 0),this._events&&this._events[t]);if(s&&s.length&&!1!==this._listens(t,o,i))return!0;if(n)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,n))return!0;return!1},_listens:function(t,e,i){if(this._events){var n=this._events[t]||[];if(!e)return!!n.length;i===this&&(i=void 0);for(var o=0,s=n.length;o<s;o++)if(n[o].fn===e&&n[o].ctx===i)return o}return!1},once:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e,!0);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[h(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[h(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,l({layer:t.target,propagatedFrom:t.target},t),!0)}},it=(e.addEventListener=e.on,e.removeEventListener=e.clearAllEventListeners=e.off,e.addOneTimeEventListener=e.once,e.fireEvent=e.fire,e.hasEventListeners=e.listens,et.extend(e));function p(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var nt=Math.trunc||function(t){return 0<t?Math.floor(t):Math.ceil(t)};function m(t,e,i){return t instanceof p?t:d(t)?new p(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new p(t.x,t.y):new p(t,e,i)}function f(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function _(t,e){return!t||t instanceof f?t:new f(t,e)}function s(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function g(t,e){return t instanceof s?t:new s(t,e)}function v(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function w(t,e,i){return t instanceof v?t:d(t)&&"object"!=typeof t[0]?3===t.length?new v(t[0],t[1],t[2]):2===t.length?new v(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new v(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new v(t,e,i)}p.prototype={clone:function(){return new p(this.x,this.y)},add:function(t){return this.clone()._add(m(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(m(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new p(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new p(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=nt(this.x),this.y=nt(this.y),this},distanceTo:function(t){var e=(t=m(t)).x-this.x,t=t.y-this.y;return Math.sqrt(e*e+t*t)},equals:function(t){return(t=m(t)).x===this.x&&t.y===this.y},contains:function(t){return t=m(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+i(this.x)+", "+i(this.y)+")"}},f.prototype={extend:function(t){var e,i;if(t){if(t instanceof p||"number"==typeof t[0]||"x"in t)e=i=m(t);else if(e=(t=_(t)).min,i=t.max,!e||!i)return this;this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone())}return this},getCenter:function(t){return m((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return m(this.min.x,this.max.y)},getTopRight:function(){return m(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t=("number"==typeof t[0]||t instanceof p?m:_)(t))instanceof f?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.x<i.x,t=t.y>e.y&&n.y<i.y;return o&&t},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,n=Math.abs(e.x-i.x)*t,t=Math.abs(e.y-i.y)*t;return _(m(e.x-n,e.y-t),m(i.x+n,i.y+t))},equals:function(t){return!!t&&(t=_(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},s.prototype={extend:function(t){var e,i,n=this._southWest,o=this._northEast;if(t instanceof v)i=e=t;else{if(!(t instanceof s))return t?this.extend(w(t)||g(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||o?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),o.lat=Math.max(i.lat,o.lat),o.lng=Math.max(i.lng,o.lng)):(this._southWest=new v(e.lat,e.lng),this._northEast=new v(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,t=Math.abs(e.lng-i.lng)*t;return new s(new v(e.lat-n,e.lng-t),new v(i.lat+n,i.lng+t))},getCenter:function(){return new v((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new v(this.getNorth(),this.getWest())},getSouthEast:function(){return new v(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t=("number"==typeof t[0]||t instanceof v||"lat"in t?w:g)(t);var e,i,n=this._southWest,o=this._northEast;return t instanceof s?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.lat<i.lat,t=t.lng>e.lng&&n.lng<i.lng;return o&&t},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=g(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}};var ot={latLngToPoint:function(t,e){t=this.projection.project(t),e=this.scale(e);return this.transformation._transform(t,e)},pointToLatLng:function(t,e){e=this.scale(e),t=this.transformation.untransform(t,e);return this.projection.unproject(t)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){var e;return this.infinite?null:(e=this.projection.bounds,t=this.scale(t),new f(this.transformation.transform(e.min,t),this.transformation.transform(e.max,t)))},infinite:!(v.prototype={equals:function(t,e){return!!t&&(t=w(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+i(this.lat,t)+", "+i(this.lng,t)+")"},distanceTo:function(t){return st.distance(this,w(t))},wrap:function(){return st.wrapLatLng(this)},toBounds:function(t){var t=180*t/40075017,e=t/Math.cos(Math.PI/180*this.lat);return g([this.lat-t,this.lng-e],[this.lat+t,this.lng+e])},clone:function(){return new v(this.lat,this.lng,this.alt)}}),wrapLatLng:function(t){var e=this.wrapLng?H(t.lng,this.wrapLng,!0):t.lng;return new v(this.wrapLat?H(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,e=e.lng-i.lng;return 0==n&&0==e?t:(i=t.getSouthWest(),t=t.getNorthEast(),new s(new v(i.lat-n,i.lng-e),new v(t.lat-n,t.lng-e)))}},st=l({},ot,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),e=Math.sin((e.lng-t.lng)*i/2),t=s*s+Math.cos(n)*Math.cos(o)*e*e,i=2*Math.atan2(Math.sqrt(t),Math.sqrt(1-t));return this.R*i}}),rt=6378137,rt={R:rt,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,i=Math.max(Math.min(i,t.lat),-i),i=Math.sin(i*e);return new p(this.R*t.lng*e,this.R*Math.log((1+i)/(1-i))/2)},unproject:function(t){var e=180/Math.PI;return new v((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:new f([-(rt=rt*Math.PI),-rt],[rt,rt])};function at(t,e,i,n){d(t)?(this._a=t[0],this._b=t[1],this._c=t[2],this._d=t[3]):(this._a=t,this._b=e,this._c=i,this._d=n)}function ht(t,e,i,n){return new at(t,e,i,n)}at.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new p((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var lt=l({},st,{code:"EPSG:3857",projection:rt,transformation:ht(lt=.5/(Math.PI*rt.R),.5,-lt,.5)}),ut=l({},lt,{code:"EPSG:900913"});function ct(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function dt(t,e){for(var i,n,o,s,r="",a=0,h=t.length;a<h;a++){for(i=0,n=(o=t[a]).length;i<n;i++)r+=(i?"L":"M")+(s=o[i]).x+" "+s.y;r+=e?b.svg?"z":"x":""}return r||"M0 0"}var _t=document.documentElement.style,pt="ActiveXObject"in window,mt=pt&&!document.addEventListener,n="msLaunchUri"in navigator&&!("documentMode"in document),ft=y("webkit"),gt=y("android"),vt=y("android 2")||y("android 3"),yt=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),yt=gt&&y("Google")&&yt<537&&!("AudioNode"in window),xt=!!window.opera,wt=!n&&y("chrome"),bt=y("gecko")&&!ft&&!xt&&!pt,Pt=!wt&&y("safari"),Lt=y("phantom"),o="OTransition"in _t,Tt=0===navigator.platform.indexOf("Win"),Mt=pt&&"transition"in _t,zt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!vt,_t="MozPerspective"in _t,Ct=!window.L_DISABLE_3D&&(Mt||zt||_t)&&!o&&!Lt,Zt="undefined"!=typeof orientation||y("mobile"),St=Zt&&ft,Et=Zt&&zt,kt=!window.PointerEvent&&window.MSPointerEvent,Ot=!(!window.PointerEvent&&!kt),At="ontouchstart"in window||!!window.TouchEvent,Bt=!window.L_NO_TOUCH&&(At||Ot),It=Zt&&xt,Rt=Zt&&bt,Nt=1<(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI),Dt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",u,e),window.removeEventListener("testPassiveEventSupport",u,e)}catch(t){}return t}(),jt=!!document.createElement("canvas").getContext,Ht=!(!document.createElementNS||!ct("svg").createSVGRect),Wt=!!Ht&&((Wt=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(Wt.firstChild&&Wt.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='<v:shape adj="1"/>',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Wt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Ft=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Ft,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Ft,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=F(e),o=0,s=n.length;o<s;o++)t.classList.add(n[o]);else ve(t,e)||ye(t,((i=xe(t))?i+" ":"")+e)}function z(t,e){void 0!==t.classList?t.classList.remove(e):ye(t,W((" "+xe(t)+" ").replace(" "+e+" "," ")))}function ye(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function xe(t){return void 0===(t=t.correspondingElement?t.correspondingElement:t).className.baseVal?t.className:t.className.baseVal}function C(t,e){if("opacity"in t.style)t.style.opacity=e;else if("filter"in t.style){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}}function we(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function be(t,e,i){e=e||new p(0,0);t.style[ue]=(b.ie3d?"translate("+e.x+"px,"+e.y+"px)":"translate3d("+e.x+"px,"+e.y+"px,0)")+(i?" scale("+i+")":"")}function Z(t,e){t._leaflet_pos=e,b.any3d?be(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function Pe(t){return t._leaflet_pos||new p(0,0)}function Le(){S(window,"dragstart",O)}function Te(){k(window,"dragstart",O)}function Me(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(ze(),le=(he=t).style.outlineStyle,t.style.outlineStyle="none",S(window,"keydown",ze))}function ze(){he&&(he.style.outlineStyle=le,le=he=void 0,k(window,"keydown",ze))}function Ce(t){for(;!((t=t.parentNode).offsetWidth&&t.offsetHeight||t===document.body););return t}function Ze(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}ae="onselectstart"in document?(re=function(){S(window,"selectstart",O)},function(){k(window,"selectstart",O)}):(se=we(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]),re=function(){var t;se&&(t=document.documentElement.style,oe=t[se],t[se]="none")},function(){se&&(document.documentElement.style[se]=oe,oe=void 0)});pt={__proto__:null,TRANSFORM:ue,TRANSITION:ce,TRANSITION_END:de,get:_e,getStyle:pe,create:P,remove:T,empty:me,toFront:fe,toBack:ge,hasClass:ve,addClass:M,removeClass:z,setClass:ye,getClass:xe,setOpacity:C,testProp:we,setTransform:be,setPosition:Z,getPosition:Pe,get disableTextSelection(){return re},get enableTextSelection(){return ae},disableImageDrag:Le,enableImageDrag:Te,preventOutline:Me,restoreOutline:ze,getSizedParentNode:Ce,getScale:Ze};function S(t,e,i,n){if(e&&"object"==typeof e)for(var o in e)ke(t,o,e[o],i);else for(var s=0,r=(e=F(e)).length;s<r;s++)ke(t,e[s],i,n);return this}var E="_leaflet_events";function k(t,e,i,n){if(1===arguments.length)Se(t),delete t[E];else if(e&&"object"==typeof e)for(var o in e)Oe(t,o,e[o],i);else if(e=F(e),2===arguments.length)Se(t,function(t){return-1!==G(e,t)});else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,n);return this}function Se(t,e){for(var i in t[E]){var n=i.split(/\d/)[0];e&&!e(n)||Oe(t,n,null,null,i)}}var Ee={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function ke(e,t,i,n){var o,s,r=t+h(i)+(n?"_"+h(n):"");e[E]&&e[E][r]||(s=o=function(t){return i.call(n||e,t||window.event)},!b.touchNative&&b.pointer&&0===t.indexOf("touch")?o=Jt(e,t,o):b.touch&&"dblclick"===t?o=ne(e,o):"addEventListener"in e?"touchstart"===t||"touchmove"===t||"wheel"===t||"mousewheel"===t?e.addEventListener(Ee[t]||t,o,!!b.passiveEvents&&{passive:!1}):"mouseenter"===t||"mouseleave"===t?e.addEventListener(Ee[t],o=function(t){t=t||window.event,We(e,t)&&s(t)},!1):e.addEventListener(t,s,!1):e.attachEvent("on"+t,o),e[E]=e[E]||{},e[E][r]=o)}function Oe(t,e,i,n,o){o=o||e+h(i)+(n?"_"+h(n):"");var s,r,i=t[E]&&t[E][o];i&&(!b.touchNative&&b.pointer&&0===e.indexOf("touch")?(n=t,r=i,Gt[s=e]?n.removeEventListener(Gt[s],r,!1):console.warn("wrong event specified:",s)):b.touch&&"dblclick"===e?(n=i,(r=t).removeEventListener("dblclick",n.dblclick),r.removeEventListener("click",n.simDblclick)):"removeEventListener"in t?t.removeEventListener(Ee[e]||e,i,!1):t.detachEvent("on"+e,i),t[E][o]=null)}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Be(t){return ke(t,"wheel",Ae),this}function Ie(t){return S(t,"mousedown touchstart dblclick contextmenu",Ae),t._leaflet_disable_click=!0,this}function O(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return O(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){var i,n;return e?(n=(i=Ze(e)).boundingClientRect,new p((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)):new p(t.clientX,t.clientY)}var je=b.linux&&b.chrome?window.devicePixelRatio:b.mac?3*window.devicePixelRatio:0<window.devicePixelRatio?2*window.devicePixelRatio:1;function He(t){return b.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/je:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function We(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var mt={__proto__:null,on:S,off:k,stopPropagation:Ae,disableScrollPropagation:Be,disableClickPropagation:Ie,preventDefault:O,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:We,addListener:S,removeListener:k},Fe=it.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pe(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=x(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){t=this._startPos.add(this._offset.multiplyBy(t));e&&t._round(),Z(this._el,t),this.fire("step")},_complete:function(){r(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),A=it.extend({options:{crs:lt,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=c(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=a(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(w(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ce&&b.any3d&&!b.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),S(this._proxy,de,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){if((e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(w(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i)&&(void 0!==i.animate&&(i.zoom=l({animate:i.animate},i.zoom),i.pan=l({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan)))return clearTimeout(this._sizeTimer),this;return this._resetView(t,e,i.pan&&i.pan.noMoveStart),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),o=this.getSize().divideBy(2),t=(t instanceof p?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),n=this.containerPointToLatLng(o.add(t));return this.setView(n,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():g(t);var i=m(e.paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.getBoundsZoom(t,!1,i.add(n));return(o="number"==typeof e.maxZoom?Math.min(e.maxZoom,o):o)===1/0?{center:t.getCenter(),zoom:o}:(e=n.subtract(i).divideBy(2),n=this.project(t.getSouthWest(),o),i=this.project(t.getNorthEast(),o),{center:this.unproject(n.add(i).divideBy(2).add(e),o),zoom:o})},fitBounds:function(t,e){if((t=g(t)).isValid())return t=this._getBoundsCenterZoom(t,e),this.setView(t.center,t.zoom,e);throw new Error("Bounds are not valid.")},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){var i;return e=e||{},(t=m(t).round()).x||t.y?(!0===e.animate||this.getSize().contains(t)?(this._panAnim||(this._panAnim=new Fe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate?(M(this._mapPane,"leaflet-pan-anim"),i=this._getMapPanePos().subtract(t).round(),this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)):(this._rawPanBy(t),this.fire("move").fire("moveend"))):this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this):this.fire("moveend")},flyTo:function(n,o,t){if(!1===(t=t||{}).animate||!b.any3d)return this.setView(n,o,t);this._stop();var s=this.project(this.getCenter()),r=this.project(n),e=this.getSize(),a=this._zoom,h=(n=w(n),o=void 0===o?a:o,Math.max(e.x,e.y)),i=h*this.getZoomScale(a,o),l=r.distanceTo(s)||1,u=1.42,c=u*u;function d(t){t=(i*i-h*h+(t?-1:1)*c*c*l*l)/(2*(t?i:h)*c*l),t=Math.sqrt(t*t+1)-t;return t<1e-9?-18:Math.log(t)}function _(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=d(0);function f(t){return h*(p(m)*(_(t=m+u*t)/p(t))-_(m))/c}var g=Date.now(),v=(d(1)-m)/u,y=t.duration?1e3*t.duration:1e3*v*.8;return this._moveStart(!0,t.noMoveStart),function t(){var e=(Date.now()-g)/y,i=(1-Math.pow(1-e,1.5))*v;e<=1?(this._flyToFrame=x(t,this),this._move(this.unproject(s.add(r.subtract(s).multiplyBy(f(i)/l)),a),this.getScaleZoom(h/(e=i,h*(p(m)/p(m+u*e))),a),{flyTo:!0})):this._move(n,o)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){t=this._getBoundsCenterZoom(t,e);return this.flyTo(t.center,t.zoom,e)},setMaxBounds:function(t){return t=g(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!We(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;s<i.length;s++)i[s].listens(e,!0)&&o.push(i[s]);n=o.concat(n)}if(n.length){"contextmenu"===e&&O(t);var r,a=n[0],h={originalEvent:t};for("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type&&(r=a.getLatLng&&(!a._radius||a._radius<=10),h.containerPoint=r?this.latLngToContainerPoint(a.getLatLng()):this.mouseEventToContainerPoint(t),h.layerPoint=this.containerPointToLayerPoint(h.containerPoint),h.latlng=r?a.getLatLng():this.layerPointToLatLng(h.layerPoint)),s=0;s<n.length;s++)if(n[s].fire(e,h,!0),h.originalEvent._stopped||!1===n[s].options.bubblingMouseEvents&&-1!==G(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return Pe(this._mapPane)||new p(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){i=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,i){i=this._getNewPixelOrigin(i,e);return _([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){var n,o;return!i||(n=this.project(t,e),o=this.getSize().divideBy(2),o=new f(n.subtract(o),n.add(o)),o=this._getBoundsOffset(o,i,e),Math.abs(o.x)<=1&&Math.abs(o.y)<=1)?t:this.unproject(n.add(o),e)},_limitOffset:function(t,e){var i;return e?(i=new f((i=this.getPixelBounds()).min.add(t),i.max.add(t)),t.add(this._getBoundsOffset(i,e))):t},_getBoundsOffset:function(t,e,i){e=_(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),i=e.min.subtract(t.min),e=e.max.subtract(t.max);return new p(this._rebound(i.x,-e.x),this._rebound(i.y,-e.y))},_rebound:function(t,e){return 0<t+e?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=b.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){z(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){t=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(t))&&(this.panBy(t,e),!0)},_createAnimProxy:function(){var t=this._proxy=P("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=ue,i=this._proxy.style[e];be(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){T(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();be(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&0<=t.propertyName.indexOf("transform")&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(!this._animatingZoom){if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0<t.screenX&&0<t.screenY&&this._map.getContainer().focus()}}),Ve=(A.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var i=this._controlCorners={},n="leaflet-",o=this._controlContainer=P("div",n+"control-container",this._container);function t(t,e){i[t+e]=P("div",n+t+" "+n+e,o)}t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)T(this._controlCorners[t]);T(this._controlContainer),delete this._controlCorners,delete this._controlContainer}}),B.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){for(var n in c(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),(this._map=t).on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return B.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);t=this._getLayer(h(t));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){M(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(M(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):z(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return z(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=P("div",t),i=this.options.collapsed,n=(e.setAttribute("aria-haspopup",!0),Ie(e),Be(e),this._section=P("section",t+"-list")),o=(i&&(this._map.on("click",this.collapse,this),S(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this)),this._layersLink=P("a",t+"-toggle",e));o.href="#",o.title="Layers",o.setAttribute("role","button"),S(o,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){O(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=P("div",t+"-base",n),this._separator=P("div",t+"-separator",n),this._overlaysList=P("div",t+"-overlays",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&h(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(a(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(this._container){me(this._baseLayersList),me(this._overlaysList),this._layerControlInputs=[];for(var t,e,i,n=0,o=0;o<this._layers.length;o++)i=this._layers[o],this._addItem(i),e=e||i.overlay,t=t||!i.overlay,n+=i.overlay?0:1;this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&1<n)?"":"none"),this._separator.style.display=e&&t?"":"none"}return this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(h(t.target)),t=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;t&&this._map.fire(t,e)},_createRadioElement:function(t,e){t='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,n=this._map.getZoom(),o=i.length-1;0<=o;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&n<e.options.minZoom||void 0!==e.options.maxZoom&&n>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section,e=(this._preventClick=!0,S(t,"click",O),this.expand(),this);setTimeout(function(){k(t,"click",O),e._preventClick=!1})}})),qe=B.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ge=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280<t?(i=this._getRoundNum(e=t/5280),this._updateScale(this._iScale,i+" mi",i/e)):(i=this._getRoundNum(t),this._updateScale(this._iScale,i+" ft",i/t))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),t=t/e;return e*(t=10<=t?10:5<=t?5:3<=t?3:2<=t?2:1)}})),Ke=B.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(b.inlineSvg?'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> ':"")+"Leaflet</a>"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ke).addTo(this)}),B.Layers=Ve,B.Zoom=qe,B.Scale=Ge,B.Attribution=Ke,Ue.layers=function(t,e,i){return new Ve(t,e,i)},Ue.zoom=function(t){return new qe(t)},Ue.scale=function(t){return new Ge(t)},Ue.attribution=function(t){return new Ke(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Ye=b.touch?"touchstart mousedown":"mousedown",Xe=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Xe._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Xe._dragging===this&&this.finishDrag():Xe._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Xe._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1<t.touches.length?this._moved=!0:!(e=new p((e=t.touches&&1===t.touches.length?t.touches[0]:t).clientX,e.clientY)._subtract(this._startPoint)).x&&!e.y||Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||(e.x/=this._parentScale.x,e.y/=this._parentScale.y,O(t),this._moved||(this.fire("dragstart"),this._moved=!0,M(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),M(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,this._lastEvent=t,this._updatePosition()))},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),Z(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){z(document.body,"leaflet-dragging"),this._lastTarget&&(z(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),k(document,"mousemove touchmove",this._onMove,this),k(document,"mouseup touchend touchcancel",this._onUp,this),Te(),ae();var e=this._moved&&this._moving;this._moving=!1,Xe._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function Je(t,e,i){for(var n,o,s,r,a,h,l,u=[1,4,2,8],c=0,d=t.length;c<d;c++)t[c]._code=si(t[c],e);for(s=0;s<4;s++){for(h=u[s],n=[],c=0,o=(d=t.length)-1;c<d;o=c++)r=t[c],a=t[o],r._code&h?a._code&h||((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)):(a._code&h&&((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)),n.push(r));t=n}return t}function $e(t,e){var i,n,o,s,r,a,h;if(!t||0===t.length)throw new Error("latlngs not passed");I(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);for(var l=w([0,0]),u=g(t),c=(u.getNorthWest().distanceTo(u.getSouthWest())*u.getNorthEast().distanceTo(u.getNorthWest())<1700&&(l=Qe(t)),t.length),d=[],_=0;_<c;_++){var p=w(t[_]);d.push(e.project(w([p.lat-l.lat,p.lng-l.lng])))}for(_=r=a=h=0,i=c-1;_<c;i=_++)n=d[_],o=d[i],s=n.y*o.x-o.y*n.x,a+=(n.x+o.x)*s,h+=(n.y+o.y)*s,r+=3*s;u=0===r?d[0]:[a/r,h/r],u=e.unproject(m(u));return w([u.lat+l.lat,u.lng+l.lng])}function Qe(t){for(var e=0,i=0,n=0,o=0;o<t.length;o++){var s=w(t[o]);e+=s.lat,i+=s.lng,n++}return w([e/n,i/n])}var ti,gt={__proto__:null,clipPolygon:Je,polygonCenter:$e,centroid:Qe};function ei(t,e){if(e&&t.length){var i=t=function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)(function(t,e){var i=e.x-t.x,e=e.y-t.y;return i*i+e*e})(t[n],t[o])>e&&(i.push(t[n]),o=n);o<s-1&&i.push(t[s-1]);return i}(t,e=e*e),n=i.length,o=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);o[0]=o[n-1]=1,function t(e,i,n,o,s){var r,a,h,l=0;for(a=o+1;a<=s-1;a++)h=ri(e[a],e[o],e[s],!0),l<h&&(r=a,l=h);n<l&&(i[r]=1,t(e,i,n,o,r),t(e,i,n,r,s))}(i,o,e,0,n-1);var s,r=[];for(s=0;s<n;s++)o[s]&&r.push(i[s]);return r}return t.slice()}function ii(t,e,i){return Math.sqrt(ri(t,e,i,!0))}function ni(t,e,i,n,o){var s,r,a,h=n?ti:si(t,i),l=si(e,i);for(ti=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=si(r=oi(t,e,s=h||l,i,o),i),s===h?(t=r,h=a):(e=r,l=a)}}function oi(t,e,i,n,o){var s,r,a=e.x-t.x,e=e.y-t.y,h=n.min,n=n.max;return 8&i?(s=t.x+a*(n.y-t.y)/e,r=n.y):4&i?(s=t.x+a*(h.y-t.y)/e,r=h.y):2&i?(s=n.x,r=t.y+e*(n.x-t.x)/a):1&i&&(s=h.x,r=t.y+e*(h.x-t.x)/a),new p(s,r,o)}function si(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function ri(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0<a&&(1<(a=((t.x-o)*s+(t.y-e)*r)/a)?(o=i.x,e=i.y):0<a&&(o+=s*a,e+=r*a)),s=t.x-o,r=t.y-e,n?s*s+r*r:new p(o,e)}function I(t){return!d(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function ai(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),I(t)}function hi(t,e){var i,n,o,s,r,a;if(!t||0===t.length)throw new Error("latlngs not passed");I(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);for(var h=w([0,0]),l=g(t),u=(l.getNorthWest().distanceTo(l.getSouthWest())*l.getNorthEast().distanceTo(l.getNorthWest())<1700&&(h=Qe(t)),t.length),c=[],d=0;d<u;d++){var _=w(t[d]);c.push(e.project(w([_.lat-h.lat,_.lng-h.lng])))}for(i=d=0;d<u-1;d++)i+=c[d].distanceTo(c[d+1])/2;if(0===i)a=c[0];else for(n=d=0;d<u-1;d++)if(o=c[d],s=c[d+1],i<(n+=r=o.distanceTo(s))){a=[s.x-(r=(n-i)/r)*(s.x-o.x),s.y-r*(s.y-o.y)];break}l=e.unproject(m(a));return w([l.lat+h.lat,l.lng+h.lng])}var vt={__proto__:null,simplify:ei,pointToSegmentDistance:ii,closestPointOnSegment:function(t,e,i){return ri(t,e,i)},clipSegment:ni,_getEdgeIntersection:oi,_getBitCode:si,_sqClosestPointOnSegment:ri,isFlat:I,_flat:ai,polylineCenter:hi},yt={project:function(t){return new p(t.lng,t.lat)},unproject:function(t){return new v(t.y,t.x)},bounds:new f([-180,-90],[180,90])},xt={R:6378137,R_MINOR:6356752.314245179,bounds:new f([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,o=Math.sqrt(1-o*o),s=o*Math.sin(n),s=Math.tan(Math.PI/4-n/2)/Math.pow((1-s)/(1+s),o/2),n=-i*Math.log(Math.max(s,1e-10));return new p(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&1e-7<Math.abs(l);h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new v(a*i,t.x*i/n)}},wt={__proto__:null,LonLat:yt,Mercator:xt,SphericalMercator:rt},Pt=l({},st,{code:"EPSG:3395",projection:xt,transformation:ht(bt=.5/(Math.PI*xt.R),.5,-bt,.5)}),li=l({},st,{code:"EPSG:4326",projection:yt,transformation:ht(1/180,1,-1/180,.5)}),Lt=l({},ot,{projection:yt,transformation:ht(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,e=e.lat-t.lat;return Math.sqrt(i*i+e*e)},infinite:!0}),o=(ot.Earth=st,ot.EPSG3395=Pt,ot.EPSG3857=lt,ot.EPSG900913=ut,ot.EPSG4326=li,ot.Simple=Lt,it.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[h(t)]=this},removeInteractiveTarget:function(t){return delete this._map._targets[h(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e,i=t.target;i.hasLayer(this)&&(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents&&(e=this.getEvents(),i.on(e,this),this.once("remove",function(){i.off(e,this)},this)),this.onAdd(i),this.fire("add"),i.fire("layeradd",{layer:this}))}})),ui=(A.include({addLayer:function(t){var e;if(t._layerAdd)return e=h(t),this._layers[e]||((this._layers[e]=t)._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this;throw new Error("The provided object is not a Layer.")},removeLayer:function(t){var e=h(t);return this._layers[e]&&(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null),this},hasLayer:function(t){return h(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?d(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[h(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){t=h(t);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var t,e=1/0,i=-1/0,n=this._getZoomSpan();for(t in this._zoomBoundLayers)var o=this._zoomBoundLayers[t].options,e=void 0===o.minZoom?e:Math.min(e,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom);this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=e===1/0?void 0:e,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}}),o.extend({initialize:function(t,e){var i,n;if(c(this,e),this._layers={},t)for(i=0,n=t.length;i<n;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){t=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:h})),ci=ui.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),ui.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?((t=t in this._layers?this._layers[t]:t).removeEventParent(this),ui.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t,e=new s;for(t in this._layers){var i=this._layers[t];e.extend(i.getBounds?i.getBounds():i.getLatLng())}return e}}),di=et.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){c(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(i)return i=this._createImg(i,e&&"IMG"===e.tagName?e:null),this._setIconStyles(i,t),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),i;if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null},_setIconStyles:function(t,e){var i=this.options,n=i[e+"Size"],n=m(n="number"==typeof n?[n,n]:n),o=m("shadow"===e&&i.shadowAnchor||i.iconAnchor||n&&n.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),n&&(t.style.width=n.x+"px",t.style.height=n.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return b.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var _i=di.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof _i.imagePath&&(_i.imagePath=this._detectIconPath()),(this.options.imagePath||_i.imagePath)+di.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){function e(t,e,i){return(e=e.exec(t))&&e[i]}return(t=e(t,/^url\((['"])?(.+)\1\)$/,2))&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=P("div","leaflet-default-icon-path",document.body),e=pe(t,"background-image")||pe(t,"backgroundImage");return document.body.removeChild(t),(e=this._stripUrl(e))?e:(t=document.querySelector('link[href$="leaflet.css"]'))?t.href.substring(0,t.href.length-"leaflet.css".length-1):""}}),pi=n.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Xe(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),M(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&z(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=Pe(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),a=_(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));a.contains(s)||(o=m((Math.max(a.max.x,s.x)-a.max.x)/(r.max.x-a.max.x)-(Math.min(a.min.x,s.x)-a.min.x)/(r.min.x-a.min.x),(Math.max(a.max.y,s.y)-a.max.y)/(r.max.y-a.max.y)-(Math.min(a.min.y,s.y)-a.min.y)/(r.min.y-a.min.y)).multiplyBy(n),i.panBy(o,{animate:!1}),this._draggable._newPos._add(o),this._draggable._startPos._add(o),Z(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(r(this._panRequest),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,n=Pe(e._icon),o=e._map.layerPointToLatLng(n);i&&Z(i,n),e._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){r(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),mi=o.extend({options:{icon:new _i,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){c(this,e),this._latlng=w(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){var t;return this._icon&&this._map&&(t=this._map.latLngToLayerPoint(this._latlng).round(),this._setPos(t)),this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),n=!1,i=(i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),M(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&S(i,"focus",this._panOnFocus,this),t.icon.createShadow(this._shadow)),o=!1;i!==this._shadow&&(this._removeShadow(),o=!0),i&&(M(i,e),i.alt=""),this._shadow=i,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),i&&o&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&k(this._icon,"focus",this._panOnFocus,this),T(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&T(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&Z(this._icon,t),this._shadow&&Z(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(t)},_initInteraction:function(){var t;this.options.interactive&&(M(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),pi&&(t=this.options.draggable,this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new pi(this),t&&this.dragging.enable()))},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&C(this._icon,t),this._shadow&&C(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t,e,i=this._map;i&&(t=(e=this.options.icon.options).iconSize?m(e.iconSize):m(0,0),e=e.iconAnchor?m(e.iconAnchor):m(0,0),i.panInside(this._latlng,{paddingTopLeft:e,paddingBottomRight:t.subtract(e)}))},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var fi=o.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return c(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),gi=fi.extend({options:{fill:!0,radius:10},initialize:function(t,e){c(this,e),this._latlng=w(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return fi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),t=[t+i,e+i];this._pxBounds=new f(this._point.subtract(t),this._point.add(t))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var vi=gi.extend({initialize:function(t,e,i){if(c(this,e="number"==typeof e?l({},i,{radius:e}):e),this._latlng=w(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new s(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:fi.prototype.setStyle,_project:function(){var t,e,i,n,o,s=this._latlng.lng,r=this._latlng.lat,a=this._map,h=a.options.crs;h.distance===st.distance?(n=Math.PI/180,o=this._mRadius/st.R/n,t=a.project([r+o,s]),e=a.project([r-o,s]),e=t.add(e).divideBy(2),i=a.unproject(e).lat,n=Math.acos((Math.cos(o*n)-Math.sin(r*n)*Math.sin(i*n))/(Math.cos(r*n)*Math.cos(i*n)))/n,!isNaN(n)&&0!==n||(n=o/Math.cos(Math.PI/180*r)),this._point=e.subtract(a.getPixelOrigin()),this._radius=isNaN(n)?0:e.x-a.project([i,s-n]).x,this._radiusY=e.y-t.y):(o=h.unproject(h.project(this._latlng).subtract([this._mRadius,0])),this._point=a.latLngToLayerPoint(this._latlng),this._radius=this._point.x-a.latLngToLayerPoint(o).x),this._updateBounds()}});var yi=fi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){c(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e=1/0,i=null,n=ri,o=0,s=this._parts.length;o<s;o++)for(var r=this._parts[o],a=1,h=r.length;a<h;a++){var l,u,c=n(t,l=r[a-1],u=r[a],!0);c<e&&(e=c,i=n(t,l,u))}return i&&(i.distance=Math.sqrt(e)),i},getCenter:function(){if(this._map)return hi(this._defaultShape(),this._map.options.crs);throw new Error("Must add layer to map before using getCenter()")},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=w(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new s,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return I(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=I(t),n=0,o=t.length;n<o;n++)i?(e[n]=w(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new f;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),t=new p(t,t);this._rawPxBounds&&(this._pxBounds=new f([this._rawPxBounds.min.subtract(t),this._rawPxBounds.max.add(t)]))},_projectLatlngs:function(t,e,i){var n,o,s=t[0]instanceof v,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),i.extend(o[n]);e.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var e,i,n,o,s=this._parts,r=0,a=0,h=this._rings.length;r<h;r++)for(e=0,i=(o=this._rings[r]).length;e<i-1;e++)(n=ni(o[e],o[e+1],t,e,!0))&&(s[a]=s[a]||[],s[a].push(n[0]),n[1]===o[e+1]&&e!==i-2||(s[a].push(n[1]),a++))},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=ei(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,n,o,s,r,a,h=this._clickTolerance();if(this._pxBounds&&this._pxBounds.contains(t))for(i=0,s=this._parts.length;i<s;i++)for(n=0,o=(r=(a=this._parts[i]).length)-1;n<r;o=n++)if((e||0!==n)&&ii(t,a[o],a[n])<=h)return!0;return!1}});yi._flat=ai;var xi=yi.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(this._map)return $e(this._defaultShape(),this._map.options.crs);throw new Error("Must add layer to map before using getCenter()")},_convertLatLngs:function(t){var t=yi.prototype._convertLatLngs.call(this,t),e=t.length;return 2<=e&&t[0]instanceof v&&t[0].equals(t[e-1])&&t.pop(),t},_setLatLngs:function(t){yi.prototype._setLatLngs.call(this,t),I(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return(I(this._latlngs[0])?this._latlngs:this._latlngs[0])[0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,e=new p(e,e),t=new f(t.min.subtract(e),t.max.add(e));if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,n=0,o=this._rings.length;n<o;n++)(i=Je(this._rings[n],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,n,o,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(e=this._parts[o]).length)-1;s<h;r=s++)i=e[s],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||yi.prototype._containsPoint.call(this,t,!0)}});var wi=ci.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;e<i;e++)((n=o[e]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s,r=this.options;return(!r.filter||r.filter(t))&&(s=bi(t,r))?(s.feature=Zi(t),s.defaultOptions=s.options,this.resetStyle(s),r.onEachFeature&&r.onEachFeature(t,s),this.addLayer(s)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=l({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(e){return this.eachLayer(function(t){this._setLayerStyle(t,e)},this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function bi(t,e){var i,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Li;if(!a&&!r)return null;switch(r.type){case"Point":return Pi(l,t,i=u(a),e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)i=u(a[o]),h.push(Pi(l,t,i,e));return new ci(h);case"LineString":case"MultiLineString":return n=Ti(a,"LineString"===r.type?0:1,u),new yi(n,e);case"Polygon":case"MultiPolygon":return n=Ti(a,"Polygon"===r.type?1:2,u),new xi(n,e);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=bi({geometry:r.geometries[o],type:"Feature",properties:t.properties},e);c&&h.push(c)}return new ci(h);case"FeatureCollection":for(o=0,s=r.features.length;o<s;o++){var d=bi(r.features[o],e);d&&h.push(d)}return new ci(h);default:throw new Error("Invalid GeoJSON object.")}}function Pi(t,e,i,n){return t?t(e,i):new mi(i,n&&n.markersInheritOptions&&n)}function Li(t){return new v(t[1],t[0],t[2])}function Ti(t,e,i){for(var n,o=[],s=0,r=t.length;s<r;s++)n=e?Ti(t[s],e-1,i):(i||Li)(t[s]),o.push(n);return o}function Mi(t,e){return void 0!==(t=w(t)).alt?[i(t.lng,e),i(t.lat,e),i(t.alt,e)]:[i(t.lng,e),i(t.lat,e)]}function zi(t,e,i,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(e?zi(t[s],I(t[s])?0:e-1,i,n):Mi(t[s],n));return!e&&i&&0<o.length&&o.push(o[0].slice()),o}function Ci(t,e){return t.feature?l({},t.feature,{geometry:e}):Zi(e)}function Zi(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}Tt={toGeoJSON:function(t){return Ci(this,{type:"Point",coordinates:Mi(this.getLatLng(),t)})}};function Si(t,e){return new wi(t,e)}mi.include(Tt),vi.include(Tt),gi.include(Tt),yi.include({toGeoJSON:function(t){var e=!I(this._latlngs);return Ci(this,{type:(e?"Multi":"")+"LineString",coordinates:zi(this._latlngs,e?1:0,!1,t)})}}),xi.include({toGeoJSON:function(t){var e=!I(this._latlngs),i=e&&!I(this._latlngs[0]),t=zi(this._latlngs,i?2:e?1:0,!0,t);return Ci(this,{type:(i?"Multi":"")+"Polygon",coordinates:t=e?t:[t]})}}),ui.include({toMultiPoint:function(e){var i=[];return this.eachLayer(function(t){i.push(t.toGeoJSON(e).geometry.coordinates)}),Ci(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(e){var i,n,t=this.feature&&this.feature.geometry&&this.feature.geometry.type;return"MultiPoint"===t?this.toMultiPoint(e):(i="GeometryCollection"===t,n=[],this.eachLayer(function(t){t.toGeoJSON&&(t=t.toGeoJSON(e),i?n.push(t.geometry):"FeatureCollection"===(t=Zi(t)).type?n.push.apply(n,t.features):n.push(t))}),i?Ci(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n})}});var Mt=Si,Ei=o.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=g(e),c(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(M(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){T(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&fe(this._image),this},bringToBack:function(){return this._map&&ge(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=g(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:P("img");M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onload=a(this.fire,this,"load"),e.onerror=a(this._overlayOnError,this,"error"),!this.options.crossOrigin&&""!==this.options.crossOrigin||(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),t=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;be(this._image,t,e)},_reset:function(){var t=this._image,e=new f(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();Z(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){C(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),ki=Ei.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:P("video");if(M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onloadeddata=a(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],o=0;o<i.length;o++)n.push(i[o].src);this._url=0<i.length?n:[e.src]}else{d(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;s<this._url.length;s++){var r=P("source");r.src=this._url[s],e.appendChild(r)}}}});var Oi=Ei.extend({_initImage:function(){var t=this._image=this._url;M(t,"leaflet-image-layer"),this._zoomAnimated&&M(t,"leaflet-zoom-animated"),this.options.className&&M(t,this.options.className),t.onselectstart=u,t.onmousemove=u}});var Ai=o.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof v||d(t))?(this._latlng=w(t),c(this,e)):(c(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&C(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&C(this._container,1),this.bringToFront(),this.options.interactive&&(M(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(C(this._container,0),this._removeTimeout=setTimeout(a(T,void 0,this._container),200)):T(this._container),this.options.interactive&&(z(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=w(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&fe(this._container),this},bringToBack:function(){return this._map&&ge(this._container),this},_prepareOpen:function(t){if(!(i=this._source)._map)return!1;if(i instanceof ci){var e,i=null,n=this._source._layers;for(e in n)if(n[e]._map){i=n[e];break}if(!i)return!1;this._source=i}if(!t)if(i.getCenter)t=i.getCenter();else if(i.getLatLng)t=i.getLatLng();else{if(!i.getBounds)throw new Error("Unable to get source layer LatLng.");t=i.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){var t,e,i;this._map&&(e=this._map.latLngToLayerPoint(this._latlng),t=m(this.options.offset),i=this._getAnchor(),this._zoomAnimated?Z(this._container,e.add(i)):t=t.add(e).add(i),e=this._containerBottom=-t.y,i=this._containerLeft=-Math.round(this._containerWidth/2)+t.x,this._container.style.bottom=e+"px",this._container.style.left=i+"px")},_getAnchor:function(){return[0,0]}}),Bi=(A.include({_initOverlay:function(t,e,i,n){var o=e;return o instanceof t||(o=new t(n).setContent(e)),i&&o.setLatLng(i),o}}),o.include({_initOverlay:function(t,e,i,n){var o=i;return o instanceof t?(c(o,n),o._source=this):(o=e&&!n?e:new t(n,this)).setContent(i),o}}),Ai.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Ai.prototype.openOn.call(this,t)},onAdd:function(t){Ai.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof fi||this._source.on("preclick",Ae))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof fi||this._source.off("preclick",Ae))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=P("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=P("div",t+"-content-wrapper",e);this._contentNode=P("div",t+"-content",i),Ie(e),Be(this._contentNode),S(e,"contextmenu",Ae),this._tipContainer=P("div",t+"-tip-container",e),this._tip=P("div",t+"-tip",this._tipContainer),this.options.closeButton&&((i=this._closeButton=P("a",t+"-close-button",e)).setAttribute("role","button"),i.setAttribute("aria-label","Close popup"),i.href="#close",i.innerHTML='<span aria-hidden="true">×</span>',S(i,"click",function(t){O(t),this.close()},this))},_updateLayout:function(){var t=this._contentNode,e=t.style,i=(e.width="",e.whiteSpace="nowrap",t.offsetWidth),i=Math.min(i,this.options.maxWidth),i=(i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="",t.offsetHeight),n=this.options.maxHeight,o="leaflet-popup-scrolled";(n&&n<i?(e.height=n+"px",M):z)(t,o),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Z(this._container,t.add(e))},_adjustPan:function(){var t,e,i,n,o,s,r,a;this.options.autoPan&&(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning?this._autopanning=!1:(t=this._map,e=parseInt(pe(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+e,a=this._containerWidth,(i=new p(this._containerLeft,-e-this._containerBottom))._add(Pe(this._container)),i=t.layerPointToContainerPoint(i),o=m(this.options.autoPanPadding),n=m(this.options.autoPanPaddingTopLeft||o),o=m(this.options.autoPanPaddingBottomRight||o),s=t.getSize(),r=0,i.x+a+o.x>s.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Ii=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Bi,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Bi,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ci||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof fi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Ai.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ai.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.x<o.x?(s="right",0):(s="left",r+2*(h.x+l.x)),a/2);t=t.subtract(m(e,i,!0)).add(h).add(l),z(n,"leaflet-tooltip-right"),z(n,"leaflet-tooltip-left"),z(n,"leaflet-tooltip-top"),z(n,"leaflet-tooltip-bottom"),M(n,"leaflet-tooltip-"+s),Z(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&C(this._container,t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(t)},_getAnchor:function(){return m(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}})),Ri=(A.include({openTooltip:function(t,e,i){return this._initOverlay(Ii,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),o.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Ii,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){var e,i;!t&&this._tooltipHandlersAdded||(e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip},this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t)},openTooltip:function(t){return this._tooltip&&(this instanceof ci||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(S(e,"focus",function(){this._tooltip._source=t,this.openTooltip()},this),S(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){t="function"==typeof t.getElement&&t.getElement();t&&t.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){var e;this._tooltip&&this._map&&(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag?(this._openOnceFlag=!0,(e=this)._map.once("moveend",function(){e._openOnceFlag=!1,e._openTooltip(t)})):(this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)))},_moveTooltip:function(t){var e=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(t=this._map.mouseEventToContainerPoint(t.originalEvent),t=this._map.containerPointToLayerPoint(t),e=this._map.layerPointToLatLng(t)),this._tooltip.setLatLng(e)}}),di.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var t=t&&"DIV"===t.tagName?t:document.createElement("div"),e=this.options;return e.html instanceof Element?(me(t),t.appendChild(e.html)):t.innerHTML=!1!==e.html?e.html:"",e.bgPos&&(e=m(e.bgPos),t.style.backgroundPosition=-e.x+"px "+-e.y+"px"),this._setIconStyles(t,"icon"),t},createShadow:function(){return null}}));di.Default=_i;var Ni=o.extend({options:{tileSize:256,opacity:1,updateWhenIdle:b.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){c(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),T(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(fe(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ge(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){var t;return this._map&&(this._removeAllTiles(),(t=this._clampZoom(this._map.getZoom()))!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=j(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof p?t:new p(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-1/0,1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!b.ielt9){C(this._container,this.options.opacity);var t,e=+new Date,i=!1,n=!1;for(t in this._tiles){var o,s=this._tiles[t];s.current&&s.loaded&&(o=Math.min(1,(e-s.loaded)/200),C(s.el,o),o<1?i=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0))}n&&!this._noPrune&&this._pruneTiles(),i&&(r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this))}},_onOpaqueTile:u,_initContainer:function(){this._container||(this._container=P("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(T(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=P("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=e,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),u(n.el.offsetWidth),this._onCreateLevel(n)),this._level=n}},_onUpdateLevel:u,_onRemoveLevel:u,_onCreateLevel:u,_pruneTiles:function(){if(this._map){var t,e,i,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)(i=this._tiles[t]).current&&!i.active&&(e=i.coords,this._retainParent(e.x,e.y,e.z,e.z-5)||this._retainChildren(e.x,e.y,e.z,e.z+2));for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)T(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,n){var t=Math.floor(t/2),e=Math.floor(e/2),i=i-1,o=new p(+t,+e),o=(o.z=i,this._tileCoordsToKey(o)),o=this._tiles[o];return o&&o.active?o.retain=!0:(o&&o.loaded&&(o.retain=!0),n<i&&this._retainParent(t,e,i,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new p(o,s),r=(r.z=i+1,this._tileCoordsToKey(r)),r=this._tiles[r];r&&r.active?r.retain=!0:(r&&r.loaded&&(r.retain=!0),i+1<n&&this._retainChildren(o,s,i+1,n))}},_resetView:function(t){t=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,n){var o=Math.round(e),o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o),s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),e=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();b.any3d?be(t.el,e,n):Z(t.el,e)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(i,this._tileZoom),t=e.project(t,this._tileZoom).floor(),e=e.getSize().divideBy(2*i);return new f(t.subtract(e),t.add(e))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var n,e=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(e),s=o.getCenter(),r=[],e=this.options.keepBuffer,a=new f(o.getBottomLeft().subtract([e,-e]),o.getTopRight().add([e,-e]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(n in this._tiles){var h=this._tiles[n].coords;h.z===this._tileZoom&&a.contains(new p(h.x,h.y))||(this._tiles[n].current=!1)}if(1<Math.abs(i-this._tileZoom))this._setView(t,i);else{for(var l=o.min.y;l<=o.max.y;l++)for(var u=o.min.x;u<=o.max.x;u++){var c,d=new p(u,l);d.z=this._tileZoom,this._isValidTile(d)&&((c=this._tiles[this._tileCoordsToKey(d)])?c.current=!0:r.push(d))}if(r.sort(function(t,e){return t.distanceTo(s)-e.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));for(var _=document.createDocumentFragment(),u=0;u<r.length;u++)this._addTile(r[u],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Di=Ni.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0<e.maxZoom?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return S(i,"load",a(this._tileOnLoad,this,e,i)),S(i,"error",a(this._tileOnError,this,e,i)),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:b.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};return this._map&&!this._map.options.crs.infinite&&(t=this._globalTileRange.max.y-t.y,this.options.tms&&(e.y=t),e["-y"]=t),q(this._url,l(e,this.options))},_tileOnLoad:function(t,e){b.ielt9?setTimeout(a(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return(t=this.options.zoomReverse?e-t:t)+this.options.zoomOffset},_getSubdomain:function(t){t=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var t,e,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=u,i.onerror=u,i.complete||(i.src=K,e=this._tiles[t].coords,T(i),delete this._tiles[t],this.fire("tileabort",{tile:i,coords:e})))},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",K),Ni.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==K))return Ni.prototype._tileReady.call(this,t,e,i)}});function ji(t,e){return new Di(t,e)}var Hi=Di.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i,n=l({},this.defaultWmsParams);for(i in e)i in this.options||(n[i]=e[i]);var t=(e=c(this,e)).detectRetina&&b.retina?2:1,o=this.getTileSize();n.width=o.x*t,n.height=o.y*t,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=1.3<=this._wmsVersion?"crs":"srs";this.wmsParams[e]=this._crs.code,Di.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,i=_(i.project(e[0]),i.project(e[1])),e=i.min,i=i.max,e=(1.3<=this._wmsVersion&&this._crs===li?[e.y,e.x,i.y,i.x]:[e.x,e.y,i.x,i.y]).join(","),i=Di.prototype.getTileUrl.call(this,t);return i+U(this.wmsParams,i,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+e},setParams:function(t,e){return l(this.wmsParams,t),e||this.redraw(),this}});Di.WMS=Hi,ji.wms=function(t,e){return new Hi(t,e)};var Wi=o.extend({options:{padding:.1},initialize:function(t){c(this,t),h(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),M(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),n=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));b.any3d?be(this._container,n,i):Z(this._container,n)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new f(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Fi=Wi.extend({options:{tolerance:0},getEvents:function(){var t=Wi.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Wi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");S(t,"mousemove",this._onMouseMove,this),S(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),S(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){r(this._redrawRequest),delete this._ctx,T(this._container),k(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){var t,e,i,n;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),t=this._bounds,e=this._container,i=t.getSize(),n=b.retina?2:1,Z(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",b.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update"))},_reset:function(){Wi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t);t=(this._layers[h(t)]=t)._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t),this._drawLast=t,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,e=e.prev;i?i.prev=e:this._drawLast=e,e?e.next=i:this._drawFirst=i,delete t._order,delete this._layers[h(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){for(var e,i=t.options.dashArray.split(/[, ]+/),n=[],o=0;o<i.length;o++){if(e=Number(i[o]),isNaN(e))return;n.push(e)}t.options._dashArray=n}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||x(this._redraw,this))},_extendRedrawBounds:function(t){var e;t._pxBounds&&(e=(t.options.weight||0)+1,this._redrawBounds=this._redrawBounds||new f,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e])))},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t,e=this._redrawBounds;e?(t=e.getSize(),this._ctx.clearRect(e.min.x,e.min.y,t.x,t.y)):(this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore())},_draw:function(){var t,e,i=this._redrawBounds;this._ctx.save(),i&&(e=i.getSize(),this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()),this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(n=0,o=r[i].length;n<o;n++)s=r[i][n],h[n?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){var e,i,n,o;this._drawing&&!t._empty()&&(e=t._point,i=this._ctx,n=Math.max(Math.round(t._radius),1),1!=(o=(Math.max(Math.round(t._radiusY),1)||n)/n)&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!=o&&i.restore(),this._fillStroke(i,t))},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(n)&&(("click"===t.type||"preclick"===t.type)&&this._map._draggableMoved(e)||(i=e));this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){var e;!this._map||this._map.dragging.moving()||this._map._animatingZoom||(e=this._map.mouseEventToLayerPoint(t),this._handleMouseHover(t,e))},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(z(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,n,o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(M(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(a(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e,i,n=t._order;n&&(e=n.next,i=n.prev,e&&((e.prev=i)?i.next=e:e&&(this._drawFirst=e),n.prev=this._drawLast,(this._drawLast.next=n).next=null,this._drawLast=n,this._requestRedraw(t)))},_bringToBack:function(t){var e,i,n=t._order;n&&(e=n.next,(i=n.prev)&&((i.next=e)?e.prev=i:i&&(this._drawLast=i),n.prev=null,n.next=this._drawFirst,this._drawFirst.prev=n,this._drawFirst=n,this._requestRedraw(t)))}});function Ui(t){return b.canvas?new Fi(t):null}var Vi=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Vi("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Vi("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Vi("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Vi("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},qi=b.vml?Vi:ct,Gi=Wi.extend({_initContainer:function(){this._container=qi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=qi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=qi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Ki(t){return b.svg||b.vml?new Gi(t):null}b.vml&&Gi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Ui(t)||Ki(t)}});var Yi=xi.extend({initialize:function(t,e){xi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Gi.create=qi,Gi.pointsToPath=dt,wi.geometryToLayer=bi,wi.coordsToLatLng=Li,wi.coordsToLatLngs=Ti,wi.latLngToCoords=Mi,wi.latLngsToCoords=zi,wi.getFeature=Ci,wi.asFeature=Zi,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Xe(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1<this._positions.length&&50<t-this._times[0];)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){var t,e;this._viscosity&&this._offsetLimit&&(t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit,t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)<Math.abs(n+i)?o:n;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=t},_onDragEnd:function(t){var e,i,n,o,s=this._map,r=s.options,a=!r.inertia||t.noInertia||this._times.length<2;s.fire("dragend",t),!a&&(this._prunePositions(+new Date),t=this._lastPos.subtract(this._positions[0]),a=(this._lastTime-this._times[0])/1e3,e=r.easeLinearity,a=(t=t.multiplyBy(e/a)).distanceTo([0,0]),i=Math.min(r.inertiaMaxSpeed,a),t=t.multiplyBy(i/a),n=i/(r.inertiaDeceleration*e),(o=t.multiplyBy(-n/2).round()).x||o.y)?(o=s._limitOffset(o,s.options.maxBounds),x(function(){s.panBy(o,{duration:n,easeLinearity:e,noMoveStart:!0,animate:!0})})):s.fire("moveend")}})),St=(A.addInitHook("addHandler","dragging",Zt),A.mergeOptions({keyboard:!0,keyboardPanDelta:80}),n.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),S(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),k(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){var t,e,i;this._focused||(i=document.body,t=document.documentElement,e=i.scrollTop||t.scrollTop,i=i.scrollLeft||t.scrollLeft,this._map._container.focus(),window.scrollTo(i,e))},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){for(var e=this._panKeys={},i=this.keyCodes,n=0,o=i.left.length;n<o;n++)e[i.left[n]]=[-1*t,0];for(n=0,o=i.right.length;n<o;n++)e[i.right[n]]=[t,0];for(n=0,o=i.down.length;n<o;n++)e[i.down[n]]=[0,t];for(n=0,o=i.up.length;n<o;n++)e[i.up[n]]=[0,-1*t]},_setZoomDelta:function(t){for(var e=this._zoomKeys={},i=this.keyCodes,n=0,o=i.zoomIn.length;n<o;n++)e[i.zoomIn[n]]=t;for(n=0,o=i.zoomOut.length;n<o;n++)e[i.zoomOut[n]]=-t},_addHooks:function(){S(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){k(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i,n=t.keyCode,o=this._map;if(n in this._panKeys)o._panAnim&&o._panAnim._inProgress||(i=this._panKeys[n],t.shiftKey&&(i=m(i).multiplyBy(3)),o.options.maxBounds&&(i=o._limitOffset(m(i),o.options.maxBounds)),o.options.worldCopyJump?(e=o.wrapLatLng(o.unproject(o.project(o.getCenter()).add(i))),o.panTo(e)):o.panBy(i));else if(n in this._zoomKeys)o.setZoom(o.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!o._popup||!o._popup.options.closeOnEscapeKey)return;o.closePopup()}Re(t)}}})),Et=(A.addInitHook("addHandler","keyboard",St),A.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60}),n.extend({addHooks:function(){S(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){k(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime,e=(this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date),Math.max(i-(+new Date-this._startTime),0));clearTimeout(this._timer),this._timer=setTimeout(a(this._performZoom,this),e),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0,n=(t._stop(),this._delta/(4*this._map.options.wheelPxPerZoomLevel)),n=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,i=i?Math.ceil(n/i)*i:n,n=t._limitZoom(e+(0<this._delta?i:-i))-e;this._delta=0,this._startTime=null,n&&("center"===t.options.scrollWheelZoom?t.setZoom(e+n):t.setZoomAround(this._lastMousePos,e+n))}})),kt=(A.addInitHook("addHandler","scrollWheelZoom",Et),A.mergeOptions({tapHold:b.touchNative&&b.safari&&b.mobile,tapTolerance:15}),n.extend({addHooks:function(){S(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){k(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){var e;clearTimeout(this._holdTimeout),1===t.touches.length&&(e=t.touches[0],this._startPos=this._newPos=new p(e.clientX,e.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(S(document,"touchend",O),S(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),600),S(document,"touchend touchcancel contextmenu",this._cancel,this),S(document,"touchmove",this._onMove,this))},_cancelClickPrevent:function t(){k(document,"touchend",O),k(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),k(document,"touchend touchcancel contextmenu",this._cancel,this),k(document,"touchmove",this._onMove,this)},_onMove:function(t){t=t.touches[0];this._newPos=new p(t.clientX,t.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){t=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});t._simulated=!0,e.target.dispatchEvent(t)}})),Ot=(A.addInitHook("addHandler","tapHold",kt),A.mergeOptions({touchZoom:b.touch,bounceAtZoomLimits:!0}),n.extend({addHooks:function(){M(this._map._container,"leaflet-touch-zoom"),S(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){z(this._map._container,"leaflet-touch-zoom"),k(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e,i,n=this._map;!t.touches||2!==t.touches.length||n._animatingZoom||this._zooming||(e=n.mouseEventToContainerPoint(t.touches[0]),i=n.mouseEventToContainerPoint(t.touches[1]),this._centerPoint=n.getSize()._divideBy(2),this._startLatLng=n.containerPointToLatLng(this._centerPoint),"center"!==n.options.touchZoom&&(this._pinchStartLatLng=n.containerPointToLatLng(e.add(i)._divideBy(2))),this._startDist=e.distanceTo(i),this._startZoom=n.getZoom(),this._moved=!1,this._zooming=!0,n._stop(),S(document,"touchmove",this._onTouchMove,this),S(document,"touchend touchcancel",this._onTouchEnd,this),O(t))},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&1<o)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1==o)return}else{i=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1==o&&0===i.x&&0===i.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(i),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),r(this._animRequest);n=a(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=x(n,this,!0),O(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,r(this._animRequest),k(document,"touchmove",this._onTouchMove,this),k(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}})),Xi=(A.addInitHook("addHandler","touchZoom",Ot),A.BoxZoom=_t,A.DoubleClickZoom=Ct,A.Drag=Zt,A.Keyboard=St,A.ScrollWheelZoom=Et,A.TapHold=kt,A.TouchZoom=Ot,t.Bounds=f,t.Browser=b,t.CRS=ot,t.Canvas=Fi,t.Circle=vi,t.CircleMarker=gi,t.Class=et,t.Control=B,t.DivIcon=Ri,t.DivOverlay=Ai,t.DomEvent=mt,t.DomUtil=pt,t.Draggable=Xe,t.Evented=it,t.FeatureGroup=ci,t.GeoJSON=wi,t.GridLayer=Ni,t.Handler=n,t.Icon=di,t.ImageOverlay=Ei,t.LatLng=v,t.LatLngBounds=s,t.Layer=o,t.LayerGroup=ui,t.LineUtil=vt,t.Map=A,t.Marker=mi,t.Mixin=ft,t.Path=fi,t.Point=p,t.PolyUtil=gt,t.Polygon=xi,t.Polyline=yi,t.Popup=Bi,t.PosAnimation=Fe,t.Projection=wt,t.Rectangle=Yi,t.Renderer=Wi,t.SVG=Gi,t.SVGOverlay=Oi,t.TileLayer=Di,t.Tooltip=Ii,t.Transformation=at,t.Util=tt,t.VideoOverlay=ki,t.bind=a,t.bounds=_,t.canvas=Ui,t.circle=function(t,e,i){return new vi(t,e,i)},t.circleMarker=function(t,e){return new gi(t,e)},t.control=Ue,t.divIcon=function(t){return new Ri(t)},t.extend=l,t.featureGroup=function(t,e){return new ci(t,e)},t.geoJSON=Si,t.geoJson=Mt,t.gridLayer=function(t){return new Ni(t)},t.icon=function(t){return new di(t)},t.imageOverlay=function(t,e,i){return new Ei(t,e,i)},t.latLng=w,t.latLngBounds=g,t.layerGroup=function(t,e){return new ui(t,e)},t.map=function(t,e){return new A(t,e)},t.marker=function(t,e){return new mi(t,e)},t.point=m,t.polygon=function(t,e){return new xi(t,e)},t.polyline=function(t,e){return new yi(t,e)},t.popup=function(t,e){return new Bi(t,e)},t.rectangle=function(t,e){return new Yi(t,e)},t.setOptions=c,t.stamp=h,t.svg=Ki,t.svgOverlay=function(t,e,i){return new Oi(t,e,i)},t.tileLayer=ji,t.tooltip=function(t,e){return new Ii(t,e)},t.transformation=ht,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new ki(t,e,i)},window.L);t.noConflict=function(){return window.L=Xi,this},window.L=t}); +//# sourceMappingURL=leaflet.js.map \ No newline at end of file diff --git a/frontend/3p/leaflet/leaflet.js.map b/frontend/3p/leaflet/leaflet.js.map new file mode 100644 index 0000000..a3b1707 --- /dev/null +++ b/frontend/3p/leaflet/leaflet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dist/leaflet.js.map","sources":["../src/core/Util.js","../src/core/Class.js","../src/core/Events.js","../src/geometry/Point.js","../src/geometry/Bounds.js","../src/geo/LatLngBounds.js","../src/geo/LatLng.js","../src/geo/crs/CRS.js","../src/geo/crs/CRS.Earth.js","../src/geo/projection/Projection.SphericalMercator.js","../src/geometry/Transformation.js","../src/geo/crs/CRS.EPSG3857.js","../src/layer/vector/SVG.Util.js","../src/core/Browser.js","../src/dom/DomEvent.Pointer.js","../src/dom/DomEvent.DoubleTap.js","../src/dom/DomUtil.js","../src/dom/DomEvent.js","../src/dom/PosAnimation.js","../src/map/Map.js","../src/control/Control.js","../src/control/Control.Layers.js","../src/control/Control.Zoom.js","../src/control/Control.Scale.js","../src/control/Control.Attribution.js","../src/core/Handler.js","../src/control/index.js","../src/core/index.js","../src/dom/Draggable.js","../src/geometry/PolyUtil.js","../src/geometry/LineUtil.js","../src/geo/projection/Projection.LonLat.js","../src/geo/projection/Projection.Mercator.js","../src/geo/crs/CRS.EPSG3395.js","../src/geo/crs/CRS.EPSG4326.js","../src/geo/crs/CRS.Simple.js","../src/layer/Layer.js","../src/geo/crs/index.js","../src/layer/LayerGroup.js","../src/layer/FeatureGroup.js","../src/layer/marker/Icon.js","../src/layer/marker/Icon.Default.js","../src/layer/marker/Marker.Drag.js","../src/layer/marker/Marker.js","../src/layer/vector/Path.js","../src/layer/vector/CircleMarker.js","../src/layer/vector/Circle.js","../src/layer/vector/Polyline.js","../src/layer/vector/Polygon.js","../src/layer/GeoJSON.js","../src/layer/ImageOverlay.js","../src/layer/VideoOverlay.js","../src/layer/SVGOverlay.js","../src/layer/DivOverlay.js","../src/layer/Popup.js","../src/layer/Tooltip.js","../src/layer/marker/DivIcon.js","../src/layer/marker/index.js","../src/layer/tile/GridLayer.js","../src/layer/tile/TileLayer.js","../src/layer/tile/TileLayer.WMS.js","../src/layer/tile/index.js","../src/layer/vector/Renderer.js","../src/layer/vector/Canvas.js","../src/layer/vector/SVG.VML.js","../src/layer/vector/SVG.js","../src/layer/vector/Renderer.getRenderer.js","../src/layer/vector/Rectangle.js","../src/layer/vector/index.js","../src/layer/index.js","../src/map/handler/Map.BoxZoom.js","../src/map/handler/Map.DoubleClickZoom.js","../src/map/handler/Map.Drag.js","../src/map/handler/Map.Keyboard.js","../src/map/handler/Map.ScrollWheelZoom.js","../src/map/handler/Map.TapHold.js","../src/map/handler/Map.TouchZoom.js","../src/map/index.js"],"names":["extend","dest","i","src","j","len","arguments","length","create","Object","proto","F","prototype","bind","fn","obj","args","slice","Array","apply","call","concat","lastId","stamp","_leaflet_id","throttle","time","context","lock","later","wrapperFn","setTimeout","wrapNum","x","range","includeMax","max","min","d","falseFn","formatNum","num","precision","pow","Math","undefined","round","trim","str","replace","splitWords","split","setOptions","options","hasOwnProperty","getParamString","existingUrl","uppercase","params","push","encodeURIComponent","toUpperCase","indexOf","join","templateRe","template","data","key","value","Error","isArray","toString","array","el","emptyImageUrl","getPrefixed","name","window","lastTime","timeoutDefer","Date","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","id","clearTimeout","requestAnimFrame","immediate","cancelAnimFrame","Class","props","NewClass","Util.setOptions","this","initialize","callInitHooks","parentProto","__super__","Util.create","constructor","statics","Util.extend","includes","checkDeprecatedMixinEvents","L","Mixin","Util.isArray","Events","console","warn","stack","_initHooks","_initHooksCalled","include","parentOptions","mergeOptions","addInitHook","init","on","types","type","_on","Util.splitWords","off","_off","removeAll","_events","_once","_listens","newListener","ctx","once","listeners","_firingCount","Util.falseFn","index","listener","splice","fire","propagate","listens","event","target","sourceTarget","l","_propagateEvent","_fn","_eventParents","addEventParent","Util.stamp","removeEventParent","e","layer","propagatedFrom","Evented","addEventListener","removeEventListener","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Point","y","trunc","v","floor","ceil","toPoint","Bounds","a","b","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","LatLng","lat","lng","alt","isNaN","toLatLng","c","lon","clone","add","point","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","equals","contains","abs","min2","max2","getCenter","getBottomLeft","getTopRight","getTopLeft","getBottomRight","getSize","intersects","bounds","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","isValid","pad","bufferRatio","heightBuffer","widthBuffer","sw2","ne2","sw","_southWest","ne","_northEast","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","CRS","latLngToPoint","latlng","zoom","projectedPoint","projection","project","scale","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","log","LN2","getProjectedBounds","infinite","s","transform","Util.formatNum","other","Earth","distance","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","wrapLng","Util.wrapNum","wrapLat","wrapLatLngBounds","center","newCenter","latShift","lngShift","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","_c","_d","toTransformation","EPSG3857","code","EPSG900913","svgCreate","document","createElementNS","pointsToPath","rings","closed","len2","p","Browser","svg","style","documentElement","ie","ielt9","edge","navigator","webkit","userAgentContains","android","android23","webkitVer","parseInt","exec","userAgent","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","platform","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","mobile","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touchNative","TouchEvent","touch","L_NO_TOUCH","mobileOpera","mobileGecko","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","opts","defineProperty","get","canvas","createElement","getContext","createSVGRect","inlineSvg","div","innerHTML","firstChild","namespaceURI","toLowerCase","vml","shape","behavior","adj","mac","linux","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","pEvent","touchstart","touchmove","touchend","touchcancel","handle","handler","MSPOINTER_TYPE_TOUCH","pointerType","DomEvent.preventDefault","_handlePointer","_pointers","_pointerDocListener","addPointerListener","_globalPointerDown","_globalPointerMove","_globalPointerUp","pointerId","MSPOINTER_TYPE_MOUSE","touches","changedTouches","delay","addDoubleTapListener","detail","last","simDblclick","now","sourceCapabilities","firesTouchEvents","path","DomEvent.getPropagationPath","some","HTMLLabelElement","attributes","for","HTMLInputElement","HTMLSelectElement","prop","newEvent","isTrusted","_simulated","dblclick","_userSelect","userSelectProperty","disableTextSelection","enableTextSelection","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","getElementById","getStyle","currentStyle","defaultView","css","getComputedStyle","tagName","className","container","appendChild","remove","parent","parentNode","removeChild","empty","toFront","lastChild","toBack","insertBefore","hasClass","classList","getClass","RegExp","test","addClass","classes","setClass","removeClass","Util.trim","baseVal","correspondingElement","setOpacity","opacity","_setOpacityIE","filter","filterName","filters","item","Enabled","Opacity","setTransform","offset","pos","setPosition","_leaflet_pos","left","top","getPosition","disableImageDrag","DomEvent.on","enableImageDrag","DomEvent.off","preventOutline","element","tabIndex","restoreOutline","outlineStyle","getSizedParentNode","offsetWidth","offsetHeight","body","getScale","rect","getBoundingClientRect","width","height","boundingClientRect","addOne","eventsKey","batchRemove","removeOne","Util.indexOf","filterFn","mouseSubst","mouseenter","mouseleave","wheel","originalHandler","passive","isExternalTarget","attachEvent","handlers","detachEvent","stopPropagation","originalEvent","_stopped","cancelBubble","disableScrollPropagation","disableClickPropagation","preventDefault","returnValue","stop","getPropagationPath","ev","composedPath","getMousePosition","clientX","clientLeft","clientY","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","related","relatedTarget","err","PosAnimation","run","newPos","duration","easeLinearity","_el","_inProgress","_duration","_easeOutPower","_startPos","DomUtil.getPosition","_offset","_startTime","_animate","_step","_complete","_animId","Util.requestAnimFrame","elapsed","_runFrame","_easeOut","progress","DomUtil.setPosition","Util.cancelAnimFrame","t","Map","crs","minZoom","maxZoom","layers","maxBounds","renderer","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","Util.bind","_initEvents","setMaxBounds","_zoom","_limitZoom","setView","reset","_zoomAnimated","DomUtil.TRANSITION","_createAnimProxy","_proxy","DomUtil.TRANSITION_END","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","animate","pan","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","noMoveStart","setZoom","zoomIn","delta","zoomOut","setZoomAround","getZoomScale","viewHalf","centerOffset","latLngToContainerPoint","containerPointToLatLng","_getBoundsCenterZoom","getBounds","paddingTL","paddingTopLeft","padding","paddingBR","paddingBottomRight","getBoundsZoom","Infinity","paddingOffset","swPoint","nePoint","fitBounds","fitWorld","panTo","panBy","_panAnim","step","_onPanTransitionStep","end","_onPanTransitionEnd","DomUtil.addClass","_mapPane","_getMapPanePos","_rawPanBy","getZoom","flyTo","targetCenter","targetZoom","from","to","size","startZoom","w0","w1","u1","rho","rho2","r","sq","sinh","n","cosh","r0","u","start","S","_moveStart","frame","_flyToFrame","_move","getScaleZoom","_moveEnd","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","paddedBounds","paddedSize","invalidateSize","oldSize","newSize","_lastCenter","oldCenter","debounceMoveend","locate","onResponse","onError","_locateOptions","timeout","watch","_handleGeolocationResponse","_handleGeolocationError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","message","stopLocate","clearWatch","error","_container","coords","latitude","longitude","accuracy","timestamp","addHandler","HandlerClass","enable","_containerId","DomUtil.remove","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","pane","DomUtil.create","_checkIfLoaded","_moved","layerPointToLatLng","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","DomEvent.getMousePosition","mouseEventToLayerPoint","mouseEventToLatLng","DomUtil.get","_onScroll","position","_fadeAnimated","DomUtil.getStyle","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","loading","zoomChanged","supressEvent","_getNewPixelOrigin","pinch","_getZoomSpan","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","targets","isHover","srcElement","dragging","_draggableMoved","DomEvent.isExternalTarget","_isClickDisabled","DomUtil.preventOutline","_fireDOMEvent","_mouseEvents","canvasTargets","synth","filtered","isMarker","getLatLng","_radius","containerPoint","bubblingMouseEvents","enabled","moved","boxZoom","disable","whenReady","callback","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","newBounds","pxBounds","projectedMaxBounds","minOffset","maxOffset","_rebound","right","DomUtil.removeClass","proxy","mapPane","DomUtil.TRANSFORM","DomUtil.setTransform","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","z","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","_tempFireZoomEvent","control","Control","map","_map","removeControl","addControl","addTo","onAdd","corner","_controlCorners","onRemove","_refocusOnMap","screenX","screenY","focus","Layers","corners","_controlContainer","createCorner","vSide","hSide","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_preventClick","_addLayer","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","removeLayer","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","section","setAttribute","DomEvent.disableClickPropagation","DomEvent.disableScrollPropagation","link","_expandSafely","_layersLink","href","title","keydown","keyCode","click","_baseLayersList","_separator","_overlaysList","overlay","sort","setZIndex","DomUtil.empty","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","display","_createRadioElement","checked","radioHtml","radioFragment","input","label","hasLayer","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","addLayer","disabled","that","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","html","DomEvent.stop","Scale","zoomControl","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","feet","maxFeet","miles","text","ratio","pow10","Attribution","prefix","ukrainianFlag","_attributions","attributionControl","getAttribution","addAttribution","_addAttribution","removeAttribution","setPrefix","attribs","prefixAndAttribs","Handler","attribution","_enabled","addHooks","removeHooks","START","Draggable","clickTolerance","dragStartTarget","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","sizedParent","mouseevent","DomUtil.hasClass","which","button","DomUtil.disableImageDrag","DomUtil.disableTextSelection","_moving","first","DomUtil.getSizedParentNode","_startPoint","_parentScale","DomUtil.getScale","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_lastEvent","_updatePosition","noInertia","DomUtil.enableImageDrag","DomUtil.enableTextSelection","fireDragend","clipPolygon","clippedPoints","k","edges","_code","LineUtil._getBitCode","LineUtil._getEdgeIntersection","polygonCenter","p1","p2","f","area","LineUtil.isFlat","centroidLatLng","centroid","latlngCenter","latSum","lngSum","_lastCode","simplify","tolerance","_simplifyDP","sqTolerance","reducedPoints","prev","dx","dy","markers","Uint8Array","_simplifyDPStep","sqDist","maxSqDist","_sqClosestPointOnSegment","newPoints","pointToSegmentDistance","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dot","isFlat","_flat","polylineCenter","halfDist","dist","segDist","LonLat","Mercator","R_MINOR","tmp","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","Layer","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","events","getEvents","LayerGroup","beforeAdd","eachLayer","method","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","getLayerId","clearLayers","invoke","methodName","getLayer","getLayers","zIndex","FeatureGroup","setStyle","bringToFront","bringToBack","Icon","popupAnchor","tooltipAnchor","crossOrigin","createIcon","oldIcon","_createIcon","createShadow","_getIconUrl","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginLeft","marginTop","IconDefault","iconUrl","iconRetinaUrl","shadowUrl","iconSize","shadowSize","imagePath","_detectIconPath","_stripUrl","strip","re","idx","match","querySelector","substring","MarkerDrag","marker","_marker","icon","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","oldLatLng","Marker","interactive","keyboard","zIndexOffset","riseOnHover","riseOffset","autoPanOnFocus","draggable","latLng","_initIcon","update","_removeIcon","_removeShadow","viewreset","setLatLng","setZIndexOffset","getIcon","setIcon","_popup","bindPopup","getElement","_setPos","classToAdd","addIcon","newShadow","mouseover","_bringToFront","mouseout","_resetZIndex","_panOnFocus","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","DomUtil.setOpacity","iconOpts","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_reset","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","radius","setRadius","getRadius","_point","r2","_radiusY","w","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","Circle","legacyOptions","_mRadius","half","lngR","latR","bottom","acos","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","LineUtil._sqClosestPointOnSegment","jLen","_parts","LineUtil.polylineCenter","_defaultShape","addLatLng","_convertLatLngs","result","flat","_rings","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","parts","LineUtil.clipSegment","_simplifyPoints","LineUtil.simplify","_updatePoly","part","LineUtil.pointToSegmentDistance","LineUtil._flat","Polygon","PolyUtil.polygonCenter","pop","clipped","PolyUtil.clipPolygon","GeoJSON","geojson","addData","feature","features","geometries","geometry","coordinates","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","geoLayer","properties","featureLayer","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","json","geoJson","ImageOverlay","errorOverlayUrl","url","_url","_image","_initImage","styleOpts","DomUtil.toFront","DomUtil.toBack","setUrl","setBounds","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","onerror","_overlayOnError","image","errorUrl","VideoOverlay","autoplay","loop","keepAspectRatio","muted","playsInline","vid","onloadeddata","sourceElements","getElementsByTagName","sources","source","SVGOverlay","DivOverlay","content","_source","_content","openOn","close","toggle","_prepareOpen","_removeTimeout","getContent","setContent","visibility","_updateContent","_updateLayout","isOpen","node","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","Popup","_initOverlay","OverlayClass","old","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","popup","DomEvent.stopPropagation","closeOnClick","closePopupOnClick","preclick","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","whiteSpace","scrolledClass","containerHeight","containerPos","_autopanning","marginBottom","containerWidth","layerPos","Tooltip","openPopup","_popupHandlersAdded","_openPopup","keypress","_onKeyPress","move","_movePopup","unbindPopup","togglePopup","isPopupOpen","setPopupContent","getPopup","direction","permanent","sticky","tooltip","_setPosition","subX","tooltipPoint","tooltipWidth","tooltipHeight","subY","DivIcon","openTooltip","closeTooltip","bindTooltip","_tooltip","isTooltipOpen","unbindTooltip","_initTooltipInteractions","_tooltipHandlersAdded","_moveTooltip","_openTooltip","_addFocusListeners","mousemove","_setAriaDescribedByOnLayer","toggleTooltip","setTooltipContent","getTooltip","_addFocusListenersOnLayer","moving","_openOnceFlag","bgPos","Element","backgroundPosition","Default","GridLayer","tileSize","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","noWrap","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","tileZoom","_clampZoom","_updateLevels","viewprereset","_invalidateAll","Util.throttle","createTile","getTileSize","compare","children","edgeZIndex","isFinite","nextFrame","willPrune","fade","tile","current","loaded","active","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","Number","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","noPrune","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","queue","margin","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","TileLayer","subdomains","errorTileUrl","zoomOffset","tms","zoomReverse","detectRetina","referrerPolicy","_onTileRemove","noRedraw","done","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","Util.template","getAttribute","tilePoint","complete","Util.emptyImageUrl","tileLayer","TileLayerWMS","defaultWmsParams","service","request","styles","format","transparent","version","wmsParams","realRetina","_crs","_wmsVersion","parseFloat","projectionKey","bbox","setParams","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","_updateTransform","currentCenterPoint","_center","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","m","_updateDashArray","order","_order","_drawLast","next","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","_dashArray","_clear","clearRect","save","restore","beginPath","clip","_drawing","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","SVG","_rootGroup","_svgSize","removeAttribute","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","BoxZoom","_pane","overlayPane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","_onKeyDown","_box","_finish","boxZoomBounds","DoubleClickZoom","doubleClickZoom","_onDoubleClick","Drag","inertia","inertiaDeceleration","inertiaMaxSpeed","worldCopyJump","maxBoundsViscosity","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","shift","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","limit","worldWidth","halfWidth","newX1","newX2","newX","ease","limitedSpeed","decelerationDuration","speedVector","limitedSpeedVector","Keyboard","keyboardPanDelta","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","mousedown","_addHooks","_removeHooks","docEl","_focused","scrollTo","panDelta","keys","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","newLatLng","ScrollWheelZoom","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","_onWheelScroll","_delta","DomEvent.getWheelDelta","debounce","_lastMousePos","_timer","_performZoom","d2","d3","d4","TapHold","tapHold","tapTolerance","_holdTimeout","_cancel","_isTapValid","_cancelClickPrevent","_simulateEvent","cancelClickPrevent","simulatedEvent","MouseEvent","bubbles","cancelable","view","dispatchEvent","TouchZoom","touchZoom","bounceAtZoomLimits","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","_animRequest","moveFn","video"],"mappings":"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"} \ No newline at end of file diff --git a/frontend/3p/leaflet/locate/L.Control.Locate.css b/frontend/3p/leaflet/locate/L.Control.Locate.css new file mode 100755 index 0000000..4342b31 --- /dev/null +++ b/frontend/3p/leaflet/locate/L.Control.Locate.css @@ -0,0 +1,63 @@ +.leaflet-control-locate a { + cursor: pointer; +} +.leaflet-control-locate a .leaflet-control-locate-location-arrow { + display: inline-block; + width: 16px; + height: 16px; + margin: 7px; + background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>'); +} +.leaflet-control-locate a .leaflet-control-locate-spinner { + display: inline-block; + width: 16px; + height: 16px; + margin: 7px; + background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M304 48a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48 368a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm208-208a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM96 256a48 48 0 1 0-96 0 48 48 0 0 0 96 0zm13 99a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm294 0a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM109 61a48 48 0 1 0 0 96 48 48 0 0 0 0-96z"/></svg>'); + animation: leaflet-control-locate-spin 2s linear infinite; +} +.leaflet-control-locate.active a .leaflet-control-locate-location-arrow { + background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="rgb(32, 116, 182)" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>'); +} +.leaflet-control-locate.following a .leaflet-control-locate-location-arrow { + background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="rgb(252, 132, 40)" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>'); +} + +.leaflet-touch .leaflet-bar .leaflet-locate-text-active { + width: 100%; + max-width: 200px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + padding: 0 10px; +} +.leaflet-touch .leaflet-bar .leaflet-locate-text-active .leaflet-locate-icon { + padding: 0 5px 0 0; +} + +.leaflet-control-locate-location circle { + animation: leaflet-control-locate-throb 4s ease infinite; +} + +@keyframes leaflet-control-locate-throb { + 0% { + stroke-width: 1; + } + 50% { + stroke-width: 3; + transform: scale(0.8, 0.8); + } + 100% { + stroke-width: 1; + } +} +@keyframes leaflet-control-locate-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +/*# sourceMappingURL=L.Control.Locate.css.map */ diff --git a/frontend/3p/leaflet/locate/L.Control.Locate.min.js b/frontend/3p/leaflet/locate/L.Control.Locate.min.js new file mode 100755 index 0000000..6a48bbe --- /dev/null +++ b/frontend/3p/leaflet/locate/L.Control.Locate.min.js @@ -0,0 +1,4 @@ +/*! Version: 0.81.1 +Copyright (c) 2016 Dominik Moritz */ +!function(t,i){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(void 0!==i&&i.L?module.exports=t(L):module.exports=t(require("leaflet"))),void 0!==i&&i.L&&(i.L.Control.Locate=t(L))}(function(l){const s=(i,s,t)=>{(t=t.split(" ")).forEach(function(t){l.DomUtil[i].call(this,s,t)})},i=(t,i)=>s("addClass",t,i),o=(t,i)=>s("removeClass",t,i);var t=l.Marker.extend({initialize(t,i){l.Util.setOptions(this,i),this._latlng=t,this.createIcon()},createIcon(){var t=this.options;let i="";void 0!==t.color&&(i+=`stroke:${t.color};`),void 0!==t.weight&&(i+=`stroke-width:${t.weight};`),void 0!==t.fillColor&&(i+=`fill:${t.fillColor};`),void 0!==t.fillOpacity&&(i+=`fill-opacity:${t.fillOpacity};`),void 0!==t.opacity&&(i+=`opacity:${t.opacity};`);t=this._getIconSVG(t,i);this._locationIcon=l.divIcon({className:t.className,html:t.svg,iconSize:[t.w,t.h]}),this.setIcon(this._locationIcon)},_getIconSVG(t,i){var s=t.radius,t=s+t.weight,o=2*t;return{className:"leaflet-control-locate-location",svg:`<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" version="1.1" viewBox="-${t} -${t} ${o} ${o}">`+'<circle r="'+s+'" style="'+i+'" /></svg>',w:o,h:o}},setStyle(t){l.Util.setOptions(this,t),this.createIcon()}}),e=t.extend({initialize(t,i,s){l.Util.setOptions(this,s),this._latlng=t,this._heading=i,this.createIcon()},setHeading(t){this._heading=t},_getIconSVG(t,i){var s=t.radius,o=t.width+t.weight,s=2*(s+t.depth+t.weight),t=`M0,0 l${t.width/2},${t.depth} l-${o},0 z`;return{className:"leaflet-control-locate-heading",svg:`<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${s}" version="1.1" viewBox="-${o/2} 0 ${o} ${s}" style="${`transform: rotate(${this._heading}deg)`}">`+'<path d="'+t+'" style="'+i+'" /></svg>',w:o,h:s}}}),t=l.Control.extend({options:{position:"topleft",layer:void 0,setView:"untilPanOrZoom",keepCurrentZoomLevel:!1,initialZoomLevel:!1,getLocationBounds(t){return t.bounds},flyTo:!1,clickBehavior:{inView:"stop",outOfView:"setView",inViewNotFollowing:"inView"},returnToPrevBounds:!1,cacheLocation:!0,drawCircle:!0,drawMarker:!0,showCompass:!0,markerClass:t,compassClass:e,circleStyle:{className:"leaflet-control-locate-circle",color:"#136AEC",fillColor:"#136AEC",fillOpacity:.15,weight:0},markerStyle:{className:"leaflet-control-locate-marker",color:"#fff",fillColor:"#2A93EE",fillOpacity:1,weight:3,opacity:1,radius:9},compassStyle:{fillColor:"#2A93EE",fillOpacity:1,weight:0,color:"#fff",opacity:1,radius:9,width:9,depth:6},followCircleStyle:{},followMarkerStyle:{},followCompassStyle:{},icon:"leaflet-control-locate-location-arrow",iconLoading:"leaflet-control-locate-spinner",iconElementTag:"span",textElementTag:"small",circlePadding:[0,0],metric:!0,createButtonCallback(t,i){var t=l.DomUtil.create("a","leaflet-bar-part leaflet-bar-part-single",t),s=(t.title=i.strings.title,t.href="#",t.setAttribute("role","button"),l.DomUtil.create(i.iconElementTag,i.icon,t));return void 0!==i.strings.text&&(l.DomUtil.create(i.textElementTag,"leaflet-locate-text",t).textContent=i.strings.text,t.classList.add("leaflet-locate-text-active"),t.parentNode.style.display="flex",0<i.icon.length)&&s.classList.add("leaflet-locate-icon"),{link:t,icon:s}},onLocationError(t,i){alert(t.message)},onLocationOutsideMapBounds(t){t.stop(),alert(t.options.strings.outsideMapBoundsMsg)},showPopup:!0,strings:{title:"Show me where I am",metersUnit:"meters",feetUnit:"feet",popup:"You are within {distance} {unit} from this point",outsideMapBoundsMsg:"You seem located outside the boundaries of the map"},locateOptions:{maxZoom:1/0,watch:!0,setView:!1}},initialize(t){for(const i in t)"object"==typeof this.options[i]?l.extend(this.options[i],t[i]):this.options[i]=t[i];this.options.followMarkerStyle=l.extend({},this.options.markerStyle,this.options.followMarkerStyle),this.options.followCircleStyle=l.extend({},this.options.circleStyle,this.options.followCircleStyle),this.options.followCompassStyle=l.extend({},this.options.compassStyle,this.options.followCompassStyle)},onAdd(t){var i=l.DomUtil.create("div","leaflet-control-locate leaflet-bar leaflet-control"),t=(this._container=i,this._map=t,this._layer=this.options.layer||new l.LayerGroup,this._layer.addTo(t),this._event=void 0,this._compassHeading=null,this._prevBounds=null,this.options.createButtonCallback(i,this.options));return this._link=t.link,this._icon=t.icon,l.DomEvent.on(this._link,"click",function(t){l.DomEvent.stopPropagation(t),l.DomEvent.preventDefault(t),this._onClick()},this).on(this._link,"dblclick",l.DomEvent.stopPropagation),this._resetVariables(),this._map.on("unload",this._unload,this),i},_onClick(){this._justClicked=!0;var i=this._isFollowing();if(this._userPanned=!1,this._userZoomed=!1,this._active&&!this._event)this.stop();else if(this._active){var s=this.options.clickBehavior;let t=s.outOfView;switch(t=s[t=this._map.getBounds().contains(this._event.latlng)?i?s.inView:s.inViewNotFollowing:t]?s[t]:t){case"setView":this.setView();break;case"stop":this.stop(),this.options.returnToPrevBounds&&(this.options.flyTo?this._map.flyToBounds:this._map.fitBounds).bind(this._map)(this._prevBounds)}}else this.options.returnToPrevBounds&&(this._prevBounds=this._map.getBounds()),this.start();this._updateContainerStyle()},start(){this._activate(),this._event&&(this._drawMarker(this._map),this.options.setView)&&this.setView(),this._updateContainerStyle()},stop(){this._deactivate(),this._cleanClasses(),this._resetVariables(),this._removeMarker()},stopFollowing(){this._userPanned=!0,this._updateContainerStyle(),this._drawMarker()},_activate(){if(!this._active&&this._map&&(this._map.locate(this.options.locateOptions),this._map.fire("locateactivate",this),this._active=!0,this._map.on("locationfound",this._onLocationFound,this),this._map.on("locationerror",this._onLocationError,this),this._map.on("dragstart",this._onDrag,this),this._map.on("zoomstart",this._onZoom,this),this._map.on("zoomend",this._onZoomEnd,this),this.options.showCompass)){const t="ondeviceorientationabsolute"in window;if(t||"ondeviceorientation"in window){const i=this,s=function(){l.DomEvent.on(window,t?"deviceorientationabsolute":"deviceorientation",i._onDeviceOrientation,i)};DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then(function(t){"granted"===t&&s()}):s()}}},_deactivate(){this._active&&this._map&&(this._map.stopLocate(),this._map.fire("locatedeactivate",this),this._active=!1,this.options.cacheLocation||(this._event=void 0),this._map.off("locationfound",this._onLocationFound,this),this._map.off("locationerror",this._onLocationError,this),this._map.off("dragstart",this._onDrag,this),this._map.off("zoomstart",this._onZoom,this),this._map.off("zoomend",this._onZoomEnd,this),this.options.showCompass)&&(this._compassHeading=null,"ondeviceorientationabsolute"in window?l.DomEvent.off(window,"deviceorientationabsolute",this._onDeviceOrientation,this):"ondeviceorientation"in window&&l.DomEvent.off(window,"deviceorientation",this._onDeviceOrientation,this))},setView(){var t;this._drawMarker(),this._isOutsideMapBounds()?(this._event=void 0,this.options.onLocationOutsideMapBounds(this)):this._justClicked&&!1!==this.options.initialZoomLevel?(t=this.options.flyTo?this._map.flyTo:this._map.setView).bind(this._map)([this._event.latitude,this._event.longitude],this.options.initialZoomLevel):this.options.keepCurrentZoomLevel?(t=this.options.flyTo?this._map.flyTo:this._map.panTo).bind(this._map)([this._event.latitude,this._event.longitude]):(t=this.options.flyTo?this._map.flyToBounds:this._map.fitBounds,this._ignoreEvent=!0,t.bind(this._map)(this.options.getLocationBounds(this._event),{padding:this.options.circlePadding,maxZoom:this.options.initialZoomLevel||this.options.locateOptions.maxZoom}),l.Util.requestAnimFrame(function(){this._ignoreEvent=!1},this))},_drawCompass(){var t,i;this._event&&(t=this._event.latlng,this.options.showCompass&&t&&null!==this._compassHeading&&(i=this._isFollowing()?this.options.followCompassStyle:this.options.compassStyle,this._compass?(this._compass.setLatLng(t),this._compass.setHeading(this._compassHeading),this._compass.setStyle&&this._compass.setStyle(i)):this._compass=new this.options.compassClass(t,this._compassHeading,i).addTo(this._layer)),!this._compass||this.options.showCompass&&null!==this._compassHeading||(this._compass.removeFrom(this._layer),this._compass=null))},_drawMarker(){void 0===this._event.accuracy&&(this._event.accuracy=0);var t,i=this._event.accuracy,s=this._event.latlng;this.options.drawCircle&&(t=this._isFollowing()?this.options.followCircleStyle:this.options.circleStyle,this._circle?this._circle.setLatLng(s).setRadius(i).setStyle(t):this._circle=l.circle(s,i,t).addTo(this._layer));let o,e;e=this.options.metric?(o=i.toFixed(0),this.options.strings.metersUnit):(o=(3.2808399*i).toFixed(0),this.options.strings.feetUnit),this.options.drawMarker&&(t=this._isFollowing()?this.options.followMarkerStyle:this.options.markerStyle,this._marker?(this._marker.setLatLng(s),this._marker.setStyle&&this._marker.setStyle(t)):this._marker=new this.options.markerClass(s,t).addTo(this._layer)),this._drawCompass();const n=this.options.strings.popup;function a(){return"string"==typeof n?l.Util.template(n,{distance:o,unit:e}):"function"==typeof n?n({distance:o,unit:e}):n}this.options.showPopup&&n&&this._marker&&this._marker.bindPopup(a())._popup.setLatLng(s),this.options.showPopup&&n&&this._compass&&this._compass.bindPopup(a())._popup.setLatLng(s)},_removeMarker(){this._layer.clearLayers(),this._marker=void 0,this._circle=void 0},_unload(){this.stop(),this._map&&this._map.off("unload",this._unload,this)},_setCompassHeading(t){!isNaN(parseFloat(t))&&isFinite(t)?(t=Math.round(t),this._compassHeading=t,l.Util.requestAnimFrame(this._drawCompass,this)):this._compassHeading=null},_onCompassNeedsCalibration(){this._setCompassHeading()},_onDeviceOrientation(t){this._active&&(t.webkitCompassHeading?this._setCompassHeading(t.webkitCompassHeading):t.absolute&&t.alpha&&this._setCompassHeading(360-t.alpha))},_onLocationError(t){3==t.code&&this.options.locateOptions.watch||(this.stop(),this.options.onLocationError(t,this))},_onLocationFound(t){if((!this._event||this._event.latlng.lat!==t.latlng.lat||this._event.latlng.lng!==t.latlng.lng||this._event.accuracy!==t.accuracy)&&this._active){switch(this._event=t,this._drawMarker(),this._updateContainerStyle(),this.options.setView){case"once":this._justClicked&&this.setView();break;case"untilPan":this._userPanned||this.setView();break;case"untilPanOrZoom":this._userPanned||this._userZoomed||this.setView();break;case"always":this.setView()}this._justClicked=!1}},_onDrag(){this._event&&!this._ignoreEvent&&(this._userPanned=!0,this._updateContainerStyle(),this._drawMarker())},_onZoom(){this._event&&!this._ignoreEvent&&(this._userZoomed=!0,this._updateContainerStyle(),this._drawMarker())},_onZoomEnd(){this._event&&this._drawCompass(),this._event&&!this._ignoreEvent&&this._marker&&!this._map.getBounds().pad(-.3).contains(this._marker.getLatLng())&&(this._userPanned=!0,this._updateContainerStyle(),this._drawMarker())},_isFollowing(){return!!this._active&&("always"===this.options.setView||("untilPan"===this.options.setView?!this._userPanned:"untilPanOrZoom"===this.options.setView?!this._userPanned&&!this._userZoomed:void 0))},_isOutsideMapBounds(){return void 0!==this._event&&this._map.options.maxBounds&&!this._map.options.maxBounds.contains(this._event.latlng)},_updateContainerStyle(){this._container&&(this._active&&!this._event?this._setClasses("requesting"):this._isFollowing()?this._setClasses("following"):this._active?this._setClasses("active"):this._cleanClasses())},_setClasses(t){"requesting"==t?(o(this._container,"active following"),i(this._container,"requesting"),o(this._icon,this.options.icon),i(this._icon,this.options.iconLoading)):"active"==t?(o(this._container,"requesting following"),i(this._container,"active"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon)):"following"==t&&(o(this._container,"requesting"),i(this._container,"active following"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon))},_cleanClasses(){l.DomUtil.removeClass(this._container,"requesting"),l.DomUtil.removeClass(this._container,"active"),l.DomUtil.removeClass(this._container,"following"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon)},_resetVariables(){this._active=!1,this._justClicked=!1,this._userPanned=!1,this._userZoomed=!1}});return l.control.locate=t=>new l.Control.Locate(t),t},window); +//# sourceMappingURL=L.Control.Locate.min.js.map \ No newline at end of file diff --git a/frontend/3p/leaflet/locate/L.Control.Locate.min.js.map b/frontend/3p/leaflet/locate/L.Control.Locate.min.js.map new file mode 100755 index 0000000..c99f4ff --- /dev/null +++ b/frontend/3p/leaflet/locate/L.Control.Locate.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"L.Control.Locate.min.js","sources":["../src/L.Control.Locate.js"],"names":["factory","window","define","amd","exports","L","module","require","Control","Locate","LDomUtilApplyClassesMethod","method","element","classNames","split","forEach","className","DomUtil","call","this","addClasses","el","names","removeClasses","LocationMarker","Marker","extend","initialize","latlng","options","Util","setOptions","_latlng","createIcon","opt","let","style","undefined","color","weight","fillColor","fillOpacity","opacity","icon","_getIconSVG","_locationIcon","divIcon","html","svg","iconSize","w","h","setIcon","r","radius","s","s2","setStyle","CompassMarker","heading","_heading","setHeading","width","depth","path","LocateControl","position","layer","setView","keepCurrentZoomLevel","initialZoomLevel","getLocationBounds","locationEvent","bounds","flyTo","clickBehavior","inView","outOfView","inViewNotFollowing","returnToPrevBounds","cacheLocation","drawCircle","drawMarker","showCompass","markerClass","compassClass","circleStyle","markerStyle","compassStyle","followCircleStyle","followMarkerStyle","followCompassStyle","iconLoading","iconElementTag","textElementTag","circlePadding","metric","createButtonCallback","container","link","create","title","strings","href","setAttribute","text","textContent","classList","add","parentNode","display","length","onLocationError","err","control","alert","message","onLocationOutsideMapBounds","stop","outsideMapBoundsMsg","showPopup","metersUnit","feetUnit","popup","locateOptions","maxZoom","Infinity","watch","i","onAdd","map","linkAndIcon","_container","_map","_layer","LayerGroup","addTo","_event","_compassHeading","_prevBounds","_link","_icon","DomEvent","on","ev","stopPropagation","preventDefault","_onClick","_resetVariables","_unload","_justClicked","wasFollowing","_isFollowing","_userPanned","_userZoomed","_active","behaviors","behavior","getBounds","contains","flyToBounds","fitBounds","bind","start","_updateContainerStyle","_activate","_drawMarker","_deactivate","_cleanClasses","_removeMarker","stopFollowing","locate","fire","_onLocationFound","_onLocationError","_onDrag","_onZoom","_onZoomEnd","oriAbs","_this","deviceorientation","_onDeviceOrientation","DeviceOrientationEvent","requestPermission","then","permissionState","stopLocate","off","f","_isOutsideMapBounds","latitude","longitude","panTo","_ignoreEvent","padding","requestAnimFrame","_drawCompass","cStyle","_compass","setLatLng","removeFrom","accuracy","mStyle","_circle","setRadius","circle","distance","unit","toFixed","_marker","t","getPopupText","template","bindPopup","_popup","clearLayers","_setCompassHeading","angle","isNaN","parseFloat","isFinite","Math","round","_onCompassNeedsCalibration","e","webkitCompassHeading","absolute","alpha","code","lat","lng","pad","getLatLng","maxBounds","_setClasses","state","removeClass"],"mappings":"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"} \ No newline at end of file diff --git a/frontend/3p/lozad.min.js b/frontend/3p/lozad.min.js new file mode 100644 index 0000000..1ef50d2 --- /dev/null +++ b/frontend/3p/lozad.min.js @@ -0,0 +1,15 @@ +/*! lozad.js - v1.16.0 - 2020-09-10 +* https://github.com/ApoorvSaxena/lozad.js +* Copyright (c) 2020 Apoorv Saxena; Licensed MIT */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.lozad=e()}(this,function(){"use strict"; +/** + * Detect IE browser + * @const {boolean} + * @private + */var g="undefined"!=typeof document&&document.documentMode,v=function(t){return window&&window[t]},h=["data-iesrc","data-alt","data-src","data-srcset","data-background-image","data-toggle-class"],p={rootMargin:"0px",threshold:0,enableAutoReload:!1,load:function(t){if("picture"===t.nodeName.toLowerCase()){var e=t.querySelector("img"),r=!1;null===e&&(e=document.createElement("img"),r=!0),g&&t.getAttribute("data-iesrc")&&(e.src=t.getAttribute("data-iesrc")),t.getAttribute("data-alt")&&(e.alt=t.getAttribute("data-alt")),r&&t.append(e)}if("video"===t.nodeName.toLowerCase()&&!t.getAttribute("data-src")&&t.children){for(var a=t.children,o=void 0,i=0;i<=a.length-1;i++)(o=a[i].getAttribute("data-src"))&&(a[i].src=o);t.load()}t.getAttribute("data-poster")&&(t.poster=t.getAttribute("data-poster")),t.getAttribute("data-src")&&(t.src=t.getAttribute("data-src")),t.getAttribute("data-srcset")&&t.setAttribute("srcset",t.getAttribute("data-srcset"));var n=",";if(t.getAttribute("data-background-delimiter")&&(n=t.getAttribute("data-background-delimiter")),t.getAttribute("data-background-image"))t.style.backgroundImage="url('"+t.getAttribute("data-background-image").split(n).join("'),url('")+"')";else if(t.getAttribute("data-background-image-set")){var d=t.getAttribute("data-background-image-set").split(n),u=d[0].substr(0,d[0].indexOf(" "))||d[0];// Substring before ... 1x +u=-1===u.indexOf("url(")?"url("+u+")":u,1===d.length?t.style.backgroundImage=u:t.setAttribute("style",(t.getAttribute("style")||"")+"background-image: "+u+"; background-image: -webkit-image-set("+d+"); background-image: image-set("+d+")")}t.getAttribute("data-toggle-class")&&t.classList.toggle(t.getAttribute("data-toggle-class"))},loaded:function(){}}; +/** + * + * @param {string} type + * + */function k(t){t.setAttribute("data-loaded",!0)}var y=function(t){return"true"===t.getAttribute("data-loaded")},w=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:document;return t instanceof Element?[t]:t instanceof NodeList?t:e.querySelectorAll(t)};return function(){var r,a,e,o=0<arguments.length&&void 0!==arguments[0]?arguments[0]:".lozad",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},i=Object.assign({},p,t),n=i.root,d=i.rootMargin,u=i.threshold,g=i.enableAutoReload,s=i.load,c=i.loaded,l=void 0,b=void 0;v("IntersectionObserver")&&(l=new IntersectionObserver((r=s,a=c,function(t,e){t.forEach(function(t){(0<t.intersectionRatio||t.isIntersecting)&&(e.unobserve(t.target),y(t.target)||(r(t.target),k(t.target),a(t.target)))})}),{root:n,rootMargin:d,threshold:u})),v("MutationObserver")&&g&&(b=new MutationObserver((e=s,function(t){t.forEach(function(t){y(t.target)&&"attributes"===t.type&&-1<h.indexOf(t.attributeName)&&e(t.target)})})));for(var f,m=w(o,n),A=0;A<m.length;A++)(f=m[A]).getAttribute("data-placeholder-background")&&(f.style.background=f.getAttribute("data-placeholder-background"));return{observe:function(){for(var t=w(o,n),e=0;e<t.length;e++)y(t[e])||(l?(b&&g&&b.observe(t[e],{subtree:!0,attributes:!0,attributeFilter:h}),l.observe(t[e])):(s(t[e]),k(t[e]),c(t[e])))},triggerLoad:function(t){y(t)||(s(t),k(t),c(t))},observer:l,mutationObserver:b}}}); diff --git a/frontend/data b/frontend/data new file mode 120000 index 0000000..20bf75b --- /dev/null +++ b/frontend/data @@ -0,0 +1 @@ +../backend/data \ No newline at end of file diff --git a/frontend/favicon.ico b/frontend/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..205d1a77cfbff6511c5aa4c78141d6d465e45606 GIT binary patch literal 905 zcmZQzU}Rus5D;KsU|>*SSk1t|U<P6-K=`VR3=9t$7#Iu;ApB-V1_m}J28PZ6KX+a( zDJ}*E23}7OmmmfP29OB?94rhB3|oJhzhYouDDrf145_&F^r9ngvx9)!Lv=<@Wma*S zNcJ_t1q^->>JJ!XZ2V@M&0h9$?|YM<pYF5Otx0zc`*lq3#SDu>HxJ&N(A>GAt)Tba zs<hB@_l;6bTmL-#wcXLM^W-Np4Yi#Ik4~8EGr{uk(TAzBcXG~lo8`QT=1<sS-`Dt9 zyb$DAPgg&ebxsLQSey#-oC4UXH;XsbGcYi`fjIT;R7cTf0|6IzCLtwO_9Kp}4a@}& zvRn8LII1=@A8}Omk&hG-TJYt@K0CGTsXvUD$3FNzWnoLBW9OR-%je{Kv|HvSe6bSQ zZ7=?!N&RH$;-*=%TFoV{1O(>o{b8f<L~EOginN&uZ}zGk-X}uW%=Kqz=FzXY;LWfo z@1@c6vWK%7IJVUoh4Cc3c=WrFJ0hF6!rYos{Q=7#^8=d-PcL3*%MuZ{y<whJWc;kZ zdJ3O<jU9@fC-U?5-qR0wsnl?!+}-YN%5;-{omDU9XoPIo*S*K~e%JQEzUrbJvwekA zch|pLrZ>Mf{vx;dFDA{-g+;jp0tpo31{}-`3=9c(IJYt|F!%-dgt&q<VZ#av3IPED z{{H^!*RTKo|Nnsl2kPtV@87@Az`)?(;ILuCh6fKGG&D3YFfc4wumEC!fPg?&vRV-X z1A}BqkY6x^|N8$83ibE@LxBT`e(--ofVuoieg+1H)8IH_e0!xm>wp1IOQQOw&EL=c z-k%Y;q3WyXsdr+R|J2A_es?>5n)kfgkiWOfHM}lrcRzR$Al&y@^2!wNQ194}JgXQV z``-R~sXRB?I7YOAKl!@tg4f3mrY&2d^<n*<*E}z7@?^0*(A*#y!tj*m(HWi1VN9}& zRduRA*#AF}|I?g0tunE}E8*^=`#aY11TapED){PjU{yGS-tPH-`et$jG*=%G{8?$a z_w|;U>^h#I1<l8~&4Rtph8`%KQ5oO+Ik9aO`|(7!ufOkc|M}@WYe`m^3@9LA=@bBR C!C>M5 literal 0 HcmV?d00001 diff --git a/frontend/ico/150.png b/frontend/ico/150.png new file mode 100644 index 0000000000000000000000000000000000000000..a35eccae0d8f42c33bfae20640c57cdbc022c226 GIT binary patch literal 946 zcmeAS@N?(olHy`uVBq!ia0y~yV3-EN9Lx+14BYn{FEB7L%n9%bab+M2I5;@WpFe;7 z`t|<){sIC5`T6<x@8AFb|9^dby@G;5e}Dgm4IAR)<M;31f8fA@_wV0BENN(HNJvNs z2nhJ_;lqRp6CONxP*6~?V8H^2EG9Ym&d*#11_qOoAirP+h5YsP2K@r@`~RQ6|2|>9 z!-oH8!2bYDU_ro#2@eV`G^F*dp2fhxG||(=F{Fa=?VZ#z6+;1*hi11w8Js?IX5ast zXZ~(65X~==H1Zet^>6j6`^M)#+vMlfB^Ivy6&W2BGcSJSleO!XUSGR@-Jh0aQ-8Wu zMQ&Dg(lrm>oA%p%a_Oy=aqjI}mrqKpTBGeal{1AYWG3IzNt^+xR#Uvx9Hzbu(3;5* zy3E;dCYPvBdy<i;)(pO*DO@5xt*^dTzf5gboX8n)P-Vr%ib<cN!_H0a^;Mg^&}{oQ zMeYSf=Sr`=p5fDS>*m=?{ZmOR^f%4$X})#d@=VeS%}6du=cgLo3zwyFrtpZS8H%Kw zbvhQ1s_Na)q@!Z(u)<(<bHD^sWl6`Qk+}^*o0yE67Oe@Jwe6w8bVspCh9c>*ewC-( z8XxJXC2O2>(m2Ot)F!k^qHFVvo`n|O3oW`&GH`8T@B#@ptyz3#v5o@siutpTdh5SV zows?;Q=N3n(~;+jrh%DfEs%Lg64;n)_CEfyYw}xrjn`jtjIZ9dvHE{7^11u$IjsSy z4$IPW=P#+6!Wz(d66}VBGkP{lbZwUCI`L)A=kCB?S?v>81DGV!W4~S6velw{K?Bbw zhE;D?Ez)UXGCIMuV$)$i(KN;@SHE86om?p9bob7=(9j920p;KG|0_iE`?N(eT&?ou z+QhIb_-eG1(TSuL2Hgu!P0%@$v_gY>;VG6){+lJVP6#bv*)-{BK;Si2$BPrzoJ-O; zA+$hb({`P<M>?`xClVM!mpQ#mVG#9ixpb0&OAW+k6<%0k)X>x!U?u5r&_!b|&w_+l zUN3cKjR<$JqHDV@E&wT5d&l1H-;vcB{o&skz8XKTocG+8d96(3L2(Ns7f_P-boFyt I=akR{03X$u1^@s6 literal 0 HcmV?d00001 diff --git a/frontend/ico/16.png b/frontend/ico/16.png new file mode 100644 index 0000000000000000000000000000000000000000..ad53c964acf16d601cdd5dd8faf96b9a128daca3 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+6nVNhhE&{odeM=$*+IbV zp*ka{GOM^uB>NiS0tUYb^#=?xHh#0sW-oiW_r1x_PxsmC)}*_J{W_-iVur<`n+I=B zXzpCmR?z!yRa$7d`$nmzt$!Z=+U{uBdGeE)hT6`9M<-17nP7SN=)+XmJ2_{&&2rvE a^CxVv?`wQ4UdX_}z~JfX=d#Wzp$Pz;+eA44 literal 0 HcmV?d00001 diff --git a/frontend/ico/192.png b/frontend/ico/192.png new file mode 100644 index 0000000000000000000000000000000000000000..2df89d267ac454692e6917dea685ba93efae3175 GIT binary patch literal 1024 zcmeAS@N?(olHy`uVBq!ia0y~yU^oE69Lx+145>_WOc@v$G6Q@<Tp5S}3JMDT{{HLN zumAu5e|>%Z{rmU(`}^O&e;*$ozkmOJ1_p)?A3hv7a3CQeVZww73=9k#Hf#t82w-4f zc<|ssLqh|^h8f<bl?)6F$|XU5!3+ZV=l}1IcbI>_;J|-4NC2@u{QrO9|NjRIzFP}4 zGcYhKd%8G=R4~51)1D<ADAMw9YUyL8qjBLUOJnc-S5)pfq$=^}{Yid~!!oBX9r<up z!K(bk)1sX*decw;eXrX$ZLMy<82ib;r8Xz5EpvZc+e-eqT0EUQ^iX8>-*bO>zTVkp zqWWdCamSsh`UlS^6kXrPV&8n~tLh5Lnsxe)XCD;Ta%Qp3f9)M${39m5Y1YB#zl5&v z*j=B#Ann7>O)dBTCZ`E3UM+M^|Jb+6$47V0a_rGNwSSM)@%;^jdv;AR7Aayh*#75k z>4A4ocv@o^&glHtb~qDog4JQ+AAJTxXGL*_h(lk`TGX+xI1`{R&k%9w?cE*L3?gY7 zQ~4X5ellpB3DA&dSo(=EU`ArzPlgrK_#5iXubUh`^NFz_Mqi%c@4Gx{`6>JjM>hr3 zF&;2>c(<>HMQ39TV}qo{bVg~t`-}-}CsGg0@-ASQ!B`}DK(&J5{DGZ34}>HX(ig<A zIdJj_7$@j4FJNKo0BHzmVmQEK8_wir$N$2(;AcDA0iL&?cl>E){FBejq0qp<L<54E zVcXl!+w4UO{$Kd^z2N_6hTF&M<$qP((Q>ez&KOW<KckURX*y#J)7b+I6HhbfHKrvr zoJeJu&R}fd@Wjrr!Mj0HLZRq7&x22iY-}BO&gLBW?A^Tj+yMr;TB&D@arbxp`NhMt z;No&th7C1_%*-$3zweV|V=4G4FK=>Kn~Ce`_dAml6&R-f-*>BbN5tOk`R||3WN7_V zt;e+E&p!s6vmd^lYKZ#DF(bHc{~;cRih03y3|vpYYoEWscr}J)$|?QxA4CIAxjL+6 zF?41ZDH06Oay)Z^vGtQ+fd0WV7Z|m+A9UnQYO{5ia-Ko&;F$~dYS*WqH~!EW6Tc6f zj{fjyU7!9SJzys^$^DQFS*L&S{DPud&N{ZK)<1>*@TiqP_5NVI;?BwG3F!qpyHA3X r-R!TyvtOzHkX)8lR18k$PmAgq+}FQO{N(Ig2Fhoiu6{1-oD!M<ZB?v< literal 0 HcmV?d00001 diff --git a/frontend/ico/310.png b/frontend/ico/310.png new file mode 100644 index 0000000000000000000000000000000000000000..0950cede1683291f078b32f4a8df614f5235929f GIT binary patch literal 1830 zcmeAS@N?(olHy`uVBq!ia0y~yU^D|^4rT@hhC4}qvl$o|mInBQxH3=%1Ox;E0s;&S z3=|X;92^|x&!7MQ|NjFA4m310tY5$0-`_t!KmY#y`}Otp@$vEd_wVoT?|=XPJp%*7 z`Sa%s3JMl1Sn%P)hY1rVT)1!{At7PIh7AuMJiv5OlDgDd1_lQ6k|4ie27&nc{r&k0 z{_FprzyID~enP;40}lT&KmlCj!-fY97bcX12&pqLu>SOPaSW+oe0z<xPuY`!HL&`G z_0^P&b>B>kAOFqYc410$oOZ~574MJv6Z97^xcp{L@j1)qaN_#k4<9c-*WY{Y&ARVP zzY72Py0z-&a{kR#uZypq-nWhQ`frQ)sk$}u_C67tF1F9wVgJ$#r;1KKb=H2pT`J0K zXH7<G_u5u5e?9rAn>E=BpH4pA9%h!Iy``q;=Y>;kA1@@G+$tY+Q$sq+Wal?$?bGek z{PpCe(z{!x`REBmMgCs+baHoV*ff6K`7w4T=ce)KPKr_3vZ*HH=aWwh3%BKDG(KTk zIF;3D_R=T2;-6`4D#@_fx%8;TtxrL$)A@Vz-#MF0-KuGw&aXR9hQC)|KFY>YPAXn| z;o3D}`O(qKPqI2a&Q{#gd$wwI)$JYsww;~C-EvHvKR12*y849GukY@SC~CZLE!<L? z|83>{&9?fJV-&W$&HpNvet6;EM%{@q3S0Kx-SsTTVvGG|)=Atg-)xSxInO>J=AkDb zm3DZc@6l=geXZN-1NQT7_;_Ji`f0UxCu^Hk+2@Wq&z`3{ONO6!^T!Ju(*AnlQVEY2 z2Aa)_Q877i%-K1o@kvF-jNW#)8%!rZUeJi<<o)xIVVgsdjme2HC+7W^8gwUs^e%N$ z&N0~OZ)0*|8h7u;gHI|lT5<(=csFl+l9ADn+u1Iby7*+{1%}%~{JQ7dCNVE$+?FgC zHIG+?-HAEpE-Rc_D<_q%eDdvcC*~YwIjMAKYpWRkR<;{r6&Z7S-zC@!NF_a9xbz0o z$+fvn7c`{#dpEOAioR*T@}dQZ{qYG%S^Ke@hfaRHU~&7GB7g5@h**7vMYNWsoK*Vb zdW$(A2lsBCd#z?pue!Sv_lDljIWwPlWo+`@dihmu`qwLyb7S`AdYj!$ne0m}vF!*6 ziitIpUh3A~oEw^NJvH~#-1%!mQ(uce-}Lvt-ukdr^UJoH2Ir*DSv&DU)5)VZ&goy% zK6fo7W91X4oa?JYCDR`-Y@O`A;ckz2#+=^vW0N1}?7RSq2KD1ND>CNjib?tRZT@({ zLi+!Q4^J$jb+$0vz9wpre6r9?F6yRk0`tO$Pb{JpwrtwXnPXux?@lRqj?I=$|5VK6 zr2O-0gwq}`oO-uR5TxMhYYl1swQqJX-*CuK*r_AUu{P(1Vvd5zgqS&NTiC8hNOSP2 zOiyB7IQ1^S)tufIwn^Qa8ZWHcoo;ff%}M(1q$f@}8e7`qmLI<9k@5ZbUBB)BJtlE) zn45dxf`K$w?v6W^Hy>?S`NZP(*_T}0y_+vyIF(S;perDiw0PlE)5$XFhZiz#TjrFl zVR^32nK_5I^;$^L4BmFO8%zsLC&(lmUYNLTcH!lPtdnM+Xmfs?bA9#Mb}^4UCTTw2 z&8kk^D&~#6?Z<8kf#eUgIUmmHyuftQH{tNY!fhcLjZgj^0O`qoc!B9;?eS|489lnP zQ3^ZX->k@}G?R-`*|{}o2G3d@fhYw_D}ktaZ^c^JCLLy8`1GdS@5}9Olccu_O3Cu& zZk!zV{-v3WRJ`=UkBv_pG7^4X_;m8&g&&_5KAn7c;m4=Wr`6k?AA?FVzV>6&`E}>Z z@PUdRJ4+d<c)Kk%MHVLeK;>6KM$KXnosm&<7)m#T=z@%z?;sN|UicyQ8DivD7@ZGd zEMEBWYa2+#!wWxlHMh67KaNW;yKY@4WouIV8oA(pKIb=kTpYtIX@%*3LA8sgtDnm{ Hr-UW|XDV92 literal 0 HcmV?d00001 diff --git a/frontend/ico/32.png b/frontend/ico/32.png new file mode 100644 index 0000000000000000000000000000000000000000..9af36ed485a52aab610e7e81473a4ba56a352b09 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4i*LmhMUEk>KPaq-gvq=hE&{oJJnIN*+9U> zok>WEmHmjLY6EkDgX|W*1CFW<%|{$nedHsBgcf|cvCmFzd+HD4<*^UGPg&T~=-Bz@ z!ty!!9_^NS316&4cH4`;Xi`5}y0~f9tX6Z0D*=Iddw<v{Jki=_q9Sdk!kfKnhxdul zHFNzLntAkVE_gF6%6n<_yzJp@299ktMqxY&FCP6a<c`SZtuVJ{RDZzo$Na#i!qbZv z+OkB%ZEu)o6&XM4ub#rEUSo%%=ZXBhz4!D3UMe*lDR;Mfn=;*`UuV^eIT|4w_I2;E wz2CJxu&=r($82BW)ZO*(mg&u}jlak({)<Vob74^~0|Nttr>mdKI;Vst0PbaWE&u=k literal 0 HcmV?d00001 diff --git a/frontend/ico/48.png b/frontend/ico/48.png new file mode 100644 index 0000000000000000000000000000000000000000..e331c529e4a400a218430d733d17077baed83704 GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4rT@hhJ-tuTNxM_`~rMJTp4fx1qFqGfB=7g z|MlzF|NsC0z<~qx_4W7f-)CT8aBy(guwlc42M-z=8W<QD7A#l*F+)H=AS+p|h=GAY zvLwhan8APj{|1Hn`~RW90YpFezahX}ekDHx1H)-g7srqa#<y46vkn;Wv?Qu;+Wh_8 z@BJBp8>+sFo_Z&C`A?0^<#)H^r+Lq-4f%V!T*K?4cK3r90m6NcC9h2J4)u=x$g_&^ zvG47#m&$XKjblU`_>-^OE_i+HVA`@JS|8T$dCl|UCQla21I-PRAq-D>9-YzI9L6Ne zSXHO`gZ=*l`9IC6(<&1iyb|s{y1!#BPXObzsDiIf2UdkM=<S~Wr*9@lKy&p0!Jn0u zdtYyv$*$uWTF`u)+br1oZ0Lc)8I|$9pA*|wu^&%l`}+GH_n)86vzBCq$$$dF)78&q Iol`;+0I7JQ)&Kwi literal 0 HcmV?d00001 diff --git a/frontend/ico/512.png b/frontend/ico/512.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a094f816e6bdebb2c5a7a6c7c41d5655de79b3 GIT binary patch literal 3052 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 U$#(YbjP)QfPgg&ebxsLQ09Wr8v;Y7A literal 0 HcmV?d00001 diff --git a/frontend/ico/70.png b/frontend/ico/70.png new file mode 100644 index 0000000000000000000000000000000000000000..51a41b68685275590cf1fb516fdb235b3b457351 GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0y~yU~mIr4i*LmhTG~|{0t0?2R&UJLn>~)y?L;*$w8p) z;eHmc4J=*@nr}3gEs*tKztLDCU_F6v65j&mmk-V}267m0?v^N?IrFpL{m*id2aZ42 zPj6-BTB5(-+__P9(hp|om;<-#5{;j)Fyt&-k-vRfp&aYF?-T0QTj-jcD)?3UoQFSi zzOhu5%h3~Zm(Cf_s$xlU>2I-adN6DC^B$3Ym)<}dqj?^a6e1@6d2-xF`DpTCZf!%i zuPbi)%R5gp<u`QeI^M;)Ud6JLvm&79<uMZ@8#&`1&%<(IJ((#LCk#t(D2pUZY04G( zw7AFg<f&B7FkJaiP~O<|lFgYJb7~@aJm+y9`cRSW^PRJ*=XeDUv`2B7D#yJ4_RAi9 ztILoT6p;=#nk{_!lg2;4vp03RGIz+^CAB2C$z6KoR(9sZ;`?sB6K$Wwf0#5;Ou3>Y zT2VAPq+dufXiCOmx1gREj$15}uI^pYlN8d=_WR=IvtswRU9>p%;Rav)%y)*%+D(>S zR91Uq*y(t~x$aeP&ovgomx6s4ZPFx;Rz(;l_Di}M%0-=#>91Jaa6I{xt6bt@j{b)i pZ9lcjZMrB}Ij6n<{N~Th`xbrr_vV09AOiyfgQu&X%Q~loCIAJl-mw4x literal 0 HcmV?d00001 diff --git a/frontend/ico/apple-touch-icon.png b/frontend/ico/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f5c1463b36b659e03f362af1c405d598ed049dbc GIT binary patch literal 1094 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8BmInBQxPlm@V}F1D_3PIg z7#Pf-KVLyXp}xNU{{8#^|NnPza5#Vde0+SofPg?lL&N*`?++X}z`(%J-`~G~|9%Dr zhWz~e4<9~k*sviXA)%n4;K73j3l=O02ne`v;lhLo6L2|XfA_r_1_lQ6k|4ie27~_n z`3eH@>*qV1|L_0)etp4zRFLrh{{n=_g99HfOlSz$ka_XlE(Qi>NlzEYkP61P7g~$% zMoBm)wx3MAlbE*bd;R9>==q=KRfR4tTKZsN{k0n3Z~A(tH|d;iYjbyVJ3edvwvU}B zC$7wVf5_){ZqYY&LEp1m^UaOk#l0}wpHRr{ayRV__uBJo1xlm0=>NE5bg`#jr}($a zH`ckg)i>$CxMMf5*75nb&M(|%+x=DIKkTek`q^~;t?*xll;-N1l6|d?CJOqx<@I4< z;kV}X`qWf^`XX{9$V6fN+WaY({%(&vb?uwq@2_Whjm?$y-zJ$TO%Jkjo4)DzoemzC z-=SN2{<xL|?#xb6ShcA1iPo(LX-_T*>nem_WZK?yM_5-8#AxHW$W<h&Te$i}=#~ba zi(K2=V%%S!kU4v&hv(vD<=pezUUSRz-f?KT$X+YX_ucE_;!f!amQ`!mf365wobfCz zrOz%cMRnFr$(f6vOGb94<+(k}aND+M=In`<vnE=C#U*DhE(Hre%XpTiq+7LL#C+EF z!cB)=>}_Y6UwAj+|C|?R-!-dV?DQ*HBs}+pi@Fu{nDxrPw*0<uYQ9Kq**(5(#f3l9 zUE<%Z+d4nz>8mT<&z^j~)?>FjZ~vWhKhO4e+wFbZp%CT3me(;2<oKDh7fVVma!q;m zEW>SG8T-YCo;xyUPh9P@oHcP~bidu|3HEtCiv=Zje9cg>%CL}{&=}p%w&?duwnZ-w z-DNIVebM1dfz1^Y0p1hGFZ&i3@Za$=5wMl(G3Rw*{`6=!ce4K(--}E|vbu`(GR4kY z8e-hLPuwkeXBFkJZgFW!<L)l835ro}({{Yh5Z&1)Hi7qD|3#xB*}bb{40f<z<SO#t zQgZM?+{=HjP6(V8Z}|OlooSoPA=XU&^;xSNmc)P9nXB}->3pv6OYxe#*&h2J6yJ9F z#XA4C+9mxTcg!v>?q5^9+ojuX)45z>+g~TFwtJh@y;pvH$L!*l%YRq*>lEnUyKi6W i^8eN*ozt6ie#^JKdbP!)K+YSK2R&W=T-G@yGywqT$Nz}{ literal 0 HcmV?d00001 diff --git a/frontend/ico/browserconfig.xml b/frontend/ico/browserconfig.xml new file mode 100644 index 0000000..ced2be0 --- /dev/null +++ b/frontend/ico/browserconfig.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<browserconfig> + <msapplication> + <tile> + <square70x70logo src="/ico/70.png"/> + <square150x150logo src="/ico/150.png"/> + <square310x310logo src="/ico/310.png"/> + <TileImage src="/ico/150.png"/> + <TileColor>#d1e7dd</TileColor> + </tile> + </msapplication> +</browserconfig> diff --git a/frontend/ico/favicon.svg b/frontend/ico/favicon.svg new file mode 100644 index 0000000..6f6a2e6 --- /dev/null +++ b/frontend/ico/favicon.svg @@ -0,0 +1 @@ +<svg enable-background="new 0 0 1792 1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="m1767.5 121.6c16.3 11.7 24.5 27.1 24.5 46.4v1232c0 11.7-3.2 22.2-9.6 31.5s-14.9 16-25.4 20.1l-560 224c-14 6.4-28 6.4-42 0l-539-215.2-539 215.2c-5.8 2.9-12.8 4.4-21 4.4-11.1 0-21.6-3.2-31.5-9.6-16.3-11.7-24.5-27.2-24.5-46.4v-1232c0-11.7 3.2-22.2 9.6-31.5s14.9-16 25.4-20.1l560-224c14-6.4 28-6.4 42 0l539 215.2 539-215.2c18.7-7.6 36.2-5.9 52.5 5.2z"/><g fill="#fff"><path d="m588 1351-476 189.9v-1111.3l476-189.8z"/><path d="m1680 1362.4-476 189.8v-1111.2l476-189.9z"/><path d="m1148 1552.2-504-201.2v-1111.2l504 201.2z"/></g></svg> \ No newline at end of file diff --git a/frontend/ico/manifest.json b/frontend/ico/manifest.json new file mode 100644 index 0000000..bd7b44f --- /dev/null +++ b/frontend/ico/manifest.json @@ -0,0 +1,18 @@ +{ + "name": "Klangkarte", + "short_name": "Klangkarte", + "background_color": "#d1e7dd", + "display": "fullscreen", + "icons": [ + { + "src": "/ico/192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/ico/512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/frontend/icons.svg b/frontend/icons.svg new file mode 100644 index 0000000..ebf5612 --- /dev/null +++ b/frontend/icons.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> +<symbol id="mark" viewBox="0 0 69 110"> +<path stroke="#000" stroke-width="3" d="m34.5 1.5c-18.2 0-33 14.8-33 33 0 5.3 1.3 10.4 3.5 14.8 5.4 10.8 29.5 57.7 29.5 57.7s24.1-47 29.5-57.7c2.2-4.5 3.5-9.5 3.5-14.8 0-18.2-14.8-33-33-33zm0 49.5c-9.1 0-16.5-7.4-16.5-16.5s7.4-16.5 16.5-16.5 16.5 7.4 16.5 16.5-7.4 16.5-16.5 16.5z"/> +</symbol> +<symbol id="pin" viewBox="0 0 60 100"> +<path fill="#000" d="m25 58v42h10v-42z"/> +<circle stroke="#000" stroke-width="2" cx="30" cy="30" r="27.5"/> +<path fill="#fff" d="m30 14.5c.5 0 1.8-.5 1.8-1.8s-1.3-1.8-1.8-1.8c-5.4 0-10.1 1.9-13.9 5.7s-5.7 8.5-5.7 13.9c0 .5.6 1.8 1.8 1.8s1.8-1.3 1.8-1.8c0-4.4 1.6-8.2 4.7-11.4s6.9-4.6 11.3-4.6z"/> +</symbol> +</svg> \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..5144521 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,110 @@ +<!DOCTYPE html> +<html lang="de"> + +<head> + <meta charset="utf-8"> + <title>Klangkarte + + + + + + + + + + + + + + + + + + + + + +
+
+
+ Loading... +
+
+
+ + + + + +
+
+

Klangkarte + ?⃝ +

+
+
+ Kein Bild + + +
+
+
+ Impressum +
+
+ + + + + \ No newline at end of file diff --git a/frontend/script.js b/frontend/script.js new file mode 100644 index 0000000..858fcb8 --- /dev/null +++ b/frontend/script.js @@ -0,0 +1,305 @@ +const DATA_ROOT = '/data/'; +let CATEGORIES = {}; +let PLACES = {}; +let TEXT = {}; +let DETAIL_MAP; +let DETAIL_MAP_LAYER; + +// --------------------- +// Helper +// --------------------- + +async function loadJson(url) { + const res = await fetch(url); + return await res.json(); +} + +function highlight(div) { + const prev = div.style; + div.style.transition = 'background-color .7s'; + div.style.backgroundColor = 'yellow'; + setTimeout(() => div.style = prev, 800); +} + +// --------------------- +// HTML utils +// --------------------- + +function makeMarker(place) { + return L.marker(L.latLng(place.loc), { + pid: place.id, + title: place.later ? 'Noch nicht verfügbar' : place.name, + icon: L.divIcon({ + className: 'pin ff-c' + place.cat + (place.later ? ' later' : ''), + html: '', + iconSize: [34, 55], + iconAnchor: [17, 55], + popupAnchor: [0, -20], + tooltipAnchor: [0, -20], + offset: [10, 20], + }), + }); +} + +function setBadge(div, category) { + const badge = div.querySelector('.badge'); + // clear previous color + badge.classList.remove('inv'); + for (const cls of badge.classList) { + if (cls.startsWith('bg-c')) { + badge.classList.remove(cls); + } + } + // set new values + badge.innerText = category.name || ''; + badge.classList.add('bg-c' + category.id); + if (category.inv) { + badge.classList.add('inv'); + } +} + +function loadAudio(detailDiv, srcUrl) { + const x = detailDiv.querySelector('audio'); + x.hidden = !srcUrl; + x.querySelector('source').src = srcUrl || ''; + x.load(); // stops playing and reloads source +} + +function comeBackLater() { + showNotice('come-back-later'); +} + + +// --------------------- +// Interactive +// --------------------- + +function selectPin(e) { + document.getElementById('pin-' + e.target.dataset.pk) + .parentNode.classList.add('selected'); +} + +function unselectPin(e) { + document.getElementById('pin-' + e.target.dataset.pk) + .parentNode.classList.remove('selected'); +} + +function openDetails(placeId, password) { + initDetails(placeId); + new bootstrap.Modal('#detail').show(); // trigger modal +} + +function showNotice(id) { + const txt = TEXT[id]; + if (txt) { + const div = document.getElementById('notice'); + const sz = txt.wide ? 'lg' : 'md'; + div.firstElementChild.className = `modal-dialog modal-${sz} modal-fullscreen-${sz}-down`; + div.querySelector('.modal-title').innerText = txt.title; + div.querySelector('.modal-title').innerText = txt.title; + div.querySelector('.modal-body').innerHTML = txt.body; + new bootstrap.Modal(div).show(); + } else { + console.error(`Missing text for "${id}"`) + } + return false; +} + +// --------------------- +// Initializer +// --------------------- + +function initColors() { + let rv = ''; + for (const cat of Object.values(CATEGORIES)) { + rv += `.ff-c${cat.id} { fill: ${cat.color} }\n`; + rv += `.bg-c${cat.id} { background: ${cat.color} }\n`; + } + document.getElementById('colors').innerHTML = rv; +} + +function initCard(placeId) { + const place = PLACES[placeId]; + const category = CATEGORIES[place.cat]; + const x = document.getElementById('card-template').cloneNode(true); + document.getElementById('cards').append(x); + x.id = 'card-' + placeId; + x.dataset.pk = placeId; + if (place.loc) { + x.onmouseenter = selectPin; + x.onmouseleave = unselectPin; + } + x.querySelector('a').href = '#' + placeId; + x.querySelector('img').dataset.src = place.cov || ''; + x.querySelector('.card-title').innerText = place.name || ''; + setBadge(x, category); +} + +function initLoadingCard() { + const x = document.getElementById('card-template').cloneNode(true); + x.id = 'card-loading'; + x.classList.add('placeholder-glow'); + document.getElementById('cards').append(x); + x.querySelectorAll('img,h3,span').forEach(elem => { + elem.classList.add('placeholder'); + elem.alt = ''; + if (elem.tagName === 'H3') { + elem.classList.add('w-100'); + } + }); + return x; +} + +function initDetails(placeId) { + const place = PLACES[placeId]; + const category = CATEGORIES[place.cat]; + const x = document.getElementById('detail'); + x.querySelector('img').src = place.img || ''; + x.querySelector('.modal-title').innerText = place.name || ''; + x.querySelector('#detail-desc').innerHTML = place.desc || ''; + setBadge(x, category); + loadAudio(x, place.audio); + // external map links + x.querySelector('#detail-map-container').hidden = !place.loc; + if (place.loc) { + const [lat, long] = place.loc; + x.querySelector('#osm-link').href = `https://www.openstreetmap.org/?mlat=${lat}&mlon=${long}&zoom=18`; + x.querySelector('#g-maps').href = `https://www.google.com/maps/search/?api=1&query=${lat}%2C${long}&zoom=18`; + } + setDetailMarker(place); + document.title = place.name + ' – ' + document.title; +} + +function clearDetails() { + const x = document.getElementById('detail'); + loadAudio(x, ''); + // in case of youtube videos or other media: stops everything else + x.querySelector('#detail-desc').innerHTML = ''; + setDetailMarker(null); + document.title = document.title.split(' – ').pop(); +} + +// --------------------- +// Map stuff +// --------------------- + +function initGPS(map) { + L.control.locate({ + returnToPrevBounds: true, + showPopup: false, + }).addTo(map); +} + +function initDetailMap() { + const map = L.map('detail-map'); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap', + }).addTo(map); + initGPS(map); + DETAIL_MAP_LAYER = L.layerGroup([]).addTo(map); + DETAIL_MAP = map; +} + +function setDetailMarker(place) { + if (place && place.loc) { + const pos = makeMarker(place).addTo(DETAIL_MAP_LAYER).getLatLng(); + DETAIL_MAP.setView(pos, 17); + DETAIL_MAP.setMaxBounds(pos.toBounds(0)); + setTimeout(() => DETAIL_MAP.invalidateSize(), 300); + setTimeout(() => DETAIL_MAP.invalidateSize(), 1000); + } else { + DETAIL_MAP_LAYER.clearLayers(); + } +} + +async function initMainMap() { + const osm = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap', + }); + const map = L.map('map', { + layers: [osm], + center: [49.894413, 10.880028], + zoom: 14, + // minZoom: 11, + }); + initGPS(map); + // load data + const layers = {}; + var bounds = L.latLngBounds(); + var layerControl = L.control.layers(null, null, { + position: 'bottomright', + // sortLayers: true, + }).addTo(map); + + // init checkbox to toggle groups + for (const cat of await loadJson(DATA_ROOT + 'categories.json')) { + CATEGORIES[cat.id] = cat; + layers[cat.id] = L.layerGroup([]).addTo(map); + layerControl.addOverlay(layers[cat.id], + ' ' + + cat.name); + } + + // init places + for (const place of await loadJson(DATA_ROOT + 'places.json')) { + PLACES[place.id] = place; + const group = layers[place.cat]; + if (place.loc) { + const marker = makeMarker(place).addTo(group); + marker.on('click', place.later ? comeBackLater : onMarkerClick); + bounds.extend(marker.getLatLng()); + } + if (!place.later) { + initCard(place.id); + } + } + + // adjust bounds & zoom + if (bounds.isValid()) { + map.fitBounds(bounds, { padding: [100, 100] }); + } + + // tooltip + function onTooltip(pin) { + const div = document.getElementById("card-" + pin.options.pid); + div.scrollIntoView({ behavior: 'smooth' }); + highlight(div); + return ''; + // const place = PLACES[pin.options.pid]; + // return place.name; + } + + // click events + function onMarkerClick(e) { + location.hash = e.target.options.pid; // triggers openDetails() + } +} + +async function start() { + const temp = initLoadingCard(); + await initMainMap(); + initDetailMap(); + initColors(); + document.getElementById('spin').remove(); + onHashChange(); + loadJson(DATA_ROOT + 'text.json').then(x => TEXT = x) + temp.remove(); + + document.getElementById('detail').addEventListener('hidden.bs.modal', e => { + location.hash = ''; + }); + + const observer = lozad(); + observer.observe(); +} + +// event listener +function onHashChange() { + if (location.hash.length > 1) { + const [id, pw] = location.hash.slice(1).split(':', 1); + openDetails(id, pw); + } else { + clearDetails(); + } +} +addEventListener('hashchange', onHashChange); diff --git a/frontend/style.css b/frontend/style.css new file mode 100644 index 0000000..673c726 --- /dev/null +++ b/frontend/style.css @@ -0,0 +1,99 @@ +html, body { + height: 100%; + margin: 0; +} +#map { + width: calc(100% - 316px); + height: 100%; +} +#detail-map { + width: 100%; + height: 200px; +} +#card-container { + position: absolute; + right: 0; + top: 0; + z-index: 810; + height: 100%; + width: 316px; + overflow: auto; + /* filter: drop-shadow(0 0 2px #000); */ +} + +.card { + margin: 8px; +} +.card img { + height: 200px; + object-fit: cover; + /* no-img fallback */ + line-height: 200px; + background: #666; + color: white; + text-align: center; + font-weight: 100; + font-size: 24px; +} +.card:hover { + border-color: green; +} + +.pin svg { + filter: drop-shadow(0 0 5px #888); + width: 100%; + height: 100%; +} +.pin.selected { + z-index: 800 !important; +} +.pin.selected svg { + filter: drop-shadow(0 0 5px yellow); +} +.pin.later { + fill-opacity: 0; +} + +/* badge */ +.badge { + color: black; +} +.badge.inv { + color: white; +} + +.group-dot { + display: inline-block; + border-radius: 50%; + border: .5px solid black; + width: 1em; + height: 1em; +} + +#spin { + z-index: 820; +} +#card-template { + display: none; +} + +#detail img { + /* max-width: 100%; */ + object-fit: cover; + width: 100%; + max-height: 600px; +} + +#detail audio { + width: 100%; +} + +@media(max-width: 768px) { + #card-container { + width: 100%; + } + .card img { + height: calc(100vw * 2/3); + line-height: calc((100vw - 20px) * 2/3); + } +} \ No newline at end of file diff --git a/screenshot.jpg b/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7dfc5949870bbb91ee9c1b6a06fb98b67a62d1b9 GIT binary patch literal 276763 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 z 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 F0swJ>Bg+5) literal 0 HcmV?d00001

>iY4A8>`uf+h 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 z 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