diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..5518e60 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +.editorconfig +.gitattributes +.github +.gitignore +.gitlab-ci.yml +.idea +.pre-commit-config.yaml +.readthedocs.yml +.travis.yml +venv diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6a9a5c4 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,27 @@ +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{py,rst,ini}] +indent_style = space +indent_size = 4 + +[*.{html,css,scss,json,yml,xml}] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab + +[nginx.conf] +indent_style = space +indent_size = 2 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..176a458 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto diff --git a/.gitignore b/.gitignore index 851f159..c5a66f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,37 +1,15 @@ -# Django # -*.log -*.pot -*.pyc -__pycache__ -*.sqlite3 -media -/data - -# Backup files # -*.bak - -# If you are using PyCharm # -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/dictionaries -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.xml -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/gradle.xml -.idea/**/libraries -*.iws /out/ -.idea/ - -# Python # +### Python template +# Byte-compiled / optimized / DLL files +__pycache__/ *.py[cod] *$py.class +# C extensions +*.so + # Distribution / packaging -.Python build/ +.Python +build/ develop-eggs/ dist/ downloads/ @@ -46,6 +24,10 @@ wheels/ *.egg-info/ .installed.cfg *.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec @@ -59,29 +41,36 @@ htmlcov/ .coverage .coverage.* .cache -.pytest_cache/ nosetests.xml coverage.xml *.cover .hypothesis/ +# Translations +*.mo +*.pot + +# Django stuff: +staticfiles/ + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + # pyenv .python-version -# celery -celerybeat-schedule.* -# SageMath parsed files -*.sage.py # Environments -.env .venv -env/ venv/ ENV/ -env.bak/ -venv.bak/ + +# Rope project settings +.ropeproject # mkdocs documentation /site @@ -89,7 +78,255 @@ venv.bak/ # mypy .mypy_cache/ -scripts/ -/.idea/benchcoach.iml -/db_back.sqlite3 -/benchcoachproject/fixtures/minimal.json + +### Node template +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + + +### Linux template +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + + +### VisualStudioCode template +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + + +# Provided default Pycharm Run/Debug Configurations should be tracked by git +# In case of local modifications made by Pycharm, use update-index command +# for each changed file, like this: +# git update-index --assume-unchanged .idea/benchcoach.iml +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# CMake +cmake-build-debug/ + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + + + +### Windows template +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + + +### macOS template +# General +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +### SublimeText template +# Cache files for Sublime Text +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache + +# Workspace files are user-specific +*.sublime-workspace + +# Project files should be checked into the repository, unless a significant +# proportion of contributors will probably not be using Sublime Text +# *.sublime-project + +# SFTP configuration file +sftp-config.json + +# Package control specific files +Package Control.last-run +Package Control.ca-list +Package Control.ca-bundle +Package Control.system-ca-bundle +Package Control.cache/ +Package Control.ca-certs/ +Package Control.merged-ca-bundle +Package Control.user-ca-bundle +oscrypto-ca-bundle.crt +bh_unicode_properties.cache + +# Sublime-github package stores a github token in this file +# https://packagecontrol.io/packages/sublime-github +GitHub.sublime-settings + + +### Vim template +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-v][a-z] +[._]sw[a-p] + +# Session +Session.vim + +# Temporary +.netrwhist + +# Auto-generated tag files +tags + +### Project template +benchcoach/media/ + +.pytest_cache/ +.ipython/ +.env +.envs/* +/certs/ diff --git a/.idea/.gitignore b/.idea/.gitignore index 5dd6870..73f69e0 100644 --- a/.idea/.gitignore +++ b/.idea/.gitignore @@ -1,90 +1,8 @@ -# Django # -*.log -*.pot -*.pyc -__pycache__ -db.sqlite3 -media - -# Backup files # -*.bak - -# If you are using PyCharm # -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/dictionaries -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.xml -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/gradle.xml -.idea/**/libraries -*.iws /out/ - -# Python # -*.py[cod] -*$py.class - -# Distribution / packaging -.Python build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -.pytest_cache/ -nosetests.xml -coverage.xml -*.cover -.hypothesis/ - -# pyenv -.python-version - -# celery -celerybeat-schedule.* - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ - -scripts/ \ No newline at end of file +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/benchcoach.iml b/.idea/benchcoach.iml new file mode 100644 index 0000000..018170f --- /dev/null +++ b/.idea/benchcoach.iml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..0289641 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,16 @@ + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..7e0e000 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..7057622 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/.idea/runConfigurations/docker_compose_up_django.xml b/.idea/runConfigurations/docker_compose_up_django.xml new file mode 100644 index 0000000..a0a02ac --- /dev/null +++ b/.idea/runConfigurations/docker_compose_up_django.xml @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/.idea/runConfigurations/docker_compose_up_docs.xml b/.idea/runConfigurations/docker_compose_up_docs.xml new file mode 100644 index 0000000..0f77b28 --- /dev/null +++ b/.idea/runConfigurations/docker_compose_up_docs.xml @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/.idea/runConfigurations/merge_production_dotenvs_in_dotenv.xml b/.idea/runConfigurations/merge_production_dotenvs_in_dotenv.xml new file mode 100644 index 0000000..4d6a316 --- /dev/null +++ b/.idea/runConfigurations/merge_production_dotenvs_in_dotenv.xml @@ -0,0 +1,21 @@ + + + + + diff --git a/.idea/runConfigurations/migrate.xml b/.idea/runConfigurations/migrate.xml new file mode 100644 index 0000000..448a6eb --- /dev/null +++ b/.idea/runConfigurations/migrate.xml @@ -0,0 +1,32 @@ + + + + + diff --git a/.idea/runConfigurations/pytest___.xml b/.idea/runConfigurations/pytest___.xml new file mode 100644 index 0000000..b13a9cc --- /dev/null +++ b/.idea/runConfigurations/pytest___.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/.idea/runConfigurations/pytest__users.xml b/.idea/runConfigurations/pytest__users.xml new file mode 100644 index 0000000..a20139b --- /dev/null +++ b/.idea/runConfigurations/pytest__users.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/.idea/runConfigurations/runserver.xml b/.idea/runConfigurations/runserver.xml new file mode 100644 index 0000000..c942c94 --- /dev/null +++ b/.idea/runConfigurations/runserver.xml @@ -0,0 +1,28 @@ + + + + + diff --git a/.idea/runConfigurations/runserver_plus.xml b/.idea/runConfigurations/runserver_plus.xml new file mode 100644 index 0000000..cae6ab1 --- /dev/null +++ b/.idea/runConfigurations/runserver_plus.xml @@ -0,0 +1,28 @@ + + + + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..5ace414 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/.idea/webResources.xml b/.idea/webResources.xml new file mode 100644 index 0000000..decb5c6 --- /dev/null +++ b/.idea/webResources.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..5b22d0d --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,39 @@ +exclude: "^docs/|/migrations/" +default_stages: [commit] + +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.2.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + + - repo: https://github.com/asottile/pyupgrade + rev: v2.32.1 + hooks: + - id: pyupgrade + args: [--py39-plus] + + - repo: https://github.com/psf/black + rev: 22.3.0 + hooks: + - id: black + + - repo: https://github.com/PyCQA/isort + rev: 5.10.1 + hooks: + - id: isort + + - repo: https://github.com/PyCQA/flake8 + rev: 4.0.1 + hooks: + - id: flake8 + args: ["--config=setup.cfg"] + additional_dependencies: [flake8-isort] + +# sets up .pre-commit-ci.yaml to ensure pre-commit dependencies stay up to date +ci: + autoupdate_schedule: weekly + skip: [] + submodules: false diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..2d6bf13 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,14 @@ +[MASTER] +load-plugins=pylint_django +django-settings-module=config.settings.base +[FORMAT] +max-line-length=120 + +[MESSAGES CONTROL] +disable=missing-docstring,invalid-name + +[DESIGN] +max-parents=13 + +[TYPECHECK] +generated-members=REQUEST,acl_users,aq_parent,"[a-zA-Z]+_set{1,2}",save,delete diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 0000000..b4cf0c0 --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,12 @@ +version: 2 + +sphinx: + configuration: docs/conf.py + +build: + image: testing + +python: + version: 3.9 + install: + - requirements: requirements/local.txt diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt new file mode 100644 index 0000000..78ba54e --- /dev/null +++ b/CONTRIBUTORS.txt @@ -0,0 +1 @@ +Anthony Correa diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..639a29a --- /dev/null +++ b/LICENSE @@ -0,0 +1,9 @@ + +The MIT License (MIT) +Copyright (c) 2022, Anthony Correa + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Procfile b/Procfile deleted file mode 100644 index c6d5d2b..0000000 --- a/Procfile +++ /dev/null @@ -1 +0,0 @@ -web: gunicorn benchcoachproject.wsgi \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..38e2c83 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# BenchCoach + +An assistant coach for TeamSnap + +[![Built with Cookiecutter Django](https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg?logo=cookiecutter)](https://github.com/cookiecutter/cookiecutter-django/) +[![Black code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) + +License: MIT + +## Settings + +Moved to [settings](http://cookiecutter-django.readthedocs.io/en/latest/settings.html). + +## Basic Commands + +### Setting Up Your Users + +- To create a **normal user account**, just go to Sign Up and fill out the form. Once you submit it, you'll see a "Verify Your E-mail Address" page. Go to your console to see a simulated email verification message. Copy the link into your browser. Now the user's email should be verified and ready to go. + +- To create a **superuser account**, use this command: + + $ python manage.py createsuperuser + +For convenience, you can keep your normal user logged in on Chrome and your superuser logged in on Firefox (or similar), so that you can see how the site behaves for both kinds of users. + +### Type checks + +Running type checks with mypy: + + $ mypy benchcoach + +### Test coverage + +To run the tests, check your test coverage, and generate an HTML coverage report: + + $ coverage run -m pytest + $ coverage html + $ open htmlcov/index.html + +#### Running tests with pytest + + $ pytest + +### Live reloading and Sass CSS compilation + +Moved to [Live reloading and SASS compilation](https://cookiecutter-django.readthedocs.io/en/latest/developing-locally.html#sass-compilation-live-reloading). + +## Deployment + +The following details how to deploy this application. + +### Docker + +See detailed [cookiecutter-django Docker documentation](http://cookiecutter-django.readthedocs.io/en/latest/deployment-with-docker.html). diff --git a/benchcoach/__init__.py b/benchcoach/__init__.py index e69de29..3da9e5f 100644 --- a/benchcoach/__init__.py +++ b/benchcoach/__init__.py @@ -0,0 +1,5 @@ +__version__ = "0.1.0" +__version_info__ = tuple( + int(num) if num.isdigit() else num + for num in __version__.replace("-", ".", 1).split(".") +) diff --git a/benchcoach/admin.py b/benchcoach/admin.py deleted file mode 100644 index 68e28a6..0000000 --- a/benchcoach/admin.py +++ /dev/null @@ -1,11 +0,0 @@ -from django.contrib import admin -from .models import Event, Availability, Positioning, Team, Venue, Player, StatLine - -# Register your models here. -admin.site.register(Event) -admin.site.register(Availability) -admin.site.register(Positioning) -admin.site.register(Team) -admin.site.register(Venue) -admin.site.register(Player) -admin.site.register(StatLine) \ No newline at end of file diff --git a/benchcoach/apps.py b/benchcoach/apps.py deleted file mode 100644 index 9e1633d..0000000 --- a/benchcoach/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class BenchcoachConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'benchcoach' diff --git a/benchcoach/conftest.py b/benchcoach/conftest.py new file mode 100644 index 0000000..7a267b5 --- /dev/null +++ b/benchcoach/conftest.py @@ -0,0 +1,14 @@ +import pytest + +from benchcoach.users.models import User +from benchcoach.users.tests.factories import UserFactory + + +@pytest.fixture(autouse=True) +def media_storage(settings, tmpdir): + settings.MEDIA_ROOT = tmpdir.strpath + + +@pytest.fixture +def user() -> User: + return UserFactory() diff --git a/benchcoach/contrib/__init__.py b/benchcoach/contrib/__init__.py new file mode 100644 index 0000000..1c7ecc8 --- /dev/null +++ b/benchcoach/contrib/__init__.py @@ -0,0 +1,5 @@ +""" +To understand why this file is here, please read: + +http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django +""" diff --git a/benchcoach/contrib/sites/__init__.py b/benchcoach/contrib/sites/__init__.py new file mode 100644 index 0000000..1c7ecc8 --- /dev/null +++ b/benchcoach/contrib/sites/__init__.py @@ -0,0 +1,5 @@ +""" +To understand why this file is here, please read: + +http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django +""" diff --git a/benchcoach/contrib/sites/migrations/0001_initial.py b/benchcoach/contrib/sites/migrations/0001_initial.py new file mode 100644 index 0000000..304cd6d --- /dev/null +++ b/benchcoach/contrib/sites/migrations/0001_initial.py @@ -0,0 +1,42 @@ +import django.contrib.sites.models +from django.contrib.sites.models import _simple_domain_name_validator +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="Site", + fields=[ + ( + "id", + models.AutoField( + verbose_name="ID", + serialize=False, + auto_created=True, + primary_key=True, + ), + ), + ( + "domain", + models.CharField( + max_length=100, + verbose_name="domain name", + validators=[_simple_domain_name_validator], + ), + ), + ("name", models.CharField(max_length=50, verbose_name="display name")), + ], + options={ + "ordering": ("domain",), + "db_table": "django_site", + "verbose_name": "site", + "verbose_name_plural": "sites", + }, + bases=(models.Model,), + managers=[("objects", django.contrib.sites.models.SiteManager())], + ) + ] diff --git a/benchcoach/contrib/sites/migrations/0002_alter_domain_unique.py b/benchcoach/contrib/sites/migrations/0002_alter_domain_unique.py new file mode 100644 index 0000000..2c8d6da --- /dev/null +++ b/benchcoach/contrib/sites/migrations/0002_alter_domain_unique.py @@ -0,0 +1,20 @@ +import django.contrib.sites.models +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [("sites", "0001_initial")] + + operations = [ + migrations.AlterField( + model_name="site", + name="domain", + field=models.CharField( + max_length=100, + unique=True, + validators=[django.contrib.sites.models._simple_domain_name_validator], + verbose_name="domain name", + ), + ) + ] diff --git a/benchcoach/contrib/sites/migrations/0003_set_site_domain_and_name.py b/benchcoach/contrib/sites/migrations/0003_set_site_domain_and_name.py new file mode 100644 index 0000000..f83474b --- /dev/null +++ b/benchcoach/contrib/sites/migrations/0003_set_site_domain_and_name.py @@ -0,0 +1,63 @@ +""" +To understand why this file is here, please read: + +http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django +""" +from django.conf import settings +from django.db import migrations + + +def _update_or_create_site_with_sequence(site_model, connection, domain, name): + """Update or create the site with default ID and keep the DB sequence in sync.""" + site, created = site_model.objects.update_or_create( + id=settings.SITE_ID, + defaults={ + "domain": domain, + "name": name, + }, + ) + if created: + # We provided the ID explicitly when creating the Site entry, therefore the DB + # sequence to auto-generate them wasn't used and is now out of sync. If we + # don't do anything, we'll get a unique constraint violation the next time a + # site is created. + # To avoid this, we need to manually update DB sequence and make sure it's + # greater than the maximum value. + max_id = site_model.objects.order_by('-id').first().id + with connection.cursor() as cursor: + cursor.execute("SELECT last_value from django_site_id_seq") + (current_id,) = cursor.fetchone() + if current_id <= max_id: + cursor.execute( + "alter sequence django_site_id_seq restart with %s", + [max_id + 1], + ) + + +def update_site_forward(apps, schema_editor): + """Set site domain and name.""" + Site = apps.get_model("sites", "Site") + _update_or_create_site_with_sequence( + Site, + schema_editor.connection, + "benchcoach.ascorrea.com", + "BenchCoach", + ) + + +def update_site_backward(apps, schema_editor): + """Revert site domain and name to default.""" + Site = apps.get_model("sites", "Site") + _update_or_create_site_with_sequence( + Site, + schema_editor.connection, + "example.com", + "example.com", + ) + + +class Migration(migrations.Migration): + + dependencies = [("sites", "0002_alter_domain_unique")] + + operations = [migrations.RunPython(update_site_forward, update_site_backward)] diff --git a/benchcoach/contrib/sites/migrations/0004_alter_options_ordering_domain.py b/benchcoach/contrib/sites/migrations/0004_alter_options_ordering_domain.py new file mode 100644 index 0000000..f7118ca --- /dev/null +++ b/benchcoach/contrib/sites/migrations/0004_alter_options_ordering_domain.py @@ -0,0 +1,21 @@ +# Generated by Django 3.1.7 on 2021-02-04 14:49 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("sites", "0003_set_site_domain_and_name"), + ] + + operations = [ + migrations.AlterModelOptions( + name="site", + options={ + "ordering": ["domain"], + "verbose_name": "site", + "verbose_name_plural": "sites", + }, + ), + ] diff --git a/benchcoach/contrib/sites/migrations/__init__.py b/benchcoach/contrib/sites/migrations/__init__.py new file mode 100644 index 0000000..1c7ecc8 --- /dev/null +++ b/benchcoach/contrib/sites/migrations/__init__.py @@ -0,0 +1,5 @@ +""" +To understand why this file is here, please read: + +http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django +""" diff --git a/benchcoach/fixtures/2021cmba.json b/benchcoach/fixtures/2021cmba.json deleted file mode 100644 index f4caee2..0000000 --- a/benchcoach/fixtures/2021cmba.json +++ /dev/null @@ -1,4215 +0,0 @@ -[ - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": null, - "home_team_id": null, - "start": "2021-03-11 17:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": null, - "home_team_id": null, - "start": "2021-03-21 13:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 18, - "away_team_id": 5, - "home_team_id": null, - "start": "2021-03-28 16:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 5, - "home_team_id": 10, - "start": "2021-04-03 12:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 18, - "away_team_id": 5, - "home_team_id": 10, - "start": "2021-04-11 10:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 5, - "home_team_id": 4, - "start": "2021-04-17 10:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 5, - "home_team_id": 8, - "start": "2021-04-24 10:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": null, - "home_team_id": null, - "start": "2021-04-27 17:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 1, - "home_team_id": 5, - "start": "2021-05-01 12:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 7, - "away_team_id": 7, - "home_team_id": 5, - "start": "2021-05-02 10:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 4, - "away_team_id": 5, - "home_team_id": 9, - "start": "2021-05-06 17:50:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 4, - "away_team_id": 8, - "home_team_id": 5, - "start": "2021-05-08 12:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 2, - "away_team_id": null, - "home_team_id": null, - "start": "2021-05-11 17:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 16, - "away_team_id": 5, - "home_team_id": 6, - "start": "2021-05-16 9:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 4, - "away_team_id": 5, - "home_team_id": 3, - "start": "2021-05-21 19:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 7, - "away_team_id": 5, - "home_team_id": 8, - "start": "2021-05-22 12:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 5, - "home_team_id": 7, - "start": "2021-05-23 10:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 5, - "home_team_id": 1, - "start": "2021-05-30 9:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 2, - "home_team_id": 5, - "start": "2021-06-01 17:50:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 9, - "home_team_id": 5, - "start": "2021-06-03 17:50:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 7, - "away_team_id": 5, - "home_team_id": 9, - "start": "2021-06-05 12:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 7, - "home_team_id": 5, - "start": "2021-06-06 10:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 4, - "away_team_id": 5, - "home_team_id": 4, - "start": "2021-06-10 17:50:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 16, - "away_team_id": 1, - "home_team_id": 5, - "start": "2021-06-13 9:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": 3, - "home_team_id": 5, - "start": "2021-06-15 19:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": null, - "home_team_id": null, - "start": "2021-06-18 20:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 21, - "away_team_id": 10, - "home_team_id": 5, - "start": "2021-06-19 9:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 4, - "away_team_id": 5, - "home_team_id": 10, - "start": "2021-06-19 12:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": null, - "home_team_id": null, - "start": "2021-06-23 20:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": null, - "home_team_id": null, - "start": "2021-06-25 19:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 1, - "away_team_id": null, - "home_team_id": null, - "start": "2021-06-27 16:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 4, - "away_team_id": 5, - "home_team_id": 2, - "start": "2021-07-08 17:50:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 2, - "away_team_id": 4, - "home_team_id": 5, - "start": "2021-07-10 9:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 19, - "away_team_id": 4, - "home_team_id": 5, - "start": "2021-07-11 9:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 16, - "away_team_id": 10, - "home_team_id": 5, - "start": "2021-07-13 17:50:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 2, - "away_team_id": 5, - "home_team_id": 2, - "start": "2021-07-15 17:50:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 20, - "away_team_id": 5, - "home_team_id": 6, - "start": "2021-07-18 9:30:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 5, - "away_team_id": 8, - "home_team_id": 5, - "start": "2021-07-21 20:00:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 3, - "away_team_id": 5, - "home_team_id": 3, - "start": "2021-07-22 19:15:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 5, - "away_team_id": 6, - "home_team_id": 5, - "start": "2021-07-29 17:50:00" - } - }, - { - "model": "benchcoach.event", - "pk": null, - "fields": { - "venue_id": 5, - "away_team_id": 1, - "home_team_id": 5, - "start": "2021-07-31 9:30:00" - } - }, - - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "Browns", - "image": "images/browns.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "DegenerateX", - "image": "images/ramriez.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "Dodgers", - "image": "images/dodgers.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "Electrons", - "image": "images/electrons.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "Hounds", - "image": "images/hounds.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "Marlins", - "image": "images/marlins.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "Orioles", - "image": "images/orioles.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "Trojans", - "image": "images/trojans.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "Vikings", - "image": "images/vikings.svg" - } - }, - { - "model": "benchcoach.team", - "pk": null, - "fields": { - "name": "White Sox", - "image": "images/whitesox.svg" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Tony", - "jersey_number": 13, - "last_name": "Correa" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Tim", - "jersey_number": 8, - "last_name": "Riggenbach" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Thomas", - "jersey_number": 44, - "last_name": "Feazelle" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Philip", - "jersey_number": 25, - "last_name": "Oweimrin" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Phil", - "jersey_number": 21, - "last_name": "Zelenka" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Nick", - "jersey_number": 23, - "last_name": "Schmidt" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Mike", - "jersey_number": 28, - "last_name": "DiCola" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Max", - "jersey_number": 99, - "last_name": "Kiefer" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Matthew", - "jersey_number": 5, - "last_name": "Steffens" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Matt", - "jersey_number": 6, - "last_name": "Burch" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Jules", - "jersey_number": 34, - "last_name": "Cantor" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "John", - "jersey_number": 34, - "last_name": "Lundgren" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Joe", - "jersey_number": 17, - "last_name": "Malafronte" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Hans", - "jersey_number": 18, - "last_name": "Hetrick" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Greg", - "jersey_number": 19, - "last_name": "Sells" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Garrett", - "jersey_number": 17, - "last_name": "Eddy" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Cole", - "jersey_number": 24, - "last_name": "Thompson" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Brian", - "jersey_number": 2, - "last_name": "Lehman" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Brent", - "jersey_number": 27, - "last_name": "Fukushima" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Brandon", - "jersey_number": 3, - "last_name": "Jessee" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Brad", - "jersey_number": 15, - "last_name": "Halperin" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Arron", - "jersey_number": 11, - "last_name": "Kruse" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Amanda", - "jersey_number": 41, - "last_name": "Mordacq" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Alec", - "jersey_number": 14, - "last_name": "Reinke" - } - }, - { - "model": "benchcoach.player", - "pk": null, - "fields": { - "first_name": "Adrien", - "jersey_number": 45, - "last_name": "Kelly" - } - }, - { - "model": "benchcoach.positioning", - "pk": 1, - "fields": { - "player": 18, - "event": 9, - "position": "LF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 2, - "fields": { - "player": 19, - "event": 9, - "position": "SS", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 3, - "fields": { - "player": 22, - "event": 9, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 4, - "fields": { - "player": 10, - "event": 9, - "position": "1B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 5, - "fields": { - "player": 15, - "event": 9, - "position": "2B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 6, - "fields": { - "player": 5, - "event": 9, - "position": "RF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 7, - "fields": { - "player": 2, - "event": 9, - "position": "P", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 8, - "fields": { - "player": 20, - "event": 9, - "position": "CF", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 9, - "fields": { - "player": 1, - "event": 9, - "position": "C", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 10, - "fields": { - "player": 11, - "event": 9, - "position": "EH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 11, - "fields": { - "player": 11, - "event": 10, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 12, - "fields": { - "player": 18, - "event": 10, - "position": "CF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 13, - "fields": { - "player": 19, - "event": 10, - "position": "SS", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 14, - "fields": { - "player": 22, - "event": 10, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 15, - "fields": { - "player": 2, - "event": 10, - "position": "EH", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 16, - "fields": { - "player": 8, - "event": 10, - "position": "1B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 17, - "fields": { - "player": 5, - "event": 10, - "position": "LF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 18, - "fields": { - "player": 10, - "event": 10, - "position": "DH", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 19, - "fields": { - "player": 15, - "event": 10, - "position": "EH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 20, - "fields": { - "player": 14, - "event": 10, - "position": "2B", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 21, - "fields": { - "player": 1, - "event": 10, - "position": "C", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 22, - "fields": { - "player": 4, - "event": 10, - "position": "RF", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 23, - "fields": { - "player": 7, - "event": 11, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 24, - "fields": { - "player": 18, - "event": 11, - "position": "RF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 25, - "fields": { - "player": 16, - "event": 11, - "position": "CF", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 26, - "fields": { - "player": 22, - "event": 11, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 27, - "fields": { - "player": 2, - "event": 11, - "position": "LF", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 28, - "fields": { - "player": 8, - "event": 11, - "position": "1B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 29, - "fields": { - "player": 15, - "event": 11, - "position": "SS", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 30, - "fields": { - "player": 13, - "event": 11, - "position": "2B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 31, - "fields": { - "player": 5, - "event": 11, - "position": "EH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 32, - "fields": { - "player": 1, - "event": 11, - "position": "C", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 33, - "fields": { - "player": 4, - "event": 11, - "position": "DH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 34, - "fields": { - "player": 11, - "event": 12, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 35, - "fields": { - "player": 18, - "event": 12, - "position": "EH", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 36, - "fields": { - "player": 19, - "event": 12, - "position": "SS", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 37, - "fields": { - "player": 22, - "event": 12, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 38, - "fields": { - "player": 10, - "event": 12, - "position": "1B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 39, - "fields": { - "player": 2, - "event": 12, - "position": "EH", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 40, - "fields": { - "player": 5, - "event": 12, - "position": "LF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 41, - "fields": { - "player": 20, - "event": 12, - "position": "CF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 42, - "fields": { - "player": 3, - "event": 12, - "position": "2B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 43, - "fields": { - "player": 8, - "event": 12, - "position": "DH", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 44, - "fields": { - "player": 1, - "event": 12, - "position": "C", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 45, - "fields": { - "player": 4, - "event": 12, - "position": "RF", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 46, - "fields": { - "player": 24, - "event": 14, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 47, - "fields": { - "player": 18, - "event": 14, - "position": "2B", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 48, - "fields": { - "player": 6, - "event": 14, - "position": "DH", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 49, - "fields": { - "player": 19, - "event": 14, - "position": "SS", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 50, - "fields": { - "player": 22, - "event": 14, - "position": "3B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 51, - "fields": { - "player": 2, - "event": 14, - "position": "LF", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 52, - "fields": { - "player": 13, - "event": 14, - "position": "RF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 53, - "fields": { - "player": 8, - "event": 14, - "position": "1B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 54, - "fields": { - "player": 20, - "event": 14, - "position": "CF", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 55, - "fields": { - "player": 9, - "event": 14, - "position": "EH", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 56, - "fields": { - "player": 1, - "event": 14, - "position": "C", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 57, - "fields": { - "player": 11, - "event": 14, - "position": "EH", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 58, - "fields": { - "player": 7, - "event": 15, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 59, - "fields": { - "player": 18, - "event": 15, - "position": "SS", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 60, - "fields": { - "player": 19, - "event": 15, - "position": "EH", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 61, - "fields": { - "player": 22, - "event": 15, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 62, - "fields": { - "player": 6, - "event": 15, - "position": "DH", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 63, - "fields": { - "player": 10, - "event": 15, - "position": "1B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 64, - "fields": { - "player": 2, - "event": 15, - "position": "LF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 65, - "fields": { - "player": 1, - "event": 15, - "position": "C", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 66, - "fields": { - "player": 20, - "event": 15, - "position": "CF", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 67, - "fields": { - "player": 15, - "event": 15, - "position": "RF", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 68, - "fields": { - "player": 12, - "event": 15, - "position": "2B", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 69, - "fields": { - "player": 14, - "event": 15, - "position": "EH", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 70, - "fields": { - "player": 11, - "event": 16, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 71, - "fields": { - "player": 16, - "event": 16, - "position": "CF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 72, - "fields": { - "player": 18, - "event": 16, - "position": "C", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 73, - "fields": { - "player": 19, - "event": 16, - "position": "SS", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 74, - "fields": { - "player": 22, - "event": 16, - "position": "EH", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 75, - "fields": { - "player": 10, - "event": 16, - "position": "EH", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 76, - "fields": { - "player": 13, - "event": 16, - "position": "3B", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 77, - "fields": { - "player": 5, - "event": 16, - "position": "LF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 78, - "fields": { - "player": 12, - "event": 16, - "position": "DH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 79, - "fields": { - "player": 9, - "event": 16, - "position": "2B", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 80, - "fields": { - "player": 17, - "event": 16, - "position": "RF", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 81, - "fields": { - "player": 24, - "event": 16, - "position": "1B", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 82, - "fields": { - "player": 2, - "event": 17, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 83, - "fields": { - "player": 18, - "event": 17, - "position": "3B", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 84, - "fields": { - "player": 13, - "event": 17, - "position": "SS", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 85, - "fields": { - "player": 22, - "event": 17, - "position": "EH", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 86, - "fields": { - "player": 6, - "event": 17, - "position": "CF", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 87, - "fields": { - "player": 10, - "event": 17, - "position": "EH", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 88, - "fields": { - "player": 14, - "event": 17, - "position": "1B", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 89, - "fields": { - "player": 1, - "event": 17, - "position": "C", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 90, - "fields": { - "player": 5, - "event": 17, - "position": "LF", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 91, - "fields": { - "player": 3, - "event": 17, - "position": "2B", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 92, - "fields": { - "player": 11, - "event": 17, - "position": "DH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 93, - "fields": { - "player": 4, - "event": 17, - "position": "RF", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 94, - "fields": { - "player": 24, - "event": 18, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 95, - "fields": { - "player": 15, - "event": 18, - "position": "3B", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 96, - "fields": { - "player": 2, - "event": 18, - "position": "RF", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 97, - "fields": { - "player": 19, - "event": 18, - "position": "SS", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 98, - "fields": { - "player": 10, - "event": 18, - "position": "1B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 99, - "fields": { - "player": 18, - "event": 18, - "position": "2B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 100, - "fields": { - "player": 20, - "event": 18, - "position": "CF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 101, - "fields": { - "player": 6, - "event": 18, - "position": "LF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 102, - "fields": { - "player": 1, - "event": 18, - "position": "C", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 103, - "fields": { - "player": 5, - "event": 18, - "position": "EH", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 104, - "fields": { - "player": 7, - "event": 18, - "position": "EH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 105, - "fields": { - "player": 14, - "event": 18, - "position": "DH", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 106, - "fields": { - "player": 7, - "event": 19, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 107, - "fields": { - "player": 13, - "event": 19, - "position": "LF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 108, - "fields": { - "player": 2, - "event": 19, - "position": "C", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 109, - "fields": { - "player": 6, - "event": 19, - "position": "DH", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 110, - "fields": { - "player": 10, - "event": 19, - "position": "1B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 111, - "fields": { - "player": 5, - "event": 19, - "position": "CF", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 112, - "fields": { - "player": 18, - "event": 19, - "position": "3B", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 113, - "fields": { - "player": 22, - "event": 19, - "position": "SS", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 114, - "fields": { - "player": 15, - "event": 19, - "position": "EH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 115, - "fields": { - "player": 9, - "event": 19, - "position": "EH", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 116, - "fields": { - "player": 17, - "event": 19, - "position": "RF", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 117, - "fields": { - "player": 23, - "event": 19, - "position": "2B", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 118, - "fields": { - "player": 2, - "event": 20, - "position": "P", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 119, - "fields": { - "player": 19, - "event": 20, - "position": "SS", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 120, - "fields": { - "player": 22, - "event": 20, - "position": "3B", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 121, - "fields": { - "player": 5, - "event": 20, - "position": "RF", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 122, - "fields": { - "player": 18, - "event": 20, - "position": "EH", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 123, - "fields": { - "player": 1, - "event": 20, - "position": "C", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 124, - "fields": { - "player": 6, - "event": 20, - "position": "CF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 125, - "fields": { - "player": 8, - "event": 20, - "position": "1B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 126, - "fields": { - "player": 9, - "event": 20, - "position": "2B", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 127, - "fields": { - "player": 4, - "event": 20, - "position": "EH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 128, - "fields": { - "player": 24, - "event": 20, - "position": "LF", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 129, - "fields": { - "player": 11, - "event": 21, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 130, - "fields": { - "player": 2, - "event": 21, - "position": "EH", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 131, - "fields": { - "player": 22, - "event": 21, - "position": "DH", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 132, - "fields": { - "player": 18, - "event": 21, - "position": "SS", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 133, - "fields": { - "player": 15, - "event": 21, - "position": "3B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 134, - "fields": { - "player": 10, - "event": 21, - "position": "1B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 135, - "fields": { - "player": 5, - "event": 21, - "position": "LF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 136, - "fields": { - "player": 9, - "event": 21, - "position": "2B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 137, - "fields": { - "player": 6, - "event": 21, - "position": "CF", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 138, - "fields": { - "player": 1, - "event": 21, - "position": "C", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 139, - "fields": { - "player": 4, - "event": 21, - "position": "RF", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 140, - "fields": { - "player": 15, - "event": 23, - "position": "SS", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 141, - "fields": { - "player": 10, - "event": 23, - "position": "1B", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 142, - "fields": { - "player": 22, - "event": 23, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 143, - "fields": { - "player": 18, - "event": 23, - "position": "LF", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 144, - "fields": { - "player": 16, - "event": 23, - "position": "CF", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 145, - "fields": { - "player": 5, - "event": 23, - "position": "RF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 146, - "fields": { - "player": 1, - "event": 23, - "position": "C", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 147, - "fields": { - "player": 9, - "event": 23, - "position": "2B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 148, - "fields": { - "player": 8, - "event": 23, - "position": "DH", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 149, - "fields": { - "player": 14, - "event": 23, - "position": "EH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 150, - "fields": { - "player": 4, - "event": 23, - "position": "EH", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 151, - "fields": { - "player": 11, - "event": 24, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 152, - "fields": { - "player": 18, - "event": 24, - "position": "EH", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 153, - "fields": { - "player": 15, - "event": 24, - "position": "SS", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 154, - "fields": { - "player": 22, - "event": 24, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 155, - "fields": { - "player": 6, - "event": 24, - "position": "LF", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 156, - "fields": { - "player": 1, - "event": 24, - "position": "C", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 157, - "fields": { - "player": 5, - "event": 24, - "position": "2B", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 158, - "fields": { - "player": 14, - "event": 24, - "position": "1B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 159, - "fields": { - "player": 4, - "event": 24, - "position": "RF", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 160, - "fields": { - "player": 20, - "event": 24, - "position": "CF", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 161, - "fields": { - "player": 23, - "event": 24, - "position": "DH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 162, - "fields": { - "player": 2, - "event": 25, - "position": "P", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 163, - "fields": { - "player": 16, - "event": 25, - "position": "CF", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 164, - "fields": { - "player": 22, - "event": 25, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 165, - "fields": { - "player": 15, - "event": 25, - "position": "C", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 166, - "fields": { - "player": 13, - "event": 25, - "position": "2B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 167, - "fields": { - "player": 18, - "event": 25, - "position": "SS", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 168, - "fields": { - "player": 10, - "event": 25, - "position": "1B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 169, - "fields": { - "player": 5, - "event": 25, - "position": "EH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 170, - "fields": { - "player": 17, - "event": 25, - "position": "LF", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 171, - "fields": { - "player": 4, - "event": 25, - "position": "RF", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 172, - "fields": { - "player": 12, - "event": 25, - "position": "EH", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 173, - "fields": { - "player": 24, - "event": 27, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 174, - "fields": { - "player": 18, - "event": 27, - "position": "SS", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 175, - "fields": { - "player": 15, - "event": 27, - "position": "C", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 176, - "fields": { - "player": 2, - "event": 27, - "position": "EH", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 177, - "fields": { - "player": 16, - "event": 27, - "position": "CF", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 178, - "fields": { - "player": 5, - "event": 27, - "position": "3B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 179, - "fields": { - "player": 8, - "event": 27, - "position": "1B", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 180, - "fields": { - "player": 17, - "event": 27, - "position": "LF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 181, - "fields": { - "player": 4, - "event": 27, - "position": "RF", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 182, - "fields": { - "player": 23, - "event": 27, - "position": "2B", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 183, - "fields": { - "player": 25, - "event": 27, - "position": "DH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 184, - "fields": { - "player": 18, - "event": 28, - "position": "LF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 185, - "fields": { - "player": 15, - "event": 28, - "position": "SS", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 186, - "fields": { - "player": 2, - "event": 28, - "position": "P", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 187, - "fields": { - "player": 5, - "event": 28, - "position": "C", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 188, - "fields": { - "player": 8, - "event": 28, - "position": "3B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 189, - "fields": { - "player": 17, - "event": 28, - "position": "CF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 190, - "fields": { - "player": 4, - "event": 28, - "position": "RF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 191, - "fields": { - "player": 25, - "event": 28, - "position": "2B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 192, - "fields": { - "player": 23, - "event": 28, - "position": "EH", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 193, - "fields": { - "player": 24, - "event": 28, - "position": "1B", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 194, - "fields": { - "player": 25, - "event": 32, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 195, - "fields": { - "player": 15, - "event": 32, - "position": "C", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 196, - "fields": { - "player": 16, - "event": 32, - "position": "CF", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 197, - "fields": { - "player": 22, - "event": 32, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 198, - "fields": { - "player": 19, - "event": 32, - "position": "SS", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 199, - "fields": { - "player": 18, - "event": 32, - "position": "LF", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 200, - "fields": { - "player": 13, - "event": 32, - "position": "RF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 201, - "fields": { - "player": 5, - "event": 32, - "position": "2B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 202, - "fields": { - "player": 17, - "event": 32, - "position": "EH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 203, - "fields": { - "player": 8, - "event": 32, - "position": "1B", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 204, - "fields": { - "player": 2, - "event": 32, - "position": "EH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 205, - "fields": { - "player": 4, - "event": 32, - "position": "DH", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 206, - "fields": { - "player": 19, - "event": 33, - "position": "SS", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 207, - "fields": { - "player": 16, - "event": 33, - "position": "CF", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 208, - "fields": { - "player": 22, - "event": 33, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 209, - "fields": { - "player": 2, - "event": 33, - "position": "RF", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 210, - "fields": { - "player": 18, - "event": 33, - "position": "C", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 211, - "fields": { - "player": 10, - "event": 33, - "position": "EH", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 212, - "fields": { - "player": 20, - "event": 33, - "position": "2B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 213, - "fields": { - "player": 17, - "event": 33, - "position": "LF", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 214, - "fields": { - "player": 7, - "event": 33, - "position": "P", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 215, - "fields": { - "player": 12, - "event": 33, - "position": "DH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 216, - "fields": { - "player": 4, - "event": 33, - "position": "EH", - "order": 11 - } - }, - { - "model": "benchcoach.positioning", - "pk": 217, - "fields": { - "player": 19, - "event": 34, - "position": "SS", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 218, - "fields": { - "player": 2, - "event": 34, - "position": "P", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 219, - "fields": { - "player": 22, - "event": 34, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 220, - "fields": { - "player": 18, - "event": 34, - "position": "LF", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 221, - "fields": { - "player": 20, - "event": 34, - "position": "CF", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 222, - "fields": { - "player": 5, - "event": 34, - "position": "C", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 223, - "fields": { - "player": 24, - "event": 34, - "position": "1B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 224, - "fields": { - "player": 9, - "event": 34, - "position": "2B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 225, - "fields": { - "player": 4, - "event": 34, - "position": "RF", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 226, - "fields": { - "player": 25, - "event": 35, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 227, - "fields": { - "player": 19, - "event": 35, - "position": "SS", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 228, - "fields": { - "player": 13, - "event": 35, - "position": "3B", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 229, - "fields": { - "player": 22, - "event": 35, - "position": "C", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 230, - "fields": { - "player": 15, - "event": 35, - "position": "2B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 231, - "fields": { - "player": 10, - "event": 35, - "position": "1B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 232, - "fields": { - "player": 18, - "event": 35, - "position": "RF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 233, - "fields": { - "player": 20, - "event": 35, - "position": "CF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 234, - "fields": { - "player": 5, - "event": 35, - "position": "EH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 235, - "fields": { - "player": 7, - "event": 35, - "position": "LF", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 236, - "fields": { - "player": 4, - "event": 35, - "position": "DH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 237, - "fields": { - "player": 7, - "event": 37, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 238, - "fields": { - "player": 13, - "event": 37, - "position": "3B", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 239, - "fields": { - "player": 16, - "event": 37, - "position": "CF", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 240, - "fields": { - "player": 15, - "event": 37, - "position": "C", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 241, - "fields": { - "player": 10, - "event": 37, - "position": "1B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 242, - "fields": { - "player": 18, - "event": 37, - "position": "SS", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 243, - "fields": { - "player": 20, - "event": 37, - "position": "LF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 244, - "fields": { - "player": 5, - "event": 37, - "position": "2B", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 245, - "fields": { - "player": 8, - "event": 37, - "position": "DH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 246, - "fields": { - "player": 4, - "event": 37, - "position": "RF", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 247, - "fields": { - "player": 18, - "event": 36, - "position": "SS", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 248, - "fields": { - "player": 5, - "event": 36, - "position": "CF", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 249, - "fields": { - "player": 15, - "event": 36, - "position": "LF", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 250, - "fields": { - "player": 10, - "event": 36, - "position": "P", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 251, - "fields": { - "player": 8, - "event": 36, - "position": "3B", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 252, - "fields": { - "player": 14, - "event": 36, - "position": "C", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 253, - "fields": { - "player": 4, - "event": 36, - "position": "RF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 254, - "fields": { - "player": 24, - "event": 36, - "position": "2B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 255, - "fields": { - "player": 7, - "event": 38, - "position": "LF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 256, - "fields": { - "player": 15, - "event": 38, - "position": "SS", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 257, - "fields": { - "player": 22, - "event": 38, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 258, - "fields": { - "player": 10, - "event": 38, - "position": "2B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 259, - "fields": { - "player": 18, - "event": 38, - "position": "RF", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 260, - "fields": { - "player": 17, - "event": 38, - "position": "CF", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 261, - "fields": { - "player": 5, - "event": 38, - "position": "C", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 262, - "fields": { - "player": 8, - "event": 38, - "position": "1B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 263, - "fields": { - "player": 6, - "event": 38, - "position": "P", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 264, - "fields": { - "player": 4, - "event": 38, - "position": "EH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 265, - "fields": { - "player": 15, - "event": 39, - "position": "C", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 266, - "fields": { - "player": 17, - "event": 39, - "position": "CF", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 267, - "fields": { - "player": 22, - "event": 39, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 268, - "fields": { - "player": 18, - "event": 39, - "position": "SS", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 269, - "fields": { - "player": 9, - "event": 39, - "position": "P", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 270, - "fields": { - "player": 14, - "event": 39, - "position": "1B", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 271, - "fields": { - "player": 4, - "event": 39, - "position": "LF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 272, - "fields": { - "player": 23, - "event": 39, - "position": "2B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 273, - "fields": { - "player": 1, - "event": 39, - "position": "RF", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 274, - "fields": { - "player": 24, - "event": 40, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 275, - "fields": { - "player": 16, - "event": 40, - "position": "CF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 276, - "fields": { - "player": 15, - "event": 40, - "position": "SS", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 277, - "fields": { - "player": 22, - "event": 40, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 278, - "fields": { - "player": 18, - "event": 40, - "position": "1B", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 279, - "fields": { - "player": 20, - "event": 40, - "position": "LF", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 280, - "fields": { - "player": 5, - "event": 40, - "position": "C", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 281, - "fields": { - "player": 4, - "event": 40, - "position": "RF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 282, - "fields": { - "player": 23, - "event": 40, - "position": "2B", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 283, - "fields": { - "player": 1, - "event": 40, - "position": "DH", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 284, - "fields": { - "player": 7, - "event": 41, - "position": "P", - "order": 0 - } - }, - { - "model": "benchcoach.positioning", - "pk": 285, - "fields": { - "player": 20, - "event": 41, - "position": "CF", - "order": 1 - } - }, - { - "model": "benchcoach.positioning", - "pk": 286, - "fields": { - "player": 15, - "event": 41, - "position": "C", - "order": 2 - } - }, - { - "model": "benchcoach.positioning", - "pk": 287, - "fields": { - "player": 22, - "event": 41, - "position": "3B", - "order": 3 - } - }, - { - "model": "benchcoach.positioning", - "pk": 288, - "fields": { - "player": 19, - "event": 41, - "position": "SS", - "order": 4 - } - }, - { - "model": "benchcoach.positioning", - "pk": 289, - "fields": { - "player": 2, - "event": 41, - "position": "LF", - "order": 5 - } - }, - { - "model": "benchcoach.positioning", - "pk": 290, - "fields": { - "player": 10, - "event": 41, - "position": "1B", - "order": 6 - } - }, - { - "model": "benchcoach.positioning", - "pk": 291, - "fields": { - "player": 18, - "event": 41, - "position": "RF", - "order": 7 - } - }, - { - "model": "benchcoach.positioning", - "pk": 292, - "fields": { - "player": 5, - "event": 41, - "position": "EH", - "order": 8 - } - }, - { - "model": "benchcoach.positioning", - "pk": 293, - "fields": { - "player": 9, - "event": 41, - "position": "2B", - "order": 9 - } - }, - { - "model": "benchcoach.positioning", - "pk": 294, - "fields": { - "player": 1, - "event": 41, - "position": "DH", - "order": 10 - } - }, - { - "model": "benchcoach.positioning", - "pk": 295, - "fields": { - "player": 3, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 296, - "fields": { - "player": 6, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 297, - "fields": { - "player": 7, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 298, - "fields": { - "player": 9, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 299, - "fields": { - "player": 12, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 300, - "fields": { - "player": 13, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 301, - "fields": { - "player": 16, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 302, - "fields": { - "player": 17, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 303, - "fields": { - "player": 20, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 304, - "fields": { - "player": 21, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 305, - "fields": { - "player": 23, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 306, - "fields": { - "player": 24, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 307, - "fields": { - "player": 25, - "event": 10, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 308, - "fields": { - "player": 1, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 309, - "fields": { - "player": 3, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 310, - "fields": { - "player": 4, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 311, - "fields": { - "player": 8, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 312, - "fields": { - "player": 11, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 313, - "fields": { - "player": 12, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 314, - "fields": { - "player": 14, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 315, - "fields": { - "player": 16, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 316, - "fields": { - "player": 19, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 317, - "fields": { - "player": 20, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 318, - "fields": { - "player": 21, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 319, - "fields": { - "player": 24, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 320, - "fields": { - "player": 25, - "event": 19, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 321, - "fields": { - "player": 3, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 322, - "fields": { - "player": 4, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 323, - "fields": { - "player": 6, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 324, - "fields": { - "player": 7, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 325, - "fields": { - "player": 8, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 326, - "fields": { - "player": 9, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 327, - "fields": { - "player": 12, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 328, - "fields": { - "player": 13, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 329, - "fields": { - "player": 14, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 330, - "fields": { - "player": 16, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 331, - "fields": { - "player": 17, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 332, - "fields": { - "player": 21, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 333, - "fields": { - "player": 23, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 334, - "fields": { - "player": 24, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.positioning", - "pk": 335, - "fields": { - "player": 25, - "event": 9, - "position": null, - "order": null - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Winnemac Park" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Southwest Park" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Taft HS" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Maywood Park" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Altgeld" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Maine South" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Walther Christian Academy" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Grosche" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Clemente" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Northeastern University" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Proviso East" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Columbus Park" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Ridgewood HS" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Mount Carmel HS" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Kroc Center" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Simeon" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Proviso West HS" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Jane Addams Park" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Ozinga" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "Lemont High School" - } - }, - { - "model": "benchcoach.venue", - "pk": null, - "fields": { - "name": "K's Dugout" - } - } -] \ No newline at end of file diff --git a/benchcoach/forms.py b/benchcoach/forms.py deleted file mode 100644 index 6b3be57..0000000 --- a/benchcoach/forms.py +++ /dev/null @@ -1,60 +0,0 @@ -from django import forms -from .models import Event, Positioning, Team, Venue, Player -from teamsnap.models import Event as TeamsnapEvent -from django.forms import modelformset_factory - -class EventForm(forms.ModelForm): - class Meta: - model = Event - fields = ['start', 'home_team', 'away_team', 'venue'] -class PositioningForm(forms.ModelForm): - availability = None - class Meta: - model = Positioning - widgets = { - 'position': forms.Select(attrs={'class': 'form-control form-control-sm', 'onchange':'positionSelectChanged(this)'}) - } - exclude = () - -PositioningFormSet = modelformset_factory( - model=Positioning, - form=PositioningForm, - # fields=['order', 'position','player'], - # min_num=9, - extra=0 -) - -class TeamsnapEventForm(forms.ModelForm): - def __init__(self, *args, **kwargs): - super(TeamsnapEventForm, self).__init__(*args, **kwargs) - if self.instance and self.instance.teamsnap_event.first(): - initial = (self.instance.teamsnap_event.first().id, self.instance.teamsnap_event.first()) - else: - initial = None - self.fields = {} - choices = [("","-----")] - choices += [(choice.id, choice) for choice in TeamsnapEvent.objects.all()] - self.fields['teamsnap event'] = forms.MultipleChoiceField( - widget=forms.Select(attrs={'class': 'form-control'}), - choices=choices, - initial=initial - ) - - class Meta: - model = Event - fields = ['start', 'home_team', 'away_team', 'venue'] - -class PlayerForm(forms.ModelForm): - class Meta: - model = Player - fields = ['first_name', 'last_name', 'jersey_number', 'team'] - -class TeamForm(forms.ModelForm): - class Meta: - model = Team - fields = ['name'] - -class VenueForm(forms.ModelForm): - class Meta: - model = Venue - fields = ['name'] \ No newline at end of file diff --git a/benchcoach/migrations/0001_initial.py b/benchcoach/migrations/0001_initial.py deleted file mode 100644 index b3d50f7..0000000 --- a/benchcoach/migrations/0001_initial.py +++ /dev/null @@ -1,102 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-17 21:33 - -import django.core.validators -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Player', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('first_name', models.CharField(max_length=200)), - ('last_name', models.CharField(max_length=200)), - ('jersey_number', models.IntegerField()), - ], - ), - migrations.CreateModel( - name='Season', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=50)), - ], - ), - migrations.CreateModel( - name='Team', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=50)), - ('image', models.FileField(null=True, upload_to='images/', validators=[django.core.validators.FileExtensionValidator(['jpg', 'png', 'svg'])])), - ], - ), - migrations.CreateModel( - name='Venue', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=50)), - ], - ), - migrations.CreateModel( - name='StatLine', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('batting_avg', models.DecimalField(decimal_places=3, default=0, max_digits=4)), - ('onbase_pct', models.DecimalField(decimal_places=3, default=0, max_digits=4)), - ('slugging_pct', models.DecimalField(decimal_places=3, default=0, max_digits=4)), - ('player', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='benchcoach.player')), - ], - ), - migrations.AddField( - model_name='player', - name='team', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.team'), - ), - migrations.CreateModel( - name='Event', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('start', models.DateTimeField(null=True)), - ('away_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='away_team', to='benchcoach.team')), - ('home_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='home_team', to='benchcoach.team')), - ('venue', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.venue')), - ], - ), - migrations.CreateModel( - name='Positioning', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('position', models.CharField(blank=True, choices=[('EH', 'EH'), ('P', 'P'), ('C', 'C'), ('1B', '1B'), ('2B', '2B'), ('3B', '3B'), ('SS', 'SS'), ('LF', 'LF'), ('CF', 'CF'), ('RF', 'RF'), ('DH', 'DH')], default=None, max_length=2, null=True)), - ('order', models.PositiveSmallIntegerField(blank=True, default=None, null=True)), - ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='benchcoach.event')), - ('player', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='benchcoach.player')), - ], - options={ - 'unique_together': {('player', 'event')}, - }, - ), - migrations.AlterUniqueTogether( - name='player', - unique_together={('first_name', 'last_name')}, - ), - migrations.CreateModel( - name='Availability', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('available', models.IntegerField(choices=[(2, 'Yes'), (0, 'No'), (1, 'Maybe'), (-1, 'Unknown')], default=-1)), - ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='benchcoach.event')), - ('player', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='benchcoach.player')), - ], - options={ - 'verbose_name_plural': 'availabilities', - 'unique_together': {('event', 'player')}, - }, - ), - ] diff --git a/benchcoach/migrations/0002_alter_player_jersey_number.py b/benchcoach/migrations/0002_alter_player_jersey_number.py deleted file mode 100644 index 2b53cd5..0000000 --- a/benchcoach/migrations/0002_alter_player_jersey_number.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-19 01:22 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('benchcoach', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='player', - name='jersey_number', - field=models.IntegerField(null=True), - ), - ] diff --git a/benchcoach/models.py b/benchcoach/models.py deleted file mode 100644 index d8b9187..0000000 --- a/benchcoach/models.py +++ /dev/null @@ -1,133 +0,0 @@ -from django.db import models -from django.core.validators import FileExtensionValidator - -class BenchcoachModel(models.Model): - pass - - class Meta: - abstract = True - -class Team(BenchcoachModel): - name = models.CharField(max_length=50) - image = models.FileField( - upload_to="images/", - validators=[FileExtensionValidator(["jpg", "png", "svg"])], - null=True, - ) - - def __str__(self): - return f"{self.name}" - - -class Venue(BenchcoachModel): - name = models.CharField(max_length=50) - - def __str__(self): - return f"{self.name}" - - -class Event(BenchcoachModel): - start = models.DateTimeField(null=True) - venue = models.ForeignKey(Venue, null=True, on_delete=models.CASCADE) - home_team = models.ForeignKey( - Team, null=True, on_delete=models.CASCADE, related_name="home_team" - ) - away_team = models.ForeignKey( - Team, null=True, on_delete=models.CASCADE, related_name="away_team" - ) - - def __str__(self): - return f"{self.start:%Y-%m-%d %H:%M}" - - -class Season(BenchcoachModel): - name = models.CharField(max_length=50) - - -class Player(BenchcoachModel): - first_name = models.CharField(max_length=200) - last_name = models.CharField(max_length=200) - jersey_number = models.IntegerField(null=True) - team = models.ForeignKey(Team, null=True, on_delete=models.CASCADE) - - def __str__(self): - return f"{self.last_name}, {self.first_name}" - - class Meta: - unique_together = ( - "first_name", - "last_name", - ) - - -class StatLine(BenchcoachModel): - player = models.ForeignKey(Player, on_delete=models.CASCADE) - batting_avg = models.DecimalField(max_digits=4, decimal_places=3, default=0) - onbase_pct = models.DecimalField(max_digits=4, decimal_places=3, default=0) - slugging_pct = models.DecimalField(max_digits=4, decimal_places=3, default=0) - - def __str__(self): - return f"{self.slash_line}" - - @property - def slash_line(self): - return "/".join( - [ - f"{self.batting_avg:.3f}".lstrip("0"), - f"{self.onbase_pct:.3f}".lstrip("0"), - f"{self.slugging_pct:.3f}".replace("0.", "."), - ] - ) - - -class Positioning(BenchcoachModel): - player = models.ForeignKey(Player, on_delete=models.CASCADE) - event = models.ForeignKey(Event, on_delete=models.CASCADE) - positions = [ - ("EH", "EH"), - ("P", "P"), - ("C", "C"), - ("1B", "1B"), - ("2B", "2B"), - ("3B", "3B"), - ("SS", "SS"), - ("LF", "LF"), - ("CF", "CF"), - ("RF", "RF"), - ("DH", "DH"), - ] - position = models.CharField( - choices=positions, default=None, max_length=2, null=True, blank=True - ) - order = models.PositiveSmallIntegerField(default=None, null=True, blank=True) - - class Meta: - unique_together = ( - "player", - "event", - ) - - def __str__(self): - return f"{self.player}; {self.event};" - - -class Availability(BenchcoachModel): - YES = 2 - MAYBE = 1 - NO = 0 - UNKNOWN = -1 - - event = models.ForeignKey(Event, on_delete=models.CASCADE) - player = models.ForeignKey(Player, on_delete=models.CASCADE) - choices = [(YES, "Yes"), (NO, "No"), (MAYBE, "Maybe"), (UNKNOWN, "Unknown")] - available = models.IntegerField(choices=choices, default=UNKNOWN) - - def __str__(self): - return f"{self.event}; {self.player}; {self.available}" - - class Meta: - unique_together = ( - "event", - "player", - ) - verbose_name_plural = "availabilities" diff --git a/benchcoachproject/static/css/bootstrap-grid.css b/benchcoach/static/css/bootstrap-grid.css similarity index 99% rename from benchcoachproject/static/css/bootstrap-grid.css rename to benchcoach/static/css/bootstrap-grid.css index 228f23b..68889ca 100644 --- a/benchcoachproject/static/css/bootstrap-grid.css +++ b/benchcoach/static/css/bootstrap-grid.css @@ -5048,4 +5048,4 @@ } } -/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-grid.css.map */ diff --git a/benchcoachproject/static/css/bootstrap-grid.rtl.css b/benchcoach/static/css/bootstrap-grid.rtl.css similarity index 99% rename from benchcoachproject/static/css/bootstrap-grid.rtl.css rename to benchcoach/static/css/bootstrap-grid.rtl.css index b5b17d7..3270be3 100644 --- a/benchcoachproject/static/css/bootstrap-grid.rtl.css +++ b/benchcoach/static/css/bootstrap-grid.rtl.css @@ -5047,4 +5047,4 @@ display: none !important; } } -/*# sourceMappingURL=bootstrap-grid.rtl.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-grid.rtl.css.map */ diff --git a/benchcoachproject/static/css/bootstrap-reboot.css b/benchcoach/static/css/bootstrap-reboot.css similarity index 99% rename from benchcoachproject/static/css/bootstrap-reboot.css rename to benchcoach/static/css/bootstrap-reboot.css index 1207a17..8a5572a 100644 --- a/benchcoachproject/static/css/bootstrap-reboot.css +++ b/benchcoach/static/css/bootstrap-reboot.css @@ -482,4 +482,4 @@ progress { display: none !important; } -/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-reboot.css.map */ diff --git a/benchcoachproject/static/css/bootstrap-reboot.rtl.css b/benchcoach/static/css/bootstrap-reboot.rtl.css similarity index 99% rename from benchcoachproject/static/css/bootstrap-reboot.rtl.css rename to benchcoach/static/css/bootstrap-reboot.rtl.css index 38beb81..b2ea52c 100644 --- a/benchcoachproject/static/css/bootstrap-reboot.rtl.css +++ b/benchcoach/static/css/bootstrap-reboot.rtl.css @@ -479,4 +479,4 @@ progress { [hidden] { display: none !important; } -/*# sourceMappingURL=bootstrap-reboot.rtl.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-reboot.rtl.css.map */ diff --git a/benchcoachproject/static/css/bootstrap-utilities.css b/benchcoach/static/css/bootstrap-utilities.css similarity index 99% rename from benchcoachproject/static/css/bootstrap-utilities.css rename to benchcoach/static/css/bootstrap-utilities.css index c509cf5..201c77a 100644 --- a/benchcoachproject/static/css/bootstrap-utilities.css +++ b/benchcoach/static/css/bootstrap-utilities.css @@ -4863,4 +4863,4 @@ } } -/*# sourceMappingURL=bootstrap-utilities.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-utilities.css.map */ diff --git a/benchcoachproject/static/css/bootstrap-utilities.rtl.css b/benchcoach/static/css/bootstrap-utilities.rtl.css similarity index 99% rename from benchcoachproject/static/css/bootstrap-utilities.rtl.css rename to benchcoach/static/css/bootstrap-utilities.rtl.css index 125f8f1..82eef2e 100644 --- a/benchcoachproject/static/css/bootstrap-utilities.rtl.css +++ b/benchcoach/static/css/bootstrap-utilities.rtl.css @@ -4854,4 +4854,4 @@ display: none !important; } } -/*# sourceMappingURL=bootstrap-utilities.rtl.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-utilities.rtl.css.map */ diff --git a/benchcoachproject/static/css/bootstrap.css b/benchcoach/static/css/bootstrap.css similarity index 99% rename from benchcoachproject/static/css/bootstrap.css rename to benchcoach/static/css/bootstrap.css index f16c5be..b9f540e 100644 --- a/benchcoachproject/static/css/bootstrap.css +++ b/benchcoach/static/css/bootstrap.css @@ -11263,4 +11263,4 @@ textarea.form-control-lg { } } -/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/benchcoachproject/static/css/bootstrap.rtl.css b/benchcoach/static/css/bootstrap.rtl.css similarity index 99% rename from benchcoachproject/static/css/bootstrap.rtl.css rename to benchcoach/static/css/bootstrap.rtl.css index a18da6a..8cd0370 100644 --- a/benchcoachproject/static/css/bootstrap.rtl.css +++ b/benchcoach/static/css/bootstrap.rtl.css @@ -11239,4 +11239,4 @@ textarea.form-control-lg { display: none !important; } } -/*# sourceMappingURL=bootstrap.rtl.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap.rtl.css.map */ diff --git a/benchcoachproject/static/css/paper.css b/benchcoach/static/css/paper.css similarity index 100% rename from benchcoachproject/static/css/paper.css rename to benchcoach/static/css/paper.css diff --git a/benchcoach/static/css/project.css b/benchcoach/static/css/project.css new file mode 100644 index 0000000..e743aa8 --- /dev/null +++ b/benchcoach/static/css/project.css @@ -0,0 +1,22 @@ +/* These styles are generated from project.scss. */ + +.alert-debug { + color: black; + background-color: white; + border-color: #d6e9c6; +} + +.alert-error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.navbar-brand { + text-transform: uppercase; + font-weight: bolder; +} + +.bg-navbar { + background: #212529; +} diff --git a/benchcoach/migrations/__init__.py b/benchcoach/static/fonts/.gitkeep similarity index 100% rename from benchcoach/migrations/__init__.py rename to benchcoach/static/fonts/.gitkeep diff --git a/benchcoachproject/static/benchcoach.svg b/benchcoach/static/images/benchcoach.svg similarity index 100% rename from benchcoachproject/static/benchcoach.svg rename to benchcoach/static/images/benchcoach.svg diff --git a/benchcoachproject/static/favicon.ico b/benchcoach/static/images/favicons/favicon.ico similarity index 100% rename from benchcoachproject/static/favicon.ico rename to benchcoach/static/images/favicons/favicon.ico diff --git a/benchcoach/static/images/teamsnap.svg b/benchcoach/static/images/teamsnap.svg new file mode 100644 index 0000000..1565893 --- /dev/null +++ b/benchcoach/static/images/teamsnap.svg @@ -0,0 +1 @@ +TeamSnap Logo diff --git a/benchcoachproject/static/js/Sortable.js b/benchcoach/static/js/Sortable.js similarity index 99% rename from benchcoachproject/static/js/Sortable.js rename to benchcoach/static/js/Sortable.js index 2178cd1..db509f8 100644 --- a/benchcoachproject/static/js/Sortable.js +++ b/benchcoach/static/js/Sortable.js @@ -3780,4 +3780,4 @@ return Sortable; -}))); \ No newline at end of file +}))); diff --git a/benchcoachproject/static/js/bootstrap.bundle.js b/benchcoach/static/js/bootstrap.bundle.js similarity index 100% rename from benchcoachproject/static/js/bootstrap.bundle.js rename to benchcoach/static/js/bootstrap.bundle.js diff --git a/benchcoachproject/static/js/bootstrap.esm.js b/benchcoach/static/js/bootstrap.esm.js similarity index 100% rename from benchcoachproject/static/js/bootstrap.esm.js rename to benchcoach/static/js/bootstrap.esm.js diff --git a/benchcoachproject/static/js/bootstrap.js b/benchcoach/static/js/bootstrap.js similarity index 100% rename from benchcoachproject/static/js/bootstrap.js rename to benchcoach/static/js/bootstrap.js diff --git a/benchcoachproject/static/teamsnap/js/chart.esm.js b/benchcoach/static/js/chart.esm.js similarity index 100% rename from benchcoachproject/static/teamsnap/js/chart.esm.js rename to benchcoach/static/js/chart.esm.js diff --git a/benchcoachproject/static/teamsnap/js/chart.js b/benchcoach/static/js/chart.js similarity index 100% rename from benchcoachproject/static/teamsnap/js/chart.js rename to benchcoach/static/js/chart.js diff --git a/benchcoachproject/static/teamsnap/js/helpers.esm.js b/benchcoach/static/js/helpers.esm.js similarity index 100% rename from benchcoachproject/static/teamsnap/js/helpers.esm.js rename to benchcoach/static/js/helpers.esm.js diff --git a/benchcoachproject/static/teamsnap/js/lineup-table.js b/benchcoach/static/js/project.js similarity index 99% rename from benchcoachproject/static/teamsnap/js/lineup-table.js rename to benchcoach/static/js/project.js index 601b615..78f78c0 100644 --- a/benchcoachproject/static/teamsnap/js/lineup-table.js +++ b/benchcoach/static/js/project.js @@ -1,3 +1,4 @@ +/* Project specific Javascript goes here. */ function positionSelectChanged(elem) { let row = elem.parentElement.parentElement let original_table = elem.parentElement.parentElement.parentElement @@ -428,4 +429,4 @@ function copyEmailTable(itemEl, subject, recipients){ window.open("readdle-spark://compose?recipient=manager@chihounds.com&subject="+subject+"&bcc="+recipients) } -colorPositions() \ No newline at end of file +colorPositions() diff --git a/benchcoach/templates/403.html b/benchcoach/templates/403.html new file mode 100644 index 0000000..4356d93 --- /dev/null +++ b/benchcoach/templates/403.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block title %}Forbidden (403){% endblock %} + +{% block content %} +

Forbidden (403)

+ +

{% if exception %}{{ exception }}{% else %}You're not allowed to access this page.{% endif %}

+{% endblock content %} diff --git a/benchcoach/templates/404.html b/benchcoach/templates/404.html new file mode 100644 index 0000000..31c0f2b --- /dev/null +++ b/benchcoach/templates/404.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block title %}Page not found{% endblock %} + +{% block content %} +

Page not found

+ +

{% if exception %}{{ exception }}{% else %}This is not the page you were looking for.{% endif %}

+{% endblock content %} diff --git a/benchcoach/templates/500.html b/benchcoach/templates/500.html new file mode 100644 index 0000000..46e43a9 --- /dev/null +++ b/benchcoach/templates/500.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} + +{% block title %}Server Error{% endblock %} + +{% block content %} +

Ooops!!! 500

+ +

Looks like something went wrong!

+ +

We track these errors automatically, but if the problem persists feel free to contact us. In the meantime, try refreshing.

+{% endblock content %} diff --git a/benchcoach/templates/account/account_inactive.html b/benchcoach/templates/account/account_inactive.html new file mode 100644 index 0000000..07175e4 --- /dev/null +++ b/benchcoach/templates/account/account_inactive.html @@ -0,0 +1,11 @@ +{% extends "account/base.html" %} + +{% load i18n %} + +{% block head_title %}{% translate "Account Inactive" %}{% endblock %} + +{% block inner %} +

{% translate "Account Inactive" %}

+ +

{% translate "This account is inactive." %}

+{% endblock %} diff --git a/benchcoach/templates/account/base.html b/benchcoach/templates/account/base.html new file mode 100644 index 0000000..8e1f260 --- /dev/null +++ b/benchcoach/templates/account/base.html @@ -0,0 +1,10 @@ +{% extends "base.html" %} +{% block title %}{% block head_title %}{% endblock head_title %}{% endblock title %} + +{% block content %} +
+
+ {% block inner %}{% endblock %} +
+
+{% endblock %} diff --git a/benchcoach/templates/account/email.html b/benchcoach/templates/account/email.html new file mode 100644 index 0000000..f7fa9b2 --- /dev/null +++ b/benchcoach/templates/account/email.html @@ -0,0 +1,78 @@ + +{% extends "account/base.html" %} + +{% load i18n %} +{% load crispy_forms_tags %} + +{% block head_title %}{% translate "Account" %}{% endblock %} + +{% block inner %} +

{% translate "E-mail Addresses" %}

+ +{% if user.emailaddress_set.all %} +

{% translate 'The following e-mail addresses are associated with your account:' %}

+ +
+{% csrf_token %} +
+ + {% for emailaddress in user.emailaddress_set.all %} +
+ +
+ {% endfor %} + +
+ + + +
+ +
+
+ +{% else %} +

{% translate 'Warning:'%} {% translate "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}

+ +{% endif %} + + +

{% translate "Add E-mail Address" %}

+ +
+ {% csrf_token %} + {{ form|crispy }} + +
+ +{% endblock %} + + +{% block inline_javascript %} +{{ block.super }} + +{% endblock %} diff --git a/benchcoach/templates/account/email_confirm.html b/benchcoach/templates/account/email_confirm.html new file mode 100644 index 0000000..525c0f3 --- /dev/null +++ b/benchcoach/templates/account/email_confirm.html @@ -0,0 +1,31 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load account %} + +{% block head_title %}{% translate "Confirm E-mail Address" %}{% endblock %} + + +{% block inner %} +

{% translate "Confirm E-mail Address" %}

+ +{% if confirmation %} + +{% user_display confirmation.email_address.user as user_display %} + +

{% blocktranslate with confirmation.email_address.email as email %}Please confirm that {{ email }} is an e-mail address for user {{ user_display }}.{% endblocktranslate %}

+ +
+{% csrf_token %} + +
+ +{% else %} + +{% url 'account_email' as email_url %} + +

{% blocktranslate %}This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request.{% endblocktranslate %}

+ +{% endif %} + +{% endblock %} diff --git a/benchcoach/templates/account/login.html b/benchcoach/templates/account/login.html new file mode 100644 index 0000000..f4a8c08 --- /dev/null +++ b/benchcoach/templates/account/login.html @@ -0,0 +1,61 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load account socialaccount %} +{% load crispy_forms_tags %} + +{% block head_title %}{% translate "Sign In" %}{% endblock %} + +{% block inner %} + +

{% translate "Sign In" %}

+ +{% get_providers as socialaccount_providers %} + +{% if socialaccount_providers %} +

+ {% translate "Please sign in with one of your existing third party accounts:" %} + {% if ACCOUNT_ALLOW_REGISTRATION %} + {% blocktranslate trimmed %} + Or, sign up + for a {{ site_name }} account and sign in below: + {% endblocktranslate %} + {% endif %} +

+ +
+ + + + {% if 0 %}
{% translate "or" %}
{% endif %} + +
+ + {% include "socialaccount/snippets/login_extra.html" %} + +{% else %} + {% if ACCOUNT_ALLOW_REGISTRATION %} +

+ {% blocktranslate trimmed %} + If you have not created an account yet, then please + sign up first. + {% endblocktranslate %} +

+ {% endif %} +{% endif %} + + {% if 0 %} +
+ {% csrf_token %} + {{ form|crispy }} + {% if redirect_field_value %} + + {% endif %} + {% translate "Forgot Password?" %} + +
+ {% endif %} + +{% endblock %} diff --git a/benchcoach/templates/account/logout.html b/benchcoach/templates/account/logout.html new file mode 100644 index 0000000..d41824e --- /dev/null +++ b/benchcoach/templates/account/logout.html @@ -0,0 +1,19 @@ +{% extends "account/base.html" %} + +{% load i18n %} + +{% block head_title %}{% translate "Sign Out" %}{% endblock %} + +{% block inner %} +

{% translate "Sign Out" %}

+ +

{% translate 'Are you sure you want to sign out?' %}

+ +
+ {% csrf_token %} + {% if redirect_field_value %} + + {% endif %} + +
+{% endblock %} diff --git a/benchcoach/templates/account/password_change.html b/benchcoach/templates/account/password_change.html new file mode 100644 index 0000000..5182a7a --- /dev/null +++ b/benchcoach/templates/account/password_change.html @@ -0,0 +1,16 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load crispy_forms_tags %} + +{% block head_title %}{% translate "Change Password" %}{% endblock %} + +{% block inner %} +

{% translate "Change Password" %}

+ +
+ {% csrf_token %} + {{ form|crispy }} + +
+{% endblock %} diff --git a/benchcoach/templates/account/password_reset.html b/benchcoach/templates/account/password_reset.html new file mode 100644 index 0000000..8a2b7a5 --- /dev/null +++ b/benchcoach/templates/account/password_reset.html @@ -0,0 +1,25 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load account %} +{% load crispy_forms_tags %} + +{% block head_title %}{% translate "Password Reset" %}{% endblock %} + +{% block inner %} + +

{% translate "Password Reset" %}

+ {% if user.is_authenticated %} + {% include "account/snippets/already_logged_in.html" %} + {% endif %} + +

{% translate "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}

+ +
+ {% csrf_token %} + {{ form|crispy }} + +
+ +

{% blocktranslate %}Please contact us if you have any trouble resetting your password.{% endblocktranslate %}

+{% endblock %} diff --git a/benchcoach/templates/account/password_reset_done.html b/benchcoach/templates/account/password_reset_done.html new file mode 100644 index 0000000..f682ee8 --- /dev/null +++ b/benchcoach/templates/account/password_reset_done.html @@ -0,0 +1,16 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load account %} + +{% block head_title %}{% translate "Password Reset" %}{% endblock %} + +{% block inner %} +

{% translate "Password Reset" %}

+ + {% if user.is_authenticated %} + {% include "account/snippets/already_logged_in.html" %} + {% endif %} + +

{% blocktranslate %}We have sent you an e-mail. Please contact us if you do not receive it within a few minutes.{% endblocktranslate %}

+{% endblock %} diff --git a/benchcoach/templates/account/password_reset_from_key.html b/benchcoach/templates/account/password_reset_from_key.html new file mode 100644 index 0000000..dd836b4 --- /dev/null +++ b/benchcoach/templates/account/password_reset_from_key.html @@ -0,0 +1,24 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load crispy_forms_tags %} +{% block head_title %}{% translate "Change Password" %}{% endblock %} + +{% block inner %} +

{% if token_fail %}{% translate "Bad Token" %}{% else %}{% translate "Change Password" %}{% endif %}

+ + {% if token_fail %} + {% url 'account_reset_password' as passwd_reset_url %} +

{% blocktranslate %}The password reset link was invalid, possibly because it has already been used. Please request a new password reset.{% endblocktranslate %}

+ {% else %} + {% if form %} +
+ {% csrf_token %} + {{ form|crispy }} + +
+ {% else %} +

{% translate 'Your password is now changed.' %}

+ {% endif %} + {% endif %} +{% endblock %} diff --git a/benchcoach/templates/account/password_reset_from_key_done.html b/benchcoach/templates/account/password_reset_from_key_done.html new file mode 100644 index 0000000..7a58b44 --- /dev/null +++ b/benchcoach/templates/account/password_reset_from_key_done.html @@ -0,0 +1,9 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% block head_title %}{% translate "Change Password" %}{% endblock %} + +{% block inner %} +

{% translate "Change Password" %}

+

{% translate 'Your password is now changed.' %}

+{% endblock %} diff --git a/benchcoach/templates/account/password_set.html b/benchcoach/templates/account/password_set.html new file mode 100644 index 0000000..a748eb9 --- /dev/null +++ b/benchcoach/templates/account/password_set.html @@ -0,0 +1,16 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load crispy_forms_tags %} + +{% block head_title %}{% translate "Set Password" %}{% endblock %} + +{% block inner %} +

{% translate "Set Password" %}

+ +
+ {% csrf_token %} + {{ form|crispy }} + +
+{% endblock %} diff --git a/benchcoach/templates/account/signup.html b/benchcoach/templates/account/signup.html new file mode 100644 index 0000000..189ab9e --- /dev/null +++ b/benchcoach/templates/account/signup.html @@ -0,0 +1,22 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load crispy_forms_tags %} + +{% block head_title %}{% translate "Signup" %}{% endblock %} + +{% block inner %} +

{% translate "Sign Up" %}

+ +

{% blocktranslate %}Already have an account? Then please sign in.{% endblocktranslate %}

+ +
+ {% csrf_token %} + {{ form|crispy }} + {% if redirect_field_value %} + + {% endif %} + +
+ +{% endblock %} diff --git a/benchcoach/templates/account/signup_closed.html b/benchcoach/templates/account/signup_closed.html new file mode 100644 index 0000000..fcea1f0 --- /dev/null +++ b/benchcoach/templates/account/signup_closed.html @@ -0,0 +1,11 @@ +{% extends "account/base.html" %} + +{% load i18n %} + +{% block head_title %}{% translate "Sign Up Closed" %}{% endblock %} + +{% block inner %} +

{% translate "Sign Up Closed" %}

+ +

{% translate "We are sorry, but the sign up is currently closed." %}

+{% endblock %} diff --git a/benchcoach/templates/account/verification_sent.html b/benchcoach/templates/account/verification_sent.html new file mode 100644 index 0000000..acf81be --- /dev/null +++ b/benchcoach/templates/account/verification_sent.html @@ -0,0 +1,12 @@ +{% extends "account/base.html" %} + +{% load i18n %} + +{% block head_title %}{% translate "Verify Your E-mail Address" %}{% endblock %} + +{% block inner %} +

{% translate "Verify Your E-mail Address" %}

+ +

{% blocktranslate %}We have sent an e-mail to you for verification. Follow the link provided to finalize the signup process. Please contact us if you do not receive it within a few minutes.{% endblocktranslate %}

+ +{% endblock %} diff --git a/benchcoach/templates/account/verified_email_required.html b/benchcoach/templates/account/verified_email_required.html new file mode 100644 index 0000000..beefcea --- /dev/null +++ b/benchcoach/templates/account/verified_email_required.html @@ -0,0 +1,21 @@ +{% extends "account/base.html" %} + +{% load i18n %} + +{% block head_title %}{% translate "Verify Your E-mail Address" %}{% endblock %} + +{% block inner %} +

{% translate "Verify Your E-mail Address" %}

+ +{% url 'account_email' as email_url %} + +

{% blocktranslate %}This part of the site requires us to verify that +you are who you claim to be. For this purpose, we require that you +verify ownership of your e-mail address. {% endblocktranslate %}

+ +

{% blocktranslate %}We have sent an e-mail to you for +verification. Please click on the link inside this e-mail. Please +contact us if you do not receive it within a few minutes.{% endblocktranslate %}

+ +

{% blocktranslate %}Note: you can still change your e-mail address.{% endblocktranslate %}

+{% endblock %} diff --git a/benchcoach/templates/base.html b/benchcoach/templates/base.html new file mode 100644 index 0000000..5fc685e --- /dev/null +++ b/benchcoach/templates/base.html @@ -0,0 +1,131 @@ +{% load static i18n %} +{% get_current_language as LANGUAGE_CODE %} + + + + + {% block title %}BenchCoach{% endblock title %} + + + + + + + {% block css %} + + + + + + + {% endblock %} + + {# Placed at the top of the document so pages load faster with defer #} + {% block javascript %} + + + + + + + + + + {% endblock javascript %} + + + + + +
+ + +
+ +
+ + {% if messages %} + {% for message in messages %} +
+ {{ message }} + +
+ {% endfor %} + {% endif %} + + {% block content %} +

Use this document as a way to quick start any new project.

+ {% endblock content %} + +
+ + {% block modal %}{% endblock modal %} + + {% block inline_javascript %} + {% comment %} + Script tags with only code, no src (defer by default). To run + with a "defer" so that you run inline code: + + {% endcomment %} + {% endblock inline_javascript %} + + diff --git a/benchcoach/templates/benchcoach/card.html b/benchcoach/templates/benchcoach/card.html deleted file mode 100644 index e135d70..0000000 --- a/benchcoach/templates/benchcoach/card.html +++ /dev/null @@ -1,280 +0,0 @@ -{% load static %} - - - Gamecard - - - - - - - - -
-
-
-
- - - - - - - -
{{ event.teamsnap_event.csv_event_title }} - {% if event.home_team.name == user.profile.teamsnapsettings.managed_team.name %} - HOME - {% elif event.away_team.name == user.profile.teamsnapsettings.managed_team.name %} - AWAY - {% else %} - {% endif %} -
- - - - - - - {% for positioning in positionings_starting %} - {% if positioning.order == 0 %} - {% else %}{% endif %} - - - - - - - - - - - - - - {% endfor %} - -
- - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - X -
{{ positioning.order }}{{ positioning.player.last_name }}{{ positioning.player.jersey_number }}{{ positioning.position|default_if_none:'' }}
- - - {% for line in empty_lines %} - - - - - - - - - - - - - - - {% endfor %} - -
-
-
-
-
- - - - - - - {% for positioning in positionings %} - - - - - - - - - - - - - - - {% endfor %} - -
- - - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - X -
{{ positioning.player.jersey_number }}{{ positioning.player.last_name }}
-
-
-
-
- \ No newline at end of file diff --git a/benchcoach/templates/benchcoach/detail.html b/benchcoach/templates/benchcoach/detail.html deleted file mode 100644 index 004e935..0000000 --- a/benchcoach/templates/benchcoach/detail.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends 'base.html' %} - -{% block navbar %} - {% with events_tab="active" %} - {{ block.super }} - {% endwith %} -{% endblock %} - -{% block page_heading %} - Object -{% endblock %} - -{% block content %} -
-
- - {% block rows %} - {% endblock %} -
-
-
-{% endblock %} \ No newline at end of file diff --git a/benchcoach/templates/benchcoach/event-list.html b/benchcoach/templates/benchcoach/event-list.html deleted file mode 100644 index a5b5195..0000000 --- a/benchcoach/templates/benchcoach/event-list.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends 'base.html' %} - -{% block navbar %} - {% with events_tab="active" %} - {{ block.super }} - {% endwith %} -{% endblock %} - -{% block page_heading %} -Events -{% endblock %} - -{% block content %} - -{% endblock %} - \ No newline at end of file diff --git a/benchcoach/templates/benchcoach/event.html b/benchcoach/templates/benchcoach/event.html deleted file mode 100644 index 93a9e32..0000000 --- a/benchcoach/templates/benchcoach/event.html +++ /dev/null @@ -1,246 +0,0 @@ -{% extends 'base.html' %}{% block title %} {{ title }} {% endblock %}{% load static %} -{% with events_active="active" %} - {% block page_heading %} - - {% if false %} {% endif %} - {{ event.away_team.name }} vs. {{ event.home_team.name }} - {% if false %}{% endif %} - - - {% if event.home_team.name == user.profile.teamsnapsettings.managed_team.name %} - {% if false %} {% endif %} - vs. {{ event.away_team }} - {% elif event.away_team.name == user.profile.teamsnapsettings.managed_team.name %} - {% if false %}{% endif %} - at {{ event.home_team }} - {% else %} - Event - {% endif %} - - {% endblock %} - {% block page_subheading %} -

{{ event.start|date:"l, F j, Y g:i A" }}, {{ event.venue.name }}

-

{{ event.start|date:"D" }} {{ event.start|date:"n/j" }} {{ event.start|date:"g:i" }}, {{ event.venue.name }}

- {% endblock %} - - {% block header %} - - - - {% endblock %}{% endwith %} -{% block content %} - {% include 'messages.html' %} -
-
-
-
-
-
Event
-
- {% include 'teamsnap/update-button.html' with object_name='event' object_id=event.id next=request.path %} -
-
-
- {% include 'benchcoach/info-table.html' with d=details %} -
-
-
- -
-
-
- {% csrf_token %} - {{ formset.management_form }} -
-
-
-
-
Lineup
-
- -
-
-
- {% include 'benchcoach/player-table.html' with table_id="dhd" formset=formset_dhd available_class="d-none" %} - -
- {% include 'benchcoach/player-table.html' with table_id="lineup" formset=formset_lineup available_class="d-none"%} -
-
-
- -
-
-
-
-
Bench
-
-
- -
- {% include 'benchcoach/player-table.html' with table_id="bench" formset=formset_bench order_class="d-none" %} -
-
-
- -
-
-
-
- - - - -{% endblock %} \ No newline at end of file diff --git a/benchcoach/templates/benchcoach/info-table.html b/benchcoach/templates/benchcoach/info-table.html deleted file mode 100644 index 8358bdd..0000000 --- a/benchcoach/templates/benchcoach/info-table.html +++ /dev/null @@ -1,8 +0,0 @@ - - {% for key, value in d.items %} - - - - - {% endfor %} -
{{ key }}{{ value }}
\ No newline at end of file diff --git a/benchcoach/templates/benchcoach/list.html b/benchcoach/templates/benchcoach/list.html deleted file mode 100644 index b6c194b..0000000 --- a/benchcoach/templates/benchcoach/list.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends 'base.html' %} - -{% block navbar %} - {% with events_tab=events_tab_active members_tab=members_tab_active opponents_tab=opponents_tab_active venues_tab=venues_tab_active %} - {{ block.super }} - {% endwith %} -{% endblock %} - -{% block page_heading %} -{{ page_title }} -{% endblock %} - -{% block content %} - -{% endblock %} - \ No newline at end of file diff --git a/benchcoach/templates/benchcoach/player-list.html b/benchcoach/templates/benchcoach/player-list.html deleted file mode 100644 index 35ff7b2..0000000 --- a/benchcoach/templates/benchcoach/player-list.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends 'base.html' %} - -{% block navbar %} - {% with events_tab=events_tab_active members_tab=members_tab_active opponents_tab=opponents_tab_active venues_tab=venues_tab_active %} - {{ block.super }} - {% endwith %} -{% endblock %} - -{% block page_heading %} -{{ page_title }} -{% endblock %} - -{% block content %} - -{% endblock %} - \ No newline at end of file diff --git a/benchcoach/templates/benchcoach/player-table.html b/benchcoach/templates/benchcoach/player-table.html deleted file mode 100644 index 6f9e06a..0000000 --- a/benchcoach/templates/benchcoach/player-table.html +++ /dev/null @@ -1,49 +0,0 @@ - - - {% for form in formset %} - - {{ form.id.as_hidden }} - {{ form.event.as_hidden }} - {{ form.order.as_hidden }} - {{ form.player.as_hidden }} - {{ form.teamsnap_id.as_hidden }} - - - - - - - {# #} - - {% endfor %} - -
-
- - {% if form.order.value > 0 %} {{ form.order.value }} {% endif %} - - - - {% if form.instance.event_availability == 2 %} - - {% elif form.instance.event_availability == 1 %} - - {% elif form.instance.event_availability == 0 %} - - {% else %} - - {% endif %} - -
-
- - {{ form.instance.player.first_name }} {{ form.instance.player.last_name }}  - #{{ form.instance.player.jersey_number }} - {#
{{ form.statline }}#} -
- {{ form.position }} - - - {{ form.instance.position }}
\ No newline at end of file diff --git a/benchcoach/templates/pages/about.html b/benchcoach/templates/pages/about.html new file mode 100644 index 0000000..94d9808 --- /dev/null +++ b/benchcoach/templates/pages/about.html @@ -0,0 +1 @@ +{% extends "base.html" %} diff --git a/teamsnap/templates/teamsnap/home.html b/benchcoach/templates/pages/home.html similarity index 93% rename from teamsnap/templates/teamsnap/home.html rename to benchcoach/templates/pages/home.html index dfc6338..0431502 100644 --- a/teamsnap/templates/teamsnap/home.html +++ b/benchcoach/templates/pages/home.html @@ -1,3 +1,7 @@ +{% extends "base.html" %} +{% load static %} + +{% block content %}
@@ -25,4 +29,5 @@
- \ No newline at end of file + +{% endblock %} diff --git a/benchcoach/templates/socialaccount/login.html b/benchcoach/templates/socialaccount/login.html new file mode 100644 index 0000000..9174649 --- /dev/null +++ b/benchcoach/templates/socialaccount/login.html @@ -0,0 +1,19 @@ +{% extends "socialaccount/base.html" %} +{% load i18n %} + +{% block content %} +{% if process == "connect" %} +

{% blocktrans with provider.name as provider %}Connect {{ provider }}{% endblocktrans %}

+ +

{% blocktrans with provider.name as provider %}You are about to connect a new third party account from {{ provider }}.{% endblocktrans %}

+{% else %} +

{% blocktrans with provider.name as provider %}Sign In Via {{ provider }}{% endblocktrans %}

+ +

{% blocktrans with provider.name as provider %}You are about to sign in using a third party account from {{ provider }}.{% endblocktrans %}

+{% endif %} + +
+ {% csrf_token %} + +
+{% endblock %} diff --git a/benchcoach/templates/socialaccount/snippets/login_extra.html b/benchcoach/templates/socialaccount/snippets/login_extra.html new file mode 100644 index 0000000..307def4 --- /dev/null +++ b/benchcoach/templates/socialaccount/snippets/login_extra.html @@ -0,0 +1,3 @@ +{% load socialaccount %} + +{% providers_media_js %} diff --git a/benchcoach/templates/socialaccount/snippets/provider_list.html b/benchcoach/templates/socialaccount/snippets/provider_list.html new file mode 100644 index 0000000..e401950 --- /dev/null +++ b/benchcoach/templates/socialaccount/snippets/provider_list.html @@ -0,0 +1,32 @@ +{% load socialaccount %} +{% load static %} + +{% get_providers as socialaccount_providers %} + + diff --git a/benchcoach/templates/users/user_detail.html b/benchcoach/templates/users/user_detail.html new file mode 100644 index 0000000..79b8233 --- /dev/null +++ b/benchcoach/templates/users/user_detail.html @@ -0,0 +1,34 @@ +{% extends "base.html" %} +{% load static %} + +{% block title %}User: {{ object.username }}{% endblock %} + +{% block content %} +
+ +
+
+ +

{{ object.username }}

+ {% if object.name %} +

{{ object.name }}

+ {% endif %} +
+
+ +{% if object == request.user %} + +
+ +
+ My Info + E-Mail + +
+ +
+ +{% endif %} + +
+{% endblock content %} diff --git a/benchcoach/templates/users/user_form.html b/benchcoach/templates/users/user_form.html new file mode 100644 index 0000000..467357a --- /dev/null +++ b/benchcoach/templates/users/user_form.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} +{% load crispy_forms_tags %} + +{% block title %}{{ user.username }}{% endblock %} + +{% block content %} +

{{ user.username }}

+
+ {% csrf_token %} + {{ form|crispy }} +
+
+ +
+
+
+{% endblock %} diff --git a/benchcoach/tests.py b/benchcoach/tests.py deleted file mode 100644 index 700ec9d..0000000 --- a/benchcoach/tests.py +++ /dev/null @@ -1,281 +0,0 @@ -from django.test import TestCase -from .models import Event, Player, Team, Venue, Positioning -from .forms import PositioningFormSet -from datetime import datetime -from django.urls import reverse - -FIXTURES = ["blaseball"] - - -class TestEventModel(TestCase): - fixtures = FIXTURES - - def test_query_event(self): - """ - Return the desired event - """ - event = Event.objects.get(id=1) - self.assertEqual("Chicago Firefighters", event.away_team.name) - self.assertEqual("Dallas Steaks", event.home_team.name) - self.assertEqual("George Fourman Stadium", event.venue.name) - self.assertEqual( - datetime(year=2020, month=8, day=24, hour=16, minute=0, second=1), - event.start, - ) - - -class TestEventViews(TestCase): - fixtures = FIXTURES - - def test_event_list(self): - response = self.client.get(reverse("schedule")) - self.assertEqual(200, response.status_code) - - def test_event_edit(self): - response = self.client.get(reverse("edit event", args=[2])) - self.assertEqual(200, response.status_code) - - # create new event - new_event_data = { - "home_team": 23, - "away_team": 24, - "start": datetime(year=2021, month=1, day=1, hour=9, minute=0, second=0), - "venue": 19, - } - - response = self.client.post( - reverse("edit event", args=[0]), data=new_event_data - ) - self.assertEqual(201, response.status_code) - new_event = Event.objects.get(id=response.context["id"]) - self.assertEqual(new_event_data["home_team"], new_event.home_team.id) - self.assertEqual(new_event_data["away_team"], new_event.away_team_id) - self.assertEqual(new_event_data["start"], new_event.start) - - # modify event - modified_event_data = { - "home_team": 23, - "away_team": 24, - "start": datetime(year=2021, month=1, day=1, hour=9, minute=0, second=0), - "venue": 19, - } - response = self.client.post( - reverse("edit event", args=[1]), data=modified_event_data - ) - self.assertEqual(200, response.status_code) - self.assertEqual(1, response.context["id"]) - modified_event = Event.objects.get(id=response.context["id"]) - - self.assertEqual(modified_event_data["home_team"], modified_event.home_team.id) - self.assertEqual(modified_event_data["away_team"], modified_event.away_team.id) - self.assertEqual(modified_event_data["start"], modified_event.start) - self.assertEqual(modified_event_data["venue"], modified_event.venue.id) - - -class TestVenueViews(TestCase): - fixtures = ["blaseball"] - - def test_positioning_list(self): - response = self.client.get(reverse("edit lineup", args=[1])) - self.assertEqual(response.status_code, 200) - - def test_positioning_formset(self): - event = 1 - - sample_data = [ - # first player positioning - (1, Player.objects.get(id=1).id, "P"), - (2, Player.objects.get(id=2).id, "C"), - (3, Player.objects.get(id=3).id, "1B"), - ] - data = {} - - for i, (order, player, position) in enumerate(sample_data): - data[f"form-{i}-order"] = order - data[f"form-{i}-player"] = player - data[f"form-{i}-position"] = position - - management = { - "form-INITIAL_FORMS": "0", - "form-TOTAL_FORMS": len(sample_data), - "form-MAX_NUM_FORMS": "", - } - - formset = PositioningFormSet({**management, **data}) - - self.assertTrue(formset.is_valid()) - for form in formset: - self.assertTrue(form.is_valid()) - - response = self.client.post( - reverse("edit lineup", args=[event]), {**management, **data} - ) - - self.assertEqual(response.status_code, 200) - - for d in sample_data: - with self.subTest(d): - p = Positioning.objects.get(player_id=d[1], event_id=event) - self.assertEqual(d[0], p.order) - self.assertEqual(d[2], p.position) - pass - - -class TestPlayerModel(TestCase): - fixtures = FIXTURES - - def test_query_player(self): - """ - Return the desired player - """ - player = Player.objects.get(id=1) - self.assertEqual(player.first_name, "Edric") - self.assertEqual(player.last_name, "Tosser") - self.assertEqual(player.jersey_number, 1) - self.assertEqual(player.team.name, "Chicago Firefighters") - - -class TestPlayerViews(TestCase): - fixtures = FIXTURES - - def test_player_list(self): - response = self.client.get(reverse("players list")) - self.assertEqual(response.status_code, 200) - - def test_player_edit(self): - response = self.client.get(reverse("edit player", args=[1])) - self.assertEqual(response.status_code, 200) - - # create new player - new_player_data = { - "first_name": "A new player first name", - "last_name": "A new player last name", - "jersey_number": 99, - "team": 1, - } - - response = self.client.post( - reverse("edit player", args=[0]), data=new_player_data - ) - self.assertEqual(201, response.status_code) - new_player = Player.objects.get(id=response.context["id"]) - self.assertEqual(new_player_data["first_name"], new_player.first_name) - self.assertEqual(new_player_data["last_name"], new_player.last_name) - - # modify player - modified_player_data = { - "first_name": "A changed player first name", - "last_name": "A changed player last name", - "jersey_number": 99, - "team": 1, - } - response = self.client.post( - reverse("edit player", args=[1]), data=modified_player_data - ) - self.assertEqual(200, response.status_code) - self.assertEqual(1, response.context["id"]) - modified_player = Player.objects.get(id=response.context["id"]) - self.assertEqual(modified_player_data["first_name"], modified_player.first_name) - self.assertEqual(modified_player_data["last_name"], modified_player.last_name) - - -class TestTeamModel(TestCase): - fixtures = ["blaseball"] - - def test_query_team(self): - """ - Return the desired team - """ - team = Team.objects.get(id=1) - self.assertEqual(team.name, "Chicago Firefighters") - - -class TestTeamViews(TestCase): - fixtures = ["blaseball"] - - def test_team_list(self): - response = self.client.get(reverse("teams list")) - self.assertEqual(response.status_code, 200) - self.assertIn( - {"id": 1, "title": "Chicago Firefighters"}, response.context["items"] - ) - self.assertIn({"id": 2, "title": "Boston Flowers"}, response.context["items"]) - self.assertIn({"id": 24, "title": "Baltimore Crabs"}, response.context["items"]) - - def test_team_edit(self): - response = self.client.get(reverse("edit team", args=[1])) - self.assertEqual(response.status_code, 200) - - # create new team - response = self.client.post( - reverse("edit team", args=[0]), data={"name": "A new team"} - ) - self.assertEqual(201, response.status_code) - new_team = Team.objects.get(id=response.context["id"]) - self.assertEqual( - "A new team", - new_team.name, - ) - - # modify team - response = self.client.post( - reverse("edit team", args=[1]), data={"name": "A different team name"} - ) - self.assertEqual(200, response.status_code) - self.assertEqual(1, response.context["id"]) - modified_team = Team.objects.get(id=response.context["id"]) - self.assertEqual("A different team name", modified_team.name) - - -class TestVenueModel(TestCase): - fixtures = ["blaseball"] - - def test_query_venue(self): - """ - Return the desired venue - """ - venue = Venue.objects.get(id=1) - self.assertEqual(venue.name, "Chesapeake Racetrack and Ballpark") - - -class TestVenueViews(TestCase): - fixtures = ["blaseball"] - - def test_venue_list(self): - response = self.client.get(reverse("locations list")) - self.assertEqual(response.status_code, 200) - self.assertIn( - {"id": 1, "title": "Chesapeake Racetrack and Ballpark"}, - response.context["items"], - ) - self.assertIn( - {"id": 2, "title": "Tokyo Fitness Center"}, response.context["items"] - ) - self.assertIn( - {"id": 25, "title": "ILB Historical Preservation Site"}, - response.context["items"], - ) - - def test_venue_edit(self): - response = self.client.get(reverse("edit venue", args=[1])) - self.assertEqual(response.status_code, 200) - - # create new venue - response = self.client.post( - reverse("edit venue", args=[0]), data={"name": "A new venue"} - ) - self.assertEqual(201, response.status_code) - new_venue = Venue.objects.get(id=response.context["id"]) - self.assertEqual( - "A new venue", - new_venue.name, - ) - - # modify venue - response = self.client.post( - reverse("edit venue", args=[1]), data={"name": "A different venue name"} - ) - self.assertEqual(200, response.status_code) - self.assertEqual(1, response.context["id"]) - modified_venue = Venue.objects.get(id=response.context["id"]) - self.assertEqual("A different venue name", modified_venue.name) diff --git a/benchcoach/urls.py b/benchcoach/urls.py deleted file mode 100644 index 574b8a8..0000000 --- a/benchcoach/urls.py +++ /dev/null @@ -1,15 +0,0 @@ -from django.urls import path -from django.contrib.auth.decorators import login_required - -from . import views - -urlpatterns = [ - path('events/list/', login_required(views.EventListView.as_view()), name="event list"), - path('events//', login_required(views.event), name="event"), - path('players/list/', login_required(views.PlayerListView.as_view()), name="player list"), - path('teams/list/', login_required(views.TeamListView.as_view()), name="team list"), - path('locations/list/', login_required(views.VenueListView.as_view()), name="venue list"), - path('events//card', login_required(views.lineupcard), name="lineup card"), - path('events//csv', views.csv_export, name="lineup csv"), - path('events//', login_required(views.event), name="event") -] \ No newline at end of file diff --git a/benchcoachproject/__init__.py b/benchcoach/users/__init__.py similarity index 100% rename from benchcoachproject/__init__.py rename to benchcoach/users/__init__.py diff --git a/benchcoach/users/adapters.py b/benchcoach/users/adapters.py new file mode 100644 index 0000000..0d206fa --- /dev/null +++ b/benchcoach/users/adapters.py @@ -0,0 +1,16 @@ +from typing import Any + +from allauth.account.adapter import DefaultAccountAdapter +from allauth.socialaccount.adapter import DefaultSocialAccountAdapter +from django.conf import settings +from django.http import HttpRequest + + +class AccountAdapter(DefaultAccountAdapter): + def is_open_for_signup(self, request: HttpRequest): + return getattr(settings, "ACCOUNT_ALLOW_REGISTRATION", True) + + +class SocialAccountAdapter(DefaultSocialAccountAdapter): + def is_open_for_signup(self, request: HttpRequest, sociallogin: Any): + return getattr(settings, "ACCOUNT_ALLOW_REGISTRATION", True) diff --git a/benchcoach/users/admin.py b/benchcoach/users/admin.py new file mode 100644 index 0000000..94af963 --- /dev/null +++ b/benchcoach/users/admin.py @@ -0,0 +1,34 @@ +from django.contrib import admin +from django.contrib.auth import admin as auth_admin +from django.contrib.auth import get_user_model +from django.utils.translation import gettext_lazy as _ + +from benchcoach.users.forms import UserAdminChangeForm, UserAdminCreationForm + +User = get_user_model() + + +@admin.register(User) +class UserAdmin(auth_admin.UserAdmin): + + form = UserAdminChangeForm + add_form = UserAdminCreationForm + fieldsets = ( + (None, {"fields": ("username", "password")}), + (_("Personal info"), {"fields": ("name", "email")}), + ( + _("Permissions"), + { + "fields": ( + "is_active", + "is_staff", + "is_superuser", + "groups", + "user_permissions", + ), + }, + ), + (_("Important dates"), {"fields": ("last_login", "date_joined")}), + ) + list_display = ["username", "name", "is_superuser"] + search_fields = ["name"] diff --git a/benchcoach/users/apps.py b/benchcoach/users/apps.py new file mode 100644 index 0000000..16c32e4 --- /dev/null +++ b/benchcoach/users/apps.py @@ -0,0 +1,13 @@ +from django.apps import AppConfig +from django.utils.translation import gettext_lazy as _ + + +class UsersConfig(AppConfig): + name = "benchcoach.users" + verbose_name = _("Users") + + def ready(self): + try: + import benchcoach.users.signals # noqa F401 + except ImportError: + pass diff --git a/benchcoach/users/context_processors.py b/benchcoach/users/context_processors.py new file mode 100644 index 0000000..e2633ae --- /dev/null +++ b/benchcoach/users/context_processors.py @@ -0,0 +1,8 @@ +from django.conf import settings + + +def allauth_settings(request): + """Expose some settings from django-allauth in templates.""" + return { + "ACCOUNT_ALLOW_REGISTRATION": settings.ACCOUNT_ALLOW_REGISTRATION, + } diff --git a/benchcoach/users/forms.py b/benchcoach/users/forms.py new file mode 100644 index 0000000..6e1dd9d --- /dev/null +++ b/benchcoach/users/forms.py @@ -0,0 +1,42 @@ +from allauth.account.forms import SignupForm +from allauth.socialaccount.forms import SignupForm as SocialSignupForm +from django.contrib.auth import forms as admin_forms +from django.contrib.auth import get_user_model +from django.utils.translation import gettext_lazy as _ + +User = get_user_model() + + +class UserAdminChangeForm(admin_forms.UserChangeForm): + class Meta(admin_forms.UserChangeForm.Meta): + model = User + + +class UserAdminCreationForm(admin_forms.UserCreationForm): + """ + Form for User Creation in the Admin Area. + To change user signup, see UserSignupForm and UserSocialSignupForm. + """ + + class Meta(admin_forms.UserCreationForm.Meta): + model = User + + error_messages = { + "username": {"unique": _("This username has already been taken.")} + } + + +class UserSignupForm(SignupForm): + """ + Form that will be rendered on a user sign up section/screen. + Default fields will be added automatically. + Check UserSocialSignupForm for accounts created from social. + """ + + +class UserSocialSignupForm(SocialSignupForm): + """ + Renders the form when user has signed up using social accounts. + Default fields will be added automatically. + See UserSignupForm otherwise. + """ diff --git a/benchcoach/users/migrations/0001_initial.py b/benchcoach/users/migrations/0001_initial.py new file mode 100644 index 0000000..4c4d695 --- /dev/null +++ b/benchcoach/users/migrations/0001_initial.py @@ -0,0 +1,125 @@ +# Generated by Django 3.2.9 on 2021-11-20 11:23 +import django.contrib.auth.models +import django.contrib.auth.validators +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ("auth", "0012_alter_user_first_name_max_length"), + ] + + operations = [ + migrations.CreateModel( + name="User", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("password", models.CharField(max_length=128, verbose_name="password")), + ( + "last_login", + models.DateTimeField( + blank=True, null=True, verbose_name="last login" + ), + ), + ( + "is_superuser", + models.BooleanField( + default=False, + help_text="Designates that this user has all permissions without explicitly assigning them.", + verbose_name="superuser status", + ), + ), + ( + "username", + models.CharField( + error_messages={ + "unique": "A user with that username already exists." + }, + help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", + max_length=150, + unique=True, + validators=[ + django.contrib.auth.validators.UnicodeUsernameValidator() + ], + verbose_name="username", + ), + ), + ( + "email", + models.EmailField( + blank=True, max_length=254, verbose_name="email address" + ), + ), + ( + "is_staff", + models.BooleanField( + default=False, + help_text="Designates whether the user can log into this admin site.", + verbose_name="staff status", + ), + ), + ( + "is_active", + models.BooleanField( + default=True, + help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.", + verbose_name="active", + ), + ), + ( + "date_joined", + models.DateTimeField( + default=django.utils.timezone.now, verbose_name="date joined" + ), + ), + ( + "name", + models.CharField( + blank=True, max_length=255, verbose_name="Name of User" + ), + ), + ( + "groups", + models.ManyToManyField( + blank=True, + help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.", + related_name="user_set", + related_query_name="user", + to="auth.Group", + verbose_name="groups", + ), + ), + ( + "user_permissions", + models.ManyToManyField( + blank=True, + help_text="Specific permissions for this user.", + related_name="user_set", + related_query_name="user", + to="auth.Permission", + verbose_name="user permissions", + ), + ), + ], + options={ + "verbose_name": "user", + "verbose_name_plural": "users", + "abstract": False, + }, + managers=[ + ("objects", django.contrib.auth.models.UserManager()), + ], + ), + ] diff --git a/benchcoachproject/migrations/__init__.py b/benchcoach/users/migrations/__init__.py similarity index 100% rename from benchcoachproject/migrations/__init__.py rename to benchcoach/users/migrations/__init__.py diff --git a/benchcoach/users/models.py b/benchcoach/users/models.py new file mode 100644 index 0000000..33de374 --- /dev/null +++ b/benchcoach/users/models.py @@ -0,0 +1,26 @@ +from django.contrib.auth.models import AbstractUser +from django.db.models import CharField +from django.urls import reverse +from django.utils.translation import gettext_lazy as _ + + +class User(AbstractUser): + """ + Default custom user model for BenchCoach. + If adding fields that need to be filled at user signup, + check forms.SignupForm and forms.SocialSignupForms accordingly. + """ + + #: First and last name do not cover name patterns around the globe + name = CharField(_("Name of User"), blank=True, max_length=255) + first_name = None # type: ignore + last_name = None # type: ignore + + def get_absolute_url(self): + """Get url for user's detail view. + + Returns: + str: URL for user detail. + + """ + return reverse("users:detail", kwargs={"username": self.username}) diff --git a/lib/__init__.py b/benchcoach/users/tests/__init__.py similarity index 100% rename from lib/__init__.py rename to benchcoach/users/tests/__init__.py diff --git a/benchcoach/users/tests/factories.py b/benchcoach/users/tests/factories.py new file mode 100644 index 0000000..edd306c --- /dev/null +++ b/benchcoach/users/tests/factories.py @@ -0,0 +1,32 @@ +from typing import Any, Sequence + +from django.contrib.auth import get_user_model +from factory import Faker, post_generation +from factory.django import DjangoModelFactory + + +class UserFactory(DjangoModelFactory): + + username = Faker("user_name") + email = Faker("email") + name = Faker("name") + + @post_generation + def password(self, create: bool, extracted: Sequence[Any], **kwargs): + password = ( + extracted + if extracted + else Faker( + "password", + length=42, + special_chars=True, + digits=True, + upper_case=True, + lower_case=True, + ).evaluate(None, None, extra={"locale": None}) + ) + self.set_password(password) + + class Meta: + model = get_user_model() + django_get_or_create = ["username"] diff --git a/benchcoach/users/tests/test_admin.py b/benchcoach/users/tests/test_admin.py new file mode 100644 index 0000000..834bb1a --- /dev/null +++ b/benchcoach/users/tests/test_admin.py @@ -0,0 +1,40 @@ +import pytest +from django.urls import reverse + +from benchcoach.users.models import User + +pytestmark = pytest.mark.django_db + + +class TestUserAdmin: + def test_changelist(self, admin_client): + url = reverse("admin:users_user_changelist") + response = admin_client.get(url) + assert response.status_code == 200 + + def test_search(self, admin_client): + url = reverse("admin:users_user_changelist") + response = admin_client.get(url, data={"q": "test"}) + assert response.status_code == 200 + + def test_add(self, admin_client): + url = reverse("admin:users_user_add") + response = admin_client.get(url) + assert response.status_code == 200 + + response = admin_client.post( + url, + data={ + "username": "test", + "password1": "My_R@ndom-P@ssw0rd", + "password2": "My_R@ndom-P@ssw0rd", + }, + ) + assert response.status_code == 302 + assert User.objects.filter(username="test").exists() + + def test_view_user(self, admin_client): + user = User.objects.get(username="admin") + url = reverse("admin:users_user_change", kwargs={"object_id": user.pk}) + response = admin_client.get(url) + assert response.status_code == 200 diff --git a/benchcoach/users/tests/test_forms.py b/benchcoach/users/tests/test_forms.py new file mode 100644 index 0000000..824ce77 --- /dev/null +++ b/benchcoach/users/tests/test_forms.py @@ -0,0 +1,39 @@ +""" +Module for all Form Tests. +""" +import pytest +from django.utils.translation import gettext_lazy as _ + +from benchcoach.users.forms import UserAdminCreationForm +from benchcoach.users.models import User + +pytestmark = pytest.mark.django_db + + +class TestUserAdminCreationForm: + """ + Test class for all tests related to the UserAdminCreationForm + """ + + def test_username_validation_error_msg(self, user: User): + """ + Tests UserAdminCreation Form's unique validator functions correctly by testing: + 1) A new user with an existing username cannot be added. + 2) Only 1 error is raised by the UserCreation Form + 3) The desired error message is raised + """ + + # The user already exists, + # hence cannot be created. + form = UserAdminCreationForm( + { + "username": user.username, + "password1": user.password, + "password2": user.password, + } + ) + + assert not form.is_valid() + assert len(form.errors) == 1 + assert "username" in form.errors + assert form.errors["username"][0] == _("This username has already been taken.") diff --git a/benchcoach/users/tests/test_models.py b/benchcoach/users/tests/test_models.py new file mode 100644 index 0000000..a48aca8 --- /dev/null +++ b/benchcoach/users/tests/test_models.py @@ -0,0 +1,9 @@ +import pytest + +from benchcoach.users.models import User + +pytestmark = pytest.mark.django_db + + +def test_user_get_absolute_url(user: User): + assert user.get_absolute_url() == f"/users/{user.username}/" diff --git a/benchcoach/users/tests/test_urls.py b/benchcoach/users/tests/test_urls.py new file mode 100644 index 0000000..18ee578 --- /dev/null +++ b/benchcoach/users/tests/test_urls.py @@ -0,0 +1,24 @@ +import pytest +from django.urls import resolve, reverse + +from benchcoach.users.models import User + +pytestmark = pytest.mark.django_db + + +def test_detail(user: User): + assert ( + reverse("users:detail", kwargs={"username": user.username}) + == f"/users/{user.username}/" + ) + assert resolve(f"/users/{user.username}/").view_name == "users:detail" + + +def test_update(): + assert reverse("users:update") == "/users/~update/" + assert resolve("/users/~update/").view_name == "users:update" + + +def test_redirect(): + assert reverse("users:redirect") == "/users/~redirect/" + assert resolve("/users/~redirect/").view_name == "users:redirect" diff --git a/benchcoach/users/tests/test_views.py b/benchcoach/users/tests/test_views.py new file mode 100644 index 0000000..89ba55c --- /dev/null +++ b/benchcoach/users/tests/test_views.py @@ -0,0 +1,98 @@ +import pytest +from django.conf import settings +from django.contrib import messages +from django.contrib.auth.models import AnonymousUser +from django.contrib.messages.middleware import MessageMiddleware +from django.contrib.sessions.middleware import SessionMiddleware +from django.http import HttpRequest, HttpResponseRedirect +from django.test import RequestFactory +from django.urls import reverse + +from benchcoach.users.forms import UserAdminChangeForm +from benchcoach.users.models import User +from benchcoach.users.tests.factories import UserFactory +from benchcoach.users.views import UserRedirectView, UserUpdateView, user_detail_view + +pytestmark = pytest.mark.django_db + + +class TestUserUpdateView: + """ + TODO: + extracting view initialization code as class-scoped fixture + would be great if only pytest-django supported non-function-scoped + fixture db access -- this is a work-in-progress for now: + https://github.com/pytest-dev/pytest-django/pull/258 + """ + + def dummy_get_response(self, request: HttpRequest): + return None + + def test_get_success_url(self, user: User, rf: RequestFactory): + view = UserUpdateView() + request = rf.get("/fake-url/") + request.user = user + + view.request = request + + assert view.get_success_url() == f"/users/{user.username}/" + + def test_get_object(self, user: User, rf: RequestFactory): + view = UserUpdateView() + request = rf.get("/fake-url/") + request.user = user + + view.request = request + + assert view.get_object() == user + + def test_form_valid(self, user: User, rf: RequestFactory): + view = UserUpdateView() + request = rf.get("/fake-url/") + + # Add the session/message middleware to the request + SessionMiddleware(self.dummy_get_response).process_request(request) + MessageMiddleware(self.dummy_get_response).process_request(request) + request.user = user + + view.request = request + + # Initialize the form + form = UserAdminChangeForm() + form.cleaned_data = [] + view.form_valid(form) + + messages_sent = [m.message for m in messages.get_messages(request)] + assert messages_sent == ["Information successfully updated"] + + +class TestUserRedirectView: + def test_get_redirect_url(self, user: User, rf: RequestFactory): + view = UserRedirectView() + request = rf.get("/fake-url") + request.user = user + + view.request = request + + assert view.get_redirect_url() == f"/users/{user.username}/" + + +class TestUserDetailView: + def test_authenticated(self, user: User, rf: RequestFactory): + request = rf.get("/fake-url/") + request.user = UserFactory() + + response = user_detail_view(request, username=user.username) + + assert response.status_code == 200 + + def test_not_authenticated(self, user: User, rf: RequestFactory): + request = rf.get("/fake-url/") + request.user = AnonymousUser() + + response = user_detail_view(request, username=user.username) + login_url = reverse(settings.LOGIN_URL) + + assert isinstance(response, HttpResponseRedirect) + assert response.status_code == 302 + assert response.url == f"{login_url}?next=/fake-url/" diff --git a/benchcoach/users/urls.py b/benchcoach/users/urls.py new file mode 100644 index 0000000..d90c90b --- /dev/null +++ b/benchcoach/users/urls.py @@ -0,0 +1,14 @@ +from django.urls import path + +from benchcoach.users.views import ( + user_detail_view, + user_redirect_view, + user_update_view, +) + +app_name = "users" +urlpatterns = [ + path("~redirect/", view=user_redirect_view, name="redirect"), + path("~update/", view=user_update_view, name="update"), + path("/", view=user_detail_view, name="detail"), +] diff --git a/benchcoach/users/views.py b/benchcoach/users/views.py new file mode 100644 index 0000000..baa04a0 --- /dev/null +++ b/benchcoach/users/views.py @@ -0,0 +1,48 @@ +from django.contrib.auth import get_user_model +from django.contrib.auth.mixins import LoginRequiredMixin +from django.contrib.messages.views import SuccessMessageMixin +from django.urls import reverse +from django.utils.translation import gettext_lazy as _ +from django.views.generic import DetailView, RedirectView, UpdateView + +User = get_user_model() + + +class UserDetailView(LoginRequiredMixin, DetailView): + + model = User + slug_field = "username" + slug_url_kwarg = "username" + + +user_detail_view = UserDetailView.as_view() + + +class UserUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): + + model = User + fields = ["name"] + success_message = _("Information successfully updated") + + def get_success_url(self): + assert ( + self.request.user.is_authenticated + ) # for mypy to know that the user is authenticated + return self.request.user.get_absolute_url() + + def get_object(self): + return self.request.user + + +user_update_view = UserUpdateView.as_view() + + +class UserRedirectView(LoginRequiredMixin, RedirectView): + + permanent = False + + def get_redirect_url(self): + return reverse("users:detail", kwargs={"username": self.request.user.username}) + + +user_redirect_view = UserRedirectView.as_view() diff --git a/teamsnap/__init__.py b/benchcoach/utils/__init__.py similarity index 100% rename from teamsnap/__init__.py rename to benchcoach/utils/__init__.py diff --git a/benchcoach/utils/sync_engine.py b/benchcoach/utils/sync_engine.py deleted file mode 100644 index 3acd619..0000000 --- a/benchcoach/utils/sync_engine.py +++ /dev/null @@ -1,32 +0,0 @@ -from abc import ABC, abstractmethod - -import django.db.models -from django.db.models import QuerySet -from typing import List, Tuple -import benchcoach.models - -class AbstractSyncEngine(ABC): - ''' - Class used for importing and syncing Bench Coach models. - ''' - models: List[benchcoach.models.BenchcoachModel] - - @abstractmethod - def sync(self, qs: django.db.models.QuerySet = None, instance: benchcoach.models.BenchcoachModel = None, direction='download') -> List[Tuple[django.db.models.Model, bool]]: - ''' - Syncs the input from/to the service. Either a query set or instance should be provided, but not both. - It does not create Bench Coach objects. - :param qs: the queryset to be updated. - :param instance: the instance to be updated. - :param direction: the sync direction, either 'download' or 'upload'. If set to 'download', it will be updated from the service, if set to upload, its contents - will be sent to the service - :return: a list of BenchCoach objects that have been iterated (but not necessarily changed) during sync. - ''' - - @abstractmethod - def import_items(self): - ''' - Imports the items from the service. It imports all models specified in the class property 'model'. - It creates BenchCoach objects, but should not create duplicates. - :return: a list of BenchCoach objects that have been iterated (but not necessarily changed) during import. - ''' \ No newline at end of file diff --git a/benchcoach/views.py b/benchcoach/views.py deleted file mode 100644 index 44268ce..0000000 --- a/benchcoach/views.py +++ /dev/null @@ -1,266 +0,0 @@ -from django.shortcuts import render, HttpResponse -from .models import Event, Team, Player, Positioning, Venue -from .forms import PositioningFormSet, TeamsnapEventForm -from django.contrib import messages -from django.db.models import F -from django.views.generic import ListView, DetailView -import csv - - -class BenchCoachListView(ListView): - title = None - -class EventDetailView(DetailView): - model = Event - context_object_name = "event" - template_name = 'benchcoach/event-detail.html' - -class EventListView(ListView): - model = Event - context_object_name = "events" - template_name = 'benchcoach/event-list.html' - -class PlayerListView(ListView): - model = Player - template_name = 'benchcoach/player-list.html' - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context['page_title'] = "Players" - context['members_tab_active'] ='active' - return context - -class TeamListView(ListView): - model = Team - template_name = 'benchcoach/list.html' - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context['page_title'] = "Teams" - context['opponents_tab_active'] ='active' - return context - -class VenueListView(ListView): - model = Venue - template_name = 'benchcoach/list.html' - - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context['page_title'] = "Venues" - context['venues_tab_active'] ='active' - return context - -def event(request, event_id, active_tab='details'): - ''' - Event is the main page for showing an event. - :param request: django request - :param event_id: The Bench Coach event ID to display - :param active_tab: The desired active tab, supports "lineup" and "details" - :return: 'details' renders a page with event information, 'lineup' with lineup information. - Either gives context to the template with the event information and formset for the lineup. - ''' - - if request.method == "POST": - # create a form instance and populate it with data from the request: - formset = PositioningFormSet(request.POST) - is_valid = [f.is_valid() for f in formset] - for form in formset: - if form.is_valid(): - # process the data in form.cleaned_data as required - # ... - # redirect to a new URL: - - if isinstance(form.cleaned_data["id"], Positioning): - positioning_id = form.cleaned_data.pop( - "id" - ).id # FIXME this is a workaround, not sure why it is necessary - positioning = Positioning.objects.filter(id=positioning_id) - positioning.update(**form.cleaned_data) - did_create = False - else: - positioning = Positioning.objects.create( - **form.cleaned_data, event_id=event_id - ) - did_create = True - else: - messages.error( - request, f"Error submitting lineup. {form.instance} {form.errors}" - ) - pass - if (True in is_valid) and (False in is_valid): - messages.warning(request, "Lineup partially submitted.") - elif True in is_valid: - messages.success(request, "Lineup submitted successfully.") - elif True not in is_valid: - messages.error(request, f"Error submitting lineup.") - else: - messages.error(request, f"Error submitting lineup.") - # return HttpResponse(status=204) - # return render(request, 'success.html', {'call_back':'edit lineup','id':event_id, 'errors':[error for error in formset.errors if error]}, status=200) - previous_event = Event.objects.filter(id=event_id - 1).first() - - event = Event.objects.get(id=event_id) - next_event = Event.objects.get(id=event_id + 1) - players = Player.objects.prefetch_related("availability_set", "positioning_set") - - for player in players: - Positioning.objects.get_or_create(player_id=player.id, event_id=event_id) - - qs = ( - event.positioning_set.all() - .filter(player__availability__event=event_id, player__teamsnap_member__is_non_player=False) - .order_by("order", "-player__availability__available", "player__last_name") - .annotate(event_availability=F("player__availability__available")) - ) - - formset = PositioningFormSet(queryset=qs) - - formset_lineup = [f for f in formset if f.instance.order] - formset_dhd = [f for f in formset if not f.instance.order and f.instance.position] - formset_bench = [ - f for f in formset if f not in formset_lineup and f not in formset_dhd - ] - - details = { - "Away Team": event.away_team, - "Home Team": event.home_team, - "Date": event.start.date(), - "Time": event.start.time(), - "Venue": event.venue, - } - - return render( - request, - "benchcoach/event.html", - { - "title": "Lineup", - "active_tab":active_tab, - "event": event, - "details": details, - "previous_event": previous_event, - "next_event": next_event, - "formset": formset, - "formset_lineup": formset_lineup, - "formset_bench": formset_bench, - "formset_dhd": formset_dhd, - }, - ) - -def lineupcard(request, event_id): - ''' - Lineup Card is an first attempt at replicating the "Lineup Card" from Google sheets. - It is incomplete. - :param request: - :param event_id: The Event ID to generate - :return: It generates a page layout. The context has info for event, event details, starting players and all players (both as a queryset) - ''' - previous_event = Event.objects.filter(id=event_id - 1).first() - - event = Event.objects.get(id=event_id) - next_event = Event.objects.get(id=event_id + 1) - players = Player.objects.prefetch_related("availability_set", "positioning_set") - - for player in players: - Positioning.objects.get_or_create(player_id=player.id, event_id=event_id) - - qs = ( - event.positioning_set.all() - .filter(player__availability__event=event_id, player__teamsnap_member__is_non_player=False) - .order_by("-player__availability__available", "player__last_name", "order") - .annotate(event_availability=F("player__availability__available")) - ) - - qs_starting = qs.filter(order__isnull=False).order_by("order") - - details = { - "Away Team": event.away_team, - "Home Team": event.home_team, - "Date": event.start.date(), - "Time": event.start.time(), - "Venue": event.venue, - } - - return render( - request, - "benchcoach/card.html", - { - "title": "Lineup", - "event": event, - "details": details, - "previous_event": previous_event, - "next_event": next_event, - "positionings": qs, - "positionings_starting": qs_starting, - "empty_lines": range(14) - }, - ) - -def csv_export(request, event_id): - ''' - Exports a CSV to interface with the Google Sheet. The idea is to bring lineup info into the sheet for backwards compatibility. - The row numbers follow each line as comments. - :param request: - :param event_id: - :return: A CSV file. - ''' - response = HttpResponse( - content_type='text/csv', - headers={'Content-Disposition': f'attachment; filename=lineup-event-{event_id}.csv'}, - ) - previous_event = Event.objects.filter(id=event_id - 1).first() - - event = Event.objects.get(id=event_id) - players = Player.objects.prefetch_related("availability_set", "positioning_set") - - for player in players: - Positioning.objects.get_or_create(player_id=player.id, event_id=event_id) - - qs = ( - event.positioning_set.all() - .filter(player__availability__event=event_id, player__teamsnap_member__is_non_player=False) - .order_by("-player__availability__available", "player__last_name", "order") - .annotate(event_availability=F("player__availability__available")) - ) - - rows = [] - # Row number (starts at row 2) - rows.append(event.teamsnap_event.csv_event_title) # 2 - rows.append(event.venue.name) # 3 - [rows.append('') for i in range(3)] # 4-6 - p = qs.filter(position='P').first() - if p: - rows.append(f"{p.player.last_name}, {p.player.first_name}") # 7 - else: - rows.append('') - [rows.append('') for i in range(3)] # 8-10 - for pos in ['C', '1B', '2B', '3B', 'SS', 'LF', 'CF', 'RF', 'DH']: # 11-19 - p = qs.filter(position=pos).first() - if p: - rows.append(f"{p.player.last_name}, {p.player.first_name}") - else: - rows.append('') - ehs = qs.filter(position='EH') - if len(ehs) > 0: - p=qs.filter(position='EH')[0] - rows.append(f"{p.player.last_name}, {p.player.first_name}") # 20 - else: - rows.append('') - if len(ehs) > 1: - p=qs.filter(position='EH')[1] - rows.append(f"{p.player.last_name}, {p.player.first_name}") # 21 - else: - rows.append('') - rows.append('') #22 - p=qs.filter(position__isnull=False, order=0).first() - if p: - rows.append(f"{p.player.last_name}, {p.player.first_name}") # 23 - else: - rows.append('') - rows.append('') # 24 - for p in qs.filter(order__gt=0).order_by('order'): # 25-34 - rows.append(f"{p.player.last_name}, {p.player.first_name}") - - writer = csv.writer(response) - for row in rows: - writer.writerow([row]) - return response \ No newline at end of file diff --git a/benchcoachproject/admin.py b/benchcoachproject/admin.py deleted file mode 100644 index 0a853f9..0000000 --- a/benchcoachproject/admin.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.contrib import admin -from .models import Profile, TeamsnapSettings - -# Register your models here. -admin.site.register(Profile) -admin.site.register(TeamsnapSettings) diff --git a/benchcoachproject/asgi.py b/benchcoachproject/asgi.py deleted file mode 100644 index 82177eb..0000000 --- a/benchcoachproject/asgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -ASGI config for events project. - -It exposes the ASGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/3.2/howto/deployment/asgi/ -""" - -import os - -from django.core.asgi import get_asgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'benchcoachproject.settings') - -application = get_asgi_application() diff --git a/benchcoachproject/migrations/0001_initial.py b/benchcoachproject/migrations/0001_initial.py deleted file mode 100644 index ce7111c..0000000 --- a/benchcoachproject/migrations/0001_initial.py +++ /dev/null @@ -1,36 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-17 22:07 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ('teamsnap', '0001_initial'), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='Profile', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('teamsnap_access_token', models.CharField(max_length=50, null=True)), - ('avatar', models.ImageField(blank=True, null=True, upload_to='avatar')), - ('teamsnap_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.user')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='TeamsnapSettings', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('managed_team', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='benchcoachproject.profile')), - ], - ), - ] diff --git a/benchcoachproject/migrations/0002_alter_profile_teamsnap_user.py b/benchcoachproject/migrations/0002_alter_profile_teamsnap_user.py deleted file mode 100644 index 41dd115..0000000 --- a/benchcoachproject/migrations/0002_alter_profile_teamsnap_user.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-20 02:54 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('teamsnap', '0002_event_game_type'), - ('benchcoachproject', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='profile', - name='teamsnap_user', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='benchcoach_object', to='teamsnap.user'), - ), - ] diff --git a/benchcoachproject/models.py b/benchcoachproject/models.py deleted file mode 100644 index 07ac43c..0000000 --- a/benchcoachproject/models.py +++ /dev/null @@ -1,19 +0,0 @@ -from django.db import models -from teamsnap.models import User as TeamsnapUser, Team as TeamsnapTeam -from django.contrib.auth.models import User - -class Profile(models.Model): - user = models.OneToOneField(User, on_delete=models.CASCADE) - teamsnap_access_token = models.CharField(null=True, max_length=50) - teamsnap_user = models.OneToOneField( - TeamsnapUser, - on_delete=models.CASCADE, - null=True, - blank=True, - related_name="benchcoach_object" - ) - avatar = models.ImageField(upload_to="avatar", null=True, blank=True) - -class TeamsnapSettings(models.Model): - user = models.OneToOneField(Profile, on_delete=models.CASCADE) - managed_team = models.ForeignKey(TeamsnapTeam, on_delete=models.CASCADE) \ No newline at end of file diff --git a/benchcoachproject/settings.py b/benchcoachproject/settings.py deleted file mode 100644 index 813a0d0..0000000 --- a/benchcoachproject/settings.py +++ /dev/null @@ -1,140 +0,0 @@ -""" -Django settings for events project. - -Generated by 'django-admin startproject' using Django 3.2.6. - -For more information on this file, see -https://docs.djangoproject.com/en/3.2/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/3.2/ref/settings/ -""" - -from pathlib import Path -import os -import django_heroku - -# 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/3.2/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -os.getenv('SECRET_KEY') - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -ALLOWED_HOSTS = ["smithers-ii.local", "127.0.0.1", "10.0.1.4", "benchcoach.ascorrea.com", "fast-wildwood-43711.herokuapp.com"] - -# Application definition - -INSTALLED_APPS = [ - 'benchcoach.apps.BenchcoachConfig', - 'teamsnap.apps.TeamsnapConfig', - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - 'benchcoachproject' -] - -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', - 'whitenoise.middleware.WhiteNoiseMiddleware', -] - -ROOT_URLCONF = 'benchcoachproject.urls' - -TEMPLATES = [ - { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [BASE_DIR / 'templates'] - , - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.request', - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - ], - }, - }, -] - -WSGI_APPLICATION = 'benchcoachproject.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/3.2/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', - } -} - - -# Password validation -# https://docs.djangoproject.com/en/3.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/3.2/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'America/Chicago' - -USE_I18N = True - -USE_L10N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/3.2/howto/static-files/ -STATIC_ROOT = os.path.join(BASE_DIR, 'benchcoachproject/static') -STATIC_URL = '/static/' - -# Default primary key field type -# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field - -DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' - -MEDIA_URL = '/media/' -MEDIA_ROOT = os.path.join(BASE_DIR, 'media') - -LOGIN_URL = "/login" -LOGIN_REDIRECT_URL = "/" - -django_heroku.settings(locals()) \ No newline at end of file diff --git a/benchcoachproject/static/apple-launch-1125x2436.png b/benchcoachproject/static/apple-launch-1125x2436.png deleted file mode 100644 index aa69055..0000000 Binary files a/benchcoachproject/static/apple-launch-1125x2436.png and /dev/null differ diff --git a/benchcoachproject/static/apple-launch-1242x2208.png b/benchcoachproject/static/apple-launch-1242x2208.png deleted file mode 100644 index 8f142ec..0000000 Binary files a/benchcoachproject/static/apple-launch-1242x2208.png and /dev/null differ diff --git a/benchcoachproject/static/apple-launch-1536x2048.png b/benchcoachproject/static/apple-launch-1536x2048.png deleted file mode 100644 index 8305cfc..0000000 Binary files a/benchcoachproject/static/apple-launch-1536x2048.png and /dev/null differ diff --git a/benchcoachproject/static/apple-launch-1668x2224.png b/benchcoachproject/static/apple-launch-1668x2224.png deleted file mode 100644 index 41d1f11..0000000 Binary files a/benchcoachproject/static/apple-launch-1668x2224.png and /dev/null differ diff --git a/benchcoachproject/static/apple-launch-2048x2732.png b/benchcoachproject/static/apple-launch-2048x2732.png deleted file mode 100644 index 82cc55b..0000000 Binary files a/benchcoachproject/static/apple-launch-2048x2732.png and /dev/null differ diff --git a/benchcoachproject/static/apple-launch-640x1136.png b/benchcoachproject/static/apple-launch-640x1136.png deleted file mode 100644 index 61ac2fd..0000000 Binary files a/benchcoachproject/static/apple-launch-640x1136.png and /dev/null differ diff --git a/benchcoachproject/static/apple-launch-750x1334.png b/benchcoachproject/static/apple-launch-750x1334.png deleted file mode 100644 index edc4d02..0000000 Binary files a/benchcoachproject/static/apple-launch-750x1334.png and /dev/null differ diff --git a/benchcoachproject/static/apple-touch-icon.png b/benchcoachproject/static/apple-touch-icon.png deleted file mode 100644 index 42664c1..0000000 Binary files a/benchcoachproject/static/apple-touch-icon.png and /dev/null differ diff --git a/benchcoachproject/static/asterisk-arrow-clockwise.svg b/benchcoachproject/static/asterisk-arrow-clockwise.svg deleted file mode 100644 index ca22422..0000000 --- a/benchcoachproject/static/asterisk-arrow-clockwise.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/benchcoachproject/static/css/base.css b/benchcoachproject/static/css/base.css deleted file mode 100644 index 523be88..0000000 --- a/benchcoachproject/static/css/base.css +++ /dev/null @@ -1 +0,0 @@ -@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css"); \ No newline at end of file diff --git a/benchcoachproject/static/css/bootstrap-grid.css.map b/benchcoachproject/static/css/bootstrap-grid.css.map deleted file mode 100644 index 6bcd85c..0000000 --- a/benchcoachproject/static/css/bootstrap-grid.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_root.scss","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;EAAA;ACAA;EAQI,kBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,kBAAA;EAAA,iBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAAA,kBAAA;EAAA,gBAAA;EAAA,kBAAA;EAAA,uBAAA;EAIA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAIA,qBAAA;EAAA,uBAAA;EAAA,qBAAA;EAAA,kBAAA;EAAA,qBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAIA,8BAAA;EAAA,iCAAA;EAAA,6BAAA;EAAA,2BAAA;EAAA,6BAAA;EAAA,4BAAA;EAAA,6BAAA;EAAA,yBAAA;EAGF,6BAAA;EACA,uBAAA;EACA,+BAAA;EACA,+BAAA;EAMA,qNAAA;EACA,yGAAA;EACA,yFAAA;EAQA,gDAAA;EACA,yBAAA;EACA,0BAAA;EACA,0BAAA;EACA,wBAAA;EAIA,kBAAA;ACQF;;ACpDE;;;;;;;ECHA,WAAA;EACA,0CAAA;EACA,yCAAA;EACA,kBAAA;EACA,iBAAA;AFiEF;;AGTI;EF5CE;IACE,gBGide;EJxZrB;AACF;AGfI;EF5CE;IACE,gBGide;EJnZrB;AACF;AGpBI;EF5CE;IACE,gBGide;EJ9YrB;AACF;AGzBI;EF5CE;IACE,iBGide;EJzYrB;AACF;AG9BI;EF5CE;IACE,iBGide;EJpYrB;AACF;AK7FE;ECAA,qBAAA;EACA,gBAAA;EACA,aAAA;EACA,eAAA;EAEA,yCAAA;EACA,6CAAA;EACA,4CAAA;AN+FF;AKnGI;ECSF,sBAAA;EAIA,cAAA;EACA,WAAA;EACA,eAAA;EACA,6CAAA;EACA,4CAAA;EACA,8BAAA;AN0FF;;AM3CM;EACE,YAAA;AN8CR;;AM3CM;EApCJ,cAAA;EACA,WAAA;ANmFF;;AMrEE;EACE,cAAA;EACA,WAAA;ANwEJ;;AM1EE;EACE,cAAA;EACA,UAAA;AN6EJ;;AM/EE;EACE,cAAA;EACA,qBAAA;ANkFJ;;AMpFE;EACE,cAAA;EACA,UAAA;ANuFJ;;AMzFE;EACE,cAAA;EACA,UAAA;AN4FJ;;AM9FE;EACE,cAAA;EACA,qBAAA;ANiGJ;;AMlEM;EAhDJ,cAAA;EACA,WAAA;ANsHF;;AMjEU;EAhEN,cAAA;EACA,kBAAA;ANqIJ;;AMtEU;EAhEN,cAAA;EACA,mBAAA;AN0IJ;;AM3EU;EAhEN,cAAA;EACA,UAAA;AN+IJ;;AMhFU;EAhEN,cAAA;EACA,mBAAA;ANoJJ;;AMrFU;EAhEN,cAAA;EACA,mBAAA;ANyJJ;;AM1FU;EAhEN,cAAA;EACA,UAAA;AN8JJ;;AM/FU;EAhEN,cAAA;EACA,mBAAA;ANmKJ;;AMpGU;EAhEN,cAAA;EACA,mBAAA;ANwKJ;;AMzGU;EAhEN,cAAA;EACA,UAAA;AN6KJ;;AM9GU;EAhEN,cAAA;EACA,mBAAA;ANkLJ;;AMnHU;EAhEN,cAAA;EACA,mBAAA;ANuLJ;;AMxHU;EAhEN,cAAA;EACA,WAAA;AN4LJ;;AMrHY;EAxDV,wBAAA;ANiLF;;AMzHY;EAxDV,yBAAA;ANqLF;;AM7HY;EAxDV,gBAAA;ANyLF;;AMjIY;EAxDV,yBAAA;AN6LF;;AMrIY;EAxDV,yBAAA;ANiMF;;AMzIY;EAxDV,gBAAA;ANqMF;;AM7IY;EAxDV,yBAAA;ANyMF;;AMjJY;EAxDV,yBAAA;AN6MF;;AMrJY;EAxDV,gBAAA;ANiNF;;AMzJY;EAxDV,yBAAA;ANqNF;;AM7JY;EAxDV,yBAAA;ANyNF;;AMtJQ;;EAEE,gBAAA;ANyJV;;AMtJQ;;EAEE,gBAAA;ANyJV;;AMhKQ;;EAEE,sBAAA;ANmKV;;AMhKQ;;EAEE,sBAAA;ANmKV;;AM1KQ;;EAEE,qBAAA;AN6KV;;AM1KQ;;EAEE,qBAAA;AN6KV;;AMpLQ;;EAEE,mBAAA;ANuLV;;AMpLQ;;EAEE,mBAAA;ANuLV;;AM9LQ;;EAEE,qBAAA;ANiMV;;AM9LQ;;EAEE,qBAAA;ANiMV;;AMxMQ;;EAEE,mBAAA;AN2MV;;AMxMQ;;EAEE,mBAAA;AN2MV;;AGrQI;EGUE;IACE,YAAA;EN+PN;;EM5PI;IApCJ,cAAA;IACA,WAAA;ENoSA;;EMtRA;IACE,cAAA;IACA,WAAA;ENyRF;;EM3RA;IACE,cAAA;IACA,UAAA;EN8RF;;EMhSA;IACE,cAAA;IACA,qBAAA;ENmSF;;EMrSA;IACE,cAAA;IACA,UAAA;ENwSF;;EM1SA;IACE,cAAA;IACA,UAAA;EN6SF;;EM/SA;IACE,cAAA;IACA,qBAAA;ENkTF;;EMnRI;IAhDJ,cAAA;IACA,WAAA;ENuUA;;EMlRQ;IAhEN,cAAA;IACA,kBAAA;ENsVF;;EMvRQ;IAhEN,cAAA;IACA,mBAAA;EN2VF;;EM5RQ;IAhEN,cAAA;IACA,UAAA;ENgWF;;EMjSQ;IAhEN,cAAA;IACA,mBAAA;ENqWF;;EMtSQ;IAhEN,cAAA;IACA,mBAAA;EN0WF;;EM3SQ;IAhEN,cAAA;IACA,UAAA;EN+WF;;EMhTQ;IAhEN,cAAA;IACA,mBAAA;ENoXF;;EMrTQ;IAhEN,cAAA;IACA,mBAAA;ENyXF;;EM1TQ;IAhEN,cAAA;IACA,UAAA;EN8XF;;EM/TQ;IAhEN,cAAA;IACA,mBAAA;ENmYF;;EMpUQ;IAhEN,cAAA;IACA,mBAAA;ENwYF;;EMzUQ;IAhEN,cAAA;IACA,WAAA;EN6YF;;EMtUU;IAxDV,cAAA;ENkYA;;EM1UU;IAxDV,wBAAA;ENsYA;;EM9UU;IAxDV,yBAAA;EN0YA;;EMlVU;IAxDV,gBAAA;EN8YA;;EMtVU;IAxDV,yBAAA;ENkZA;;EM1VU;IAxDV,yBAAA;ENsZA;;EM9VU;IAxDV,gBAAA;EN0ZA;;EMlWU;IAxDV,yBAAA;EN8ZA;;EMtWU;IAxDV,yBAAA;ENkaA;;EM1WU;IAxDV,gBAAA;ENsaA;;EM9WU;IAxDV,yBAAA;EN0aA;;EMlXU;IAxDV,yBAAA;EN8aA;;EM3WM;;IAEE,gBAAA;EN8WR;;EM3WM;;IAEE,gBAAA;EN8WR;;EMrXM;;IAEE,sBAAA;ENwXR;;EMrXM;;IAEE,sBAAA;ENwXR;;EM/XM;;IAEE,qBAAA;ENkYR;;EM/XM;;IAEE,qBAAA;ENkYR;;EMzYM;;IAEE,mBAAA;EN4YR;;EMzYM;;IAEE,mBAAA;EN4YR;;EMnZM;;IAEE,qBAAA;ENsZR;;EMnZM;;IAEE,qBAAA;ENsZR;;EM7ZM;;IAEE,mBAAA;ENgaR;;EM7ZM;;IAEE,mBAAA;ENgaR;AACF;AG3dI;EGUE;IACE,YAAA;ENodN;;EMjdI;IApCJ,cAAA;IACA,WAAA;ENyfA;;EM3eA;IACE,cAAA;IACA,WAAA;EN8eF;;EMhfA;IACE,cAAA;IACA,UAAA;ENmfF;;EMrfA;IACE,cAAA;IACA,qBAAA;ENwfF;;EM1fA;IACE,cAAA;IACA,UAAA;EN6fF;;EM/fA;IACE,cAAA;IACA,UAAA;ENkgBF;;EMpgBA;IACE,cAAA;IACA,qBAAA;ENugBF;;EMxeI;IAhDJ,cAAA;IACA,WAAA;EN4hBA;;EMveQ;IAhEN,cAAA;IACA,kBAAA;EN2iBF;;EM5eQ;IAhEN,cAAA;IACA,mBAAA;ENgjBF;;EMjfQ;IAhEN,cAAA;IACA,UAAA;ENqjBF;;EMtfQ;IAhEN,cAAA;IACA,mBAAA;EN0jBF;;EM3fQ;IAhEN,cAAA;IACA,mBAAA;EN+jBF;;EMhgBQ;IAhEN,cAAA;IACA,UAAA;ENokBF;;EMrgBQ;IAhEN,cAAA;IACA,mBAAA;ENykBF;;EM1gBQ;IAhEN,cAAA;IACA,mBAAA;EN8kBF;;EM/gBQ;IAhEN,cAAA;IACA,UAAA;ENmlBF;;EMphBQ;IAhEN,cAAA;IACA,mBAAA;ENwlBF;;EMzhBQ;IAhEN,cAAA;IACA,mBAAA;EN6lBF;;EM9hBQ;IAhEN,cAAA;IACA,WAAA;ENkmBF;;EM3hBU;IAxDV,cAAA;ENulBA;;EM/hBU;IAxDV,wBAAA;EN2lBA;;EMniBU;IAxDV,yBAAA;EN+lBA;;EMviBU;IAxDV,gBAAA;ENmmBA;;EM3iBU;IAxDV,yBAAA;ENumBA;;EM/iBU;IAxDV,yBAAA;EN2mBA;;EMnjBU;IAxDV,gBAAA;EN+mBA;;EMvjBU;IAxDV,yBAAA;ENmnBA;;EM3jBU;IAxDV,yBAAA;ENunBA;;EM/jBU;IAxDV,gBAAA;EN2nBA;;EMnkBU;IAxDV,yBAAA;EN+nBA;;EMvkBU;IAxDV,yBAAA;ENmoBA;;EMhkBM;;IAEE,gBAAA;ENmkBR;;EMhkBM;;IAEE,gBAAA;ENmkBR;;EM1kBM;;IAEE,sBAAA;EN6kBR;;EM1kBM;;IAEE,sBAAA;EN6kBR;;EMplBM;;IAEE,qBAAA;ENulBR;;EMplBM;;IAEE,qBAAA;ENulBR;;EM9lBM;;IAEE,mBAAA;ENimBR;;EM9lBM;;IAEE,mBAAA;ENimBR;;EMxmBM;;IAEE,qBAAA;EN2mBR;;EMxmBM;;IAEE,qBAAA;EN2mBR;;EMlnBM;;IAEE,mBAAA;ENqnBR;;EMlnBM;;IAEE,mBAAA;ENqnBR;AACF;AGhrBI;EGUE;IACE,YAAA;ENyqBN;;EMtqBI;IApCJ,cAAA;IACA,WAAA;EN8sBA;;EMhsBA;IACE,cAAA;IACA,WAAA;ENmsBF;;EMrsBA;IACE,cAAA;IACA,UAAA;ENwsBF;;EM1sBA;IACE,cAAA;IACA,qBAAA;EN6sBF;;EM/sBA;IACE,cAAA;IACA,UAAA;ENktBF;;EMptBA;IACE,cAAA;IACA,UAAA;ENutBF;;EMztBA;IACE,cAAA;IACA,qBAAA;EN4tBF;;EM7rBI;IAhDJ,cAAA;IACA,WAAA;ENivBA;;EM5rBQ;IAhEN,cAAA;IACA,kBAAA;ENgwBF;;EMjsBQ;IAhEN,cAAA;IACA,mBAAA;ENqwBF;;EMtsBQ;IAhEN,cAAA;IACA,UAAA;EN0wBF;;EM3sBQ;IAhEN,cAAA;IACA,mBAAA;EN+wBF;;EMhtBQ;IAhEN,cAAA;IACA,mBAAA;ENoxBF;;EMrtBQ;IAhEN,cAAA;IACA,UAAA;ENyxBF;;EM1tBQ;IAhEN,cAAA;IACA,mBAAA;EN8xBF;;EM/tBQ;IAhEN,cAAA;IACA,mBAAA;ENmyBF;;EMpuBQ;IAhEN,cAAA;IACA,UAAA;ENwyBF;;EMzuBQ;IAhEN,cAAA;IACA,mBAAA;EN6yBF;;EM9uBQ;IAhEN,cAAA;IACA,mBAAA;ENkzBF;;EMnvBQ;IAhEN,cAAA;IACA,WAAA;ENuzBF;;EMhvBU;IAxDV,cAAA;EN4yBA;;EMpvBU;IAxDV,wBAAA;ENgzBA;;EMxvBU;IAxDV,yBAAA;ENozBA;;EM5vBU;IAxDV,gBAAA;ENwzBA;;EMhwBU;IAxDV,yBAAA;EN4zBA;;EMpwBU;IAxDV,yBAAA;ENg0BA;;EMxwBU;IAxDV,gBAAA;ENo0BA;;EM5wBU;IAxDV,yBAAA;ENw0BA;;EMhxBU;IAxDV,yBAAA;EN40BA;;EMpxBU;IAxDV,gBAAA;ENg1BA;;EMxxBU;IAxDV,yBAAA;ENo1BA;;EM5xBU;IAxDV,yBAAA;ENw1BA;;EMrxBM;;IAEE,gBAAA;ENwxBR;;EMrxBM;;IAEE,gBAAA;ENwxBR;;EM/xBM;;IAEE,sBAAA;ENkyBR;;EM/xBM;;IAEE,sBAAA;ENkyBR;;EMzyBM;;IAEE,qBAAA;EN4yBR;;EMzyBM;;IAEE,qBAAA;EN4yBR;;EMnzBM;;IAEE,mBAAA;ENszBR;;EMnzBM;;IAEE,mBAAA;ENszBR;;EM7zBM;;IAEE,qBAAA;ENg0BR;;EM7zBM;;IAEE,qBAAA;ENg0BR;;EMv0BM;;IAEE,mBAAA;EN00BR;;EMv0BM;;IAEE,mBAAA;EN00BR;AACF;AGr4BI;EGUE;IACE,YAAA;EN83BN;;EM33BI;IApCJ,cAAA;IACA,WAAA;ENm6BA;;EMr5BA;IACE,cAAA;IACA,WAAA;ENw5BF;;EM15BA;IACE,cAAA;IACA,UAAA;EN65BF;;EM/5BA;IACE,cAAA;IACA,qBAAA;ENk6BF;;EMp6BA;IACE,cAAA;IACA,UAAA;ENu6BF;;EMz6BA;IACE,cAAA;IACA,UAAA;EN46BF;;EM96BA;IACE,cAAA;IACA,qBAAA;ENi7BF;;EMl5BI;IAhDJ,cAAA;IACA,WAAA;ENs8BA;;EMj5BQ;IAhEN,cAAA;IACA,kBAAA;ENq9BF;;EMt5BQ;IAhEN,cAAA;IACA,mBAAA;EN09BF;;EM35BQ;IAhEN,cAAA;IACA,UAAA;EN+9BF;;EMh6BQ;IAhEN,cAAA;IACA,mBAAA;ENo+BF;;EMr6BQ;IAhEN,cAAA;IACA,mBAAA;ENy+BF;;EM16BQ;IAhEN,cAAA;IACA,UAAA;EN8+BF;;EM/6BQ;IAhEN,cAAA;IACA,mBAAA;ENm/BF;;EMp7BQ;IAhEN,cAAA;IACA,mBAAA;ENw/BF;;EMz7BQ;IAhEN,cAAA;IACA,UAAA;EN6/BF;;EM97BQ;IAhEN,cAAA;IACA,mBAAA;ENkgCF;;EMn8BQ;IAhEN,cAAA;IACA,mBAAA;ENugCF;;EMx8BQ;IAhEN,cAAA;IACA,WAAA;EN4gCF;;EMr8BU;IAxDV,cAAA;ENigCA;;EMz8BU;IAxDV,wBAAA;ENqgCA;;EM78BU;IAxDV,yBAAA;ENygCA;;EMj9BU;IAxDV,gBAAA;EN6gCA;;EMr9BU;IAxDV,yBAAA;ENihCA;;EMz9BU;IAxDV,yBAAA;ENqhCA;;EM79BU;IAxDV,gBAAA;ENyhCA;;EMj+BU;IAxDV,yBAAA;EN6hCA;;EMr+BU;IAxDV,yBAAA;ENiiCA;;EMz+BU;IAxDV,gBAAA;ENqiCA;;EM7+BU;IAxDV,yBAAA;ENyiCA;;EMj/BU;IAxDV,yBAAA;EN6iCA;;EM1+BM;;IAEE,gBAAA;EN6+BR;;EM1+BM;;IAEE,gBAAA;EN6+BR;;EMp/BM;;IAEE,sBAAA;ENu/BR;;EMp/BM;;IAEE,sBAAA;ENu/BR;;EM9/BM;;IAEE,qBAAA;ENigCR;;EM9/BM;;IAEE,qBAAA;ENigCR;;EMxgCM;;IAEE,mBAAA;EN2gCR;;EMxgCM;;IAEE,mBAAA;EN2gCR;;EMlhCM;;IAEE,qBAAA;ENqhCR;;EMlhCM;;IAEE,qBAAA;ENqhCR;;EM5hCM;;IAEE,mBAAA;EN+hCR;;EM5hCM;;IAEE,mBAAA;EN+hCR;AACF;AG1lCI;EGUE;IACE,YAAA;ENmlCN;;EMhlCI;IApCJ,cAAA;IACA,WAAA;ENwnCA;;EM1mCA;IACE,cAAA;IACA,WAAA;EN6mCF;;EM/mCA;IACE,cAAA;IACA,UAAA;ENknCF;;EMpnCA;IACE,cAAA;IACA,qBAAA;ENunCF;;EMznCA;IACE,cAAA;IACA,UAAA;EN4nCF;;EM9nCA;IACE,cAAA;IACA,UAAA;ENioCF;;EMnoCA;IACE,cAAA;IACA,qBAAA;ENsoCF;;EMvmCI;IAhDJ,cAAA;IACA,WAAA;EN2pCA;;EMtmCQ;IAhEN,cAAA;IACA,kBAAA;EN0qCF;;EM3mCQ;IAhEN,cAAA;IACA,mBAAA;EN+qCF;;EMhnCQ;IAhEN,cAAA;IACA,UAAA;ENorCF;;EMrnCQ;IAhEN,cAAA;IACA,mBAAA;ENyrCF;;EM1nCQ;IAhEN,cAAA;IACA,mBAAA;EN8rCF;;EM/nCQ;IAhEN,cAAA;IACA,UAAA;ENmsCF;;EMpoCQ;IAhEN,cAAA;IACA,mBAAA;ENwsCF;;EMzoCQ;IAhEN,cAAA;IACA,mBAAA;EN6sCF;;EM9oCQ;IAhEN,cAAA;IACA,UAAA;ENktCF;;EMnpCQ;IAhEN,cAAA;IACA,mBAAA;ENutCF;;EMxpCQ;IAhEN,cAAA;IACA,mBAAA;EN4tCF;;EM7pCQ;IAhEN,cAAA;IACA,WAAA;ENiuCF;;EM1pCU;IAxDV,cAAA;ENstCA;;EM9pCU;IAxDV,wBAAA;EN0tCA;;EMlqCU;IAxDV,yBAAA;EN8tCA;;EMtqCU;IAxDV,gBAAA;ENkuCA;;EM1qCU;IAxDV,yBAAA;ENsuCA;;EM9qCU;IAxDV,yBAAA;EN0uCA;;EMlrCU;IAxDV,gBAAA;EN8uCA;;EMtrCU;IAxDV,yBAAA;ENkvCA;;EM1rCU;IAxDV,yBAAA;ENsvCA;;EM9rCU;IAxDV,gBAAA;EN0vCA;;EMlsCU;IAxDV,yBAAA;EN8vCA;;EMtsCU;IAxDV,yBAAA;ENkwCA;;EM/rCM;;IAEE,gBAAA;ENksCR;;EM/rCM;;IAEE,gBAAA;ENksCR;;EMzsCM;;IAEE,sBAAA;EN4sCR;;EMzsCM;;IAEE,sBAAA;EN4sCR;;EMntCM;;IAEE,qBAAA;ENstCR;;EMntCM;;IAEE,qBAAA;ENstCR;;EM7tCM;;IAEE,mBAAA;ENguCR;;EM7tCM;;IAEE,mBAAA;ENguCR;;EMvuCM;;IAEE,qBAAA;EN0uCR;;EMvuCM;;IAEE,qBAAA;EN0uCR;;EMjvCM;;IAEE,mBAAA;ENovCR;;EMjvCM;;IAEE,mBAAA;ENovCR;AACF;AO/yCQ;EAOI,0BAAA;AP2yCZ;;AOlzCQ;EAOI,gCAAA;AP+yCZ;;AOtzCQ;EAOI,yBAAA;APmzCZ;;AO1zCQ;EAOI,wBAAA;APuzCZ;;AO9zCQ;EAOI,yBAAA;AP2zCZ;;AOl0CQ;EAOI,6BAAA;AP+zCZ;;AOt0CQ;EAOI,8BAAA;APm0CZ;;AO10CQ;EAOI,wBAAA;APu0CZ;;AO90CQ;EAOI,+BAAA;AP20CZ;;AOl1CQ;EAOI,wBAAA;AP+0CZ;;AOt1CQ;EAOI,yBAAA;APm1CZ;;AO11CQ;EAOI,8BAAA;APu1CZ;;AO91CQ;EAOI,iCAAA;AP21CZ;;AOl2CQ;EAOI,sCAAA;AP+1CZ;;AOt2CQ;EAOI,yCAAA;APm2CZ;;AO12CQ;EAOI,uBAAA;APu2CZ;;AO92CQ;EAOI,uBAAA;AP22CZ;;AOl3CQ;EAOI,yBAAA;AP+2CZ;;AOt3CQ;EAOI,yBAAA;APm3CZ;;AO13CQ;EAOI,0BAAA;APu3CZ;;AO93CQ;EAOI,4BAAA;AP23CZ;;AOl4CQ;EAOI,kCAAA;AP+3CZ;;AOt4CQ;EAOI,sCAAA;APm4CZ;;AO14CQ;EAOI,oCAAA;APu4CZ;;AO94CQ;EAOI,kCAAA;AP24CZ;;AOl5CQ;EAOI,yCAAA;AP+4CZ;;AOt5CQ;EAOI,wCAAA;APm5CZ;;AO15CQ;EAOI,wCAAA;APu5CZ;;AO95CQ;EAOI,kCAAA;AP25CZ;;AOl6CQ;EAOI,gCAAA;AP+5CZ;;AOt6CQ;EAOI,8BAAA;APm6CZ;;AO16CQ;EAOI,gCAAA;APu6CZ;;AO96CQ;EAOI,+BAAA;AP26CZ;;AOl7CQ;EAOI,oCAAA;AP+6CZ;;AOt7CQ;EAOI,kCAAA;APm7CZ;;AO17CQ;EAOI,gCAAA;APu7CZ;;AO97CQ;EAOI,uCAAA;AP27CZ;;AOl8CQ;EAOI,sCAAA;AP+7CZ;;AOt8CQ;EAOI,iCAAA;APm8CZ;;AO18CQ;EAOI,2BAAA;APu8CZ;;AO98CQ;EAOI,iCAAA;AP28CZ;;AOl9CQ;EAOI,+BAAA;AP+8CZ;;AOt9CQ;EAOI,6BAAA;APm9CZ;;AO19CQ;EAOI,+BAAA;APu9CZ;;AO99CQ;EAOI,8BAAA;AP29CZ;;AOl+CQ;EAOI,oBAAA;AP+9CZ;;AOt+CQ;EAOI,mBAAA;APm+CZ;;AO1+CQ;EAOI,mBAAA;APu+CZ;;AO9+CQ;EAOI,mBAAA;AP2+CZ;;AOl/CQ;EAOI,mBAAA;AP++CZ;;AOt/CQ;EAOI,mBAAA;APm/CZ;;AO1/CQ;EAOI,mBAAA;APu/CZ;;AO9/CQ;EAOI,mBAAA;AP2/CZ;;AOlgDQ;EAOI,oBAAA;AP+/CZ;;AOtgDQ;EAOI,0BAAA;APmgDZ;;AO1gDQ;EAOI,yBAAA;APugDZ;;AO9gDQ;EAOI,uBAAA;AP2gDZ;;AOlhDQ;EAOI,yBAAA;AP+gDZ;;AOthDQ;EAOI,uBAAA;APmhDZ;;AO1hDQ;EAOI,uBAAA;APuhDZ;;AO9hDQ;EAOI,0BAAA;EAAA,yBAAA;AP4hDZ;;AOniDQ;EAOI,gCAAA;EAAA,+BAAA;APiiDZ;;AOxiDQ;EAOI,+BAAA;EAAA,8BAAA;APsiDZ;;AO7iDQ;EAOI,6BAAA;EAAA,4BAAA;AP2iDZ;;AOljDQ;EAOI,+BAAA;EAAA,8BAAA;APgjDZ;;AOvjDQ;EAOI,6BAAA;EAAA,4BAAA;APqjDZ;;AO5jDQ;EAOI,6BAAA;EAAA,4BAAA;AP0jDZ;;AOjkDQ;EAOI,wBAAA;EAAA,2BAAA;AP+jDZ;;AOtkDQ;EAOI,8BAAA;EAAA,iCAAA;APokDZ;;AO3kDQ;EAOI,6BAAA;EAAA,gCAAA;APykDZ;;AOhlDQ;EAOI,2BAAA;EAAA,8BAAA;AP8kDZ;;AOrlDQ;EAOI,6BAAA;EAAA,gCAAA;APmlDZ;;AO1lDQ;EAOI,2BAAA;EAAA,8BAAA;APwlDZ;;AO/lDQ;EAOI,2BAAA;EAAA,8BAAA;AP6lDZ;;AOpmDQ;EAOI,wBAAA;APimDZ;;AOxmDQ;EAOI,8BAAA;APqmDZ;;AO5mDQ;EAOI,6BAAA;APymDZ;;AOhnDQ;EAOI,2BAAA;AP6mDZ;;AOpnDQ;EAOI,6BAAA;APinDZ;;AOxnDQ;EAOI,2BAAA;APqnDZ;;AO5nDQ;EAOI,2BAAA;APynDZ;;AOhoDQ;EAOI,0BAAA;AP6nDZ;;AOpoDQ;EAOI,gCAAA;APioDZ;;AOxoDQ;EAOI,+BAAA;APqoDZ;;AO5oDQ;EAOI,6BAAA;APyoDZ;;AOhpDQ;EAOI,+BAAA;AP6oDZ;;AOppDQ;EAOI,6BAAA;APipDZ;;AOxpDQ;EAOI,6BAAA;APqpDZ;;AO5pDQ;EAOI,2BAAA;APypDZ;;AOhqDQ;EAOI,iCAAA;AP6pDZ;;AOpqDQ;EAOI,gCAAA;APiqDZ;;AOxqDQ;EAOI,8BAAA;APqqDZ;;AO5qDQ;EAOI,gCAAA;APyqDZ;;AOhrDQ;EAOI,8BAAA;AP6qDZ;;AOprDQ;EAOI,8BAAA;APirDZ;;AOxrDQ;EAOI,yBAAA;APqrDZ;;AO5rDQ;EAOI,+BAAA;APyrDZ;;AOhsDQ;EAOI,8BAAA;AP6rDZ;;AOpsDQ;EAOI,4BAAA;APisDZ;;AOxsDQ;EAOI,8BAAA;APqsDZ;;AO5sDQ;EAOI,4BAAA;APysDZ;;AOhtDQ;EAOI,4BAAA;AP6sDZ;;AOptDQ;EAOI,qBAAA;APitDZ;;AOxtDQ;EAOI,2BAAA;APqtDZ;;AO5tDQ;EAOI,0BAAA;APytDZ;;AOhuDQ;EAOI,wBAAA;AP6tDZ;;AOpuDQ;EAOI,0BAAA;APiuDZ;;AOxuDQ;EAOI,wBAAA;APquDZ;;AO5uDQ;EAOI,2BAAA;EAAA,0BAAA;AP0uDZ;;AOjvDQ;EAOI,iCAAA;EAAA,gCAAA;AP+uDZ;;AOtvDQ;EAOI,gCAAA;EAAA,+BAAA;APovDZ;;AO3vDQ;EAOI,8BAAA;EAAA,6BAAA;APyvDZ;;AOhwDQ;EAOI,gCAAA;EAAA,+BAAA;AP8vDZ;;AOrwDQ;EAOI,8BAAA;EAAA,6BAAA;APmwDZ;;AO1wDQ;EAOI,yBAAA;EAAA,4BAAA;APwwDZ;;AO/wDQ;EAOI,+BAAA;EAAA,kCAAA;AP6wDZ;;AOpxDQ;EAOI,8BAAA;EAAA,iCAAA;APkxDZ;;AOzxDQ;EAOI,4BAAA;EAAA,+BAAA;APuxDZ;;AO9xDQ;EAOI,8BAAA;EAAA,iCAAA;AP4xDZ;;AOnyDQ;EAOI,4BAAA;EAAA,+BAAA;APiyDZ;;AOxyDQ;EAOI,yBAAA;APqyDZ;;AO5yDQ;EAOI,+BAAA;APyyDZ;;AOhzDQ;EAOI,8BAAA;AP6yDZ;;AOpzDQ;EAOI,4BAAA;APizDZ;;AOxzDQ;EAOI,8BAAA;APqzDZ;;AO5zDQ;EAOI,4BAAA;APyzDZ;;AOh0DQ;EAOI,2BAAA;AP6zDZ;;AOp0DQ;EAOI,iCAAA;APi0DZ;;AOx0DQ;EAOI,gCAAA;APq0DZ;;AO50DQ;EAOI,8BAAA;APy0DZ;;AOh1DQ;EAOI,gCAAA;AP60DZ;;AOp1DQ;EAOI,8BAAA;APi1DZ;;AOx1DQ;EAOI,4BAAA;APq1DZ;;AO51DQ;EAOI,kCAAA;APy1DZ;;AOh2DQ;EAOI,iCAAA;AP61DZ;;AOp2DQ;EAOI,+BAAA;APi2DZ;;AOx2DQ;EAOI,iCAAA;APq2DZ;;AO52DQ;EAOI,+BAAA;APy2DZ;;AOh3DQ;EAOI,0BAAA;AP62DZ;;AOp3DQ;EAOI,gCAAA;APi3DZ;;AOx3DQ;EAOI,+BAAA;APq3DZ;;AO53DQ;EAOI,6BAAA;APy3DZ;;AOh4DQ;EAOI,+BAAA;AP63DZ;;AOp4DQ;EAOI,6BAAA;APi4DZ;;AGx4DI;EIAI;IAOI,0BAAA;EPs4DV;;EO74DM;IAOI,gCAAA;EP04DV;;EOj5DM;IAOI,yBAAA;EP84DV;;EOr5DM;IAOI,wBAAA;EPk5DV;;EOz5DM;IAOI,yBAAA;EPs5DV;;EO75DM;IAOI,6BAAA;EP05DV;;EOj6DM;IAOI,8BAAA;EP85DV;;EOr6DM;IAOI,wBAAA;EPk6DV;;EOz6DM;IAOI,+BAAA;EPs6DV;;EO76DM;IAOI,wBAAA;EP06DV;;EOj7DM;IAOI,yBAAA;EP86DV;;EOr7DM;IAOI,8BAAA;EPk7DV;;EOz7DM;IAOI,iCAAA;EPs7DV;;EO77DM;IAOI,sCAAA;EP07DV;;EOj8DM;IAOI,yCAAA;EP87DV;;EOr8DM;IAOI,uBAAA;EPk8DV;;EOz8DM;IAOI,uBAAA;EPs8DV;;EO78DM;IAOI,yBAAA;EP08DV;;EOj9DM;IAOI,yBAAA;EP88DV;;EOr9DM;IAOI,0BAAA;EPk9DV;;EOz9DM;IAOI,4BAAA;EPs9DV;;EO79DM;IAOI,kCAAA;EP09DV;;EOj+DM;IAOI,sCAAA;EP89DV;;EOr+DM;IAOI,oCAAA;EPk+DV;;EOz+DM;IAOI,kCAAA;EPs+DV;;EO7+DM;IAOI,yCAAA;EP0+DV;;EOj/DM;IAOI,wCAAA;EP8+DV;;EOr/DM;IAOI,wCAAA;EPk/DV;;EOz/DM;IAOI,kCAAA;EPs/DV;;EO7/DM;IAOI,gCAAA;EP0/DV;;EOjgEM;IAOI,8BAAA;EP8/DV;;EOrgEM;IAOI,gCAAA;EPkgEV;;EOzgEM;IAOI,+BAAA;EPsgEV;;EO7gEM;IAOI,oCAAA;EP0gEV;;EOjhEM;IAOI,kCAAA;EP8gEV;;EOrhEM;IAOI,gCAAA;EPkhEV;;EOzhEM;IAOI,uCAAA;EPshEV;;EO7hEM;IAOI,sCAAA;EP0hEV;;EOjiEM;IAOI,iCAAA;EP8hEV;;EOriEM;IAOI,2BAAA;EPkiEV;;EOziEM;IAOI,iCAAA;EPsiEV;;EO7iEM;IAOI,+BAAA;EP0iEV;;EOjjEM;IAOI,6BAAA;EP8iEV;;EOrjEM;IAOI,+BAAA;EPkjEV;;EOzjEM;IAOI,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o5EV;;EO35EM;IAOI,2BAAA;EPw5EV;;EO/5EM;IAOI,iCAAA;EP45EV;;EOn6EM;IAOI,gCAAA;EPg6EV;;EOv6EM;IAOI,8BAAA;EPo6EV;;EO36EM;IAOI,gCAAA;EPw6EV;;EO/6EM;IAOI,8BAAA;EP46EV;;EOn7EM;IAOI,4BAAA;EPg7EV;;EOv7EM;IAOI,kCAAA;EPo7EV;;EO37EM;IAOI,iCAAA;EPw7EV;;EO/7EM;IAOI,+BAAA;EP47EV;;EOn8EM;IAOI,iCAAA;EPg8EV;;EOv8EM;IAOI,+BAAA;EPo8EV;;EO38EM;IAOI,0BAAA;EPw8EV;;EO/8EM;IAOI,gCAAA;EP48EV;;EOn9EM;IAOI,+BAAA;EPg9EV;;EOv9EM;IAOI,6BAAA;EPo9EV;;EO39EM;IAOI,+BAAA;EPw9EV;;EO/9EM;IAOI,6BAAA;EP49EV;AACF;AGp+EI;EIAI;IAOI,0BAAA;EPi+EV;;EOx+EM;IAOI,gCAAA;EPq+EV;;EO5+EM;IAOI,yBAAA;EPy+EV;;EOh/EM;IAOI,wBAAA;EP6+EV;;EOp/EM;IAOI,yBAAA;EPi/EV;;EOx/EM;IAOI,6BAAA;EPq/EV;;EO5/EM;IAOI,8BAAA;EPy/EV;;EOhgFM;IAOI,wBAAA;EP6/EV;;EOpgFM;IAOI,+BAAA;EPigFV;;EOxgFM;IAOI,wBAAA;EPqgFV;;EO5gFM;IAOI,yBAAA;EPygFV;;EOhhFM;IAOI,8BAAA;EP6gFV;;EOphFM;IAOI,iCAAA;EPihFV;;EOxhFM;IAOI,sCAAA;EPqhFV;;EO5hFM;IAOI,yCAAA;EPyhFV;;EOhiFM;IAOI,uBAAA;EP6hFV;;EOpiFM;IAOI,uBAAA;EPiiFV;;EOxiFM;IAOI,yBAAA;EPqiFV;;EO5iFM;IAOI,yBAAA;EPyiFV;;EOhjFM;IAOI,0BAAA;EP6iFV;;EOpjFM;IAOI,4BAAA;EPijFV;;EOxjFM;IAOI,kCAAA;EPqjFV;;EO5jFM;IAOI,sCAAA;EPyjFV;;EOhkFM;IAOI,oCAAA;EP6jFV;;EOpkFM;IAOI,kCAAA;EPikFV;;EOxkFM;IAOI,yCAAA;EPqkFV;;EO5kFM;IAOI,wCAAA;EPykFV;;EOhlFM;IAOI,wCA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EPomGV;;EO3mGM;IAOI,8BAAA;EPwmGV;;EO/mGM;IAOI,iCAAA;EP4mGV;;EOnnGM;IAOI,sCAAA;EPgnGV;;EOvnGM;IAOI,yCAAA;EPonGV;;EO3nGM;IAOI,uBAAA;EPwnGV;;EO/nGM;IAOI,uBAAA;EP4nGV;;EOnoGM;IAOI,yBAAA;EPgoGV;;EOvoGM;IAOI,yBAAA;EPooGV;;EO3oGM;IAOI,0BAAA;EPwoGV;;EO/oGM;IAOI,4BAAA;EP4oGV;;EOnpGM;IAOI,kCAAA;EPgpGV;;EOvpGM;IAOI,sCAAA;EPopGV;;EO3pGM;IAOI,oCAAA;EPwpGV;;EO/pGM;IAOI,kCAAA;EP4pGV;;EOnqGM;IAOI,yCAAA;EPgqGV;;EOvqGM;IAOI,wCAAA;EPoqGV;;EO3qGM;IAOI,wCAAA;EPwqGV;;EO/qGM;IAOI,kCAAA;EP4qGV;;EOnrGM;IAOI,gCAAA;EPgrGV;;EOvrGM;IAOI,8BAAA;EPorGV;;EO3rGM;IAOI,gCAAA;EPwrGV;;EO/rGM;IAOI,+BAAA;EP4rGV;;EOnsGM;IAOI,oCAAA;EPgsGV;;EOvsGM;IAOI,kCAAA;EPosGV;;EO3sGM;IAOI,gCAAA;EPwsGV;;EO/sGM;IAOI,uCAAA;EP4sGV;;EOntGM;IAOI,sCAAA;EPgtGV;;EOvtGM;IAOI,iCAAA;EPotGV;;EO3tGM;IAOI,2BAAA;EPwtGV;;EO/tGM;IAOI,iCAAA;EP4tGV;;EOnuGM;IAOI,+BAAA;EPguGV;;EOvuGM;IAOI,6BAAA;EPouGV;;EO3uGM;IAOI,+BAAA;EPwuGV;;EO/uGM;IAOI,8BAAA;EP4uGV;;EOnvGM;IAOI,oBAAA;EPgvGV;;EOvvGM;IAOI,mBAAA;EPovGV;;EO3vGM;IAOI,mBAAA;EPwvGV;;EO/vGM;IAOI,mBAAA;EP4vGV;;EOnwGM;IAOI,mBAAA;EPgwGV;;EOvwGM;IAOI,mBAAA;EPowGV;;EO3wGM;IAOI,mBAAA;EPwwGV;;EO/wGM;IAOI,mBAAA;EP4wGV;;EOnxGM;IAOI,oBAAA;EPgxGV;;EOvxGM;IAOI,0BAAA;EPoxGV;;EO3xGM;IAOI,yBAAA;EPwxGV;;EO/xGM;IAOI,uBAAA;EP4x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HM;IAOI,0BAAA;EP8nHV;;EOroHM;IAOI,gCAAA;EPkoHV;;EOzoHM;IAOI,+BAAA;EPsoHV;;EO7oHM;IAOI,6BAAA;EP0oHV;;EOjpHM;IAOI,+BAAA;EP8oHV;;EOrpHM;IAOI,6BAAA;EPkpHV;AACF;AG1pHI;EIAI;IAOI,0BAAA;EPupHV;;EO9pHM;IAOI,gCAAA;EP2pHV;;EOlqHM;IAOI,yBAAA;EP+pHV;;EOtqHM;IAOI,wBAAA;EPmqHV;;EO1qHM;IAOI,yBAAA;EPuqHV;;EO9qHM;IAOI,6BAAA;EP2qHV;;EOlrHM;IAOI,8BAAA;EP+qHV;;EOtrHM;IAOI,wBAAA;EPmrHV;;EO1rHM;IAOI,+BAAA;EPurHV;;EO9rHM;IAOI,wBAAA;EP2rHV;;EOlsHM;IAOI,yBAAA;EP+rHV;;EOtsHM;IAOI,8BAAA;EPmsHV;;EO1sHM;IAOI,iCAAA;EPusHV;;EO9sHM;IAOI,sCAAA;EP2sHV;;EOltHM;IAOI,yCAAA;EP+sHV;;EOttHM;IAOI,uBAAA;EPmtHV;;EO1tHM;IAOI,uBAAA;EPutHV;;EO9tHM;IAOI,yBAAA;EP2tHV;;EOluHM;IAOI,yBAAA;EP+tHV;;EOtuHM;IAOI,0BAAA;EPmuHV;;EO1uHM;IAOI,4BAAA;EPuuHV;;EO9uHM;IAOI,kCAAA;EP2uHV;;EOlvHM;IAOI,sCAAA;EP+uHV;;EOtvHM;IAOI,oCAAA;EPmvHV;;EO1vHM;IAOI,kCAAA;EPuvHV;;EO9vHM;IAOI,yCAAA;EP2vHV;;EOlwHM;IAOI,wCAAA;EP+vHV;;EOtwHM;IAOI,wCAAA;EPmwHV;;EO1wHM;IAOI,kCAAA;EPuwHV;;EO9wHM;IAOI,gCAAA;EP2wHV;;EOlxHM;IAOI,8BAAA;EP+wHV;;EOtxHM;IAOI,gCAAA;EPmxHV;;EO1xHM;IAOI,+BAAA;EPuxHV;;EO9xHM;IAOI,oCAAA;EP2xHV;;EOlyHM;IAOI,kCAAA;EP+xHV;;EOtyHM;IAOI,gCAAA;EPmyHV;;EO1yHM;IAOI,uCAAA;EPuyHV;;EO9yHM;IAOI,sCAAA;EP2yHV;;EOlzHM;IAOI,iCAAA;EP+yHV;;EOtzHM;IAOI,2BAAA;EPmzHV;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IAOI,+BAAA;EPqpIV;;EO5pIM;IAOI,8BAAA;EPypIV;;EOhqIM;IAOI,4BAAA;EP6pIV;;EOpqIM;IAOI,8BAAA;EPiqIV;;EOxqIM;IAOI,4BAAA;EPqqIV;;EO5qIM;IAOI,2BAAA;EPyqIV;;EOhrIM;IAOI,iCAAA;EP6qIV;;EOprIM;IAOI,gCAAA;EPirIV;;EOxrIM;IAOI,8BAAA;EPqrIV;;EO5rIM;IAOI,gCAAA;EPyrIV;;EOhsIM;IAOI,8BAAA;EP6rIV;;EOpsIM;IAOI,4BAAA;EPisIV;;EOxsIM;IAOI,kCAAA;EPqsIV;;EO5sIM;IAOI,iCAAA;EPysIV;;EOhtIM;IAOI,+BAAA;EP6sIV;;EOptIM;IAOI,iCAAA;EPitIV;;EOxtIM;IAOI,+BAAA;EPqtIV;;EO5tIM;IAOI,0BAAA;EPytIV;;EOhuIM;IAOI,gCAAA;EP6tIV;;EOpuIM;IAOI,+BAAA;EPiuIV;;EOxuIM;IAOI,6BAAA;EPquIV;;EO5uIM;IAOI,+BAAA;EPyuIV;;EOhvIM;IAOI,6BAAA;EP6uIV;AACF;AGrvII;EIAI;IAOI,0BAAA;EPkvIV;;EOzvIM;IAOI,gCAAA;EPsvIV;;EO7vIM;IAOI,yBAAA;EP0vIV;;EOjwIM;IAOI,wBAAA;EP8vIV;;EOrwIM;IAOI,yBAAA;EPkwIV;;EOzwIM;IAOI,6BAAA;EPswIV;;EO7wIM;IAOI,8BAAA;EP0wIV;;EOjxIM;IAOI,wBAAA;EP8wIV;;EOrxIM;IAOI,+BAAA;EPkxIV;;EOzxIM;IAOI,wBAAA;EPsxIV;;EO7xIM;IAOI,yBAAA;EP0xIV;;EOjyIM;IAOI,8BAAA;EP8xIV;;EOryIM;IAOI,iCAAA;EPkyIV;;EOzyIM;IAOI,sCAAA;EPsyIV;;EO7yIM;IAOI,yCAAA;EP0yIV;;EOjzIM;IAOI,uBAAA;EP8yIV;;EOrzIM;IAOI,uBAAA;EPkzIV;;EOzzIM;IAOI,yBAAA;EPszIV;;EO7zIM;IAOI,yBAAA;EP0zIV;;EOj0IM;IAOI,0BAAA;EP8zIV;;EOr0IM;IAOI,4BAAA;EPk0IV;;EOz0IM;IAOI,kCAAA;EPs0IV;;EO70IM;IAOI,sCAAA;EP00IV;;EO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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"root\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n@import \"utilities/api\";\n",":root {\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 --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\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 --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","/*!\n * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\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-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-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", 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-bg: #fff;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-right: var(--bs-gutter-x, 0.75rem);\n padding-left: var(--bs-gutter-x, 0.75rem);\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.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 box-sizing: border-box;\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.3333333333%;\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.6666666667%;\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\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\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-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.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@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-right: 0 !important;\n }\n\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n\n .me-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-right: 0 !important;\n }\n\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-right: 1rem !important;\n }\n\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-right: 3rem !important;\n }\n\n .me-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-left: 0 !important;\n }\n\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n\n .ms-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-right: 0 !important;\n }\n\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-left: 0 !important;\n }\n\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-right: 0 !important;\n }\n\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n\n .me-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-right: 0 !important;\n }\n\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-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 width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\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)\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))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\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))\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))\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))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\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);\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","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-colors-rgb\n$theme-colors-rgb: map-loop($theme-colors, to-rgb, \"$value\") !default;\n// scss-docs-end theme-colors-rgb\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-200,\n \"purple-200\": $purple-100,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n// Utilities maps\n//\n// Extends the default `$theme-colors` maps to help create our utilities.\n\n// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.\n// scss-docs-start utilities-colors\n$utilities-colors: $theme-colors-rgb !default;\n// scss-docs-end utilities-colors\n\n// scss-docs-start utilities-text-colors\n$utilities-text: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-color)\n )\n) !default;\n$utilities-text-colors: map-loop($utilities-text, rgba-css-var, \"$key\", \"text\") !default;\n// scss-docs-end utilities-text-colors\n\n// scss-docs-start utilities-bg-colors\n$utilities-bg: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-bg)\n )\n) !default;\n$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, \"$key\", \"bg\") !default;\n// scss-docs-end utilities-bg-colors\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width * .5 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-300 !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-blur: 0 !default;\n$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $body-bg !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: 1px solid rgba($black, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: $link-color !default;\n$nav-link-hover-color: $link-hover-color !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-theme-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-theme-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-start: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-border-width: $border-width !default;\n$card-border-color: rgba($black, .125) !default;\n$card-border-radius: $border-radius !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: $body-bg !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-button-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n// scss-docs-end popover-variables\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba($black, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba($black, .05) !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: $gray-900 !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: $modal-content-bg !default;\n$offcanvas-color: $modal-content-color !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\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(--#{$variable-prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$variable-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 --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-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(--#{$variable-prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\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(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-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// numberof 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: divide(100%, $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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-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 and 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","// 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 // 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 (eg. 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 --#{$variable-prefix}#{$property-class}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$variable-prefix}#{$property-class}: #{$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, $value in $is-local-vars {\n --#{$variable-prefix}#{$local-var}: #{$value};\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 #{$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/benchcoachproject/static/css/bootstrap-grid.min.css b/benchcoachproject/static/css/bootstrap-grid.min.css deleted file mode 100644 index 16649a6..0000000 --- a/benchcoachproject/static/css/bootstrap-grid.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap Grid v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--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-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-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",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-bg:#fff}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);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}}.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>*{box-sizing:border-box;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.3333333333%}.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.6666666667%}.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.3333333333%}.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.6666666667%}.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.3333333333%}.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.6666666667%}.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.3333333333%}.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.6666666667%}.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.3333333333%}.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.6666666667%}.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.3333333333%}.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.6666666667%}.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}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display: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}.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}@media (min-width:576px){.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-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}}@media (min-width:768px){.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-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}}@media (min-width:992px){.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-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}}@media (min-width:1200px){.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-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}}@media (min-width:1400px){.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-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}}@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-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-grid.min.css.map */ \ No newline at end of file diff --git a/benchcoachproject/static/css/bootstrap-grid.min.css.map b/benchcoachproject/static/css/bootstrap-grid.min.css.map deleted file mode 100644 index 1e0621c..0000000 --- a/benchcoachproject/static/css/bootstrap-grid.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_root.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"root\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n@import \"utilities/api\";\n",":root {\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 --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\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 --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-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","/*!\n * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\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-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-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", 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-bg: #fff;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-right: var(--bs-gutter-x, 0.75rem);\n padding-left: var(--bs-gutter-x, 0.75rem);\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.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 box-sizing: border-box;\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.3333333333%;\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.6666666667%;\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\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\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-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.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@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-right: 0 !important;\n }\n\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n\n .me-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-right: 0 !important;\n }\n\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-right: 1rem !important;\n }\n\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-right: 3rem !important;\n }\n\n .me-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-left: 0 !important;\n }\n\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n\n .ms-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-right: 0 !important;\n }\n\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-left: 0 !important;\n }\n\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-right: 0 !important;\n }\n\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n\n .me-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-right: 0 !important;\n }\n\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\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)\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))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\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))\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))\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))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\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);\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@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(--#{$variable-prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$variable-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 --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-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(--#{$variable-prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\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(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-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// numberof 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: divide(100%, $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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-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 and 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","// 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 // 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 (eg. 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 --#{$variable-prefix}#{$property-class}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$variable-prefix}#{$property-class}: #{$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, $value in $is-local-vars {\n --#{$variable-prefix}#{$local-var}: #{$value};\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 #{$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/benchcoachproject/static/css/bootstrap-grid.rtl.css.map b/benchcoachproject/static/css/bootstrap-grid.rtl.css.map deleted file mode 100644 index d9b546b..0000000 --- a/benchcoachproject/static/css/bootstrap-grid.rtl.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_root.scss","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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CAAA;AP63DZ;;AOp4DQ;EAOI,8BAAA;APi4DZ;;AGx4DI;EIAI;IAOI,0BAAA;EPs4DV;;EO74DM;IAOI,gCAAA;EP04DV;;EOj5DM;IAOI,yBAAA;EP84DV;;EOr5DM;IAOI,wBAAA;EPk5DV;;EOz5DM;IAOI,yBAAA;EPs5DV;;EO75DM;IAOI,6BAAA;EP05DV;;EOj6DM;IAOI,8BAAA;EP85DV;;EOr6DM;IAOI,wBAAA;EPk6DV;;EOz6DM;IAOI,+BAAA;EPs6DV;;EO76DM;IAOI,wBAAA;EP06DV;;EOj7DM;IAOI,yBAAA;EP86DV;;EOr7DM;IAOI,8BAAA;EPk7DV;;EOz7DM;IAOI,iCAAA;EPs7DV;;EO77DM;IAOI,sCAAA;EP07DV;;EOj8DM;IAOI,yCAAA;EP87DV;;EOr8DM;IAOI,uBAAA;EPk8DV;;EOz8DM;IAOI,uBAAA;EPs8DV;;EO78DM;IAOI,yBAAA;EP08DV;;EOj9DM;IAOI,yBAAA;EP88DV;;EOr9DM;IAOI,0BAAA;EPk9DV;;EOz9DM;IAOI,4BAAA;EPs9DV;;EO79DM;IAOI,kCAAA;EP09DV;;EOj+DM;IAOI,sCAAA;EP89DV;;EOr+DM;IAOI,oCAAA;EPk+DV;;EOz+DM;IAOI,kCAAA;EPs+DV;;EO7+DM;IAOI,yCAAA;EP0+DV;;EOj/DM;IAOI,wCAAA;EP8+DV;;EOr/DM;IAOI,wCAAA;EPk/DV;;EOz/DM;IAOI,kCAAA;EPs/DV;;EO7/DM;IAOI,gCAAA;EP0/DV;;EOjgEM;IAOI,8BAAA;EP8/DV;;EOrgEM;IAOI,gCAAA;EPkgEV;;EOzgEM;IAOI,+BAAA;EPsgEV;;EO7gEM;IAOI,oCAAA;EP0gEV;;EOjhEM;IAOI,kCAAA;EP8gEV;;EOrhEM;IAOI,gCAAA;EPkhEV;;EOzhEM;IAOI,uCAAA;EPshEV;;EO7hEM;IAOI,sCAAA;EP0hEV;;EOjiEM;IAOI,iCAAA;EP8hEV;;EOriEM;IAOI,2BAAA;EPkiEV;;EOziEM;IAOI,iCAAA;EPsiEV;;EO7iEM;IAOI,+BAAA;EP0iEV;;EOjjEM;IAOI,6BAAA;EP8iEV;;EOrjEM;IAOI,+BAAA;EPkjEV;;EOzjEM;IAOI,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o5EV;;EO35EM;IAOI,0BAAA;EPw5EV;;EO/5EM;IAOI,gCAAA;EP45EV;;EOn6EM;IAOI,+BAAA;EPg6EV;;EOv6EM;IAOI,6BAAA;EPo6EV;;EO36EM;IAOI,+BAAA;EPw6EV;;EO/6EM;IAOI,6BAAA;EP46EV;;EOn7EM;IAOI,4BAAA;EPg7EV;;EOv7EM;IAOI,kCAAA;EPo7EV;;EO37EM;IAOI,iCAAA;EPw7EV;;EO/7EM;IAOI,+BAAA;EP47EV;;EOn8EM;IAOI,iCAAA;EPg8EV;;EOv8EM;IAOI,+BAAA;EPo8EV;;EO38EM;IAOI,2BAAA;EPw8EV;;EO/8EM;IAOI,iCAAA;EP48EV;;EOn9EM;IAOI,gCAAA;EPg9EV;;EOv9EM;IAOI,8BAAA;EPo9EV;;EO39EM;IAOI,gCAAA;EPw9EV;;EO/9EM;IAOI,8BAAA;EP49EV;AACF;AGp+EI;EIAI;IAOI,0BAAA;EPi+EV;;EOx+EM;IAOI,gCAAA;EPq+EV;;EO5+EM;IAOI,yBAAA;EPy+EV;;EOh/EM;IAOI,wBAAA;EP6+EV;;EOp/EM;IAOI,yBAAA;EPi/EV;;EOx/EM;IAOI,6BAAA;EPq/EV;;EO5/EM;IAOI,8BAAA;EPy/EV;;EOhgFM;IAOI,wBAAA;EP6/EV;;EOpgFM;IAOI,+BAAA;EPigFV;;EOxgFM;IAOI,wBAAA;EPqgFV;;EO5gFM;IAOI,yBAAA;EPygFV;;EOhhFM;IAOI,8BAAA;EP6gFV;;EOphFM;IAOI,iCAAA;EPihFV;;EOxhFM;IAOI,sCAAA;EPqhFV;;EO5hFM;IAOI,yCAAA;EPyhFV;;EOhiFM;IAOI,uBAAA;EP6hFV;;EOpiFM;IAOI,uBAAA;EPiiFV;;EOxiFM;IAOI,yBAAA;EPqiFV;;EO5iFM;IAOI,yBAAA;EPyiFV;;EOhjFM;IAOI,0BAAA;EP6iFV;;EOpjFM;IAOI,4BAAA;EPijFV;;EOxjFM;IAOI,kCAAA;EPqjFV;;EO5jFM;IAOI,sCAAA;EPyjFV;;EOhkFM;IAOI,oCAAA;EP6jFV;;EOpkFM;IAOI,kCAAA;EPikFV;;EOxkFM;IAOI,yCAAA;EPqkFV;;EO5kFM;IAOI,wCAAA;EPykFV;;EOhlFM;IAOI,wCA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EPomGV;;EO3mGM;IAOI,8BAAA;EPwmGV;;EO/mGM;IAOI,iCAAA;EP4mGV;;EOnnGM;IAOI,sCAAA;EPgnGV;;EOvnGM;IAOI,yCAAA;EPonGV;;EO3nGM;IAOI,uBAAA;EPwnGV;;EO/nGM;IAOI,uBAAA;EP4nGV;;EOnoGM;IAOI,yBAAA;EPgoGV;;EOvoGM;IAOI,yBAAA;EPooGV;;EO3oGM;IAOI,0BAAA;EPwoGV;;EO/oGM;IAOI,4BAAA;EP4oGV;;EOnpGM;IAOI,kCAAA;EPgpGV;;EOvpGM;IAOI,sCAAA;EPopGV;;EO3pGM;IAOI,oCAAA;EPwpGV;;EO/pGM;IAOI,kCAAA;EP4pGV;;EOnqGM;IAOI,yCAAA;EPgqGV;;EOvqGM;IAOI,wCAAA;EPoqGV;;EO3qGM;IAOI,wCAAA;EPwqGV;;EO/qGM;IAOI,kCAAA;EP4qGV;;EOnrGM;IAOI,gCAAA;EPgrGV;;EOvrGM;IAOI,8BAAA;EPorGV;;EO3rGM;IAOI,gCAAA;EPwrGV;;EO/rGM;IAOI,+BAAA;EP4rGV;;EOnsGM;IAOI,oCAAA;EPgsGV;;EOvsGM;IAOI,kCAAA;EPosGV;;EO3sGM;IAOI,gCAAA;EPwsGV;;EO/sGM;IAOI,uCAAA;EP4sGV;;EOntGM;IAOI,sCAAA;EPgtGV;;EOvtGM;IAOI,iCAAA;EPotGV;;EO3tGM;IAOI,2BAAA;EPwtGV;;EO/tGM;IAOI,iCAAA;EP4tGV;;EOnuGM;IAOI,+BAAA;EPguGV;;EOvuGM;IAOI,6BAAA;EPouGV;;EO3uGM;IAOI,+BAAA;EPwuGV;;EO/uGM;IAOI,8BAAA;EP4uGV;;EOnvGM;IAOI,oBAAA;EPgvGV;;EOvvGM;IAOI,mBAAA;EPovGV;;EO3vGM;IAOI,mBAAA;EPwvGV;;EO/vGM;IAOI,mBAAA;EP4vGV;;EOnwGM;IAOI,mBAAA;EPgwGV;;EOvwGM;IAOI,mBAAA;EPowGV;;EO3wGM;IAOI,mBAAA;EPwwGV;;EO/wGM;IAOI,mBAAA;EP4wGV;;EOnxGM;IAOI,oBAAA;EPgxGV;;EOvxGM;IAOI,0BAAA;EPoxGV;;EO3xGM;IAOI,yBAAA;EPwxGV;;EO/xGM;IAOI,uBAAA;EP4x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HM;IAOI,2BAAA;EP8nHV;;EOroHM;IAOI,iCAAA;EPkoHV;;EOzoHM;IAOI,gCAAA;EPsoHV;;EO7oHM;IAOI,8BAAA;EP0oHV;;EOjpHM;IAOI,gCAAA;EP8oHV;;EOrpHM;IAOI,8BAAA;EPkpHV;AACF;AG1pHI;EIAI;IAOI,0BAAA;EPupHV;;EO9pHM;IAOI,gCAAA;EP2pHV;;EOlqHM;IAOI,yBAAA;EP+pHV;;EOtqHM;IAOI,wBAAA;EPmqHV;;EO1qHM;IAOI,yBAAA;EPuqHV;;EO9qHM;IAOI,6BAAA;EP2qHV;;EOlrHM;IAOI,8BAAA;EP+qHV;;EOtrHM;IAOI,wBAAA;EPmrHV;;EO1rHM;IAOI,+BAAA;EPurHV;;EO9rHM;IAOI,wBAAA;EP2rHV;;EOlsHM;IAOI,yBAAA;EP+rHV;;EOtsHM;IAOI,8BAAA;EPmsHV;;EO1sHM;IAOI,iCAAA;EPusHV;;EO9sHM;IAOI,sCAAA;EP2sHV;;EOltHM;IAOI,yCAAA;EP+sHV;;EOttHM;IAOI,uBAAA;EPmtHV;;EO1tHM;IAOI,uBAAA;EPutHV;;EO9tHM;IAOI,yBAAA;EP2tHV;;EOluHM;IAOI,yBAAA;EP+tHV;;EOtuHM;IAOI,0BAAA;EPmuHV;;EO1uHM;IAOI,4BAAA;EPuuHV;;EO9uHM;IAOI,kCAAA;EP2uHV;;EOlvHM;IAOI,sCAAA;EP+uHV;;EOtvHM;IAOI,oCAAA;EPmvHV;;EO1vHM;IAOI,kCAAA;EPuvHV;;EO9vHM;IAOI,yCAAA;EP2vHV;;EOlwHM;IAOI,wCAAA;EP+vHV;;EOtwHM;IAOI,wCAAA;EPmwHV;;EO1wHM;IAOI,kCAAA;EPuwHV;;EO9wHM;IAOI,gCAAA;EP2wHV;;EOlxHM;IAOI,8BAAA;EP+wHV;;EOtxHM;IAOI,gCAAA;EPmxHV;;EO1xHM;IAOI,+BAAA;EPuxHV;;EO9xHM;IAOI,oCAAA;EP2xHV;;EOlyHM;IAOI,kCAAA;EP+xHV;;EOtyHM;IAOI,gCAAA;EPmyHV;;EO1yHM;IAOI,uCAAA;EPuyHV;;EO9yHM;IAOI,sCAAA;EP2yHV;;EOlzHM;IAOI,iCAAA;EP+yHV;;EOtzHM;IAOI,2BAAA;EPmzHV;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IAOI,+BAAA;EPqpIV;;EO5pIM;IAOI,8BAAA;EPypIV;;EOhqIM;IAOI,4BAAA;EP6pIV;;EOpqIM;IAOI,8BAAA;EPiqIV;;EOxqIM;IAOI,4BAAA;EPqqIV;;EO5qIM;IAOI,0BAAA;EPyqIV;;EOhrIM;IAOI,gCAAA;EP6qIV;;EOprIM;IAOI,+BAAA;EPirIV;;EOxrIM;IAOI,6BAAA;EPqrIV;;EO5rIM;IAOI,+BAAA;EPyrIV;;EOhsIM;IAOI,6BAAA;EP6rIV;;EOpsIM;IAOI,4BAAA;EPisIV;;EOxsIM;IAOI,kCAAA;EPqsIV;;EO5sIM;IAOI,iCAAA;EPysIV;;EOhtIM;IAOI,+BAAA;EP6sIV;;EOptIM;IAOI,iCAAA;EPitIV;;EOxtIM;IAOI,+BAAA;EPqtIV;;EO5tIM;IAOI,2BAAA;EPytIV;;EOhuIM;IAOI,iCAAA;EP6tIV;;EOpuIM;IAOI,gCAAA;EPiuIV;;EOxuIM;IAOI,8BAAA;EPquIV;;EO5uIM;IAOI,gCAAA;EPyuIV;;EOhvIM;IAOI,8BAAA;EP6uIV;AACF;AGrvII;EIAI;IAOI,0BAAA;EPkvIV;;EOzvIM;IAOI,gCAAA;EPsvIV;;EO7vIM;IAOI,yBAAA;EP0vIV;;EOjwIM;IAOI,wBAAA;EP8vIV;;EOrwIM;IAOI,yBAAA;EPkwIV;;EOzwIM;IAOI,6BAAA;EPswIV;;EO7wIM;IAOI,8BAAA;EP0wIV;;EOjxIM;IAOI,wBAAA;EP8wIV;;EOrxIM;IAOI,+BAAA;EPkxIV;;EOzxIM;IAOI,wBAAA;EPsxIV;;EO7xIM;IAOI,yBAAA;EP0xIV;;EOjyIM;IAOI,8BAAA;EP8xIV;;EOryIM;IAOI,iCAAA;EPkyIV;;EOzyIM;IAOI,sCAAA;EPsyIV;;EO7yIM;IAOI,yCAAA;EP0yIV;;EOjzIM;IAOI,uBAAA;EP8yIV;;EOrzIM;IAOI,uBAAA;EPkzIV;;EOzzIM;IAOI,yBAAA;EPszIV;;EO7zIM;IAOI,yBAAA;EP0zIV;;EOj0IM;IAOI,0BAAA;EP8zIV;;EOr0IM;IAOI,4BAAA;EPk0IV;;EOz0IM;IAOI,kCAAA;EPs0IV;;EO70IM;IAOI,sCAAA;EP00IV;;EO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","file":"bootstrap-grid.rtl.css","sourcesContent":["/*!\n * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"root\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n@import \"utilities/api\";\n",":root {\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 --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\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 --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","/*!\n * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\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-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-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", 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-bg: #fff;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-right: var(--bs-gutter-x, 0.75rem);\n padding-left: var(--bs-gutter-x, 0.75rem);\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.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 box-sizing: border-box;\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.3333333333%;\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.6666666667%;\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\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\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-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.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@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-right: 0 !important;\n }\n\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n\n .me-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-right: 0 !important;\n }\n\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-right: 1rem !important;\n }\n\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-right: 3rem !important;\n }\n\n .me-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-left: 0 !important;\n }\n\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n\n .ms-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-right: 0 !important;\n }\n\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-left: 0 !important;\n }\n\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-right: 0 !important;\n }\n\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n\n .me-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-right: 0 !important;\n }\n\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-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 width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\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)\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))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\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))\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))\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))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\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);\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","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-colors-rgb\n$theme-colors-rgb: map-loop($theme-colors, to-rgb, \"$value\") !default;\n// scss-docs-end theme-colors-rgb\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-200,\n \"purple-200\": $purple-100,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n// Utilities maps\n//\n// Extends the default `$theme-colors` maps to help create our utilities.\n\n// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.\n// scss-docs-start utilities-colors\n$utilities-colors: $theme-colors-rgb !default;\n// scss-docs-end utilities-colors\n\n// scss-docs-start utilities-text-colors\n$utilities-text: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-color)\n )\n) !default;\n$utilities-text-colors: map-loop($utilities-text, rgba-css-var, \"$key\", \"text\") !default;\n// scss-docs-end utilities-text-colors\n\n// scss-docs-start utilities-bg-colors\n$utilities-bg: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-bg)\n )\n) !default;\n$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, \"$key\", \"bg\") !default;\n// scss-docs-end utilities-bg-colors\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width * .5 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-300 !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-blur: 0 !default;\n$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $body-bg !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: 1px solid rgba($black, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: $link-color !default;\n$nav-link-hover-color: $link-hover-color !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-theme-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-theme-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-start: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-border-width: $border-width !default;\n$card-border-color: rgba($black, .125) !default;\n$card-border-radius: $border-radius !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: $body-bg !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-button-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n// scss-docs-end popover-variables\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba($black, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba($black, .05) !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: $gray-900 !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: $modal-content-bg !default;\n$offcanvas-color: $modal-content-color !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\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(--#{$variable-prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$variable-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 --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-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(--#{$variable-prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\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(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-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// numberof 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: divide(100%, $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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-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 and 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","// 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 // 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 (eg. 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 --#{$variable-prefix}#{$property-class}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$variable-prefix}#{$property-class}: #{$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, $value in $is-local-vars {\n --#{$variable-prefix}#{$local-var}: #{$value};\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 #{$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/benchcoachproject/static/css/bootstrap-grid.rtl.min.css b/benchcoachproject/static/css/bootstrap-grid.rtl.min.css deleted file mode 100644 index 8ec49c7..0000000 --- a/benchcoachproject/static/css/bootstrap-grid.rtl.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap Grid v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--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-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-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",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-bg:#fff}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-left:var(--bs-gutter-x,.75rem);padding-right:var(--bs-gutter-x,.75rem);margin-left:auto;margin-right: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}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-left:calc(-.5 * var(--bs-gutter-x));margin-right:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--bs-gutter-x) * .5);padding-right: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.3333333333%}.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.6666666667%}.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-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right: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.3333333333%}.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.6666666667%}.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-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right: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.3333333333%}.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.6666666667%}.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-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right: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.3333333333%}.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.6666666667%}.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-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right: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.3333333333%}.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.6666666667%}.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-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right: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.3333333333%}.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.6666666667%}.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-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right: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}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display: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}.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-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right: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-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:1.5rem!important}.me-5{margin-left:3rem!important}.me-auto{margin-left: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-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:1.5rem!important}.ms-5{margin-right:3rem!important}.ms-auto{margin-right: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-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right: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-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:1.5rem!important}.pe-5{padding-left: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-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:1.5rem!important}.ps-5{padding-right:3rem!important}@media (min-width:576px){.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-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-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right: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-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:1.5rem!important}.me-sm-5{margin-left:3rem!important}.me-sm-auto{margin-left: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-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:1.5rem!important}.ms-sm-5{margin-right:3rem!important}.ms-sm-auto{margin-right: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-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right: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-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:1.5rem!important}.pe-sm-5{padding-left: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-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:1.5rem!important}.ps-sm-5{padding-right:3rem!important}}@media (min-width:768px){.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-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-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right: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-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:1.5rem!important}.me-md-5{margin-left:3rem!important}.me-md-auto{margin-left: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-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:1.5rem!important}.ms-md-5{margin-right:3rem!important}.ms-md-auto{margin-right: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-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right: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-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:1.5rem!important}.pe-md-5{padding-left: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-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:1.5rem!important}.ps-md-5{padding-right:3rem!important}}@media (min-width:992px){.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-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-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right: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-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:1.5rem!important}.me-lg-5{margin-left:3rem!important}.me-lg-auto{margin-left: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-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:1.5rem!important}.ms-lg-5{margin-right:3rem!important}.ms-lg-auto{margin-right: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-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right: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-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:1.5rem!important}.pe-lg-5{padding-left: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-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:1.5rem!important}.ps-lg-5{padding-right:3rem!important}}@media (min-width:1200px){.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-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-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right: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-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:1.5rem!important}.me-xl-5{margin-left:3rem!important}.me-xl-auto{margin-left: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-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:1.5rem!important}.ms-xl-5{margin-right:3rem!important}.ms-xl-auto{margin-right: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-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right: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-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:1.5rem!important}.pe-xl-5{padding-left: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-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:1.5rem!important}.ps-xl-5{padding-right:3rem!important}}@media (min-width:1400px){.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-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-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right: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-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:1.5rem!important}.me-xxl-5{margin-left:3rem!important}.me-xxl-auto{margin-left: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-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:1.5rem!important}.ms-xxl-5{margin-right:3rem!important}.ms-xxl-auto{margin-right: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-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right: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-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:1.5rem!important}.pe-xxl-5{padding-left: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-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:1.5rem!important}.ps-xxl-5{padding-right:3rem!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-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-grid.rtl.min.css.map */ \ No newline at end of file diff --git a/benchcoachproject/static/css/bootstrap-grid.rtl.min.css.map b/benchcoachproject/static/css/bootstrap-grid.rtl.min.css.map deleted file mode 100644 index fbf1d00..0000000 --- a/benchcoachproject/static/css/bootstrap-grid.rtl.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_root.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.rtl.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"root\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n@import \"utilities/api\";\n",":root {\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 --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\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 --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-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","/*!\n * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\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-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-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", 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-bg: #fff;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-left: var(--bs-gutter-x, 0.75rem);\n padding-right: var(--bs-gutter-x, 0.75rem);\n margin-left: auto;\n margin-right: 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.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-left: calc(-0.5 * var(--bs-gutter-x));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n padding-right: 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.3333333333%;\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.6666666667%;\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-right: 8.33333333%;\n}\n\n.offset-2 {\n margin-right: 16.66666667%;\n}\n\n.offset-3 {\n margin-right: 25%;\n}\n\n.offset-4 {\n margin-right: 33.33333333%;\n}\n\n.offset-5 {\n margin-right: 41.66666667%;\n}\n\n.offset-6 {\n margin-right: 50%;\n}\n\n.offset-7 {\n margin-right: 58.33333333%;\n}\n\n.offset-8 {\n margin-right: 66.66666667%;\n}\n\n.offset-9 {\n margin-right: 75%;\n}\n\n.offset-10 {\n margin-right: 83.33333333%;\n}\n\n.offset-11 {\n margin-right: 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\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-right: 0;\n }\n\n .offset-sm-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-sm-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-sm-3 {\n margin-right: 25%;\n }\n\n .offset-sm-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-sm-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-sm-6 {\n margin-right: 50%;\n }\n\n .offset-sm-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-sm-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-sm-9 {\n margin-right: 75%;\n }\n\n .offset-sm-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-sm-11 {\n margin-right: 91.66666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-right: 0;\n }\n\n .offset-md-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-md-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-md-3 {\n margin-right: 25%;\n }\n\n .offset-md-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-md-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-md-6 {\n margin-right: 50%;\n }\n\n .offset-md-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-md-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-md-9 {\n margin-right: 75%;\n }\n\n .offset-md-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-md-11 {\n margin-right: 91.66666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-right: 0;\n }\n\n .offset-lg-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-lg-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-lg-3 {\n margin-right: 25%;\n }\n\n .offset-lg-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-lg-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-lg-6 {\n margin-right: 50%;\n }\n\n .offset-lg-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-lg-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-lg-9 {\n margin-right: 75%;\n }\n\n .offset-lg-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-lg-11 {\n margin-right: 91.66666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-right: 0;\n }\n\n .offset-xl-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-xl-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-xl-3 {\n margin-right: 25%;\n }\n\n .offset-xl-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-xl-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-xl-6 {\n margin-right: 50%;\n }\n\n .offset-xl-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-xl-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-xl-9 {\n margin-right: 75%;\n }\n\n .offset-xl-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-xl-11 {\n margin-right: 91.66666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\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\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-right: 0;\n }\n\n .offset-xxl-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-xxl-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-xxl-3 {\n margin-right: 25%;\n }\n\n .offset-xxl-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-xxl-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-xxl-6 {\n margin-right: 50%;\n }\n\n .offset-xxl-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-xxl-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-xxl-9 {\n margin-right: 75%;\n }\n\n .offset-xxl-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-xxl-11 {\n margin-right: 91.66666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\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-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.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-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: 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-left: 0 !important;\n}\n\n.me-1 {\n margin-left: 0.25rem !important;\n}\n\n.me-2 {\n margin-left: 0.5rem !important;\n}\n\n.me-3 {\n margin-left: 1rem !important;\n}\n\n.me-4 {\n margin-left: 1.5rem !important;\n}\n\n.me-5 {\n margin-left: 3rem !important;\n}\n\n.me-auto {\n margin-left: 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-right: 0 !important;\n}\n\n.ms-1 {\n margin-right: 0.25rem !important;\n}\n\n.ms-2 {\n margin-right: 0.5rem !important;\n}\n\n.ms-3 {\n margin-right: 1rem !important;\n}\n\n.ms-4 {\n margin-right: 1.5rem !important;\n}\n\n.ms-5 {\n margin-right: 3rem !important;\n}\n\n.ms-auto {\n margin-right: 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-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 3rem !important;\n padding-right: 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-left: 0 !important;\n}\n\n.pe-1 {\n padding-left: 0.25rem !important;\n}\n\n.pe-2 {\n padding-left: 0.5rem !important;\n}\n\n.pe-3 {\n padding-left: 1rem !important;\n}\n\n.pe-4 {\n padding-left: 1.5rem !important;\n}\n\n.pe-5 {\n padding-left: 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-right: 0 !important;\n}\n\n.ps-1 {\n padding-right: 0.25rem !important;\n}\n\n.ps-2 {\n padding-right: 0.5rem !important;\n}\n\n.ps-3 {\n padding-right: 1rem !important;\n}\n\n.ps-4 {\n padding-right: 1.5rem !important;\n}\n\n.ps-5 {\n padding-right: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-left: 0 !important;\n }\n\n .me-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-left: 1rem !important;\n }\n\n .me-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-left: 3rem !important;\n }\n\n .me-sm-auto {\n margin-left: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-right: 0 !important;\n }\n\n .ms-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-right: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-right: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-right: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-left: 0 !important;\n }\n\n .pe-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-left: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-left: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-right: 0 !important;\n }\n\n .ps-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-right: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-md-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-left: 0 !important;\n }\n\n .me-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-left: 1rem !important;\n }\n\n .me-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-left: 3rem !important;\n }\n\n .me-md-auto {\n margin-left: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-right: 0 !important;\n }\n\n .ms-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-right: 1rem !important;\n }\n\n .ms-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-right: 3rem !important;\n }\n\n .ms-md-auto {\n margin-right: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-left: 0 !important;\n }\n\n .pe-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-left: 1rem !important;\n }\n\n .pe-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-left: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-right: 0 !important;\n }\n\n .ps-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-right: 1rem !important;\n }\n\n .ps-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-left: 0 !important;\n }\n\n .me-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-left: 1rem !important;\n }\n\n .me-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-left: 3rem !important;\n }\n\n .me-lg-auto {\n margin-left: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-right: 0 !important;\n }\n\n .ms-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-right: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-right: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-right: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-left: 0 !important;\n }\n\n .pe-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-left: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-left: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-right: 0 !important;\n }\n\n .ps-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-right: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-left: 0 !important;\n }\n\n .me-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-left: 1rem !important;\n }\n\n .me-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-left: 3rem !important;\n }\n\n .me-xl-auto {\n margin-left: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-right: 0 !important;\n }\n\n .ms-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-right: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-right: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-right: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-left: 0 !important;\n }\n\n .pe-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-left: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-left: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-right: 0 !important;\n }\n\n .ps-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-right: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-left: 0 !important;\n }\n\n .me-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-left: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-right: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-right: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-xxl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-left: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-left: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-right: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-right: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.rtl.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\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)\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))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\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))\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))\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))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\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);\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@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(--#{$variable-prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$variable-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 --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-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(--#{$variable-prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\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(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-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// numberof 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: divide(100%, $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 --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-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 and 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","// 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 // 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 (eg. 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 --#{$variable-prefix}#{$property-class}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$variable-prefix}#{$property-class}: #{$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, $value in $is-local-vars {\n --#{$variable-prefix}#{$local-var}: #{$value};\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 #{$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/benchcoachproject/static/css/bootstrap-reboot.css.map b/benchcoachproject/static/css/bootstrap-reboot.css.map deleted file mode 100644 index 71177ef..0000000 --- a/benchcoachproject/static/css/bootstrap-reboot.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_root.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/vendor/_rfs.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;EAAA;ACAA;EAQI,kBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,kBAAA;EAAA,iBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAAA,kBAAA;EAAA,gBAAA;EAAA,kBAAA;EAAA,uBAAA;EAIA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAIA,qBAAA;EAAA,uBAAA;EAAA,qBAAA;EAAA,kBAAA;EAAA,qBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAIA,8BAAA;EAAA,iCAAA;EAAA,6BAAA;EAAA,2BAAA;EAAA,6BAAA;EAAA,4BAAA;EAAA,6BAAA;EAAA,yBAAA;EAGF,6BAAA;EACA,uBAAA;EACA,+BAAA;EACA,+BAAA;EAMA,qNAAA;EACA,yGAAA;EACA,yFAAA;EAQA,gDAAA;EACA,yBAAA;EACA,0BAAA;EACA,0BAAA;EACA,wBAAA;EAIA,kBAAA;ACSF;;AC5CA;;;EAGE,sBAAA;AD+CF;;AChCI;EANJ;IAOM,uBAAA;EDoCJ;AACF;;ACvBA;EACE,SAAA;EACA,uCAAA;ECmPI,mCALI;ED5OR,uCAAA;EACA,uCAAA;EACA,2BAAA;EACA,qCAAA;EACA,mCAAA;EACA,8BAAA;EACA,6CAAA;AD0BF;;AChBA;EACE,cAAA;EACA,cE+kB4B;EF9kB5B,8BAAA;EACA,SAAA;EACA,aE8kB4B;AH3jB9B;;AChBA;EACE,WEwb4B;AHra9B;;ACTA;EACE,aAAA;EACA,qBEohB4B;EFjhB5B,gBEohB4B;EFnhB5B,gBEohB4B;AH1gB9B;;ACNA;ECwMQ,iCAAA;AF9LR;AE4BI;EDtCJ;IC+MQ,iBAAA;EFjMN;AACF;;ACVA;ECmMQ,iCAAA;AFrLR;AEmBI;EDjCJ;IC0MQ,eAAA;EFxLN;AACF;;ACdA;EC8LQ,+BAAA;AF5KR;AEUI;ED5BJ;ICqMQ,kBAAA;EF/KN;AACF;;AClBA;ECyLQ,iCAAA;AFnKR;AECI;EDvBJ;ICgMQ,iBAAA;EFtKN;AACF;;ACtBA;ECgLM,kBALI;AFjJV;;ACrBA;EC2KM,eALI;AF7IV;;ACdA;EACE,aAAA;EACA,mBEkU0B;AHjT5B;;ACNA;;EAEE,yCAAA;EAAA,iCAAA;EACA,YAAA;EACA,sCAAA;EAAA,8BAAA;ADSF;;ACHA;EACE,mBAAA;EACA,kBAAA;EACA,oBAAA;ADMF;;ACAA;;EAEE,kBAAA;ADGF;;ACAA;;;EAGE,aAAA;EACA,mBAAA;ADGF;;ACAA;;;;EAIE,gBAAA;ADGF;;ACAA;EACE,gBEuZ4B;AHpZ9B;;ACEA;EACE,qBAAA;EACA,cAAA;ADCF;;ACKA;EACE,gBAAA;ADFF;;ACUA;;EAEE,mBEgY4B;AHvY9B;;ACeA;EC4EM,kBALI;AFlFV;;ACkBA;EACE,cE4b4B;EF3b5B,yBEmc4B;AHld9B;;ACwBA;;EAEE,kBAAA;ECwDI,iBALI;EDjDR,cAAA;EACA,wBAAA;ADrBF;;ACwBA;EAAM,eAAA;ADpBN;;ACqBA;EAAM,WAAA;ADjBN;;ACsBA;EACE,cEpNQ;EFqNR,0BEkMwC;AHrN1C;ACqBE;EACE,cEiMsC;AHpN1C;;AC8BE;EAEE,cAAA;EACA,qBAAA;AD5BJ;;ACmCA;;;;EAIE,qCE6S4B;ED/RxB,cALI;EDPR,+BAAA;EACA,2BAAA;ADhCF;;ACuCA;EACE,cAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;ECAI,kBALI;AF9BV;ACwCE;ECLI,kBALI;EDYN,cAAA;EACA,kBAAA;ADtCJ;;AC0CA;ECZM,kBALI;EDmBR,cE1QQ;EF2QR,qBAAA;ADvCF;AC0CE;EACE,cAAA;ADxCJ;;AC4CA;EACE,sBAAA;ECxBI,kBALI;ED+BR,WEvTS;EFwTT,yBE/SS;ECEP,qBAAA;AJqQJ;AC2CE;EACE,UAAA;EC/BE,cALI;EDsCN,gBE0Q0B;AHnT9B;;ACkDA;EACE,gBAAA;AD/CF;;ACqDA;;EAEE,sBAAA;ADlDF;;AC0DA;EACE,oBAAA;EACA,yBAAA;ADvDF;;AC0DA;EACE,mBEwU4B;EFvU5B,sBEuU4B;EFtU5B,cE1VS;EF2VT,gBAAA;ADvDF;;AC8DA;EAEE,mBAAA;EACA,gCAAA;AD5DF;;AC+DA;;;;;;EAME,qBAAA;EACA,mBAAA;EACA,eAAA;AD5DF;;ACoEA;EACE,qBAAA;ADjEF;;ACuEA;EAEE,gBAAA;ADrEF;;AC6EA;EACE,UAAA;AD1EF;;AC+EA;;;;;EAKE,SAAA;EACA,oBAAA;EC9HI,kBALI;EDqIR,oBAAA;AD5EF;;ACgFA;;EAEE,oBAAA;AD7EF;;ACkFA;EACE,eAAA;AD/EF;;ACkFA;EAGE,iBAAA;ADjFF;ACoFE;EACE,UAAA;ADlFJ;;ACyFA;EACE,aAAA;ADtFF;;AC8FA;;;;EAIE,0BAAA;AD3FF;AC8FI;;;;EACE,eAAA;ADzFN;;ACgGA;EACE,UAAA;EACA,kBAAA;AD7FF;;ACkGA;EACE,gBAAA;AD/FF;;ACyGA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;ADtGF;;AC8GA;EACE,WAAA;EACA,WAAA;EACA,UAAA;EACA,qBE6J4B;EDhXtB,iCAAA;EDsNN,oBAAA;AD5GF;AE5QI;EDiXJ;ICxMQ,iBAAA;EFuGN;AACF;ACyGE;EACE,WAAA;ADvGJ;;AC8GA;;;;;;;EAOE,UAAA;AD3GF;;AC8GA;EACE,YAAA;AD3GF;;ACoHA;EACE,oBAAA;EACA,6BAAA;ADjHF;;ACyHA;;;;;;;CAAA;AAWA;EACE,wBAAA;ADzHF;;AC8HA;EACE,UAAA;AD3HF;;ACiIA;EACE,aAAA;AD9HF;;AC6HA;EACE,aAAA;AD9HF;;ACoIA;EACE,aAAA;EACA,0BAAA;ADjIF;;ACsIA;EACE,qBAAA;ADnIF;;ACwIA;EACE,SAAA;ADrIF;;AC4IA;EACE,kBAAA;EACA,eAAA;ADzIF;;ACiJA;EACE,wBAAA;AD9IF;;ACsJA;EACE,wBAAA;ADnJF","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n",":root {\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 --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\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 --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","/*!\n * Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n:root {\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-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-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", 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-bg: #fff;\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 background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-bs-original-title] {\n text-decoration: underline dotted;\n cursor: help;\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 {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\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: #0d6efd;\n text-decoration: underline;\n}\na:hover {\n color: #0a58ca;\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 direction: ltr /* rtl:ignore */;\n unicode-bidi: bidi-override;\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: #d63384;\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\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: #6c757d;\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]::-webkit-calendar-picker-indicator {\n display: none;\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 outline-offset: -2px;\n -webkit-appearance: textfield;\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::file-selector-button {\n font: inherit;\n}\n\n::-webkit-file-upload-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/*# sourceMappingURL=bootstrap-reboot.css.map */\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 font-size: var(--#{$variable-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(--#{$variable-prefix}body-font-family);\n @include font-size(var(--#{$variable-prefix}body-font-size));\n font-weight: var(--#{$variable-prefix}body-font-weight);\n line-height: var(--#{$variable-prefix}body-line-height);\n color: var(--#{$variable-prefix}body-color);\n text-align: var(--#{$variable-prefix}body-text-align);\n background-color: var(--#{$variable-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// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` 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: $headings-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 `

`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. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\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 background-color: $mark-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: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\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 direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\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: $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 `` 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-` + + + +{% endblock %} diff --git a/instagen/tests.py b/instagen/tests.py new file mode 100644 index 0000000..a39b155 --- /dev/null +++ b/instagen/tests.py @@ -0,0 +1 @@ +# Create your tests here. diff --git a/instagen/urls.py b/instagen/urls.py new file mode 100644 index 0000000..479c26a --- /dev/null +++ b/instagen/urls.py @@ -0,0 +1,12 @@ +from django.urls import path + +from .views import get_matchup_image, image_generator + +urlpatterns = [ + path("/instagen/", image_generator, name="instagen"), + path( + "/instagen//generate", + get_matchup_image, + name="instagen_generate", + ), +] diff --git a/instagen/utils/__init__.py b/instagen/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/instagen/views.py b/instagen/views.py new file mode 100644 index 0000000..d7be0d1 --- /dev/null +++ b/instagen/views.py @@ -0,0 +1,115 @@ +from django.http import HttpResponse +from django.shortcuts import redirect, render + + +# Create your views here. +def image_generator(request, team_id, event_id): + request.user.socialaccount_set.filter(provider="teamsnap").first() + current_teamsnap_user = request.user.socialaccount_set.filter( + provider="teamsnap" + ).first() + + TOKEN = current_teamsnap_user.socialtoken_set.order_by("-expires_at").first().token + + from pyteamsnap.api import Event, TeamSnap + + client = TeamSnap(token=TOKEN) + + ts_event = Event.get(client, id=event_id) + return render(request, "instagen/instagen.html", context={"event": ts_event}) + + +def get_matchup_image(request, team_id, event_id, dimensions=None, background=None): + import io + + from pyteamsnap.api import Location, Opponent, Team + + from .utils.gen_image import Location as ImagegenLocation + from .utils.gen_image import Team as ImagegenTeam + from .utils.gen_image import gen_image, gen_results_image + + if not team_id: + return redirect( + "teamsnap_event", team_id=request.user.preferences.managed_team_id + ) + request.user.socialaccount_set.filter(provider="teamsnap").first() + current_teamsnap_user = request.user.socialaccount_set.filter( + provider="teamsnap" + ).first() + + ts_token = ( + current_teamsnap_user.socialtoken_set.order_by("-expires_at").first().token + ) + + from pyteamsnap.api import Event, TeamSnap + + teamsnap = TeamSnap(token=ts_token) + + if request.GET: + BACKGROUND = request.GET.get("background", "location") + game_id = event_id + dimensions = request.GET.get("dimensions") + width = int(dimensions.split("x")[0]) + height = int(dimensions.split("x")[1]) + + ts_event = Event.get(teamsnap, game_id).data + fave_team = Team.get(teamsnap, ts_event["team_id"]).data + opponent_team = Opponent.get(teamsnap, ts_event["opponent_id"]).data + location = Location.get(teamsnap, ts_event["location_id"]).data + formatted_results = ts_event["formatted_results"] + if formatted_results: + # L 4-3 + runs_for = formatted_results.split(" ")[1].split("-")[0] + runs_against = formatted_results.split(" ")[1].split("-")[1] + else: + runs_for, runs_against = None, None + + logo_image_directory = "instagen/static/instagen/logos-bw/{filename}.{ext}" + venue_image_directory = "instagen/static/instagen/locations/{filename}.{ext}" + + def shortname_from_name(name): + return name.replace(" ", "").lower() + + # date = parser.parse(ts_event['start_date']) + # date = date.astimezone(ZoneInfo("America/Chicago")) + game_info = { + "date": ts_event["start_date"], + "team_fave": ImagegenTeam( + name=fave_team["name"], + image_directory=logo_image_directory.format( + filename=shortname_from_name(fave_team["name"]), ext="png" + ), + ), + "team_opponent": ImagegenTeam( + name=opponent_team["name"], + image_directory=logo_image_directory.format( + filename=shortname_from_name(opponent_team["name"]), ext="png" + ), + ), + "location": ImagegenLocation( + name=location["name"], + image_directory=venue_image_directory.format( + filename=shortname_from_name(location["name"]), ext="png" + ), + # address=location['address'] + ), + "runs_for": runs_for, + "runs_against": runs_against, + } + + if not game_info["runs_for"] and not game_info["runs_against"]: + image = gen_image( + **game_info, background=BACKGROUND, width=width, height=height + ) + elif game_info["runs_for"] and game_info["runs_against"]: + image = gen_results_image( + **game_info, background=BACKGROUND, width=width, height=height + ) + else: + raise Exception + + imgByteArr = io.BytesIO() + image.save(imgByteArr, format="PNG") + imgByteArr = imgByteArr.getvalue() + + return HttpResponse(imgByteArr, content_type="image/png") diff --git a/lib/views.py b/lib/views.py deleted file mode 100644 index cf67117..0000000 --- a/lib/views.py +++ /dev/null @@ -1,82 +0,0 @@ -from django.shortcuts import render, redirect, get_object_or_404 -from django.views import View -from django.views.generic.base import TemplateView -from django.forms.models import model_to_dict -from django import forms -from django.db import models -from django.http import HttpResponse, HttpResponseBadRequest -from django.urls import reverse -# from .models import Event -# from .forms import EventForm -from django.http import HttpResponse - - -class BenchcoachListView(TemplateView): - Model = models.Model - template_name = 'list.html' - edit_url = 'edit item' - list_url = 'items list' - template_name = 'list.html' - page_title = f"{Model.__name__}s" - title_strf = "{item}" - subtitle_strf = "" - body_strf = "" - active_tabs = [] - - def get_context_data(self): - items = self.Model.objects.all() - context = { - 'title': self.page_title, - 'items': [ - { - 'id': item.id, - 'title': self.title_strf.format(item=item, **model_to_dict(item)), - 'subtitle': self.subtitle_strf.format(item=item, **model_to_dict(item)), - 'body': self.body_strf.format(item=item, **model_to_dict(item)), - 'buttons': [ - { - 'label': 'Edit', - 'href': reverse(self.edit_url, args=[item.id]) - } - ] - } - for item in items - ] - } - for tab in self.active_tabs: - context[tab] = 'active' - return context - -class BenchcoachEditView(TemplateView): - Form: forms.ModelForm = None - Model: models.Model = None - edit_url = 'edit item' - list_url = 'items list' - - def post(self, request, *args, **kwargs): - id = kwargs.get('id') - # create a form instance and populate it with data from the request: - if id: - instance = get_object_or_404(self.Model, id=id) - form = self.Form(request.POST or None, instance=instance) - else: - form = self.Form(request.POST or None) - # check whether it's valid: - if form.is_valid(): - # process the data in form.cleaned_data as required - # ... - # redirect to a new URL: - new_item, did_create = self.Model.objects.update_or_create(pk=id, defaults=form.cleaned_data) - return render(request, 'success.html', {'call_back_url': reverse(self.list_url), 'id': new_item.id}, - status=201 if did_create else 200) - return HttpResponseBadRequest() - - def get(self, request, *args, **kwargs): - pass - id = kwargs.get('id') - if id: - instance = get_object_or_404(self.Model, id=id) - form = self.Form(request.POST or None, instance=instance) - else: - form = self.Form - return render(request, 'edit.html', {'form': form, 'id': id, 'call_back': self.edit_url}) diff --git a/load_blaseball.sh b/load_blaseball.sh deleted file mode 100755 index 69786f7..0000000 --- a/load_blaseball.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -PROJECT_PATH="." -PYTHON_PATH="$PROJECT_PATH/venv/bin/python" -FIXTURES="blaseball" -MANAGE_PY_PATH="$PROJECT_PATH/manage.py" -bash -cl "$PYTHON_PATH $MANAGE_PY_PATH flush --no-input" -bash -cl "$PYTHON_PATH $MANAGE_PY_PATH loaddata $FIXTURES" diff --git a/load_cmba.sh b/load_cmba.sh deleted file mode 100755 index 9ed8411..0000000 --- a/load_cmba.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -PROJECT_PATH="." -PYTHON_PATH="$PROJECT_PATH/venv/bin/python" -FIXTURES="2021cmba" -MANAGE_PY_PATH="$PROJECT_PATH/manage.py" -bash -cl "$PYTHON_PATH $MANAGE_PY_PATH flush --no-input" -bash -cl "$PYTHON_PATH $MANAGE_PY_PATH loaddata $FIXTURES" diff --git a/local.yml b/local.yml new file mode 100644 index 0000000..cf79156 --- /dev/null +++ b/local.yml @@ -0,0 +1,66 @@ +version: '3' + +volumes: + benchcoach_local_postgres_data: {} + benchcoach_local_postgres_data_backups: {} + +services: + django: + build: + context: . + dockerfile: ./compose/local/django/Dockerfile + image: benchcoach_local_django + container_name: benchcoach_local_django + platform: linux/x86_64 + depends_on: + - postgres + volumes: + - .:/app:z + env_file: + - ./.envs/.local/.django + - ./.envs/.local/.postgres + ports: + - "8000:8000" + command: /start + + postgres: + build: + context: . + dockerfile: ./compose/production/postgres/Dockerfile + image: benchcoach_production_postgres + container_name: benchcoach_local_postgres + volumes: + - benchcoach_local_postgres_data:/var/lib/postgresql/data:Z + - benchcoach_local_postgres_data_backups:/backups:z + env_file: + - ./.envs/.local/.postgres + + docs: + image: benchcoach_local_docs + container_name: benchcoach_local_docs + platform: linux/x86_64 + build: + context: . + dockerfile: ./compose/local/docs/Dockerfile + env_file: + - ./.envs/.local/.django + volumes: + - ./docs:/docs:z + - ./config:/app/config:z + - ./benchcoach:/app/benchcoach:z + ports: + - "9000:9000" + command: /start-docs + + nginx-proxy: + image: jwilder/nginx-proxy:alpine + container_name: nginx-proxy + ports: + - "80:80" + - "443:443" + volumes: + - /var/run/docker.sock:/tmp/docker.sock:ro + - ./certs:/etc/nginx/certs + restart: always + depends_on: + - django diff --git a/locale/README.rst b/locale/README.rst new file mode 100644 index 0000000..c2f1dcd --- /dev/null +++ b/locale/README.rst @@ -0,0 +1,6 @@ +Translations +============ + +Translations will be placed in this folder when running:: + + python manage.py makemessages diff --git a/manage.py b/manage.py index d3bf4f3..fca712f 100755 --- a/manage.py +++ b/manage.py @@ -1,22 +1,31 @@ #!/usr/bin/env python -"""Django's command-line utility for administrative tasks.""" import os import sys +from pathlib import Path +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") -def main(): - """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'benchcoachproject.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 + except ImportError: + # The above import may fail for some other reason. Ensure that the + # issue is really that Django is missing to avoid masking other + # exceptions on Python 2. + try: + import django # noqa + except ImportError: + 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?" + ) + + raise + + # This allows easy placement of apps within the interior + # benchcoach directory. + current_path = Path(__file__).parent.resolve() + sys.path.append(str(current_path / "benchcoach")) + execute_from_command_line(sys.argv) - - -if __name__ == '__main__': - main() diff --git a/merge_production_dotenvs_in_dotenv.py b/merge_production_dotenvs_in_dotenv.py new file mode 100644 index 0000000..09fedbb --- /dev/null +++ b/merge_production_dotenvs_in_dotenv.py @@ -0,0 +1,67 @@ +import os +from pathlib import Path +from typing import Sequence + +import pytest + +ROOT_DIR_PATH = Path(__file__).parent.resolve() +PRODUCTION_DOTENVS_DIR_PATH = ROOT_DIR_PATH / ".envs" / ".production" +PRODUCTION_DOTENV_FILE_PATHS = [ + PRODUCTION_DOTENVS_DIR_PATH / ".django", + PRODUCTION_DOTENVS_DIR_PATH / ".postgres", +] +DOTENV_FILE_PATH = ROOT_DIR_PATH / ".env" + + +def merge( + output_file_path: str, merged_file_paths: Sequence[str], append_linesep: bool = True +) -> None: + with open(output_file_path, "w") as output_file: + for merged_file_path in merged_file_paths: + with open(merged_file_path) as merged_file: + merged_file_content = merged_file.read() + output_file.write(merged_file_content) + if append_linesep: + output_file.write(os.linesep) + + +def main(): + merge(DOTENV_FILE_PATH, PRODUCTION_DOTENV_FILE_PATHS) + + +@pytest.mark.parametrize("merged_file_count", range(3)) +@pytest.mark.parametrize("append_linesep", [True, False]) +def test_merge(tmpdir_factory, merged_file_count: int, append_linesep: bool): + tmp_dir_path = Path(str(tmpdir_factory.getbasetemp())) + + output_file_path = tmp_dir_path / ".env" + + expected_output_file_content = "" + merged_file_paths = [] + for i in range(merged_file_count): + merged_file_ord = i + 1 + + merged_filename = f".service{merged_file_ord}" + merged_file_path = tmp_dir_path / merged_filename + + merged_file_content = merged_filename * merged_file_ord + + with open(merged_file_path, "w+") as file: + file.write(merged_file_content) + + expected_output_file_content += merged_file_content + if append_linesep: + expected_output_file_content += os.linesep + + merged_file_paths.append(merged_file_path) + + merge(output_file_path, merged_file_paths, append_linesep) + + with open(output_file_path) as output_file: + actual_output_file_content = output_file.read() + + assert actual_output_file_content == expected_output_file_content + + +if __name__ == "__main__": + main() diff --git a/production.yml b/production.yml new file mode 100644 index 0000000..1dc6515 --- /dev/null +++ b/production.yml @@ -0,0 +1,48 @@ +version: '3' + +volumes: + production_postgres_data: {} + production_postgres_data_backups: {} + production_traefik: {} + +services: + django: + build: + context: . + dockerfile: ./compose/production/django/Dockerfile + image: benchcoach_production_django + platform: linux/x86_64 + depends_on: + - postgres + - redis + env_file: + - ./.envs/.production/.django + - ./.envs/.production/.postgres + command: /start + + postgres: + build: + context: . + dockerfile: ./compose/production/postgres/Dockerfile + image: benchcoach_production_postgres + volumes: + - production_postgres_data:/var/lib/postgresql/data:Z + - production_postgres_data_backups:/backups:z + env_file: + - ./.envs/.production/.postgres + + traefik: + build: + context: . + dockerfile: ./compose/production/traefik/Dockerfile + image: benchcoach_production_traefik + depends_on: + - django + volumes: + - production_traefik:/etc/traefik/acme:z + ports: + - "0.0.0.0:80:80" + - "0.0.0.0:443:443" + + redis: + image: redis:6 diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..c2b3a23 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +addopts = --ds=config.settings.test --reuse-db +python_files = tests.py test_*.py diff --git a/reload_teamsnap.sh b/reload_teamsnap.sh deleted file mode 100644 index e5d85e2..0000000 --- a/reload_teamsnap.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -PROJECT_PATH="/Users/asc/PycharmProjects_Local/benchcoach" -PYTHON_PATH="$PROJECT_PATH/venv/bin/python" -FIXTURES="2021cmba" -MANAGE_PY_PATH="$PROJECT_PATH/manage.py" -bash -cl "$PYTHON_PATH $MANAGE_PY_PATH migrate teamsnap zero" -bash -cl "$PYTHON_PATH $MANAGE_PY_PATH migrate teamsnap" -bash -cl "$PYTHON_PATH $PROJECT_PATH/teamsnap/scripts/import_teamsnap.py" \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index c02e29d..0000000 --- a/requirements.txt +++ /dev/null @@ -1,51 +0,0 @@ -alabaster==0.7.12 -api-client==1.3.1 -asgiref==3.4.1 -Babel==2.9.1 -beautifulsoup4==4.9.3 -certifi==2021.5.30 -charset-normalizer==2.0.4 -collection-json==0.1.1 -dj-database-url==0.5.0 -Django==3.2.6 -django-heroku==0.3.1 -docutils==0.17.1 -flake8==4.0.1 -gunicorn==20.1.0 -idna==3.2 -imagesize==1.3.0 -importlib-metadata==3.10.1 -Jinja2==3.0.3 -libsass==0.21.0 -MarkupSafe==2.0.1 -mccabe==0.6.1 -multidict==5.2.0 -packaging==21.3 -Pillow==8.3.1 -psycopg2==2.9.2 -pycodestyle==2.8.0 -pyflakes==2.4.0 -Pygments==2.10.0 -pyparsing==3.0.6 -git+https://github.com/anthonyscorrea/pyteamsnap.git@37fb9d8fce9ed2966c8128309147f7eb3bb1c7b4#egg=pyteamsnap -pytz==2021.3 -PyYAML==6.0 -requests==2.26.0 -six==1.16.0 -snowballstemmer==2.2.0 -soupsieve==2.2.1 -Sphinx==4.3.1 -sphinxcontrib-applehelp==1.0.2 -sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-htmlhelp==2.0.0 -sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.3 -sphinxcontrib-serializinghtml==1.1.5 -sqlparse==0.4.1 -tenacity==8.0.1 -urllib3==1.26.6 -vcrpy==4.1.1 -whitenoise==5.3.0 -wrapt==1.13.3 -yarl==1.7.2 -zipp==3.5.0 diff --git a/requirements/base.txt b/requirements/base.txt new file mode 100644 index 0000000..6c566dc --- /dev/null +++ b/requirements/base.txt @@ -0,0 +1,17 @@ +pytz==2022.1 # https://github.com/stub42/pytz +python-slugify==6.1.2 # https://github.com/un33k/python-slugify +Pillow==9.1.1 # https://github.com/python-pillow/Pillow +argon2-cffi==21.3.0 # https://github.com/hynek/argon2_cffi +whitenoise==6.1.0 # https://github.com/evansd/whitenoise +redis==4.3.1 # https://github.com/redis/redis-py +hiredis==2.0.0 # https://github.com/redis/hiredis-py + +# Django +# ------------------------------------------------------------------------------ +django==3.2.13 # pyup: < 4.0 # https://www.djangoproject.com/ +django-environ==0.8.1 # https://github.com/joke2k/django-environ +django-model-utils==4.2.0 # https://github.com/jazzband/django-model-utils +django-allauth==0.50.0 # https://github.com/pennersr/django-allauth +django-crispy-forms==1.14.0 # https://github.com/django-crispy-forms/django-crispy-forms +crispy-bootstrap5==0.6 # https://github.com/django-crispy-forms/crispy-bootstrap5 +django-redis==5.2.0 # https://github.com/jazzband/django-redis diff --git a/requirements/local.txt b/requirements/local.txt new file mode 100644 index 0000000..af3d56e --- /dev/null +++ b/requirements/local.txt @@ -0,0 +1,35 @@ +-r base.txt + +Werkzeug[watchdog]==2.0.3 # https://github.com/pallets/werkzeug +ipdb==0.13.9 # https://github.com/gotcha/ipdb +psycopg2==2.9.3 # https://github.com/psycopg/psycopg2 + +# Testing +# ------------------------------------------------------------------------------ +mypy==0.950 # https://github.com/python/mypy +django-stubs==1.9.0 # https://github.com/typeddjango/django-stubs +pytest==7.1.2 # https://github.com/pytest-dev/pytest +pytest-sugar==0.9.4 # https://github.com/Frozenball/pytest-sugar + +# Documentation +# ------------------------------------------------------------------------------ +sphinx==4.5.0 # https://github.com/sphinx-doc/sphinx +sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild + +# Code quality +# ------------------------------------------------------------------------------ +flake8==4.0.1 # https://github.com/PyCQA/flake8 +flake8-isort==4.1.1 # https://github.com/gforcada/flake8-isort +coverage==6.4 # https://github.com/nedbat/coveragepy +black==22.3.0 # https://github.com/psf/black +pylint-django==2.5.3 # https://github.com/PyCQA/pylint-django +pre-commit==2.19.0 # https://github.com/pre-commit/pre-commit + +# Django +# ------------------------------------------------------------------------------ +factory-boy==3.2.1 # https://github.com/FactoryBoy/factory_boy + +django-debug-toolbar==3.4.0 # https://github.com/jazzband/django-debug-toolbar +django-extensions==3.1.5 # https://github.com/django-extensions/django-extensions +django-coverage-plugin==2.0.3 # https://github.com/nedbat/django_coverage_plugin +pytest-django==4.5.2 # https://github.com/pytest-dev/pytest-django diff --git a/requirements/production.txt b/requirements/production.txt new file mode 100644 index 0000000..3c6a79b --- /dev/null +++ b/requirements/production.txt @@ -0,0 +1,10 @@ +# PRECAUTION: avoid production dependencies that aren't in development + +-r base.txt + +gunicorn==20.1.0 # https://github.com/benoitc/gunicorn +psycopg2==2.9.3 # https://github.com/psycopg/psycopg2 + +# Django +# ------------------------------------------------------------------------------ +django-anymail==8.6 # https://github.com/anymail/django-anymail diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..e1fcf64 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,40 @@ +[flake8] +max-line-length = 120 +exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules,venv + +[pycodestyle] +max-line-length = 120 +exclude = .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules,venv + +[isort] +line_length = 88 +known_first_party = benchcoach,config +multi_line_output = 3 +default_section = THIRDPARTY +skip = venv/ +skip_glob = **/migrations/*.py +include_trailing_comma = true +force_grid_wrap = 0 +use_parentheses = true + +[mypy] +python_version = 3.9 +check_untyped_defs = True +ignore_missing_imports = True +warn_unused_ignores = True +warn_redundant_casts = True +warn_unused_configs = True +plugins = mypy_django_plugin.main + +[mypy.plugins.django-stubs] +django_settings_module = config.settings.test + +[mypy-*.migrations.*] +# Django migrations should not produce any errors: +ignore_errors = True + +[coverage:run] +include = benchcoach/* +omit = *migrations*, *tests* +plugins = + django_coverage_plugin diff --git a/teamsnap/admin.py b/teamsnap/admin.py index 9ffa468..cdfa15c 100644 --- a/teamsnap/admin.py +++ b/teamsnap/admin.py @@ -1,11 +1,6 @@ from django.contrib import admin -from .models import User, Team, Location, Event, Member, Availability, Opponent + +from .models import Preferences # Register your models here. -admin.site.register(User) -admin.site.register(Team) -admin.site.register(Event) -admin.site.register(Location) -admin.site.register(Member) -admin.site.register(Availability) -admin.site.register(Opponent) \ No newline at end of file +admin.site.register(Preferences) diff --git a/teamsnap/apps.py b/teamsnap/apps.py index ba18c28..94abfa3 100644 --- a/teamsnap/apps.py +++ b/teamsnap/apps.py @@ -2,5 +2,5 @@ from django.apps import AppConfig class TeamsnapConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'teamsnap' + default_auto_field = "django.db.models.BigAutoField" + name = "teamsnap" diff --git a/teamsnap/fixtures/2021cmba.json b/teamsnap/fixtures/2021cmba.json deleted file mode 100644 index bd96ca1..0000000 --- a/teamsnap/fixtures/2021cmba.json +++ /dev/null @@ -1,18235 +0,0 @@ -[ - { - "model": "teamsnap.team", - "pk": "6882652", - "fields": { - "created_at": null, - "updated_at": null, - "name": null, - "benchcoach_object": null - } - }, - { - "model": "teamsnap.team", - "pk": "6884453", - "fields": { - "created_at": null, - "updated_at": null, - "name": null, - "benchcoach_object": null - } - }, - { - "model": "teamsnap.team", - "pk": "7180130", - "fields": { - "created_at": null, - "updated_at": null, - "name": null, - "benchcoach_object": null - } - }, - { - "model": "teamsnap.team", - "pk": "7289600", - "fields": { - "created_at": null, - "updated_at": null, - "name": null, - "benchcoach_object": null - } - }, - { - "model": "teamsnap.team", - "pk": "7644001", - "fields": { - "created_at": "2021-09-09T12:13:11Z", - "updated_at": "2021-12-13T19:43:11Z", - "name": "Hounds", - "benchcoach_object": 1 - } - }, - { - "model": "teamsnap.user", - "pk": "25560745", - "fields": { - "created_at": "2021-12-17T01:33:40Z", - "updated_at": "2021-12-17T01:33:41Z", - "first_name": "Tony", - "last_name": "Correa", - "email": "manager@chihounds.com", - "managed_teams": [ - "6882652", - "6884453", - "7180130", - "7289600", - "7644001" - ] - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016576", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Vikings", - "benchcoach_object": 8 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016577", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Marlins", - "benchcoach_object": 9 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016578", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Electrons", - "benchcoach_object": 4 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016579", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Orioles", - "benchcoach_object": 7 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016580", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Trojans", - "benchcoach_object": 5 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016581", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Ramirez Baseball", - "benchcoach_object": 12 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016582", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Browns", - "benchcoach_object": 6 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016583", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Aviators", - "benchcoach_object": 13 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016584", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Red Sox", - "benchcoach_object": 14 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016585", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Yankees", - "benchcoach_object": 15 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016586", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T15:31:27Z", - "team": "7644001", - "name": "Pirates", - "benchcoach_object": 16 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016587", - "fields": { - "created_at": "2020-08-30T19:13:58Z", - "updated_at": "2020-08-30T19:13:58Z", - "team": "7644001", - "name": "TBD", - "benchcoach_object": 2 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016588", - "fields": { - "created_at": "2021-04-10T14:31:30Z", - "updated_at": "2021-04-10T14:31:30Z", - "team": "7644001", - "name": "White Sox", - "benchcoach_object": 3 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016589", - "fields": { - "created_at": "2021-04-14T21:05:42Z", - "updated_at": "2021-04-14T21:05:42Z", - "team": "7644001", - "name": "Dodgers", - "benchcoach_object": 10 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016590", - "fields": { - "created_at": "2021-04-14T21:05:42Z", - "updated_at": "2021-04-14T21:05:42Z", - "team": "7644001", - "name": "DegenerateX", - "benchcoach_object": 11 - } - }, - { - "model": "teamsnap.opponent", - "pk": "79016670", - "fields": { - "created_at": "2021-09-09T12:15:43Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "name": "Unknown Opponent", - "benchcoach_object": 17 - } - }, - { - "model": "teamsnap.location", - "pk": "58570681", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T19:56:48Z", - "team": "7644001", - "name": "Winnemac Park", - "benchcoach_object": 1 - } - }, - { - "model": "teamsnap.location", - "pk": "58570682", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T19:56:48Z", - "team": "7644001", - "name": "Taft HS", - "benchcoach_object": 14 - } - }, - { - "model": "teamsnap.location", - "pk": "58570683", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T19:56:48Z", - "team": "7644001", - "name": "Walther Christian Academy", - "benchcoach_object": 3 - } - }, - { - "model": "teamsnap.location", - "pk": "58570684", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T19:56:48Z", - "team": "7644001", - "name": "Southwest Park", - "benchcoach_object": 6 - } - }, - { - "model": "teamsnap.location", - "pk": "58570685", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2021-05-08T13:27:06Z", - "team": "7644001", - "name": "Maywood Park", - "benchcoach_object": 4 - } - }, - { - "model": "teamsnap.location", - "pk": "58570686", - "fields": { - "created_at": "2020-02-21T15:31:27Z", - "updated_at": "2020-02-21T19:56:48Z", - "team": "7644001", - "name": "Proviso West HS", - "benchcoach_object": 15 - } - }, - { - "model": "teamsnap.location", - "pk": "58570687", - "fields": { - "created_at": "2020-02-21T16:28:03Z", - "updated_at": "2020-02-21T19:56:48Z", - "team": "7644001", - "name": "Bradley Sports Center", - "benchcoach_object": 16 - } - }, - { - "model": "teamsnap.location", - "pk": "58570688", - "fields": { - "created_at": "2020-03-11T12:33:59Z", - "updated_at": "2020-03-11T12:33:59Z", - "team": "7644001", - "name": "El Catrin", - "benchcoach_object": 17 - } - }, - { - "model": "teamsnap.location", - "pk": "58570689", - "fields": { - "created_at": "2020-04-10T23:05:38Z", - "updated_at": "2020-04-10T23:05:38Z", - "team": "7644001", - "name": "Twitch", - "benchcoach_object": 18 - } - }, - { - "model": "teamsnap.location", - "pk": "58570690", - "fields": { - "created_at": "2020-04-29T01:36:58Z", - "updated_at": "2020-04-29T01:44:34Z", - "team": "7644001", - "name": "Skype", - "benchcoach_object": 19 - } - }, - { - "model": "teamsnap.location", - "pk": "58570691", - "fields": { - "created_at": "2020-06-16T12:14:39Z", - "updated_at": "2020-06-16T12:14:39Z", - "team": "7644001", - "name": "El Catrin", - "benchcoach_object": 20 - } - }, - { - "model": "teamsnap.location", - "pk": "58570692", - "fields": { - "created_at": "2020-08-13T15:44:22Z", - "updated_at": "2020-08-13T15:44:22Z", - "team": "7644001", - "name": "Horner Park", - "benchcoach_object": 21 - } - }, - { - "model": "teamsnap.location", - "pk": "58570693", - "fields": { - "created_at": "2020-09-16T18:37:24Z", - "updated_at": "2020-09-16T18:37:24Z", - "team": "7644001", - "name": "TBD", - "benchcoach_object": 22 - } - }, - { - "model": "teamsnap.location", - "pk": "58570694", - "fields": { - "created_at": "2020-09-21T17:35:18Z", - "updated_at": "2020-09-21T17:35:18Z", - "team": "7644001", - "name": "K's Dugout", - "benchcoach_object": 11 - } - }, - { - "model": "teamsnap.location", - "pk": "58570695", - "fields": { - "created_at": "2021-03-23T18:04:33Z", - "updated_at": "2021-03-29T15:49:43Z", - "team": "7644001", - "name": "Jane Addams Park", - "benchcoach_object": 2 - } - }, - { - "model": "teamsnap.location", - "pk": "58570696", - "fields": { - "created_at": "2021-04-14T21:05:42Z", - "updated_at": "2021-07-18T18:18:15Z", - "team": "7644001", - "name": "Ozinga", - "benchcoach_object": 12 - } - }, - { - "model": "teamsnap.location", - "pk": "58570697", - "fields": { - "created_at": "2021-04-14T21:05:42Z", - "updated_at": "2021-04-21T23:04:34Z", - "team": "7644001", - "name": "Simeon", - "benchcoach_object": 7 - } - }, - { - "model": "teamsnap.location", - "pk": "58570698", - "fields": { - "created_at": "2021-05-07T21:54:47Z", - "updated_at": "2021-05-07T21:54:47Z", - "team": "7644001", - "name": "Horner Park", - "benchcoach_object": 5 - } - }, - { - "model": "teamsnap.location", - "pk": "58570699", - "fields": { - "created_at": "2021-06-16T23:13:02Z", - "updated_at": "2021-06-22T01:18:29Z", - "team": "7644001", - "name": "Casa de los Charlies", - "benchcoach_object": 10 - } - }, - { - "model": "teamsnap.location", - "pk": "58570700", - "fields": { - "created_at": "2021-06-16T23:14:02Z", - "updated_at": "2021-06-16T23:14:02Z", - "team": "7644001", - "name": "Phyllis' Musical Inn", - "benchcoach_object": 9 - } - }, - { - "model": "teamsnap.location", - "pk": "58570701", - "fields": { - "created_at": "2021-06-16T23:14:53Z", - "updated_at": "2021-06-16T23:14:53Z", - "team": "7644001", - "name": "Kedzie Inn", - "benchcoach_object": 8 - } - }, - { - "model": "teamsnap.location", - "pk": "58570702", - "fields": { - "created_at": "2021-07-25T01:32:41Z", - "updated_at": "2021-08-02T11:49:11Z", - "team": "7644001", - "name": "Lemont High School", - "benchcoach_object": 13 - } - }, - { - "model": "teamsnap.location", - "pk": "58570720", - "fields": { - "created_at": "2021-09-09T12:15:43Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "name": "Unknown Location", - "benchcoach_object": 23 - } - }, - { - "model": "teamsnap.member", - "pk": "97438466", - "fields": { - "created_at": "2020-02-20T14:09:50Z", - "updated_at": "2021-12-13T19:43:11Z", - "team": "7644001", - "benchcoach_object": 13, - "first_name": "Tony", - "last_name": "Correa", - "jersey_number": 13, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438467", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 1, - "first_name": "Matt", - "last_name": "Burch", - "jersey_number": 6, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438470", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 6, - "first_name": "Garrett", - "last_name": "Eddy", - "jersey_number": 17, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438471", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:13:39Z", - "team": "7644001", - "benchcoach_object": null, - "first_name": "Kurt", - "last_name": "Kerrigan", - "jersey_number": 4, - "is_non_player": true - } - }, - { - "model": "teamsnap.member", - "pk": "97438474", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 22, - "first_name": "Matthew", - "last_name": "Steffens", - "jersey_number": 5, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438475", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 10, - "first_name": "Mike", - "last_name": "DiCola", - "jersey_number": 28, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438479", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 11, - "first_name": "Arron", - "last_name": "Kruse", - "jersey_number": 11, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438480", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 8, - "first_name": "Hans", - "last_name": "Hetrick", - "jersey_number": 18, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438497", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 2, - "first_name": "Tim", - "last_name": "Riggenbach", - "jersey_number": 8, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438499", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "benchcoach_object": null, - "first_name": "Joseph", - "last_name": "Johnston", - "jersey_number": 20, - "is_non_player": true - } - }, - { - "model": "teamsnap.member", - "pk": "97438501", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 9, - "first_name": "Nick", - "last_name": "Schmidt", - "jersey_number": 23, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438503", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "benchcoach_object": null, - "first_name": "T.J.", - "last_name": "Rinaldi", - "jersey_number": 1, - "is_non_player": true - } - }, - { - "model": "teamsnap.member", - "pk": "97438506", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 7, - "first_name": "Brian", - "last_name": "Lehman", - "jersey_number": 2, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438510", - "fields": { - "created_at": "2020-02-21T16:37:09Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 12, - "first_name": "Phil", - "last_name": "Zelenka", - "jersey_number": 21, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438511", - "fields": { - "created_at": "2020-02-25T17:14:08Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 5, - "first_name": "Philip", - "last_name": "Oweimrin", - "jersey_number": 25, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438513", - "fields": { - "created_at": "2020-02-26T02:51:54Z", - "updated_at": "2021-09-09T12:15:04Z", - "team": "7644001", - "benchcoach_object": null, - "first_name": "Melanie", - "last_name": "Harmon", - "jersey_number": null, - "is_non_player": true - } - }, - { - "model": "teamsnap.member", - "pk": "97438514", - "fields": { - "created_at": "2020-02-29T21:52:55Z", - "updated_at": "2021-09-09T12:15:10Z", - "team": "7644001", - "benchcoach_object": null, - "first_name": "Aidan", - "last_name": "French", - "jersey_number": 12, - "is_non_player": true - } - }, - { - "model": "teamsnap.member", - "pk": "97438517", - "fields": { - "created_at": "2020-03-08T02:27:39Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 3, - "first_name": "Max", - "last_name": "Kiefer", - "jersey_number": 99, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438518", - "fields": { - "created_at": "2020-03-13T21:03:24Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 14, - "first_name": "Thomas", - "last_name": "Feazelle", - "jersey_number": 44, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438524", - "fields": { - "created_at": "2020-06-03T03:29:03Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 4, - "first_name": "Alec", - "last_name": "Reinke", - "jersey_number": 14, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438528", - "fields": { - "created_at": "2020-06-15T13:16:09Z", - "updated_at": "2021-09-09T12:15:30Z", - "team": "7644001", - "benchcoach_object": 25, - "first_name": "Brad", - "last_name": "Halperin", - "jersey_number": 15, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438530", - "fields": { - "created_at": "2021-03-28T18:53:31Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 17, - "first_name": "Greg", - "last_name": "Sells", - "jersey_number": 19, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438531", - "fields": { - "created_at": "2021-03-28T18:54:49Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 15, - "first_name": "Jules", - "last_name": "Cantor", - "jersey_number": 34, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438534", - "fields": { - "created_at": "2021-03-28T18:56:16Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 16, - "first_name": "Joe", - "last_name": "Malafronte", - "jersey_number": 17, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438535", - "fields": { - "created_at": "2021-04-19T22:33:10Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 19, - "first_name": "Brandon", - "last_name": "Jessee", - "jersey_number": 3, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438536", - "fields": { - "created_at": "2021-04-20T03:37:16Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 18, - "first_name": "Brent", - "last_name": "Fukushima", - "jersey_number": 27, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438537", - "fields": { - "created_at": "2021-04-24T19:33:43Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 20, - "first_name": "John", - "last_name": "Lundgren", - "jersey_number": 34, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438538", - "fields": { - "created_at": "2021-04-28T12:37:06Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 21, - "first_name": "Amanda", - "last_name": "Mordacq", - "jersey_number": 41, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438539", - "fields": { - "created_at": "2021-04-28T12:37:52Z", - "updated_at": "2021-04-29T14:02:34Z", - "team": "7644001", - "benchcoach_object": null, - "first_name": "Mike", - "last_name": "Primavera", - "jersey_number": null, - "is_non_player": true - } - }, - { - "model": "teamsnap.member", - "pk": "97438540", - "fields": { - "created_at": "2021-05-12T13:58:51Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 23, - "first_name": "Cole", - "last_name": "Thompson", - "jersey_number": 24, - "is_non_player": false - } - }, - { - "model": "teamsnap.member", - "pk": "97438543", - "fields": { - "created_at": "2021-06-09T14:13:40Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 24, - "first_name": "Adrien", - "last_name": "Kelly", - "jersey_number": 45, - "is_non_player": false - } - }, - { - "model": "teamsnap.event", - "pk": "239261604", - "fields": { - "created_at": "2021-03-01T17:28:51Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "benchcoach_object": 5, - "label": "Pre#2", - "start_date": "2021-04-11T15:00:00Z", - "opponent": "79016588", - "location": "58570695", - "formatted_title": "Pre#2 vs. White Sox", - "points_for_opponent": null, - "points_for_team": null, - "is_game": true, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "239470955", - "fields": { - "created_at": "2021-03-03T22:09:49Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "benchcoach_object": 1, - "label": "P#1", - "start_date": "2021-03-11T23:30:00Z", - "opponent": null, - "location": "58570681", - "formatted_title": "Practice", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "239471074", - "fields": { - "created_at": "2021-03-03T22:11:22Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "benchcoach_object": 2, - "label": "P#2", - "start_date": "2021-03-21T18:00:00Z", - "opponent": null, - "location": "58570681", - "formatted_title": "Practice", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "239656151", - "fields": { - "created_at": "2021-03-06T23:55:30Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "benchcoach_object": 6, - "label": "Pre#3", - "start_date": "2021-04-17T15:00:00Z", - "opponent": "79016578", - "location": "58570681", - "formatted_title": "Pre#3 vs. Electrons", - "points_for_opponent": null, - "points_for_team": null, - "is_game": true, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "240842589", - "fields": { - "created_at": "2021-03-23T00:10:49Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "benchcoach_object": 7, - "label": "Pre#4", - "start_date": "2021-04-24T15:00:00Z", - "opponent": "79016580", - "location": "58570681", - "formatted_title": "Pre#4 vs. Trojans", - "points_for_opponent": null, - "points_for_team": null, - "is_game": true, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "240896091", - "fields": { - "created_at": "2021-03-23T18:06:38Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "benchcoach_object": 3, - "label": "Pre#1", - "start_date": "2021-03-28T21:00:00Z", - "opponent": "79016587", - "location": "58570695", - "formatted_title": "Pre#1 vs. TBD", - "points_for_opponent": null, - "points_for_team": null, - "is_game": true, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "241259079", - "fields": { - "created_at": "2021-03-29T00:13:39Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "benchcoach_object": 4, - "label": "P#3", - "start_date": "2021-04-03T17:00:00Z", - "opponent": null, - "location": "58570681", - "formatted_title": "Scrimmage vs. White Sox", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "242498915", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "benchcoach_object": 9, - "label": "G#01", - "start_date": "2021-05-01T17:30:00Z", - "opponent": "79016582", - "location": "58570681", - "formatted_title": "G#01 at Browns", - "points_for_opponent": 1, - "points_for_team": 11, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498916", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "benchcoach_object": 10, - "label": "G#02", - "start_date": "2021-05-02T15:00:00Z", - "opponent": "79016579", - "location": "58570683", - "formatted_title": "G#02 at Orioles", - "points_for_opponent": 7, - "points_for_team": 4, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498917", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "benchcoach_object": 11, - "label": "G#03", - "start_date": "2021-05-06T22:50:00Z", - "opponent": "79016576", - "location": "58570685", - "formatted_title": "G#03 vs. Vikings", - "points_for_opponent": 0, - "points_for_team": 4, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498918", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "benchcoach_object": 12, - "label": "G#04", - "start_date": "2021-05-08T17:30:00Z", - "opponent": "79016580", - "location": "58570685", - "formatted_title": "G#04 at Trojans", - "points_for_opponent": 11, - "points_for_team": 7, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498919", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "benchcoach_object": 14, - "label": "G#05", - "start_date": "2021-05-16T14:30:00Z", - "opponent": "79016577", - "location": "58570684", - "formatted_title": "G#05 vs. Marlins", - "points_for_opponent": 16, - "points_for_team": 8, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498920", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "benchcoach_object": 15, - "label": "G#06", - "start_date": "2021-05-22T00:30:00Z", - "opponent": "79016589", - "location": "58570697", - "formatted_title": "G#06 vs. Dodgers", - "points_for_opponent": 6, - "points_for_team": 3, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498921", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "benchcoach_object": 16, - "label": "G#07", - "start_date": "2021-05-22T17:30:00Z", - "opponent": "79016580", - "location": "58570685", - "formatted_title": "G#07 vs. Trojans", - "points_for_opponent": 7, - "points_for_team": 9, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498922", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "benchcoach_object": 17, - "label": "G#08", - "start_date": "2021-05-23T15:00:00Z", - "opponent": "79016579", - "location": "58570683", - "formatted_title": "G#08 vs. Orioles", - "points_for_opponent": 8, - "points_for_team": 1, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498923", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "benchcoach_object": 18, - "label": "G#09", - "start_date": "2021-05-30T14:30:00Z", - "opponent": "79016582", - "location": "58570681", - "formatted_title": "G#09 vs. Browns", - "points_for_opponent": 6, - "points_for_team": 7, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498924", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "benchcoach_object": 19, - "label": "G#10", - "start_date": "2021-06-01T22:50:00Z", - "opponent": "79016590", - "location": "58570681", - "formatted_title": "G#10 at DegenerateX", - "points_for_opponent": 10, - "points_for_team": 5, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498925", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "benchcoach_object": 20, - "label": "G#11", - "start_date": "2021-06-03T22:50:00Z", - "opponent": "79016576", - "location": "58570681", - "formatted_title": "G#11 at Vikings", - "points_for_opponent": 2, - "points_for_team": 11, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498926", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "benchcoach_object": 21, - "label": "G#12", - "start_date": "2021-06-05T17:30:00Z", - "opponent": "79016576", - "location": "58570681", - "formatted_title": "G#12 vs. Vikings", - "points_for_opponent": 10, - "points_for_team": 6, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498927", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "benchcoach_object": 22, - "label": "G#13", - "start_date": "2021-06-06T15:00:00Z", - "opponent": "79016579", - "location": "58570683", - "formatted_title": "G#13 at Orioles", - "points_for_opponent": 6, - "points_for_team": 7, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498928", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "benchcoach_object": 23, - "label": "G#14", - "start_date": "2021-06-10T22:50:00Z", - "opponent": "79016578", - "location": "58570681", - "formatted_title": "G#14 vs. Electrons", - "points_for_opponent": 7, - "points_for_team": 1, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498929", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "benchcoach_object": 24, - "label": "G#15", - "start_date": "2021-06-13T14:30:00Z", - "opponent": "79016582", - "location": "58570685", - "formatted_title": "G#15 at Browns", - "points_for_opponent": 1, - "points_for_team": 4, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498930", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "benchcoach_object": 25, - "label": "G#16", - "start_date": "2021-06-16T00:30:00Z", - "opponent": "79016589", - "location": "58570697", - "formatted_title": "G#16 at Dodgers", - "points_for_opponent": 9, - "points_for_team": 3, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498931", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "benchcoach_object": 27, - "label": "G#17", - "start_date": "2021-06-19T14:30:00Z", - "opponent": "79016588", - "location": "58570681", - "formatted_title": "G#17 at White Sox", - "points_for_opponent": 7, - "points_for_team": 5, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498932", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "benchcoach_object": 28, - "label": "G#18", - "start_date": "2021-06-19T17:30:00Z", - "opponent": "79016588", - "location": "58570681", - "formatted_title": "G#18 vs. White Sox", - "points_for_opponent": 17, - "points_for_team": 4, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498933", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 40, - "label": "G#19", - "start_date": "2021-07-29T22:50:00Z", - "opponent": "79016577", - "location": "58570684", - "formatted_title": "G#19 at Marlins", - "points_for_opponent": 13, - "points_for_team": 6, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498934", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "benchcoach_object": 36, - "label": "G#20", - "start_date": "2021-07-15T22:50:00Z", - "opponent": "79016590", - "location": "58570685", - "formatted_title": "G#20 vs. DegenerateX", - "points_for_opponent": 14, - "points_for_team": 3, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498935", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "benchcoach_object": 39, - "label": "G#21", - "start_date": "2021-07-23T00:15:00Z", - "opponent": "79016589", - "location": "58570697", - "formatted_title": "G#21 vs. Dodgers", - "points_for_opponent": 15, - "points_for_team": 3, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498936", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "benchcoach_object": 32, - "label": "G#22", - "start_date": "2021-07-08T22:50:00Z", - "opponent": "79016590", - "location": "58570685", - "formatted_title": "G#22 vs. DegenerateX", - "points_for_opponent": 3, - "points_for_team": 11, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498937", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "benchcoach_object": 33, - "label": "G#23", - "start_date": "2021-07-10T14:30:00Z", - "opponent": "79016578", - "location": "58570681", - "formatted_title": "G#23 at Electrons", - "points_for_opponent": 6, - "points_for_team": 5, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498938", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "benchcoach_object": 34, - "label": "G#24", - "start_date": "2021-07-11T14:30:00Z", - "opponent": "79016578", - "location": "58570681", - "formatted_title": "G#24 at Electrons", - "points_for_opponent": 4, - "points_for_team": 6, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498939", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "benchcoach_object": 35, - "label": "G#25", - "start_date": "2021-07-13T22:50:00Z", - "opponent": "79016588", - "location": "58570681", - "formatted_title": "G#25 at White Sox", - "points_for_opponent": 8, - "points_for_team": 9, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242498940", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "benchcoach_object": 37, - "label": "G#26", - "start_date": "2021-07-18T14:30:00Z", - "opponent": "79016577", - "location": "58570684", - "formatted_title": "G#26 vs. Marlins", - "points_for_opponent": 15, - "points_for_team": 5, - "is_game": true, - "game_type": "Home" - } - }, - { - "model": "teamsnap.event", - "pk": "242498941", - "fields": { - "created_at": "2021-04-14T21:05:43Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "benchcoach_object": 38, - "label": "G#27", - "start_date": "2021-07-22T01:00:00Z", - "opponent": "79016580", - "location": "58570696", - "formatted_title": "G#27 at Trojans", - "points_for_opponent": 4, - "points_for_team": 9, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.event", - "pk": "242871761", - "fields": { - "created_at": "2021-04-21T23:04:46Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "benchcoach_object": 8, - "label": "P#", - "start_date": "2021-04-27T22:30:36Z", - "opponent": null, - "location": "58570681", - "formatted_title": "Practice", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "243613982", - "fields": { - "created_at": "2021-05-07T21:56:35Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "benchcoach_object": 13, - "label": "P#", - "start_date": "2021-05-11T22:30:13Z", - "opponent": null, - "location": "58570698", - "formatted_title": "Practice", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "245405062", - "fields": { - "created_at": "2021-06-16T23:13:27Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "benchcoach_object": 30, - "label": null, - "start_date": "2021-06-26T00:30:04Z", - "opponent": null, - "location": "58570699", - "formatted_title": "Charlie Party", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "245405146", - "fields": { - "created_at": "2021-06-16T23:14:24Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "benchcoach_object": 26, - "label": null, - "start_date": "2021-06-19T01:00:11Z", - "opponent": null, - "location": "58570701", - "formatted_title": "Inroads Concert", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "245405185", - "fields": { - "created_at": "2021-06-16T23:15:33Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "benchcoach_object": 29, - "label": null, - "start_date": "2021-06-24T01:00:18Z", - "opponent": null, - "location": "58570700", - "formatted_title": "Unresolved Concert", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "245612928", - "fields": { - "created_at": "2021-06-22T01:18:47Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "benchcoach_object": 31, - "label": null, - "start_date": "2021-06-27T21:00:12Z", - "opponent": null, - "location": "58570694", - "formatted_title": "K’s Outdoor Open Mic", - "points_for_opponent": null, - "points_for_team": null, - "is_game": false, - "game_type": "Not Specified" - } - }, - { - "model": "teamsnap.event", - "pk": "247211697", - "fields": { - "created_at": "2021-07-24T00:01:10Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "benchcoach_object": 41, - "label": "PO#1", - "start_date": "2021-07-31T14:30:00Z", - "opponent": "79016582", - "location": "58570702", - "formatted_title": "PO#1 at Browns", - "points_for_opponent": 7, - "points_for_team": 2, - "is_game": true, - "game_type": "Away" - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-239261604", - "fields": { - "created_at": "2021-03-29T00:47:20Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438466", - "benchcoach_object": 50, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-239470955", - "fields": { - "created_at": "2021-04-14T21:08:10Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438466", - "benchcoach_object": 83, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-239471074", - "fields": { - "created_at": "2021-03-21T17:20:46Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438466", - "benchcoach_object": 34, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-239656151", - "fields": { - "created_at": "2021-03-29T00:47:22Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438466", - "benchcoach_object": 51, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-240842589", - "fields": { - "created_at": "2021-03-30T17:59:36Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438466", - "benchcoach_object": 61, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-240896091", - "fields": { - "created_at": "2021-03-24T18:57:06Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "240896091", - "member": "97438466", - "benchcoach_object": 43, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-241259079", - "fields": { - "created_at": "2021-03-30T13:18:04Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438466", - "benchcoach_object": 57, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498915", - "fields": { - "created_at": "2021-04-14T21:08:14Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438466", - "benchcoach_object": 84, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498916", - "fields": { - "created_at": "2021-04-21T23:02:58Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438466", - "benchcoach_object": 112, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498917", - "fields": { - "created_at": "2021-04-21T23:03:00Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438466", - "benchcoach_object": 113, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498918", - "fields": { - "created_at": "2021-04-21T23:03:02Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498918", - "member": "97438466", - "benchcoach_object": 114, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498919", - "fields": { - "created_at": "2021-04-21T23:03:04Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438466", - "benchcoach_object": 115, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498920", - "fields": { - "created_at": "2021-04-21T23:03:06Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438466", - "benchcoach_object": 116, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498921", - "fields": { - "created_at": "2021-04-21T23:03:09Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438466", - "benchcoach_object": 117, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498922", - "fields": { - "created_at": "2021-04-21T23:03:10Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438466", - "benchcoach_object": 118, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498923", - "fields": { - "created_at": "2021-04-21T23:03:12Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438466", - "benchcoach_object": 119, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498924", - "fields": { - "created_at": "2021-05-26T00:34:22Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438466", - "benchcoach_object": 413, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498925", - "fields": { - "created_at": "2021-05-26T00:34:23Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438466", - "benchcoach_object": 414, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498926", - "fields": { - "created_at": "2021-05-26T00:34:25Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438466", - "benchcoach_object": 415, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498927", - "fields": { - "created_at": "2021-05-26T00:34:26Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498927", - "member": "97438466", - "benchcoach_object": 416, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498928", - "fields": { - "created_at": "2021-05-26T00:34:30Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438466", - "benchcoach_object": 417, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498929", - "fields": { - "created_at": "2021-05-26T13:50:39Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438466", - "benchcoach_object": 430, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498930", - "fields": { - "created_at": "2021-05-26T13:50:41Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438466", - "benchcoach_object": 431, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498931", - "fields": { - "created_at": "2021-05-26T13:50:43Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438466", - "benchcoach_object": 432, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498932", - "fields": { - "created_at": "2021-05-26T13:50:45Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438466", - "benchcoach_object": 433, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498933", - "fields": { - "created_at": "2021-05-26T13:50:48Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438466", - "benchcoach_object": 434, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498934", - "fields": { - "created_at": "2021-05-26T13:50:49Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438466", - "benchcoach_object": 435, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498935", - "fields": { - "created_at": "2021-05-26T13:50:51Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438466", - "benchcoach_object": 436, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498936", - "fields": { - "created_at": "2021-06-28T17:59:47Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438466", - "benchcoach_object": 700, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498937", - "fields": { - "created_at": "2021-06-28T17:59:54Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498937", - "member": "97438466", - "benchcoach_object": 701, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498938", - "fields": { - "created_at": "2021-06-28T18:00:02Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438466", - "benchcoach_object": 702, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498939", - "fields": { - "created_at": "2021-06-28T18:00:04Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438466", - "benchcoach_object": 703, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498940", - "fields": { - "created_at": "2021-07-16T14:19:45Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438466", - "benchcoach_object": 755, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242498941", - "fields": { - "created_at": "2021-07-16T14:19:47Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498941", - "member": "97438466", - "benchcoach_object": 756, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-242871761", - "fields": { - "created_at": "2021-04-22T14:27:07Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438466", - "benchcoach_object": 129, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-243613982", - "fields": { - "created_at": "2021-05-08T22:21:43Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438466", - "benchcoach_object": 328, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-245405062", - "fields": { - "created_at": "2021-06-17T14:34:22Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438466", - "benchcoach_object": 627, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-245405146", - "fields": { - "created_at": "2021-06-17T03:27:15Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "245405146", - "member": "97438466", - "benchcoach_object": 624, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-245405185", - "fields": { - "created_at": "2021-06-18T18:51:05Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "245405185", - "member": "97438466", - "benchcoach_object": 641, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-245612928", - "fields": { - "created_at": "2021-06-27T21:24:16Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245612928", - "member": "97438466", - "benchcoach_object": 696, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438466-247211697", - "fields": { - "created_at": "2021-07-25T01:32:15Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438466", - "benchcoach_object": 763, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-239261604", - "fields": { - "created_at": "2021-03-01T17:56:09Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438467", - "benchcoach_object": 1, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-239470955", - "fields": { - "created_at": "2021-03-03T22:21:21Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438467", - "benchcoach_object": 2, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-239471074", - "fields": { - "created_at": "2021-03-03T22:21:45Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438467", - "benchcoach_object": 3, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-239656151", - "fields": { - "created_at": "2021-03-07T00:02:15Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438467", - "benchcoach_object": 12, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-240842589", - "fields": { - "created_at": "2021-03-23T00:19:32Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438467", - "benchcoach_object": 35, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-240896091", - "fields": { - "created_at": "2021-03-24T11:23:14Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "240896091", - "member": "97438467", - "benchcoach_object": 42, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-241259079", - "fields": { - "created_at": "2021-03-30T16:16:50Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438467", - "benchcoach_object": 59, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498915", - "fields": { - "created_at": "2021-04-19T19:09:35Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438467", - "benchcoach_object": 100, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498916", - "fields": { - "created_at": "2021-04-19T19:10:34Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438467", - "benchcoach_object": 103, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498917", - "fields": { - "created_at": "2021-04-19T19:10:13Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438467", - "benchcoach_object": 102, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498918", - "fields": { - "created_at": "2021-04-27T11:18:40Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498918", - "member": "97438467", - "benchcoach_object": 158, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498919", - "fields": { - "created_at": "2021-04-27T11:18:42Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438467", - "benchcoach_object": 159, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498920", - "fields": { - "created_at": "2021-04-29T19:56:40Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438467", - "benchcoach_object": 234, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498921", - "fields": { - "created_at": "2021-04-29T19:56:48Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438467", - "benchcoach_object": 235, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498922", - "fields": { - "created_at": "2021-04-29T19:56:50Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438467", - "benchcoach_object": 236, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498923", - "fields": { - "created_at": "2021-04-29T19:56:57Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438467", - "benchcoach_object": 237, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498924", - "fields": { - "created_at": "2021-04-29T19:57:04Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438467", - "benchcoach_object": 238, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498925", - "fields": { - "created_at": "2021-04-29T19:57:08Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438467", - "benchcoach_object": 239, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498926", - "fields": { - "created_at": "2021-04-29T19:57:11Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438467", - "benchcoach_object": 240, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498927", - "fields": { - "created_at": "2021-05-29T18:20:30Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498927", - "member": "97438467", - "benchcoach_object": 474, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498928", - "fields": { - "created_at": "2021-05-29T18:20:33Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438467", - "benchcoach_object": 475, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498929", - "fields": { - "created_at": "2021-05-29T18:20:37Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438467", - "benchcoach_object": 476, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498930", - "fields": { - "created_at": "2021-05-29T18:20:39Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438467", - "benchcoach_object": 477, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498931", - "fields": { - "created_at": "2021-05-29T18:20:42Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438467", - "benchcoach_object": 478, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498932", - "fields": { - "created_at": "2021-05-29T18:20:50Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438467", - "benchcoach_object": 479, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498933", - "fields": { - "created_at": "2021-05-29T18:20:51Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438467", - "benchcoach_object": 480, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498934", - "fields": { - "created_at": "2021-05-29T18:20:54Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438467", - "benchcoach_object": 481, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498935", - "fields": { - "created_at": "2021-05-29T18:20:56Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438467", - "benchcoach_object": 482, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498936", - "fields": { - "created_at": "2021-06-11T11:03:39Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438467", - "benchcoach_object": 571, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498937", - "fields": { - "created_at": "2021-06-11T11:03:45Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498937", - "member": "97438467", - "benchcoach_object": 572, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498938", - "fields": { - "created_at": "2021-06-11T11:03:47Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438467", - "benchcoach_object": 573, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498939", - "fields": { - "created_at": "2021-06-11T11:03:49Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438467", - "benchcoach_object": 574, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498940", - "fields": { - "created_at": "2021-06-11T11:03:54Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438467", - "benchcoach_object": 575, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242498941", - "fields": { - "created_at": "2021-06-11T11:03:58Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498941", - "member": "97438467", - "benchcoach_object": 576, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-242871761", - "fields": { - "created_at": "2021-04-21T23:14:37Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438467", - "benchcoach_object": 120, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-243613982", - "fields": { - "created_at": "2021-05-09T00:22:11Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438467", - "benchcoach_object": 329, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-245405062", - "fields": { - "created_at": "2021-06-16T23:23:47Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438467", - "benchcoach_object": 620, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-245405146", - "fields": { - "created_at": "2021-06-16T23:23:11Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "245405146", - "member": "97438467", - "benchcoach_object": 619, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-245405185", - "fields": { - "created_at": "2021-06-16T23:23:49Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "245405185", - "member": "97438467", - "benchcoach_object": 621, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-245612928", - "fields": { - "created_at": "2021-06-26T22:59:48Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245612928", - "member": "97438467", - "benchcoach_object": 694, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438467-247211697", - "fields": { - "created_at": "2021-07-25T20:09:21Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438467", - "benchcoach_object": 764, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-239261604", - "fields": { - "created_at": "2021-04-05T16:43:53Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438470", - "benchcoach_object": 72, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-239470955", - "fields": { - "created_at": "2021-03-08T14:59:14Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438470", - "benchcoach_object": 13, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-239471074", - "fields": { - "created_at": "2021-03-08T15:17:48Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438470", - "benchcoach_object": 14, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-239656151", - "fields": { - "created_at": "2021-04-05T16:45:18Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438470", - "benchcoach_object": 73, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-240842589", - "fields": { - "created_at": "2021-04-05T16:45:22Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438470", - "benchcoach_object": 74, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-240896091", - "fields": { - "created_at": "2021-03-25T16:05:36Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "240896091", - "member": "97438470", - "benchcoach_object": 44, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-241259079", - "fields": { - "created_at": "2021-03-31T04:21:48Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438470", - "benchcoach_object": 65, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498915", - "fields": { - "created_at": "2021-04-29T13:36:04Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438470", - "benchcoach_object": 182, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498916", - "fields": { - "created_at": "2021-04-29T13:36:08Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438470", - "benchcoach_object": 183, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498917", - "fields": { - "created_at": "2021-04-29T13:36:35Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438470", - "benchcoach_object": 184, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498918", - "fields": { - "created_at": "2021-04-29T13:36:59Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498918", - "member": "97438470", - "benchcoach_object": 185, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498919", - "fields": { - "created_at": "2021-04-29T13:37:17Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438470", - "benchcoach_object": 186, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498920", - "fields": { - "created_at": "2021-04-29T13:37:56Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438470", - "benchcoach_object": 187, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498921", - "fields": { - "created_at": "2021-04-29T13:38:29Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438470", - "benchcoach_object": 188, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498922", - "fields": { - "created_at": "2021-04-29T13:39:01Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438470", - "benchcoach_object": 189, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498923", - "fields": { - "created_at": "2021-04-29T13:39:19Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438470", - "benchcoach_object": 190, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498924", - "fields": { - "created_at": "2021-04-29T13:39:58Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438470", - "benchcoach_object": 191, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498925", - "fields": { - "created_at": "2021-04-29T13:40:21Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438470", - "benchcoach_object": 192, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498926", - "fields": { - "created_at": "2021-04-29T13:40:40Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438470", - "benchcoach_object": 193, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498927", - "fields": { - "created_at": "2021-04-29T13:41:07Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498927", - "member": "97438470", - "benchcoach_object": 194, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498928", - "fields": { - "created_at": "2021-04-29T13:41:30Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438470", - "benchcoach_object": 195, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498929", - "fields": { - "created_at": "2021-04-29T13:41:56Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438470", - "benchcoach_object": 196, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498930", - "fields": { - "created_at": "2021-04-29T13:42:19Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438470", - "benchcoach_object": 197, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498931", - "fields": { - "created_at": "2021-04-29T13:43:20Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438470", - "benchcoach_object": 198, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498932", - "fields": { - "created_at": "2021-04-29T13:43:22Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438470", - "benchcoach_object": 199, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498933", - "fields": { - "created_at": "2021-04-29T13:43:58Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438470", - "benchcoach_object": 200, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498934", - "fields": { - "created_at": "2021-04-29T13:44:52Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438470", - "benchcoach_object": 201, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498935", - "fields": { - "created_at": "2021-04-29T13:45:18Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438470", - "benchcoach_object": 202, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498936", - "fields": { - "created_at": "2021-04-29T13:45:47Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438470", - "benchcoach_object": 203, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498937", - "fields": { - "created_at": "2021-04-29T13:46:25Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498937", - "member": "97438470", - "benchcoach_object": 204, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498938", - "fields": { - "created_at": "2021-04-29T13:46:34Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438470", - "benchcoach_object": 205, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498939", - "fields": { - "created_at": "2021-04-29T13:47:05Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438470", - "benchcoach_object": 206, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498940", - "fields": { - "created_at": "2021-04-29T13:47:28Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438470", - "benchcoach_object": 207, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242498941", - "fields": { - "created_at": "2021-04-29T13:47:52Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498941", - "member": "97438470", - "benchcoach_object": 208, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438470", - "benchcoach_object": 785, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438470", - "benchcoach_object": 786, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-245405062", - "fields": { - "created_at": "2021-06-21T16:55:29Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438470", - "benchcoach_object": 649, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-245405146", - "fields": { - "created_at": "2021-06-17T22:01:56Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "245405146", - "member": "97438470", - "benchcoach_object": 640, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-245405185", - "fields": { - "created_at": "2021-06-21T16:55:31Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "245405185", - "member": "97438470", - "benchcoach_object": 650, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-245612928", - "fields": { - "created_at": "2021-06-26T21:08:19Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245612928", - "member": "97438470", - "benchcoach_object": 692, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438470-247211697", - "fields": { - "created_at": "2021-07-26T13:29:03Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438470", - "benchcoach_object": 765, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498920", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498920", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498929", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498929", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498930", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498930", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498931", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498931", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498932", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498932", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498933", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498933", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498934", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498934", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498935", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498935", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498936", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498936", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498937", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498937", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498938", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498938", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498939", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498939", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242498941", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498941", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438471-247211697", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "247211697", - "member": "97438471", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438474", - "benchcoach_object": 787, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438474", - "benchcoach_object": 788, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438474", - "benchcoach_object": 789, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438474", - "benchcoach_object": 790, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438474", - "benchcoach_object": 791, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438474", - "benchcoach_object": 792, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438474", - "benchcoach_object": 793, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498915", - "fields": { - "created_at": "2021-04-30T13:21:11Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438474", - "benchcoach_object": 261, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498916", - "fields": { - "created_at": "2021-04-30T13:21:14Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438474", - "benchcoach_object": 262, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498917", - "fields": { - "created_at": "2021-05-03T12:10:20Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438474", - "benchcoach_object": 293, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498918", - "fields": { - "created_at": "2021-05-03T12:10:22Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498918", - "member": "97438474", - "benchcoach_object": 294, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498919", - "fields": { - "created_at": "2021-05-06T01:26:28Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438474", - "benchcoach_object": 303, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498920", - "fields": { - "created_at": "2021-05-06T01:26:30Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438474", - "benchcoach_object": 304, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498921", - "fields": { - "created_at": "2021-05-06T01:26:34Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438474", - "benchcoach_object": 305, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498922", - "fields": { - "created_at": "2021-05-06T01:26:48Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438474", - "benchcoach_object": 306, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498923", - "fields": { - "created_at": "2021-05-06T01:27:08Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438474", - "benchcoach_object": 307, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498924", - "fields": { - "created_at": "2021-05-16T18:40:21Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438474", - "benchcoach_object": 350, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498925", - "fields": { - "created_at": "2021-05-16T18:41:01Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438474", - "benchcoach_object": 351, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498926", - "fields": { - "created_at": "2021-05-16T18:41:03Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438474", - "benchcoach_object": 352, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498927", - "fields": { - "created_at": "2021-05-16T18:41:06Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498927", - "member": "97438474", - "benchcoach_object": 353, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498928", - "fields": { - "created_at": "2021-05-16T18:41:38Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438474", - "benchcoach_object": 354, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498929", - "fields": { - "created_at": "2021-05-16T18:41:57Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438474", - "benchcoach_object": 355, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498930", - "fields": { - "created_at": "2021-05-16T18:42:04Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438474", - "benchcoach_object": 356, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498931", - "fields": { - "created_at": "2021-05-16T18:42:22Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438474", - "benchcoach_object": 357, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498932", - "fields": { - "created_at": "2021-05-16T18:42:23Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438474", - "benchcoach_object": 358, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498933", - "fields": { - "created_at": "2021-05-16T18:42:41Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438474", - "benchcoach_object": 359, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498934", - "fields": { - "created_at": "2021-05-16T18:42:51Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438474", - "benchcoach_object": 360, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498935", - "fields": { - "created_at": "2021-05-16T18:43:00Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438474", - "benchcoach_object": 361, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498936", - "fields": { - "created_at": "2021-06-29T02:24:28Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438474", - "benchcoach_object": 711, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498937", - "fields": { - "created_at": "2021-06-29T02:24:35Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498937", - "member": "97438474", - "benchcoach_object": 712, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498938", - "fields": { - "created_at": "2021-06-29T02:24:38Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438474", - "benchcoach_object": 713, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498939", - "fields": { - "created_at": "2021-06-29T02:25:37Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438474", - "benchcoach_object": 714, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498940", - "fields": { - "created_at": "2021-06-29T02:26:17Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438474", - "benchcoach_object": 715, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242498941", - "fields": { - "created_at": "2021-06-29T02:26:19Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498941", - "member": "97438474", - "benchcoach_object": 716, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438474", - "benchcoach_object": 794, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438474", - "benchcoach_object": 795, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438474", - "benchcoach_object": 796, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438474", - "benchcoach_object": 797, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438474", - "benchcoach_object": 798, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438474", - "benchcoach_object": 799, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438474-247211697", - "fields": { - "created_at": "2021-07-24T21:49:51Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438474", - "benchcoach_object": 762, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438475", - "benchcoach_object": 800, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-239470955", - "fields": { - "created_at": "2021-03-11T15:03:47Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438475", - "benchcoach_object": 21, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438475", - "benchcoach_object": 801, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438475", - "benchcoach_object": 802, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438475", - "benchcoach_object": 803, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438475", - "benchcoach_object": 804, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438475", - "benchcoach_object": 805, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498915", - "fields": { - "created_at": "2021-04-29T15:06:57Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438475", - "benchcoach_object": 209, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498916", - "fields": { - "created_at": "2021-04-30T19:12:02Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438475", - "benchcoach_object": 263, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498917", - "fields": { - "created_at": "2021-04-30T19:12:05Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438475", - "benchcoach_object": 264, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438475", - "benchcoach_object": 806, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438475", - "benchcoach_object": 807, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498920", - "fields": { - "created_at": "2021-05-17T15:36:45Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438475", - "benchcoach_object": 374, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438475", - "benchcoach_object": 808, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438475", - "benchcoach_object": 809, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498923", - "fields": { - "created_at": "2021-05-23T18:31:22Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438475", - "benchcoach_object": 403, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498924", - "fields": { - "created_at": "2021-06-12T13:40:20Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438475", - "benchcoach_object": 579, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498925", - "fields": { - "created_at": "2021-06-02T16:43:28Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438475", - "benchcoach_object": 514, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498926", - "fields": { - "created_at": "2021-06-04T16:10:06Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438475", - "benchcoach_object": 543, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438475", - "benchcoach_object": 810, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498928", - "fields": { - "created_at": "2021-06-02T17:12:58Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438475", - "benchcoach_object": 515, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498929", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498929", - "member": "97438475", - "benchcoach_object": 811, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498930", - "fields": { - "created_at": "2021-06-02T17:13:45Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438475", - "benchcoach_object": 516, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498931", - "fields": { - "created_at": "2021-06-02T17:14:11Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438475", - "benchcoach_object": 517, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498932", - "fields": { - "created_at": "2021-06-02T17:14:15Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438475", - "benchcoach_object": 518, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498933", - "fields": { - "created_at": "2021-06-02T17:14:35Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438475", - "benchcoach_object": 519, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498934", - "fields": { - "created_at": "2021-06-02T20:57:44Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438475", - "benchcoach_object": 520, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498935", - "fields": { - "created_at": "2021-06-02T20:58:07Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438475", - "benchcoach_object": 521, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498936", - "fields": { - "created_at": "2021-06-02T20:58:24Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438475", - "benchcoach_object": 522, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498937", - "fields": { - "created_at": "2021-06-02T20:58:35Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498937", - "member": "97438475", - "benchcoach_object": 523, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498938", - "fields": { - "created_at": "2021-06-02T20:58:49Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438475", - "benchcoach_object": 524, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498939", - "fields": { - "created_at": "2021-06-02T20:59:12Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438475", - "benchcoach_object": 525, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498940", - "fields": { - "created_at": "2021-06-30T03:11:28Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438475", - "benchcoach_object": 717, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242498941", - "fields": { - "created_at": "2021-06-02T20:59:41Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498941", - "member": "97438475", - "benchcoach_object": 526, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438475", - "benchcoach_object": 812, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-243613982", - "fields": { - "created_at": "2021-05-09T17:53:33Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438475", - "benchcoach_object": 330, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438475", - "benchcoach_object": 813, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438475", - "benchcoach_object": 814, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438475", - "benchcoach_object": 815, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438475", - "benchcoach_object": 816, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438475-247211697", - "fields": { - "created_at": "2021-07-28T22:41:43Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438475", - "benchcoach_object": 779, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-239261604", - "fields": { - "created_at": "2021-04-07T15:07:58Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438479", - "benchcoach_object": 76, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-239470955", - "fields": { - "created_at": "2021-03-11T20:32:18Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438479", - "benchcoach_object": 22, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-239471074", - "fields": { - "created_at": "2021-03-18T22:29:09Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438479", - "benchcoach_object": 31, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-239656151", - "fields": { - "created_at": "2021-04-13T01:26:25Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438479", - "benchcoach_object": 81, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-240842589", - "fields": { - "created_at": "2021-04-21T21:06:00Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438479", - "benchcoach_object": 111, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438479", - "benchcoach_object": 817, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-241259079", - "fields": { - "created_at": "2021-03-29T00:20:13Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438479", - "benchcoach_object": 48, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498915", - "fields": { - "created_at": "2021-04-28T14:57:42Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438479", - "benchcoach_object": 167, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498916", - "fields": { - "created_at": "2021-04-28T14:57:44Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438479", - "benchcoach_object": 168, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498917", - "fields": { - "created_at": "2021-04-28T14:57:55Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438479", - "benchcoach_object": 169, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498918", - "fields": { - "created_at": "2021-04-28T14:58:00Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498918", - "member": "97438479", - "benchcoach_object": 170, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498919", - "fields": { - "created_at": "2021-04-28T14:58:14Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438479", - "benchcoach_object": 171, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498920", - "fields": { - "created_at": "2021-04-28T14:58:17Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438479", - "benchcoach_object": 172, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498921", - "fields": { - "created_at": "2021-04-28T14:58:29Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438479", - "benchcoach_object": 175, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498922", - "fields": { - "created_at": "2021-04-28T14:58:24Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438479", - "benchcoach_object": 174, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498923", - "fields": { - "created_at": "2021-04-28T14:58:22Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438479", - "benchcoach_object": 173, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498924", - "fields": { - "created_at": "2021-04-28T14:58:34Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438479", - "benchcoach_object": 176, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498925", - "fields": { - "created_at": "2021-04-28T14:58:37Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438479", - "benchcoach_object": 177, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498926", - "fields": { - "created_at": "2021-04-28T14:58:40Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438479", - "benchcoach_object": 178, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498927", - "fields": { - "created_at": "2021-04-29T20:23:36Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438479", - "benchcoach_object": 242, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498928", - "fields": { - "created_at": "2021-04-29T20:23:44Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438479", - "benchcoach_object": 243, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498929", - "fields": { - "created_at": "2021-04-29T20:23:51Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438479", - "benchcoach_object": 244, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498930", - "fields": { - "created_at": "2021-04-29T20:23:52Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438479", - "benchcoach_object": 245, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498931", - "fields": { - "created_at": "2021-04-29T20:23:56Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438479", - "benchcoach_object": 246, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498932", - "fields": { - "created_at": "2021-04-29T20:23:58Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438479", - "benchcoach_object": 247, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498933", - "fields": { - "created_at": "2021-04-29T20:24:05Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438479", - "benchcoach_object": 248, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498934", - "fields": { - "created_at": "2021-04-29T20:24:06Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438479", - "benchcoach_object": 249, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498935", - "fields": { - "created_at": "2021-04-29T20:24:10Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438479", - "benchcoach_object": 250, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498936", - "fields": { - "created_at": "2021-04-29T20:24:41Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438479", - "benchcoach_object": 251, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498937", - "fields": { - "created_at": "2021-04-29T20:25:03Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498937", - "member": "97438479", - "benchcoach_object": 252, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498938", - "fields": { - "created_at": "2021-04-29T20:25:04Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438479", - "benchcoach_object": 253, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498939", - "fields": { - "created_at": "2021-04-29T20:25:06Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438479", - "benchcoach_object": 254, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498940", - "fields": { - "created_at": "2021-04-29T20:25:09Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438479", - "benchcoach_object": 255, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242498941", - "fields": { - "created_at": "2021-04-29T20:25:11Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438479", - "benchcoach_object": 256, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-242871761", - "fields": { - "created_at": "2021-04-27T02:07:03Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438479", - "benchcoach_object": 147, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-243613982", - "fields": { - "created_at": "2021-05-08T16:18:41Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438479", - "benchcoach_object": 320, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-245405062", - "fields": { - "created_at": "2021-06-23T23:48:04Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438479", - "benchcoach_object": 676, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438479", - "benchcoach_object": 818, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-245405185", - "fields": { - "created_at": "2021-06-16T23:20:18Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "245405185", - "member": "97438479", - "benchcoach_object": 618, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438479", - "benchcoach_object": 819, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438479-247211697", - "fields": { - "created_at": "2021-07-26T13:55:24Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438479", - "benchcoach_object": 767, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-239261604", - "fields": { - "created_at": "2021-04-07T15:37:47Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438480", - "benchcoach_object": 77, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-239470955", - "fields": { - "created_at": "2021-03-10T04:24:09Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438480", - "benchcoach_object": 16, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-239471074", - "fields": { - "created_at": "2021-03-20T18:06:42Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438480", - "benchcoach_object": 33, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438480", - "benchcoach_object": 820, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438480", - "benchcoach_object": 821, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438480", - "benchcoach_object": 822, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-241259079", - "fields": { - "created_at": "2021-04-02T00:15:16Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438480", - "benchcoach_object": 70, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498915", - "fields": { - "created_at": "2021-04-29T20:26:11Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438480", - "benchcoach_object": 257, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498916", - "fields": { - "created_at": "2021-04-28T15:24:49Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438480", - "benchcoach_object": 179, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498917", - "fields": { - "created_at": "2021-04-29T20:26:43Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438480", - "benchcoach_object": 258, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498918", - "fields": { - "created_at": "2021-04-29T20:26:45Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438480", - "benchcoach_object": 259, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498919", - "fields": { - "created_at": "2021-04-29T20:26:50Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438480", - "benchcoach_object": 260, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498920", - "fields": { - "created_at": "2021-05-06T13:53:06Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438480", - "benchcoach_object": 311, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498921", - "fields": { - "created_at": "2021-05-06T13:53:26Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438480", - "benchcoach_object": 312, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498922", - "fields": { - "created_at": "2021-05-06T13:52:57Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438480", - "benchcoach_object": 310, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498923", - "fields": { - "created_at": "2021-05-06T13:53:47Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438480", - "benchcoach_object": 313, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498924", - "fields": { - "created_at": "2021-05-30T18:27:37Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438480", - "benchcoach_object": 489, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498925", - "fields": { - "created_at": "2021-05-30T18:27:43Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438480", - "benchcoach_object": 490, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498926", - "fields": { - "created_at": "2021-05-30T18:27:52Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438480", - "benchcoach_object": 491, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498927", - "fields": { - "created_at": "2021-05-30T18:28:11Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438480", - "benchcoach_object": 492, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498928", - "fields": { - "created_at": "2021-05-30T18:28:39Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438480", - "benchcoach_object": 493, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498929", - "fields": { - "created_at": "2021-05-30T18:28:46Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438480", - "benchcoach_object": 494, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498930", - "fields": { - "created_at": "2021-06-02T23:45:50Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438480", - "benchcoach_object": 527, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498931", - "fields": { - "created_at": "2021-06-16T18:18:14Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438480", - "benchcoach_object": 615, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498932", - "fields": { - "created_at": "2021-06-16T18:18:19Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438480", - "benchcoach_object": 616, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498933", - "fields": { - "created_at": "2021-06-14T00:35:16Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438480", - "benchcoach_object": 595, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498934", - "fields": { - "created_at": "2021-06-14T00:35:10Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438480", - "benchcoach_object": 594, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498935", - "fields": { - "created_at": "2021-06-28T23:01:13Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438480", - "benchcoach_object": 710, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498936", - "fields": { - "created_at": "2021-07-06T21:08:16Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438480", - "benchcoach_object": 730, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498937", - "fields": { - "created_at": "2021-07-06T21:08:20Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498937", - "member": "97438480", - "benchcoach_object": 731, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498938", - "fields": { - "created_at": "2021-07-06T21:08:30Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438480", - "benchcoach_object": 732, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498939", - "fields": { - "created_at": "2021-07-12T16:47:04Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438480", - "benchcoach_object": 749, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498940", - "fields": { - "created_at": "2021-07-12T16:47:08Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438480", - "benchcoach_object": 750, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242498941", - "fields": { - "created_at": "2021-07-19T23:18:37Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438480", - "benchcoach_object": 759, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-242871761", - "fields": { - "created_at": "2021-04-27T20:15:34Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438480", - "benchcoach_object": 162, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438480", - "benchcoach_object": 823, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438480", - "benchcoach_object": 824, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438480", - "benchcoach_object": 825, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438480", - "benchcoach_object": 826, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438480", - "benchcoach_object": 827, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438480-247211697", - "fields": { - "created_at": "2021-07-26T14:11:02Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438480", - "benchcoach_object": 770, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-239261604", - "fields": { - "created_at": "2021-03-16T00:54:22Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438497", - "benchcoach_object": 28, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-239470955", - "fields": { - "created_at": "2021-03-03T22:25:54Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438497", - "benchcoach_object": 4, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-239471074", - "fields": { - "created_at": "2021-03-03T22:26:06Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438497", - "benchcoach_object": 5, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-239656151", - "fields": { - "created_at": "2021-03-16T00:54:27Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438497", - "benchcoach_object": 29, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-240842589", - "fields": { - "created_at": "2021-03-23T18:35:01Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438497", - "benchcoach_object": 39, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-240896091", - "fields": { - "created_at": "2021-03-23T18:34:58Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "240896091", - "member": "97438497", - "benchcoach_object": 38, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-241259079", - "fields": { - "created_at": "2021-03-29T01:49:14Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438497", - "benchcoach_object": 53, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498915", - "fields": { - "created_at": "2021-04-29T17:31:36Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438497", - "benchcoach_object": 217, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498916", - "fields": { - "created_at": "2021-04-29T17:31:52Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438497", - "benchcoach_object": 218, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498917", - "fields": { - "created_at": "2021-04-29T17:31:58Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438497", - "benchcoach_object": 219, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498918", - "fields": { - "created_at": "2021-04-29T17:32:03Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438497", - "benchcoach_object": 220, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498919", - "fields": { - "created_at": "2021-04-29T17:32:08Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438497", - "benchcoach_object": 221, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498920", - "fields": { - "created_at": "2021-04-29T17:32:11Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438497", - "benchcoach_object": 222, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498921", - "fields": { - "created_at": "2021-04-29T17:32:16Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438497", - "benchcoach_object": 223, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498922", - "fields": { - "created_at": "2021-04-29T17:32:20Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438497", - "benchcoach_object": 224, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498923", - "fields": { - "created_at": "2021-04-29T17:32:23Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438497", - "benchcoach_object": 225, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498924", - "fields": { - "created_at": "2021-05-26T01:48:42Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438497", - "benchcoach_object": 418, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498925", - "fields": { - "created_at": "2021-05-26T01:48:52Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438497", - "benchcoach_object": 419, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498926", - "fields": { - "created_at": "2021-05-26T01:48:57Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438497", - "benchcoach_object": 420, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498927", - "fields": { - "created_at": "2021-05-26T01:49:01Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438497", - "benchcoach_object": 421, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498928", - "fields": { - "created_at": "2021-05-26T01:49:10Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438497", - "benchcoach_object": 422, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498929", - "fields": { - "created_at": "2021-05-26T01:49:16Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438497", - "benchcoach_object": 423, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498930", - "fields": { - "created_at": "2021-05-26T01:49:23Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438497", - "benchcoach_object": 424, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498931", - "fields": { - "created_at": "2021-05-26T01:49:29Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438497", - "benchcoach_object": 425, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498932", - "fields": { - "created_at": "2021-05-26T01:49:31Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438497", - "benchcoach_object": 426, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498933", - "fields": { - "created_at": "2021-05-26T01:49:36Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438497", - "benchcoach_object": 427, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498934", - "fields": { - "created_at": "2021-05-26T01:49:40Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438497", - "benchcoach_object": 428, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498935", - "fields": { - "created_at": "2021-05-26T01:49:48Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438497", - "benchcoach_object": 429, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498936", - "fields": { - "created_at": "2021-05-26T23:43:07Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438497", - "benchcoach_object": 444, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498937", - "fields": { - "created_at": "2021-05-26T23:43:13Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438497", - "benchcoach_object": 445, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498938", - "fields": { - "created_at": "2021-05-26T23:43:16Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438497", - "benchcoach_object": 446, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498939", - "fields": { - "created_at": "2021-05-26T23:43:21Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438497", - "benchcoach_object": 447, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498940", - "fields": { - "created_at": "2021-05-26T23:43:22Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438497", - "benchcoach_object": 448, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242498941", - "fields": { - "created_at": "2021-06-01T20:47:31Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438497", - "benchcoach_object": 508, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-242871761", - "fields": { - "created_at": "2021-04-21T23:39:53Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438497", - "benchcoach_object": 122, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438497", - "benchcoach_object": 828, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-245405062", - "fields": { - "created_at": "2021-06-21T15:50:52Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438497", - "benchcoach_object": 648, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438497", - "benchcoach_object": 829, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-245405185", - "fields": { - "created_at": "2021-06-21T15:50:41Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "245405185", - "member": "97438497", - "benchcoach_object": 647, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-245612928", - "fields": { - "created_at": "2021-06-25T17:40:27Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245612928", - "member": "97438497", - "benchcoach_object": 678, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438497-247211697", - "fields": { - "created_at": "2021-07-29T16:35:43Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438497", - "benchcoach_object": 780, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-239261604", - "fields": { - "created_at": "2021-03-23T01:06:28Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438499", - "benchcoach_object": null, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-239470955", - "fields": { - "created_at": "2021-03-04T16:43:19Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438499", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-239471074", - "fields": { - "created_at": "2021-03-04T16:43:30Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438499", - "benchcoach_object": null, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-239656151", - "fields": { - "created_at": "2021-03-23T01:06:35Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438499", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-240842589", - "fields": { - "created_at": "2021-03-23T01:06:40Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438499", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-240896091", - "fields": { - "created_at": "2021-03-23T18:12:04Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "240896091", - "member": "97438499", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-241259079", - "fields": { - "created_at": "2021-03-30T17:56:09Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438499", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498916", - "fields": { - "created_at": "2021-05-01T22:09:31Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438499", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498920", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498920", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498929", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498929", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498930", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498930", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498931", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498931", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498932", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498932", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498933", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498933", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498934", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498934", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498935", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498935", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498936", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498936", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498937", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498937", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498938", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498938", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498939", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498939", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242498941", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498941", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438499-247211697", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "247211697", - "member": "97438499", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-239261604", - "fields": { - "created_at": "2021-03-11T00:17:55Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438501", - "benchcoach_object": 19, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-239470955", - "fields": { - "created_at": "2021-03-11T00:17:33Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438501", - "benchcoach_object": 17, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-239471074", - "fields": { - "created_at": "2021-03-11T00:17:44Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438501", - "benchcoach_object": 18, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-239656151", - "fields": { - "created_at": "2021-03-11T00:18:02Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438501", - "benchcoach_object": 20, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-240842589", - "fields": { - "created_at": "2021-03-30T19:14:31Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438501", - "benchcoach_object": 63, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438501", - "benchcoach_object": 830, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-241259079", - "fields": { - "created_at": "2021-03-30T17:59:16Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438501", - "benchcoach_object": 60, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498915", - "fields": { - "created_at": "2021-04-16T19:16:16Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438501", - "benchcoach_object": 89, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498916", - "fields": { - "created_at": "2021-04-16T19:16:18Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438501", - "benchcoach_object": 90, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498917", - "fields": { - "created_at": "2021-04-16T19:16:21Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438501", - "benchcoach_object": 91, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498918", - "fields": { - "created_at": "2021-04-16T19:16:22Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438501", - "benchcoach_object": 92, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498919", - "fields": { - "created_at": "2021-04-16T19:16:23Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438501", - "benchcoach_object": 93, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498920", - "fields": { - "created_at": "2021-05-03T22:56:01Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438501", - "benchcoach_object": 295, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498921", - "fields": { - "created_at": "2021-05-03T22:56:08Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438501", - "benchcoach_object": 296, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498922", - "fields": { - "created_at": "2021-05-17T22:40:06Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438501", - "benchcoach_object": 375, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498923", - "fields": { - "created_at": "2021-05-26T21:37:23Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438501", - "benchcoach_object": 438, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498924", - "fields": { - "created_at": "2021-05-26T21:38:13Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438501", - "benchcoach_object": 439, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498925", - "fields": { - "created_at": "2021-05-26T21:38:15Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438501", - "benchcoach_object": 440, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498926", - "fields": { - "created_at": "2021-05-26T21:38:23Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438501", - "benchcoach_object": 441, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498927", - "fields": { - "created_at": "2021-05-26T21:38:27Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438501", - "benchcoach_object": 442, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498928", - "fields": { - "created_at": "2021-05-26T21:38:34Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438501", - "benchcoach_object": 443, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498929", - "fields": { - "created_at": "2021-06-03T01:46:28Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438501", - "benchcoach_object": 528, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498930", - "fields": { - "created_at": "2021-06-03T01:47:00Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438501", - "benchcoach_object": 529, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498931", - "fields": { - "created_at": "2021-06-15T16:29:11Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438501", - "benchcoach_object": 604, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498932", - "fields": { - "created_at": "2021-06-15T16:29:12Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438501", - "benchcoach_object": 605, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498933", - "fields": { - "created_at": "2021-06-21T14:20:46Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438501", - "benchcoach_object": 646, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498934", - "fields": { - "created_at": "2021-06-26T04:47:54Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438501", - "benchcoach_object": 686, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498935", - "fields": { - "created_at": "2021-06-28T18:00:21Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438501", - "benchcoach_object": 704, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498936", - "fields": { - "created_at": "2021-07-01T19:08:56Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438501", - "benchcoach_object": 719, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498937", - "fields": { - "created_at": "2021-07-01T19:08:58Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438501", - "benchcoach_object": 720, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498938", - "fields": { - "created_at": "2021-07-01T19:09:00Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438501", - "benchcoach_object": 721, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498939", - "fields": { - "created_at": "2021-07-13T15:22:24Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438501", - "benchcoach_object": 753, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498940", - "fields": { - "created_at": "2021-07-13T15:22:37Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438501", - "benchcoach_object": 754, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242498941", - "fields": { - "created_at": "2021-07-19T19:56:04Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438501", - "benchcoach_object": 758, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438501", - "benchcoach_object": 831, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-243613982", - "fields": { - "created_at": "2021-05-11T17:52:29Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438501", - "benchcoach_object": 339, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-245405062", - "fields": { - "created_at": "2021-06-25T19:42:02Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438501", - "benchcoach_object": 679, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438501", - "benchcoach_object": 832, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438501", - "benchcoach_object": 833, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438501", - "benchcoach_object": 834, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438501-247211697", - "fields": { - "created_at": "2021-07-27T19:54:35Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438501", - "benchcoach_object": 775, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-239261604", - "fields": { - "created_at": "2021-03-01T17:35:59Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438503", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-239470955", - "fields": { - "created_at": "2021-03-03T22:18:17Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438503", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-239471074", - "fields": { - "created_at": "2021-03-03T22:18:37Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438503", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-239656151", - "fields": { - "created_at": "2021-03-07T20:25:26Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438503", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-240842589", - "fields": { - "created_at": "2021-04-05T06:36:10Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438503", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-240896091", - "fields": { - "created_at": "2021-03-23T18:19:11Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "240896091", - "member": "97438503", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-241259079", - "fields": { - "created_at": "2021-03-31T03:35:47Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438503", - "benchcoach_object": null, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498920", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498920", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498929", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498929", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498930", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498930", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498931", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498931", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498932", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498932", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498933", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498933", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498934", - "fields": { - "created_at": "2021-07-12T20:45:59Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438503", - "benchcoach_object": null, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498935", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498935", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498936", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498936", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498937", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498937", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498938", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498938", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498939", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498939", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242498941", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498941", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-245405062", - "fields": { - "created_at": "2021-06-22T03:16:35Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438503", - "benchcoach_object": null, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438503-247211697", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "247211697", - "member": "97438503", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-239261604", - "fields": { - "created_at": "2021-04-07T16:20:47Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438506", - "benchcoach_object": 78, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-239470955", - "fields": { - "created_at": "2021-03-09T15:25:56Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438506", - "benchcoach_object": 15, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-239471074", - "fields": { - "created_at": "2021-03-20T17:06:31Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438506", - "benchcoach_object": 32, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-239656151", - "fields": { - "created_at": "2021-04-13T19:10:44Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438506", - "benchcoach_object": 82, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-240842589", - "fields": { - "created_at": "2021-04-21T05:06:09Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438506", - "benchcoach_object": 107, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-240896091", - "fields": { - "created_at": "2021-03-28T22:44:11Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "240896091", - "member": "97438506", - "benchcoach_object": 47, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-241259079", - "fields": { - "created_at": "2021-03-31T19:52:05Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438506", - "benchcoach_object": 68, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498915", - "fields": { - "created_at": "2021-04-28T00:37:05Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438506", - "benchcoach_object": 163, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498916", - "fields": { - "created_at": "2021-05-01T17:13:26Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438506", - "benchcoach_object": 286, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498917", - "fields": { - "created_at": "2021-05-01T21:28:23Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438506", - "benchcoach_object": 290, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498918", - "fields": { - "created_at": "2021-05-01T17:13:46Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438506", - "benchcoach_object": 287, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498919", - "fields": { - "created_at": "2021-05-01T17:13:49Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438506", - "benchcoach_object": 288, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498920", - "fields": { - "created_at": "2021-05-01T17:13:57Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438506", - "benchcoach_object": 289, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498921", - "fields": { - "created_at": "2021-05-08T16:20:41Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438506", - "benchcoach_object": 321, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498922", - "fields": { - "created_at": "2021-05-08T16:20:58Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498922", - "member": "97438506", - "benchcoach_object": 322, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498923", - "fields": { - "created_at": "2021-05-08T16:20:59Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438506", - "benchcoach_object": 323, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498924", - "fields": { - "created_at": "2021-05-23T17:37:41Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438506", - "benchcoach_object": 397, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498925", - "fields": { - "created_at": "2021-05-23T17:38:01Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438506", - "benchcoach_object": 398, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498926", - "fields": { - "created_at": "2021-05-23T17:38:03Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438506", - "benchcoach_object": 399, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498927", - "fields": { - "created_at": "2021-05-23T17:38:45Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438506", - "benchcoach_object": 400, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498928", - "fields": { - "created_at": "2021-05-29T15:55:02Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438506", - "benchcoach_object": 466, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498929", - "fields": { - "created_at": "2021-05-29T15:55:11Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438506", - "benchcoach_object": 467, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498930", - "fields": { - "created_at": "2021-05-29T15:55:21Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438506", - "benchcoach_object": 468, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498931", - "fields": { - "created_at": "2021-05-29T15:55:23Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498931", - "member": "97438506", - "benchcoach_object": 469, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498932", - "fields": { - "created_at": "2021-05-29T15:55:26Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438506", - "benchcoach_object": 470, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498933", - "fields": { - "created_at": "2021-05-29T15:55:28Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498933", - "member": "97438506", - "benchcoach_object": 471, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498934", - "fields": { - "created_at": "2021-05-29T15:55:31Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438506", - "benchcoach_object": 472, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498935", - "fields": { - "created_at": "2021-05-29T15:55:34Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438506", - "benchcoach_object": 473, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498936", - "fields": { - "created_at": "2021-06-17T15:13:27Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438506", - "benchcoach_object": 629, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498937", - "fields": { - "created_at": "2021-06-17T15:13:31Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438506", - "benchcoach_object": 630, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498938", - "fields": { - "created_at": "2021-06-17T15:13:33Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438506", - "benchcoach_object": 631, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498939", - "fields": { - "created_at": "2021-06-17T15:13:37Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438506", - "benchcoach_object": 632, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498940", - "fields": { - "created_at": "2021-06-17T15:13:41Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438506", - "benchcoach_object": 633, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242498941", - "fields": { - "created_at": "2021-06-17T15:13:44Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438506", - "benchcoach_object": 634, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-242871761", - "fields": { - "created_at": "2021-04-22T00:11:18Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438506", - "benchcoach_object": 123, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-243613982", - "fields": { - "created_at": "2021-05-08T16:18:18Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438506", - "benchcoach_object": 319, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-245405062", - "fields": { - "created_at": "2021-06-17T15:12:43Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438506", - "benchcoach_object": 628, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438506", - "benchcoach_object": 835, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438506", - "benchcoach_object": 836, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438506", - "benchcoach_object": 837, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438506-247211697", - "fields": { - "created_at": "2021-07-26T22:24:47Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438506", - "benchcoach_object": 773, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-239261604", - "fields": { - "created_at": "2021-03-11T21:53:24Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438510", - "benchcoach_object": 25, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-239470955", - "fields": { - "created_at": "2021-03-11T20:32:36Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438510", - "benchcoach_object": 23, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-239471074", - "fields": { - "created_at": "2021-03-11T20:33:07Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438510", - "benchcoach_object": 24, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-239656151", - "fields": { - "created_at": "2021-03-11T21:53:33Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438510", - "benchcoach_object": 26, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-240842589", - "fields": { - "created_at": "2021-04-01T22:53:41Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438510", - "benchcoach_object": 69, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-240896091", - "fields": { - "created_at": "2021-03-23T20:08:30Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "240896091", - "member": "97438510", - "benchcoach_object": 40, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-241259079", - "fields": { - "created_at": "2021-03-29T00:21:35Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438510", - "benchcoach_object": 49, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498915", - "fields": { - "created_at": "2021-04-21T05:10:40Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438510", - "benchcoach_object": 108, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498916", - "fields": { - "created_at": "2021-04-21T05:10:44Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438510", - "benchcoach_object": 109, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498917", - "fields": { - "created_at": "2021-04-21T20:05:18Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438510", - "benchcoach_object": 110, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498918", - "fields": { - "created_at": "2021-04-24T23:09:06Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438510", - "benchcoach_object": 141, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498919", - "fields": { - "created_at": "2021-04-17T18:03:59Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438510", - "benchcoach_object": 95, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498920", - "fields": { - "created_at": "2021-04-24T23:14:07Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438510", - "benchcoach_object": 142, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498921", - "fields": { - "created_at": "2021-04-29T18:45:33Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438510", - "benchcoach_object": 228, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498922", - "fields": { - "created_at": "2021-04-29T18:45:36Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438510", - "benchcoach_object": 229, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498923", - "fields": { - "created_at": "2021-04-29T18:45:39Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438510", - "benchcoach_object": 230, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498924", - "fields": { - "created_at": "2021-05-19T22:49:06Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438510", - "benchcoach_object": 386, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498925", - "fields": { - "created_at": "2021-05-19T22:49:09Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438510", - "benchcoach_object": 387, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498926", - "fields": { - "created_at": "2021-05-19T22:49:11Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438510", - "benchcoach_object": 388, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498927", - "fields": { - "created_at": "2021-05-19T22:49:13Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438510", - "benchcoach_object": 389, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498928", - "fields": { - "created_at": "2021-05-19T22:49:19Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438510", - "benchcoach_object": 390, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498929", - "fields": { - "created_at": "2021-05-29T15:12:54Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438510", - "benchcoach_object": 452, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498930", - "fields": { - "created_at": "2021-05-29T15:13:05Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438510", - "benchcoach_object": 453, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498931", - "fields": { - "created_at": "2021-06-04T21:21:47Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438510", - "benchcoach_object": 544, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498932", - "fields": { - "created_at": "2021-06-04T21:21:52Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438510", - "benchcoach_object": 545, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498933", - "fields": { - "created_at": "2021-06-04T21:21:55Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438510", - "benchcoach_object": 546, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498934", - "fields": { - "created_at": "2021-06-04T21:22:00Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438510", - "benchcoach_object": 547, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498935", - "fields": { - "created_at": "2021-06-04T21:22:13Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438510", - "benchcoach_object": 548, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498936", - "fields": { - "created_at": "2021-06-09T04:10:45Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438510", - "benchcoach_object": 568, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498937", - "fields": { - "created_at": "2021-06-12T16:58:33Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438510", - "benchcoach_object": 580, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498938", - "fields": { - "created_at": "2021-06-12T16:58:39Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438510", - "benchcoach_object": 581, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498939", - "fields": { - "created_at": "2021-06-12T16:58:47Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438510", - "benchcoach_object": 582, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498940", - "fields": { - "created_at": "2021-06-12T16:58:55Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438510", - "benchcoach_object": 583, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242498941", - "fields": { - "created_at": "2021-06-12T16:59:15Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438510", - "benchcoach_object": 584, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-242871761", - "fields": { - "created_at": "2021-04-21T23:25:16Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438510", - "benchcoach_object": 121, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-243613982", - "fields": { - "created_at": "2021-05-08T20:06:14Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438510", - "benchcoach_object": 325, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438510", - "benchcoach_object": 838, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438510", - "benchcoach_object": 839, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438510", - "benchcoach_object": 840, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438510", - "benchcoach_object": 841, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438510-247211697", - "fields": { - "created_at": "2021-07-26T13:53:25Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438510", - "benchcoach_object": 766, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-239261604", - "fields": { - "created_at": "2021-03-15T08:21:52Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438511", - "benchcoach_object": 27, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-239470955", - "fields": { - "created_at": "2021-03-05T22:35:27Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438511", - "benchcoach_object": 8, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-239471074", - "fields": { - "created_at": "2021-03-05T22:35:56Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438511", - "benchcoach_object": 9, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-239656151", - "fields": { - "created_at": "2021-03-23T15:18:22Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239656151", - "member": "97438511", - "benchcoach_object": 37, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-240842589", - "fields": { - "created_at": "2021-03-23T15:18:18Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438511", - "benchcoach_object": 36, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-240896091", - "fields": { - "created_at": "2021-03-23T21:56:05Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "240896091", - "member": "97438511", - "benchcoach_object": 41, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-241259079", - "fields": { - "created_at": "2021-03-30T18:39:14Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438511", - "benchcoach_object": 62, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498915", - "fields": { - "created_at": "2021-04-19T19:09:58Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438511", - "benchcoach_object": 101, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498916", - "fields": { - "created_at": "2021-04-22T04:25:57Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438511", - "benchcoach_object": 128, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498917", - "fields": { - "created_at": "2021-04-24T05:14:58Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438511", - "benchcoach_object": 134, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498918", - "fields": { - "created_at": "2021-04-24T05:15:00Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438511", - "benchcoach_object": 135, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498919", - "fields": { - "created_at": "2021-04-29T20:05:39Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438511", - "benchcoach_object": 241, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498920", - "fields": { - "created_at": "2021-05-07T23:22:38Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438511", - "benchcoach_object": 317, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498921", - "fields": { - "created_at": "2021-05-16T00:57:13Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438511", - "benchcoach_object": 348, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498922", - "fields": { - "created_at": "2021-05-16T00:56:59Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438511", - "benchcoach_object": 347, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498923", - "fields": { - "created_at": "2021-05-02T17:17:11Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438511", - "benchcoach_object": 291, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498924", - "fields": { - "created_at": "2021-05-07T23:22:53Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438511", - "benchcoach_object": 318, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498925", - "fields": { - "created_at": "2021-05-16T17:37:18Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438511", - "benchcoach_object": 349, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498926", - "fields": { - "created_at": "2021-05-21T21:41:55Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438511", - "benchcoach_object": 396, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498927", - "fields": { - "created_at": "2021-05-28T03:42:30Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438511", - "benchcoach_object": 450, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498928", - "fields": { - "created_at": "2021-05-24T16:38:26Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438511", - "benchcoach_object": 408, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498929", - "fields": { - "created_at": "2021-05-29T15:17:32Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438511", - "benchcoach_object": 461, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498930", - "fields": { - "created_at": "2021-05-29T15:17:38Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438511", - "benchcoach_object": 462, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498931", - "fields": { - "created_at": "2021-06-01T21:01:04Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438511", - "benchcoach_object": 509, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498932", - "fields": { - "created_at": "2021-06-01T21:01:34Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438511", - "benchcoach_object": 510, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498933", - "fields": { - "created_at": "2021-06-01T21:01:45Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438511", - "benchcoach_object": 511, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498934", - "fields": { - "created_at": "2021-06-01T21:02:17Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438511", - "benchcoach_object": 512, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498935", - "fields": { - "created_at": "2021-06-01T21:02:36Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438511", - "benchcoach_object": 513, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498936", - "fields": { - "created_at": "2021-06-16T03:50:56Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438511", - "benchcoach_object": 609, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498937", - "fields": { - "created_at": "2021-06-16T04:07:29Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438511", - "benchcoach_object": 610, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498938", - "fields": { - "created_at": "2021-06-16T04:07:39Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438511", - "benchcoach_object": 611, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498939", - "fields": { - "created_at": "2021-06-16T04:09:08Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438511", - "benchcoach_object": 612, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498940", - "fields": { - "created_at": "2021-06-16T04:09:12Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438511", - "benchcoach_object": 613, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242498941", - "fields": { - "created_at": "2021-06-16T04:09:16Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438511", - "benchcoach_object": 614, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-242871761", - "fields": { - "created_at": "2021-04-23T17:30:37Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438511", - "benchcoach_object": 131, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-243613982", - "fields": { - "created_at": "2021-05-10T16:35:38Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438511", - "benchcoach_object": 335, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-245405062", - "fields": { - "created_at": "2021-06-17T03:25:02Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438511", - "benchcoach_object": 623, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438511", - "benchcoach_object": 842, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-245405185", - "fields": { - "created_at": "2021-06-17T03:24:54Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "245405185", - "member": "97438511", - "benchcoach_object": 622, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-245612928", - "fields": { - "created_at": "2021-06-24T19:59:18Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245612928", - "member": "97438511", - "benchcoach_object": 677, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438511-247211697", - "fields": { - "created_at": "2021-07-26T14:26:25Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438511", - "benchcoach_object": 771, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498920", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498920", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498929", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498929", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498930", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498930", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498931", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498931", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498932", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498932", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498933", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498933", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498934", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498934", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498935", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498935", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498936", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498936", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498937", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498937", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498938", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498938", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498939", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498939", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242498941", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498941", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438513-247211697", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "247211697", - "member": "97438513", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498920", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498920", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498929", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498929", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498930", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498930", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498931", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498931", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498932", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498932", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498933", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498933", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498934", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498934", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498935", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498935", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498936", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498936", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498937", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498937", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498938", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498938", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498939", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498939", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242498941", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498941", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438514-247211697", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "247211697", - "member": "97438514", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-239261604", - "fields": { - "created_at": "2021-04-07T16:51:44Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438517", - "benchcoach_object": 79, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-239470955", - "fields": { - "created_at": "2021-03-03T23:27:35Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438517", - "benchcoach_object": 6, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-239471074", - "fields": { - "created_at": "2021-03-17T16:33:25Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438517", - "benchcoach_object": 30, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-239656151", - "fields": { - "created_at": "2021-04-15T23:09:08Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "239656151", - "member": "97438517", - "benchcoach_object": 87, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-240842589", - "fields": { - "created_at": "2021-04-19T20:22:50Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438517", - "benchcoach_object": 105, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438517", - "benchcoach_object": 843, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-241259079", - "fields": { - "created_at": "2021-03-30T15:26:31Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438517", - "benchcoach_object": 58, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498915", - "fields": { - "created_at": "2021-04-22T00:21:42Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438517", - "benchcoach_object": 124, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498916", - "fields": { - "created_at": "2021-04-22T00:23:23Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438517", - "benchcoach_object": 126, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498917", - "fields": { - "created_at": "2021-04-22T00:23:42Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438517", - "benchcoach_object": 127, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498918", - "fields": { - "created_at": "2021-04-30T22:11:01Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438517", - "benchcoach_object": 266, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498919", - "fields": { - "created_at": "2021-04-30T22:11:08Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438517", - "benchcoach_object": 267, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498920", - "fields": { - "created_at": "2021-04-30T22:11:20Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438517", - "benchcoach_object": 268, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498921", - "fields": { - "created_at": "2021-04-30T22:11:25Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438517", - "benchcoach_object": 269, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498922", - "fields": { - "created_at": "2021-04-30T22:11:39Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438517", - "benchcoach_object": 270, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498923", - "fields": { - "created_at": "2021-04-30T22:11:49Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438517", - "benchcoach_object": 271, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498924", - "fields": { - "created_at": "2021-04-22T00:21:51Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438517", - "benchcoach_object": 125, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498925", - "fields": { - "created_at": "2021-04-30T22:11:56Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438517", - "benchcoach_object": 272, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498926", - "fields": { - "created_at": "2021-04-30T22:12:03Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438517", - "benchcoach_object": 273, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498927", - "fields": { - "created_at": "2021-04-30T22:12:13Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438517", - "benchcoach_object": 274, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498928", - "fields": { - "created_at": "2021-04-30T22:12:19Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438517", - "benchcoach_object": 275, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498929", - "fields": { - "created_at": "2021-04-30T22:12:30Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438517", - "benchcoach_object": 276, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498930", - "fields": { - "created_at": "2021-04-30T22:12:33Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438517", - "benchcoach_object": 277, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498931", - "fields": { - "created_at": "2021-04-30T22:12:43Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438517", - "benchcoach_object": 278, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498932", - "fields": { - "created_at": "2021-04-30T22:12:58Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438517", - "benchcoach_object": 279, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498933", - "fields": { - "created_at": "2021-04-30T22:13:01Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438517", - "benchcoach_object": 280, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498934", - "fields": { - "created_at": "2021-04-30T22:13:08Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438517", - "benchcoach_object": 281, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498935", - "fields": { - "created_at": "2021-04-30T22:13:14Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438517", - "benchcoach_object": 282, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498936", - "fields": { - "created_at": "2021-06-13T03:27:41Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438517", - "benchcoach_object": 585, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498937", - "fields": { - "created_at": "2021-06-13T03:28:33Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438517", - "benchcoach_object": 586, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498938", - "fields": { - "created_at": "2021-06-13T03:28:34Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438517", - "benchcoach_object": 587, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498939", - "fields": { - "created_at": "2021-06-13T03:28:40Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438517", - "benchcoach_object": 588, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498940", - "fields": { - "created_at": "2021-06-13T03:28:46Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438517", - "benchcoach_object": 589, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242498941", - "fields": { - "created_at": "2021-06-13T03:28:49Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438517", - "benchcoach_object": 590, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438517", - "benchcoach_object": 844, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-243613982", - "fields": { - "created_at": "2021-05-10T00:43:33Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438517", - "benchcoach_object": 331, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438517", - "benchcoach_object": 845, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438517", - "benchcoach_object": 846, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438517", - "benchcoach_object": 847, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438517", - "benchcoach_object": 848, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438517-247211697", - "fields": { - "created_at": "2021-07-26T16:19:53Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438517", - "benchcoach_object": 772, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-239261604", - "fields": { - "created_at": "2021-04-05T20:55:37Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438518", - "benchcoach_object": 75, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438518", - "benchcoach_object": 849, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438518", - "benchcoach_object": 850, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438518", - "benchcoach_object": 851, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438518", - "benchcoach_object": 852, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438518", - "benchcoach_object": 853, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-241259079", - "fields": { - "created_at": "2021-03-29T01:20:48Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438518", - "benchcoach_object": 52, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498915", - "fields": { - "created_at": "2021-05-01T14:56:50Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438518", - "benchcoach_object": 285, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438518", - "benchcoach_object": 854, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498917", - "fields": { - "created_at": "2021-05-06T13:02:06Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438518", - "benchcoach_object": 308, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498918", - "fields": { - "created_at": "2021-05-06T13:02:15Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438518", - "benchcoach_object": 309, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498919", - "fields": { - "created_at": "2021-05-13T18:40:05Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438518", - "benchcoach_object": 341, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498920", - "fields": { - "created_at": "2021-05-19T22:33:51Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438518", - "benchcoach_object": 385, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498921", - "fields": { - "created_at": "2021-05-21T03:11:37Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438518", - "benchcoach_object": 394, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498922", - "fields": { - "created_at": "2021-05-21T03:11:42Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438518", - "benchcoach_object": 395, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438518", - "benchcoach_object": 855, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438518", - "benchcoach_object": 856, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438518", - "benchcoach_object": 857, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438518", - "benchcoach_object": 858, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498927", - "fields": { - "created_at": "2021-06-06T00:52:33Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438518", - "benchcoach_object": 558, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438518", - "benchcoach_object": 859, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498929", - "fields": { - "created_at": "2021-06-09T20:37:05Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438518", - "benchcoach_object": 569, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498930", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498930", - "member": "97438518", - "benchcoach_object": 860, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498931", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498931", - "member": "97438518", - "benchcoach_object": 861, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498932", - "fields": { - "created_at": "2021-06-19T15:17:22Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438518", - "benchcoach_object": 643, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498933", - "fields": { - "created_at": "2021-06-21T22:27:59Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438518", - "benchcoach_object": 653, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498934", - "fields": { - "created_at": "2021-06-21T22:28:01Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438518", - "benchcoach_object": 654, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498935", - "fields": { - "created_at": "2021-06-21T22:28:32Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438518", - "benchcoach_object": 656, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498936", - "fields": { - "created_at": "2021-07-07T14:09:52Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438518", - "benchcoach_object": 739, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498937", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498937", - "member": "97438518", - "benchcoach_object": 862, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498938", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498938", - "member": "97438518", - "benchcoach_object": 863, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498939", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498939", - "member": "97438518", - "benchcoach_object": 864, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438518", - "benchcoach_object": 865, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242498941", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498941", - "member": "97438518", - "benchcoach_object": 866, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-242871761", - "fields": { - "created_at": "2021-04-24T15:27:26Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438518", - "benchcoach_object": 137, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-243613982", - "fields": { - "created_at": "2021-05-11T21:19:11Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438518", - "benchcoach_object": 340, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-245405062", - "fields": { - "created_at": "2021-06-21T22:28:30Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438518", - "benchcoach_object": 655, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438518", - "benchcoach_object": 867, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438518", - "benchcoach_object": 868, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438518", - "benchcoach_object": 869, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438518-247211697", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "247211697", - "member": "97438518", - "benchcoach_object": 870, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-239261604", - "fields": { - "created_at": "2021-03-06T19:51:08Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438524", - "benchcoach_object": 11, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-239470955", - "fields": { - "created_at": "2021-03-03T23:44:43Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239470955", - "member": "97438524", - "benchcoach_object": 7, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-239471074", - "fields": { - "created_at": "2021-03-06T19:51:02Z", - "updated_at": "2021-09-09T12:15:43Z", - "team": "7644001", - "event": "239471074", - "member": "97438524", - "benchcoach_object": 10, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-239656151", - "fields": { - "created_at": "2021-03-28T00:21:12Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "239656151", - "member": "97438524", - "benchcoach_object": 46, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-240842589", - "fields": { - "created_at": "2021-04-15T19:43:48Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438524", - "benchcoach_object": 85, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-240896091", - "fields": { - "created_at": "2021-03-28T00:21:00Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "240896091", - "member": "97438524", - "benchcoach_object": 45, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438524", - "benchcoach_object": 871, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498915", - "fields": { - "created_at": "2021-04-15T19:43:51Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438524", - "benchcoach_object": 86, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498916", - "fields": { - "created_at": "2021-04-28T17:54:48Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438524", - "benchcoach_object": 181, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498917", - "fields": { - "created_at": "2021-04-30T21:23:29Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438524", - "benchcoach_object": 265, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498918", - "fields": { - "created_at": "2021-05-04T02:14:29Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438524", - "benchcoach_object": 297, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498919", - "fields": { - "created_at": "2021-05-04T02:14:32Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438524", - "benchcoach_object": 298, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498920", - "fields": { - "created_at": "2021-05-07T18:05:05Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438524", - "benchcoach_object": 315, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498921", - "fields": { - "created_at": "2021-05-18T23:25:25Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438524", - "benchcoach_object": 380, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498922", - "fields": { - "created_at": "2021-05-18T23:25:27Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438524", - "benchcoach_object": 381, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498923", - "fields": { - "created_at": "2021-05-23T17:45:16Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438524", - "benchcoach_object": 401, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498924", - "fields": { - "created_at": "2021-05-23T17:45:25Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438524", - "benchcoach_object": 402, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498925", - "fields": { - "created_at": "2021-05-29T15:34:44Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438524", - "benchcoach_object": 464, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498926", - "fields": { - "created_at": "2021-05-29T15:34:55Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438524", - "benchcoach_object": 465, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498927", - "fields": { - "created_at": "2021-05-31T18:49:22Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438524", - "benchcoach_object": 497, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498928", - "fields": { - "created_at": "2021-05-31T18:49:27Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438524", - "benchcoach_object": 498, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498929", - "fields": { - "created_at": "2021-05-31T18:49:34Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438524", - "benchcoach_object": 499, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498930", - "fields": { - "created_at": "2021-06-05T02:43:50Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438524", - "benchcoach_object": 549, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498931", - "fields": { - "created_at": "2021-06-05T02:43:54Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438524", - "benchcoach_object": 550, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498932", - "fields": { - "created_at": "2021-06-14T02:34:53Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438524", - "benchcoach_object": 597, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498933", - "fields": { - "created_at": "2021-06-15T21:00:17Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438524", - "benchcoach_object": 608, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498934", - "fields": { - "created_at": "2021-06-17T16:23:28Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438524", - "benchcoach_object": 638, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498935", - "fields": { - "created_at": "2021-06-17T16:23:32Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438524", - "benchcoach_object": 639, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498936", - "fields": { - "created_at": "2021-06-25T23:51:57Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438524", - "benchcoach_object": 680, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498937", - "fields": { - "created_at": "2021-06-25T23:52:01Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438524", - "benchcoach_object": 681, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498938", - "fields": { - "created_at": "2021-06-25T23:52:04Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438524", - "benchcoach_object": 682, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498939", - "fields": { - "created_at": "2021-06-25T23:52:07Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438524", - "benchcoach_object": 683, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498940", - "fields": { - "created_at": "2021-06-25T23:52:14Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438524", - "benchcoach_object": 684, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242498941", - "fields": { - "created_at": "2021-06-25T23:52:15Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438524", - "benchcoach_object": 685, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438524", - "benchcoach_object": 872, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438524", - "benchcoach_object": 873, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-245405062", - "fields": { - "created_at": "2021-06-17T16:23:18Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438524", - "benchcoach_object": 637, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-245405146", - "fields": { - "created_at": "2021-06-17T16:22:59Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "245405146", - "member": "97438524", - "benchcoach_object": 635, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-245405185", - "fields": { - "created_at": "2021-06-17T16:23:07Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "245405185", - "member": "97438524", - "benchcoach_object": 636, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438524", - "benchcoach_object": 874, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438524-247211697", - "fields": { - "created_at": "2021-07-30T03:39:17Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438524", - "benchcoach_object": 781, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438528", - "benchcoach_object": 875, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438528", - "benchcoach_object": 876, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438528", - "benchcoach_object": 877, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438528", - "benchcoach_object": 878, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438528", - "benchcoach_object": 879, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438528", - "benchcoach_object": 880, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438528", - "benchcoach_object": 881, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438528", - "benchcoach_object": 882, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438528", - "benchcoach_object": 883, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438528", - "benchcoach_object": 884, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438528", - "benchcoach_object": 885, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438528", - "benchcoach_object": 886, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498920", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498920", - "member": "97438528", - "benchcoach_object": 887, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438528", - "benchcoach_object": 888, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438528", - "benchcoach_object": 889, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438528", - "benchcoach_object": 890, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438528", - "benchcoach_object": 891, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438528", - "benchcoach_object": 892, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438528", - "benchcoach_object": 893, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438528", - "benchcoach_object": 894, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438528", - "benchcoach_object": 895, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498929", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498929", - "member": "97438528", - "benchcoach_object": 896, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498930", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498930", - "member": "97438528", - "benchcoach_object": 897, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498931", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498931", - "member": "97438528", - "benchcoach_object": 898, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498932", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498932", - "member": "97438528", - "benchcoach_object": 899, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498933", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498933", - "member": "97438528", - "benchcoach_object": 900, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498934", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498934", - "member": "97438528", - "benchcoach_object": 901, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498935", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498935", - "member": "97438528", - "benchcoach_object": 902, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498936", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498936", - "member": "97438528", - "benchcoach_object": 903, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498937", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498937", - "member": "97438528", - "benchcoach_object": 904, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498938", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498938", - "member": "97438528", - "benchcoach_object": 905, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498939", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498939", - "member": "97438528", - "benchcoach_object": 906, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438528", - "benchcoach_object": 907, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242498941", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498941", - "member": "97438528", - "benchcoach_object": 908, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438528", - "benchcoach_object": 909, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438528", - "benchcoach_object": 910, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438528", - "benchcoach_object": 911, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438528", - "benchcoach_object": 912, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438528", - "benchcoach_object": 913, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438528", - "benchcoach_object": 914, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438528-247211697", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "247211697", - "member": "97438528", - "benchcoach_object": 915, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-239261604", - "fields": { - "created_at": "2021-04-04T02:47:43Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438530", - "benchcoach_object": 71, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438530", - "benchcoach_object": 916, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438530", - "benchcoach_object": 917, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-239656151", - "fields": { - "created_at": "2021-04-16T04:15:58Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "239656151", - "member": "97438530", - "benchcoach_object": 88, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-240842589", - "fields": { - "created_at": "2021-04-17T18:08:49Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438530", - "benchcoach_object": 96, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438530", - "benchcoach_object": 918, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-241259079", - "fields": { - "created_at": "2021-03-29T21:33:27Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438530", - "benchcoach_object": 56, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498915", - "fields": { - "created_at": "2021-04-17T18:09:03Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438530", - "benchcoach_object": 97, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498916", - "fields": { - "created_at": "2021-04-17T18:09:11Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438530", - "benchcoach_object": 98, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498917", - "fields": { - "created_at": "2021-04-17T18:09:19Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438530", - "benchcoach_object": 99, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498918", - "fields": { - "created_at": "2021-04-23T20:44:28Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438530", - "benchcoach_object": 132, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498919", - "fields": { - "created_at": "2021-04-23T20:44:29Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438530", - "benchcoach_object": 133, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498920", - "fields": { - "created_at": "2021-04-29T19:00:12Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438530", - "benchcoach_object": 231, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498921", - "fields": { - "created_at": "2021-04-29T19:00:15Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438530", - "benchcoach_object": 232, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498922", - "fields": { - "created_at": "2021-04-29T19:00:17Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438530", - "benchcoach_object": 233, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498923", - "fields": { - "created_at": "2021-05-11T15:27:31Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438530", - "benchcoach_object": 338, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498924", - "fields": { - "created_at": "2021-05-23T22:55:52Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438530", - "benchcoach_object": 404, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498925", - "fields": { - "created_at": "2021-05-23T22:55:54Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438530", - "benchcoach_object": 405, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498926", - "fields": { - "created_at": "2021-05-23T22:56:01Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438530", - "benchcoach_object": 406, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498927", - "fields": { - "created_at": "2021-05-23T22:56:04Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438530", - "benchcoach_object": 407, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498928", - "fields": { - "created_at": "2021-06-01T15:56:53Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438530", - "benchcoach_object": 501, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498929", - "fields": { - "created_at": "2021-06-01T15:59:51Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438530", - "benchcoach_object": 504, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498930", - "fields": { - "created_at": "2021-06-01T15:59:53Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438530", - "benchcoach_object": 505, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498931", - "fields": { - "created_at": "2021-06-01T16:00:02Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438530", - "benchcoach_object": 506, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498932", - "fields": { - "created_at": "2021-06-01T16:00:04Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438530", - "benchcoach_object": 507, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498933", - "fields": { - "created_at": "2021-06-01T15:57:00Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438530", - "benchcoach_object": 502, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498934", - "fields": { - "created_at": "2021-06-23T02:40:42Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438530", - "benchcoach_object": 666, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498935", - "fields": { - "created_at": "2021-06-23T02:40:48Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438530", - "benchcoach_object": 667, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498936", - "fields": { - "created_at": "2021-06-01T15:57:05Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438530", - "benchcoach_object": 503, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498937", - "fields": { - "created_at": "2021-06-14T19:57:59Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438530", - "benchcoach_object": 602, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498938", - "fields": { - "created_at": "2021-06-14T19:58:02Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438530", - "benchcoach_object": 603, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498939", - "fields": { - "created_at": "2021-06-23T02:41:06Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438530", - "benchcoach_object": 668, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498940", - "fields": { - "created_at": "2021-06-23T02:41:07Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438530", - "benchcoach_object": 669, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242498941", - "fields": { - "created_at": "2021-06-23T02:41:08Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438530", - "benchcoach_object": 670, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438530", - "benchcoach_object": 919, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-243613982", - "fields": { - "created_at": "2021-05-11T15:27:11Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438530", - "benchcoach_object": 337, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438530", - "benchcoach_object": 920, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438530", - "benchcoach_object": 921, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438530", - "benchcoach_object": 922, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438530", - "benchcoach_object": 923, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438530-247211697", - "fields": { - "created_at": "2021-07-26T13:56:27Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438530", - "benchcoach_object": 768, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-239261604", - "fields": { - "created_at": "2021-03-30T21:33:40Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438531", - "benchcoach_object": 64, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438531", - "benchcoach_object": 924, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438531", - "benchcoach_object": 925, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-239656151", - "fields": { - "created_at": "2021-03-31T06:24:56Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "239656151", - "member": "97438531", - "benchcoach_object": 66, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-240842589", - "fields": { - "created_at": "2021-03-31T06:24:59Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438531", - "benchcoach_object": 67, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438531", - "benchcoach_object": 926, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-241259079", - "fields": { - "created_at": "2021-03-29T01:58:40Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438531", - "benchcoach_object": 54, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498915", - "fields": { - "created_at": "2021-04-24T20:04:03Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242498915", - "member": "97438531", - "benchcoach_object": 139, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498916", - "fields": { - "created_at": "2021-04-24T20:04:05Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438531", - "benchcoach_object": 140, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498917", - "fields": { - "created_at": "2021-04-27T04:02:05Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438531", - "benchcoach_object": 153, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498918", - "fields": { - "created_at": "2021-04-27T04:02:08Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438531", - "benchcoach_object": 154, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498919", - "fields": { - "created_at": "2021-04-27T04:02:10Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438531", - "benchcoach_object": 155, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498920", - "fields": { - "created_at": "2021-04-27T04:02:12Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438531", - "benchcoach_object": 156, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498921", - "fields": { - "created_at": "2021-04-27T04:02:19Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438531", - "benchcoach_object": 157, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498922", - "fields": { - "created_at": "2021-04-27T04:01:59Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438531", - "benchcoach_object": 152, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498923", - "fields": { - "created_at": "2021-04-27T04:01:45Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438531", - "benchcoach_object": 148, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498924", - "fields": { - "created_at": "2021-04-27T04:01:48Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438531", - "benchcoach_object": 149, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498925", - "fields": { - "created_at": "2021-04-27T04:01:51Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438531", - "benchcoach_object": 150, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498926", - "fields": { - "created_at": "2021-04-27T04:01:55Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438531", - "benchcoach_object": 151, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498927", - "fields": { - "created_at": "2021-05-17T01:55:24Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438531", - "benchcoach_object": 362, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498928", - "fields": { - "created_at": "2021-05-17T01:55:29Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438531", - "benchcoach_object": 363, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498929", - "fields": { - "created_at": "2021-05-17T01:55:33Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438531", - "benchcoach_object": 364, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498930", - "fields": { - "created_at": "2021-05-17T01:55:35Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438531", - "benchcoach_object": 365, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498931", - "fields": { - "created_at": "2021-05-17T01:55:39Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438531", - "benchcoach_object": 366, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498932", - "fields": { - "created_at": "2021-05-17T01:55:44Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438531", - "benchcoach_object": 367, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498933", - "fields": { - "created_at": "2021-05-17T01:55:47Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438531", - "benchcoach_object": 368, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498934", - "fields": { - "created_at": "2021-05-17T01:55:50Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438531", - "benchcoach_object": 369, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498935", - "fields": { - "created_at": "2021-05-17T01:55:56Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438531", - "benchcoach_object": 370, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498936", - "fields": { - "created_at": "2021-05-26T15:53:39Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438531", - "benchcoach_object": 437, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498937", - "fields": { - "created_at": "2021-06-26T20:43:12Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438531", - "benchcoach_object": 687, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498938", - "fields": { - "created_at": "2021-06-26T20:43:15Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438531", - "benchcoach_object": 688, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498939", - "fields": { - "created_at": "2021-06-26T20:43:17Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438531", - "benchcoach_object": 689, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498940", - "fields": { - "created_at": "2021-06-26T20:43:19Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438531", - "benchcoach_object": 690, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242498941", - "fields": { - "created_at": "2021-06-26T20:43:21Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438531", - "benchcoach_object": 691, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-242871761", - "fields": { - "created_at": "2021-04-24T19:46:08Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438531", - "benchcoach_object": 138, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-243613982", - "fields": { - "created_at": "2021-05-07T22:15:37Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438531", - "benchcoach_object": 316, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438531", - "benchcoach_object": 927, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438531", - "benchcoach_object": 928, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438531", - "benchcoach_object": 929, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438531", - "benchcoach_object": 930, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438531-247211697", - "fields": { - "created_at": "2021-07-28T01:03:31Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438531", - "benchcoach_object": 776, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-239261604", - "fields": { - "created_at": "2021-04-09T16:51:56Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "239261604", - "member": "97438534", - "benchcoach_object": 80, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438534", - "benchcoach_object": 931, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438534", - "benchcoach_object": 932, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-239656151", - "fields": { - "created_at": "2021-04-17T13:00:43Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "239656151", - "member": "97438534", - "benchcoach_object": 94, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-240842589", - "fields": { - "created_at": "2021-04-19T19:34:06Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438534", - "benchcoach_object": 104, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438534", - "benchcoach_object": 933, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-241259079", - "fields": { - "created_at": "2021-03-29T01:58:45Z", - "updated_at": "2021-09-09T12:15:44Z", - "team": "7644001", - "event": "241259079", - "member": "97438534", - "benchcoach_object": 55, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498915", - "fields": { - "created_at": "2021-04-26T14:42:45Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498915", - "member": "97438534", - "benchcoach_object": 145, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498916", - "fields": { - "created_at": "2021-04-26T14:42:55Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438534", - "benchcoach_object": 146, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498917", - "fields": { - "created_at": "2021-04-29T17:22:20Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438534", - "benchcoach_object": 210, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498918", - "fields": { - "created_at": "2021-04-29T17:22:23Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438534", - "benchcoach_object": 211, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498919", - "fields": { - "created_at": "2021-04-29T17:22:25Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438534", - "benchcoach_object": 212, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498920", - "fields": { - "created_at": "2021-04-29T17:22:29Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438534", - "benchcoach_object": 213, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498921", - "fields": { - "created_at": "2021-04-29T17:22:31Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438534", - "benchcoach_object": 214, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498922", - "fields": { - "created_at": "2021-04-29T17:22:33Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438534", - "benchcoach_object": 215, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498923", - "fields": { - "created_at": "2021-04-29T17:22:35Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438534", - "benchcoach_object": 216, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498924", - "fields": { - "created_at": "2021-05-29T15:13:16Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438534", - "benchcoach_object": 454, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498925", - "fields": { - "created_at": "2021-05-29T15:13:20Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438534", - "benchcoach_object": 455, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498926", - "fields": { - "created_at": "2021-05-29T15:13:38Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438534", - "benchcoach_object": 456, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498927", - "fields": { - "created_at": "2021-06-03T21:38:12Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438534", - "benchcoach_object": 532, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498928", - "fields": { - "created_at": "2021-05-31T20:47:46Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438534", - "benchcoach_object": 500, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498929", - "fields": { - "created_at": "2021-06-03T21:38:16Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438534", - "benchcoach_object": 533, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498930", - "fields": { - "created_at": "2021-06-03T21:38:19Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438534", - "benchcoach_object": 534, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498931", - "fields": { - "created_at": "2021-06-03T21:38:24Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438534", - "benchcoach_object": 535, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498932", - "fields": { - "created_at": "2021-06-03T21:38:27Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438534", - "benchcoach_object": 536, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498933", - "fields": { - "created_at": "2021-06-03T21:38:31Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438534", - "benchcoach_object": 537, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498934", - "fields": { - "created_at": "2021-06-03T21:38:38Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438534", - "benchcoach_object": 538, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498935", - "fields": { - "created_at": "2021-06-03T21:38:39Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438534", - "benchcoach_object": 539, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498936", - "fields": { - "created_at": "2021-06-03T21:38:45Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438534", - "benchcoach_object": 540, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498937", - "fields": { - "created_at": "2021-06-03T21:38:49Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438534", - "benchcoach_object": 541, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498938", - "fields": { - "created_at": "2021-06-03T21:38:52Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438534", - "benchcoach_object": 542, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498939", - "fields": { - "created_at": "2021-06-09T01:22:43Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438534", - "benchcoach_object": 565, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498940", - "fields": { - "created_at": "2021-06-09T01:22:47Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438534", - "benchcoach_object": 566, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242498941", - "fields": { - "created_at": "2021-06-09T01:22:55Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438534", - "benchcoach_object": 567, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-242871761", - "fields": { - "created_at": "2021-04-26T14:42:35Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438534", - "benchcoach_object": 144, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-243613982", - "fields": { - "created_at": "2021-05-08T16:41:14Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438534", - "benchcoach_object": 324, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-245405062", - "fields": { - "created_at": "2021-06-21T16:57:05Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438534", - "benchcoach_object": 651, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438534", - "benchcoach_object": 934, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438534", - "benchcoach_object": 935, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438534", - "benchcoach_object": 936, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438534-247211697", - "fields": { - "created_at": "2021-07-30T05:14:29Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438534", - "benchcoach_object": 783, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438535", - "benchcoach_object": 937, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438535", - "benchcoach_object": 938, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438535", - "benchcoach_object": 939, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438535", - "benchcoach_object": 940, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-240842589", - "fields": { - "created_at": "2021-04-22T16:56:39Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438535", - "benchcoach_object": 130, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438535", - "benchcoach_object": 941, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438535", - "benchcoach_object": 942, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498915", - "fields": { - "created_at": "2021-04-27T19:01:41Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498915", - "member": "97438535", - "benchcoach_object": 160, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498916", - "fields": { - "created_at": "2021-04-27T19:01:44Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438535", - "benchcoach_object": 161, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498917", - "fields": { - "created_at": "2021-04-29T17:50:37Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438535", - "benchcoach_object": 227, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498918", - "fields": { - "created_at": "2021-04-29T17:50:04Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438535", - "benchcoach_object": 226, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498919", - "fields": { - "created_at": "2021-05-08T21:14:04Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438535", - "benchcoach_object": 327, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498920", - "fields": { - "created_at": "2021-05-18T14:23:52Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438535", - "benchcoach_object": 376, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498921", - "fields": { - "created_at": "2021-05-18T14:25:02Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438535", - "benchcoach_object": 378, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498922", - "fields": { - "created_at": "2021-05-18T14:25:00Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438535", - "benchcoach_object": 377, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498923", - "fields": { - "created_at": "2021-05-18T14:25:15Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438535", - "benchcoach_object": 379, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498924", - "fields": { - "created_at": "2021-05-29T15:16:44Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438535", - "benchcoach_object": 457, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498925", - "fields": { - "created_at": "2021-05-29T15:16:51Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438535", - "benchcoach_object": 458, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498926", - "fields": { - "created_at": "2021-05-29T15:17:10Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438535", - "benchcoach_object": 459, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498927", - "fields": { - "created_at": "2021-05-29T15:17:17Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438535", - "benchcoach_object": 460, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498928", - "fields": { - "created_at": "2021-06-05T19:13:34Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438535", - "benchcoach_object": 553, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498929", - "fields": { - "created_at": "2021-06-05T19:13:32Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498929", - "member": "97438535", - "benchcoach_object": 552, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498930", - "fields": { - "created_at": "2021-06-05T19:14:02Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438535", - "benchcoach_object": 554, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498931", - "fields": { - "created_at": "2021-06-05T19:14:05Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438535", - "benchcoach_object": 555, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498932", - "fields": { - "created_at": "2021-06-05T19:14:07Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438535", - "benchcoach_object": 556, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498933", - "fields": { - "created_at": "2021-06-05T19:14:13Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438535", - "benchcoach_object": 557, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498934", - "fields": { - "created_at": "2021-06-20T18:31:18Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438535", - "benchcoach_object": 644, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498935", - "fields": { - "created_at": "2021-06-23T15:50:40Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438535", - "benchcoach_object": 672, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498936", - "fields": { - "created_at": "2021-06-23T15:52:13Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438535", - "benchcoach_object": 673, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498937", - "fields": { - "created_at": "2021-06-23T15:52:17Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438535", - "benchcoach_object": 674, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498938", - "fields": { - "created_at": "2021-06-23T15:52:28Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438535", - "benchcoach_object": 675, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498939", - "fields": { - "created_at": "2021-06-26T22:28:19Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438535", - "benchcoach_object": 693, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498940", - "fields": { - "created_at": "2021-07-06T20:46:30Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438535", - "benchcoach_object": 728, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242498941", - "fields": { - "created_at": "2021-07-06T20:46:32Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438535", - "benchcoach_object": 729, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-242871761", - "fields": { - "created_at": "2021-04-24T13:38:42Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438535", - "benchcoach_object": 136, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-243613982", - "fields": { - "created_at": "2021-05-08T21:13:42Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438535", - "benchcoach_object": 326, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-245405062", - "fields": { - "created_at": "2021-06-23T15:50:18Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438535", - "benchcoach_object": 671, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438535", - "benchcoach_object": 943, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438535", - "benchcoach_object": 944, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438535", - "benchcoach_object": 945, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438535-247211697", - "fields": { - "created_at": "2021-07-28T22:08:16Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438535", - "benchcoach_object": 778, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438536", - "benchcoach_object": 946, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438536", - "benchcoach_object": 947, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438536", - "benchcoach_object": 948, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438536", - "benchcoach_object": 949, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-240842589", - "fields": { - "created_at": "2021-04-20T14:39:43Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "240842589", - "member": "97438536", - "benchcoach_object": 106, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438536", - "benchcoach_object": 950, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438536", - "benchcoach_object": 951, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498915", - "fields": { - "created_at": "2021-04-28T12:11:37Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498915", - "member": "97438536", - "benchcoach_object": 164, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498916", - "fields": { - "created_at": "2021-04-28T15:29:44Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438536", - "benchcoach_object": 180, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498917", - "fields": { - "created_at": "2021-05-02T19:57:49Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438536", - "benchcoach_object": 292, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498918", - "fields": { - "created_at": "2021-05-07T02:25:39Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438536", - "benchcoach_object": 314, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498919", - "fields": { - "created_at": "2021-05-10T15:04:14Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438536", - "benchcoach_object": 334, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498920", - "fields": { - "created_at": "2021-05-19T19:38:04Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438536", - "benchcoach_object": 382, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498921", - "fields": { - "created_at": "2021-05-19T19:38:40Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438536", - "benchcoach_object": 383, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498922", - "fields": { - "created_at": "2021-05-19T19:38:55Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438536", - "benchcoach_object": 384, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498923", - "fields": { - "created_at": "2021-05-29T01:33:31Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438536", - "benchcoach_object": 451, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498924", - "fields": { - "created_at": "2021-05-30T04:48:00Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438536", - "benchcoach_object": 486, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498925", - "fields": { - "created_at": "2021-05-30T04:47:46Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438536", - "benchcoach_object": 485, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498926", - "fields": { - "created_at": "2021-05-30T04:48:04Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438536", - "benchcoach_object": 487, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498927", - "fields": { - "created_at": "2021-05-30T04:48:24Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438536", - "benchcoach_object": 488, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498928", - "fields": { - "created_at": "2021-06-05T15:29:59Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438536", - "benchcoach_object": 551, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498929", - "fields": { - "created_at": "2021-06-10T22:34:05Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498929", - "member": "97438536", - "benchcoach_object": 570, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498930", - "fields": { - "created_at": "2021-06-14T17:57:36Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438536", - "benchcoach_object": 601, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498931", - "fields": { - "created_at": "2021-06-15T17:36:23Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438536", - "benchcoach_object": 606, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498932", - "fields": { - "created_at": "2021-06-15T17:36:24Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438536", - "benchcoach_object": 607, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498933", - "fields": { - "created_at": "2021-06-22T00:47:33Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438536", - "benchcoach_object": 660, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498934", - "fields": { - "created_at": "2021-07-12T20:02:03Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438536", - "benchcoach_object": 751, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498935", - "fields": { - "created_at": "2021-06-28T01:42:12Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438536", - "benchcoach_object": 697, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498936", - "fields": { - "created_at": "2021-07-03T17:25:43Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438536", - "benchcoach_object": 726, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498937", - "fields": { - "created_at": "2021-07-08T21:02:32Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438536", - "benchcoach_object": 742, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498938", - "fields": { - "created_at": "2021-07-08T21:02:37Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438536", - "benchcoach_object": 743, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498939", - "fields": { - "created_at": "2021-07-08T21:03:15Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438536", - "benchcoach_object": 744, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498940", - "fields": { - "created_at": "2021-07-12T20:03:11Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438536", - "benchcoach_object": 752, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242498941", - "fields": { - "created_at": "2021-07-21T09:47:28Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438536", - "benchcoach_object": 761, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438536", - "benchcoach_object": 952, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-243613982", - "fields": { - "created_at": "2021-05-10T15:02:37Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438536", - "benchcoach_object": 333, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-245405062", - "fields": { - "created_at": "2021-06-22T00:46:51Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438536", - "benchcoach_object": 659, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438536", - "benchcoach_object": 953, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-245405185", - "fields": { - "created_at": "2021-06-22T00:47:51Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405185", - "member": "97438536", - "benchcoach_object": 661, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438536", - "benchcoach_object": 954, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438536-247211697", - "fields": { - "created_at": "2021-07-30T18:58:28Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438536", - "benchcoach_object": 784, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438537", - "benchcoach_object": 955, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438537", - "benchcoach_object": 956, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438537", - "benchcoach_object": 957, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438537", - "benchcoach_object": 958, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438537", - "benchcoach_object": 959, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438537", - "benchcoach_object": 960, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438537", - "benchcoach_object": 961, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498915", - "fields": { - "created_at": "2021-05-01T01:16:53Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498915", - "member": "97438537", - "benchcoach_object": 283, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498916", - "fields": { - "created_at": "2021-05-01T01:17:19Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438537", - "benchcoach_object": 284, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498917", - "fields": { - "created_at": "2021-05-05T13:55:20Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438537", - "benchcoach_object": 301, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498918", - "fields": { - "created_at": "2021-05-05T13:55:27Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438537", - "benchcoach_object": 302, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498919", - "fields": { - "created_at": "2021-05-14T01:46:27Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438537", - "benchcoach_object": 342, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498920", - "fields": { - "created_at": "2021-05-17T14:47:07Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438537", - "benchcoach_object": 371, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498921", - "fields": { - "created_at": "2021-05-17T14:47:12Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438537", - "benchcoach_object": 372, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498922", - "fields": { - "created_at": "2021-05-17T14:47:20Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438537", - "benchcoach_object": 373, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498923", - "fields": { - "created_at": "2021-05-29T21:23:44Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438537", - "benchcoach_object": 484, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498924", - "fields": { - "created_at": "2021-05-31T00:52:12Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498924", - "member": "97438537", - "benchcoach_object": 495, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498925", - "fields": { - "created_at": "2021-05-31T00:52:25Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438537", - "benchcoach_object": 496, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498926", - "fields": { - "created_at": "2021-06-03T14:55:14Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438537", - "benchcoach_object": 530, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498927", - "fields": { - "created_at": "2021-06-03T14:55:20Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498927", - "member": "97438537", - "benchcoach_object": 531, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498928", - "fields": { - "created_at": "2021-06-08T23:14:34Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438537", - "benchcoach_object": 564, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498929", - "fields": { - "created_at": "2021-06-11T16:54:09Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498929", - "member": "97438537", - "benchcoach_object": 577, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498930", - "fields": { - "created_at": "2021-06-14T05:00:00Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438537", - "benchcoach_object": 598, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498931", - "fields": { - "created_at": "2021-06-14T05:00:35Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438537", - "benchcoach_object": 599, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498932", - "fields": { - "created_at": "2021-06-14T05:00:47Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438537", - "benchcoach_object": 600, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498933", - "fields": { - "created_at": "2021-06-22T00:33:51Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438537", - "benchcoach_object": 657, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498934", - "fields": { - "created_at": "2021-06-22T00:34:04Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438537", - "benchcoach_object": 658, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498935", - "fields": { - "created_at": "2021-06-28T02:16:55Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438537", - "benchcoach_object": 698, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498936", - "fields": { - "created_at": "2021-07-01T19:07:58Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438537", - "benchcoach_object": 718, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498937", - "fields": { - "created_at": "2021-07-01T19:09:57Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438537", - "benchcoach_object": 722, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498938", - "fields": { - "created_at": "2021-07-01T19:10:04Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438537", - "benchcoach_object": 723, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498939", - "fields": { - "created_at": "2021-07-01T19:10:09Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498939", - "member": "97438537", - "benchcoach_object": 724, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498940", - "fields": { - "created_at": "2021-07-01T19:10:14Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438537", - "benchcoach_object": 725, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242498941", - "fields": { - "created_at": "2021-07-19T23:41:05Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438537", - "benchcoach_object": 760, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-242871761", - "fields": { - "created_at": "2021-04-26T14:00:23Z", - "updated_at": "2021-09-09T12:15:45Z", - "team": "7644001", - "event": "242871761", - "member": "97438537", - "benchcoach_object": 143, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-243613982", - "fields": { - "created_at": "2021-05-10T14:50:29Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438537", - "benchcoach_object": 332, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438537", - "benchcoach_object": 962, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438537", - "benchcoach_object": 963, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438537", - "benchcoach_object": 964, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438537", - "benchcoach_object": 965, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438537-247211697", - "fields": { - "created_at": "2021-07-27T15:33:11Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438537", - "benchcoach_object": 774, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438538", - "benchcoach_object": 966, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438538", - "benchcoach_object": 967, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438538", - "benchcoach_object": 968, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438538", - "benchcoach_object": 969, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438538", - "benchcoach_object": 970, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438538", - "benchcoach_object": 971, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438538", - "benchcoach_object": 972, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498915", - "fields": { - "created_at": "2021-04-28T14:41:29Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498915", - "member": "97438538", - "benchcoach_object": 165, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498916", - "fields": { - "created_at": "2021-04-28T14:41:49Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498916", - "member": "97438538", - "benchcoach_object": 166, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498917", - "fields": { - "created_at": "2021-05-04T23:23:47Z", - "updated_at": "2021-09-09T12:15:46Z", - "team": "7644001", - "event": "242498917", - "member": "97438538", - "benchcoach_object": 300, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498918", - "fields": { - "created_at": "2021-05-04T02:56:11Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498918", - "member": "97438538", - "benchcoach_object": 299, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498919", - "fields": { - "created_at": "2021-05-14T16:56:07Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438538", - "benchcoach_object": 343, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498920", - "fields": { - "created_at": "2021-05-20T01:46:30Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438538", - "benchcoach_object": 391, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498921", - "fields": { - "created_at": "2021-05-20T01:46:31Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438538", - "benchcoach_object": 392, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498922", - "fields": { - "created_at": "2021-05-20T01:46:34Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498922", - "member": "97438538", - "benchcoach_object": 393, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498923", - "fields": { - "created_at": "2021-05-28T01:12:38Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438538", - "benchcoach_object": 449, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498924", - "fields": { - "created_at": "2021-05-29T15:34:24Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498924", - "member": "97438538", - "benchcoach_object": 463, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498925", - "fields": { - "created_at": "2021-05-29T18:36:19Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438538", - "benchcoach_object": 483, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438538", - "benchcoach_object": 973, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438538", - "benchcoach_object": 974, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498928", - "fields": { - "created_at": "2021-06-07T16:38:39Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438538", - "benchcoach_object": 562, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498929", - "fields": { - "created_at": "2021-06-07T16:38:41Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498929", - "member": "97438538", - "benchcoach_object": 563, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498930", - "fields": { - "created_at": "2021-06-13T23:33:47Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438538", - "benchcoach_object": 591, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498931", - "fields": { - "created_at": "2021-06-17T12:53:20Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438538", - "benchcoach_object": 625, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498932", - "fields": { - "created_at": "2021-06-17T12:53:22Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438538", - "benchcoach_object": 626, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498933", - "fields": { - "created_at": "2021-06-21T22:23:26Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438538", - "benchcoach_object": 652, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498934", - "fields": { - "created_at": "2021-07-11T20:52:07Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438538", - "benchcoach_object": 745, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498935", - "fields": { - "created_at": "2021-06-27T18:47:21Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438538", - "benchcoach_object": 695, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498936", - "fields": { - "created_at": "2021-06-28T20:48:03Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438538", - "benchcoach_object": 707, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498937", - "fields": { - "created_at": "2021-06-28T20:48:36Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438538", - "benchcoach_object": 708, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498938", - "fields": { - "created_at": "2021-06-28T20:48:45Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438538", - "benchcoach_object": 709, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498939", - "fields": { - "created_at": "2021-06-28T20:47:23Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498939", - "member": "97438538", - "benchcoach_object": 706, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498940", - "fields": { - "created_at": "2021-07-11T20:52:18Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438538", - "benchcoach_object": 746, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242498941", - "fields": { - "created_at": "2021-07-11T23:23:49Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438538", - "benchcoach_object": 747, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438538", - "benchcoach_object": 975, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-243613982", - "fields": { - "created_at": "2021-05-11T03:03:07Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "243613982", - "member": "97438538", - "benchcoach_object": 336, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-245405062", - "fields": { - "created_at": "2021-06-20T18:33:11Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "245405062", - "member": "97438538", - "benchcoach_object": 645, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438538", - "benchcoach_object": 976, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438538", - "benchcoach_object": 977, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438538", - "benchcoach_object": 978, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438538-247211697", - "fields": { - "created_at": "2021-07-30T03:39:20Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438538", - "benchcoach_object": 782, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498920", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498920", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498929", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498929", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498930", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498930", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498931", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498931", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498932", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498932", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498933", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498933", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498934", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498934", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498935", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498935", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498936", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498936", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498937", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498937", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498938", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498938", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498939", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498939", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242498941", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498941", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438539-247211697", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "247211697", - "member": "97438539", - "benchcoach_object": null, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438540", - "benchcoach_object": 979, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438540", - "benchcoach_object": 980, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438540", - "benchcoach_object": 981, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438540", - "benchcoach_object": 982, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438540", - "benchcoach_object": 983, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438540", - "benchcoach_object": 984, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438540", - "benchcoach_object": 985, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438540", - "benchcoach_object": 986, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438540", - "benchcoach_object": 987, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438540", - "benchcoach_object": 988, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438540", - "benchcoach_object": 989, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498919", - "fields": { - "created_at": "2021-05-14T17:21:56Z", - "updated_at": "2021-09-09T12:15:47Z", - "team": "7644001", - "event": "242498919", - "member": "97438540", - "benchcoach_object": 344, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498920", - "fields": { - "created_at": "2021-05-14T17:22:30Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498920", - "member": "97438540", - "benchcoach_object": 345, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498921", - "fields": { - "created_at": "2021-05-14T17:22:42Z", - "updated_at": "2021-09-09T12:15:48Z", - "team": "7644001", - "event": "242498921", - "member": "97438540", - "benchcoach_object": 346, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438540", - "benchcoach_object": 990, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498923", - "fields": { - "created_at": "2021-05-24T20:43:25Z", - "updated_at": "2021-09-09T12:15:49Z", - "team": "7644001", - "event": "242498923", - "member": "97438540", - "benchcoach_object": 409, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498924", - "fields": { - "created_at": "2021-05-24T20:43:35Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498924", - "member": "97438540", - "benchcoach_object": 410, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498925", - "fields": { - "created_at": "2021-05-24T20:44:04Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498925", - "member": "97438540", - "benchcoach_object": 412, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498926", - "fields": { - "created_at": "2021-05-24T20:43:56Z", - "updated_at": "2021-09-09T12:15:50Z", - "team": "7644001", - "event": "242498926", - "member": "97438540", - "benchcoach_object": 411, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438540", - "benchcoach_object": 991, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498928", - "fields": { - "created_at": "2021-06-07T15:18:48Z", - "updated_at": "2021-09-09T12:15:51Z", - "team": "7644001", - "event": "242498928", - "member": "97438540", - "benchcoach_object": 559, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498929", - "fields": { - "created_at": "2021-06-07T15:20:15Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498929", - "member": "97438540", - "benchcoach_object": 560, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498930", - "fields": { - "created_at": "2021-06-07T15:20:22Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438540", - "benchcoach_object": 561, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498931", - "fields": { - "created_at": "2021-06-13T23:56:22Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438540", - "benchcoach_object": 592, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498932", - "fields": { - "created_at": "2021-06-13T23:56:33Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438540", - "benchcoach_object": 593, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498933", - "fields": { - "created_at": "2021-06-22T22:03:22Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438540", - "benchcoach_object": 663, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498934", - "fields": { - "created_at": "2021-06-22T22:04:19Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438540", - "benchcoach_object": 664, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498935", - "fields": { - "created_at": "2021-06-28T18:00:22Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438540", - "benchcoach_object": 705, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498936", - "fields": { - "created_at": "2021-07-06T21:54:34Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438540", - "benchcoach_object": 735, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498937", - "fields": { - "created_at": "2021-07-06T21:54:40Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438540", - "benchcoach_object": 736, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498938", - "fields": { - "created_at": "2021-07-06T21:54:46Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438540", - "benchcoach_object": 737, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498939", - "fields": { - "created_at": "2021-07-06T21:54:47Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498939", - "member": "97438540", - "benchcoach_object": 738, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498940", - "fields": { - "created_at": "2021-07-06T21:54:01Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498940", - "member": "97438540", - "benchcoach_object": 734, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242498941", - "fields": { - "created_at": "2021-07-06T21:53:48Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438540", - "benchcoach_object": 733, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438540", - "benchcoach_object": 992, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438540", - "benchcoach_object": 993, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438540", - "benchcoach_object": 994, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438540", - "benchcoach_object": 995, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438540", - "benchcoach_object": 996, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438540", - "benchcoach_object": 997, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438540-247211697", - "fields": { - "created_at": "2021-07-28T04:24:23Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438540", - "benchcoach_object": 777, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-239261604", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239261604", - "member": "97438543", - "benchcoach_object": 998, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-239470955", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239470955", - "member": "97438543", - "benchcoach_object": 999, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-239471074", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239471074", - "member": "97438543", - "benchcoach_object": 1000, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-239656151", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "239656151", - "member": "97438543", - "benchcoach_object": 1001, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-240842589", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240842589", - "member": "97438543", - "benchcoach_object": 1002, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-240896091", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "240896091", - "member": "97438543", - "benchcoach_object": 1003, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-241259079", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "241259079", - "member": "97438543", - "benchcoach_object": 1004, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498915", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498915", - "member": "97438543", - "benchcoach_object": 1005, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498916", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498916", - "member": "97438543", - "benchcoach_object": 1006, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498917", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498917", - "member": "97438543", - "benchcoach_object": 1007, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498918", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498918", - "member": "97438543", - "benchcoach_object": 1008, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498919", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498919", - "member": "97438543", - "benchcoach_object": 1009, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498920", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498920", - "member": "97438543", - "benchcoach_object": 1010, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498921", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498921", - "member": "97438543", - "benchcoach_object": 1011, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498922", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498922", - "member": "97438543", - "benchcoach_object": 1012, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498923", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498923", - "member": "97438543", - "benchcoach_object": 1013, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498924", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498924", - "member": "97438543", - "benchcoach_object": 1014, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498925", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498925", - "member": "97438543", - "benchcoach_object": 1015, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498926", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498926", - "member": "97438543", - "benchcoach_object": 1016, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498927", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498927", - "member": "97438543", - "benchcoach_object": 1017, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498928", - "member": "97438543", - "benchcoach_object": 1018, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498929", - "fields": { - "created_at": "2021-06-11T19:08:42Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498929", - "member": "97438543", - "benchcoach_object": 578, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498930", - "fields": { - "created_at": "2021-06-14T01:58:13Z", - "updated_at": "2021-09-09T12:15:52Z", - "team": "7644001", - "event": "242498930", - "member": "97438543", - "benchcoach_object": 596, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498931", - "fields": { - "created_at": "2021-06-16T20:42:07Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498931", - "member": "97438543", - "benchcoach_object": 617, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498932", - "fields": { - "created_at": "2021-06-18T21:32:03Z", - "updated_at": "2021-09-09T12:15:53Z", - "team": "7644001", - "event": "242498932", - "member": "97438543", - "benchcoach_object": 642, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498933", - "fields": { - "created_at": "2021-06-22T18:58:10Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "242498933", - "member": "97438543", - "benchcoach_object": 662, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498934", - "fields": { - "created_at": "2021-06-23T02:40:10Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498934", - "member": "97438543", - "benchcoach_object": 665, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498935", - "fields": { - "created_at": "2021-06-28T17:54:49Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498935", - "member": "97438543", - "benchcoach_object": 699, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498936", - "fields": { - "created_at": "2021-07-05T14:14:32Z", - "updated_at": "2021-09-09T12:15:54Z", - "team": "7644001", - "event": "242498936", - "member": "97438543", - "benchcoach_object": 727, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498937", - "fields": { - "created_at": "2021-07-07T15:50:06Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498937", - "member": "97438543", - "benchcoach_object": 740, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498938", - "fields": { - "created_at": "2021-07-07T15:50:17Z", - "updated_at": "2021-09-09T12:15:55Z", - "team": "7644001", - "event": "242498938", - "member": "97438543", - "benchcoach_object": 741, - "status_code": 2 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498939", - "fields": { - "created_at": "2021-07-12T04:04:36Z", - "updated_at": "2021-09-09T12:15:56Z", - "team": "7644001", - "event": "242498939", - "member": "97438543", - "benchcoach_object": 748, - "status_code": 1 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498940", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242498940", - "member": "97438543", - "benchcoach_object": 1019, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242498941", - "fields": { - "created_at": "2021-07-18T22:11:30Z", - "updated_at": "2021-09-09T12:15:57Z", - "team": "7644001", - "event": "242498941", - "member": "97438543", - "benchcoach_object": 757, - "status_code": 0 - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-242871761", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "242871761", - "member": "97438543", - "benchcoach_object": 1020, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-243613982", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "243613982", - "member": "97438543", - "benchcoach_object": 1021, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-245405062", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405062", - "member": "97438543", - "benchcoach_object": 1022, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-245405146", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405146", - "member": "97438543", - "benchcoach_object": 1023, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-245405185", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245405185", - "member": "97438543", - "benchcoach_object": 1024, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-245612928", - "fields": { - "created_at": null, - "updated_at": null, - "team": "7644001", - "event": "245612928", - "member": "97438543", - "benchcoach_object": 1025, - "status_code": null - } - }, - { - "model": "teamsnap.availability", - "pk": "97438543-247211697", - "fields": { - "created_at": "2021-07-26T14:07:16Z", - "updated_at": "2021-09-09T12:15:58Z", - "team": "7644001", - "event": "247211697", - "member": "97438543", - "benchcoach_object": 769, - "status_code": 2 - } - } -] \ No newline at end of file diff --git a/teamsnap/forms.py b/teamsnap/forms.py index cbc39a4..a86a08b 100644 --- a/teamsnap/forms.py +++ b/teamsnap/forms.py @@ -1,78 +1,21 @@ from django import forms -from .models import Team, Location, Opponent, Event, Member -from django.forms import modelformset_factory, formset_factory, inlineformset_factory +from django.forms import ModelForm, formset_factory -select_kwargs = { - 'attrs':{'class': 'form-control form-control-sm'} -} +from .models import Preferences -text_input_kwargs = { - 'attrs':{"readonly": "readonly", 'class':'form-control form-control-sm'} -} -class MemberForm(forms.ModelForm): +class PreferencesForm(ModelForm): class Meta: - model = Member - fields = ('first_name', 'last_name', 'benchcoach_object') - labels = { - 'benchcoach_object': 'BenchCoach Link', - } + model = Preferences + fields = ["user", "managed_team_id"] widgets = { - "benchcoach_object": forms.Select(**select_kwargs), - "first_name": forms.TextInput(**text_input_kwargs), - "last_name": forms.TextInput(**text_input_kwargs), + "user": forms.HiddenInput(), + "managed_team_id": forms.Select( + choices=(), attrs={"class": "form-control"} + ), } + labels = {"managed_team_id": "Selected Team"} -class EventForm(forms.ModelForm): - class Meta: - model = Event - fields = ('formatted_title', 'start_date', 'benchcoach_object') - labels ={ - 'formatted_title':"Title", - 'benchcoach_object':'BenchCoach Link', - 'start_date':'Date/Time' - } - widgets = { - "benchcoach_object": forms.Select(**select_kwargs), - "formatted_title":forms.TextInput(**text_input_kwargs), - "start_date": forms.DateTimeInput(**text_input_kwargs) - } - -class TeamForm(forms.ModelForm): - class Meta: - model = Team - fields = ('name', 'benchcoach_object') - labels ={ - 'benchcoach_object':'BenchCoach Link', - } - widgets = { - "name":forms.TextInput(**text_input_kwargs), - "benchcoach_object": forms.Select(**select_kwargs) - } - -class OpponentForm(forms.ModelForm): - class Meta: - model = Opponent - fields = ('name', 'benchcoach_object') - labels ={ - 'benchcoach_object':'BenchCoach Link', - } - widgets = { - "name":forms.TextInput(**text_input_kwargs), - "benchcoach_object": forms.Select(**select_kwargs) - } - -class LocationForm(forms.ModelForm): - class Meta: - model = Location - fields = ('name', 'benchcoach_object') - labels ={ - 'benchcoach_object':'BenchCoach Link', - } - widgets = { - "name":forms.TextInput(**text_input_kwargs), - "benchcoach_object": forms.Select(**select_kwargs) - } class LineupEntryForm(forms.Form): member = None @@ -85,35 +28,27 @@ class LineupEntryForm(forms.Form): member_id = forms.Field() position_only = forms.BooleanField(initial=False, required=False) sequence = forms.IntegerField(required=False) - label = forms.ChoiceField(required=False, choices=[ - ("", "--"), - ("P","P"), - ("C","C"), - ("1B","1B"), - ("2B", "2B"), - ("3B", "3B"), - ("SS", "SS"), - ('LF','LF'), - ('CF','CF'), - ('RF','RF'), - ('DH','DH'), - ('DR','DR'), - ('EH','EH') - ], - widget=forms.Select( - attrs = {'onchange' : "colorPositions();"} - ) - ) - - -class EventChooseForm(forms.Form): - event_id = forms.ChoiceField() - - # checked = forms.BooleanField(required=False) - # def __init__(self, events, *args, **kwargs): - # super(EventChooseForm, self).__init__(*args, **kwargs) - # self.fields['foo'].choices = [e.data['id'] for e in events] - -LineupEntryFormset = formset_factory(LineupEntryForm, can_delete=True, can_order=True, extra=0) + label = forms.ChoiceField( + required=False, + choices=[ + ("", "--"), + ("P", "P"), + ("C", "C"), + ("1B", "1B"), + ("2B", "2B"), + ("3B", "3B"), + ("SS", "SS"), + ("LF", "LF"), + ("CF", "CF"), + ("RF", "RF"), + ("DH", "DH"), + ("DR", "DR"), + ("EH", "EH"), + ], + widget=forms.Select(attrs={"onchange": "colorPositions();"}), + ) +LineupEntryFormset = formset_factory( + LineupEntryForm, can_delete=True, can_order=True, extra=0 +) diff --git a/teamsnap/migrations/0001_initial.py b/teamsnap/migrations/0001_initial.py index 4ccc851..c7ba542 100644 --- a/teamsnap/migrations/0001_initial.py +++ b/teamsnap/migrations/0001_initial.py @@ -1,5 +1,6 @@ -# Generated by Django 3.2.6 on 2021-12-17 21:35 +# Generated by Django 3.2.13 on 2022-06-02 13:20 +from django.conf import settings from django.db import migrations, models import django.db.models.deletion @@ -9,134 +10,16 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('benchcoach', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( - name='Team', + name='Preferences', fields=[ - ('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), - ('name', models.CharField(max_length=50, null=True)), - ('created_at', models.DateTimeField(null=True)), - ('updated_at', models.DateTimeField(null=True)), - ('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnapteam', to='benchcoach.team')), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('managed_team_id', models.IntegerField()), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='User', - fields=[ - ('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), - ('created_at', models.DateTimeField(null=True)), - ('updated_at', models.DateTimeField(null=True)), - ('first_name', models.CharField(max_length=50, null=True)), - ('last_name', models.CharField(max_length=50, null=True)), - ('email', models.EmailField(max_length=254, null=True)), - ('managed_teams', models.ManyToManyField(to='teamsnap.Team')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='Opponent', - fields=[ - ('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), - ('name', models.CharField(max_length=50, null=True)), - ('created_at', models.DateTimeField(null=True)), - ('updated_at', models.DateTimeField(null=True)), - ('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.team')), - ('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='Member', - fields=[ - ('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), - ('created_at', models.DateTimeField(null=True)), - ('updated_at', models.DateTimeField(null=True)), - ('first_name', models.CharField(max_length=50, null=True)), - ('last_name', models.CharField(max_length=50, null=True)), - ('jersey_number', models.IntegerField(null=True)), - ('is_non_player', models.BooleanField()), - ('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.player')), - ('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='Location', - fields=[ - ('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), - ('name', models.CharField(max_length=50, null=True)), - ('created_at', models.DateTimeField(null=True)), - ('updated_at', models.DateTimeField(null=True)), - ('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.venue')), - ('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='Event', - fields=[ - ('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), - ('created_at', models.DateTimeField(null=True)), - ('updated_at', models.DateTimeField(null=True)), - ('label', models.CharField(max_length=50, null=True)), - ('start_date', models.DateTimeField(null=True)), - ('formatted_title', models.CharField(max_length=50, null=True)), - ('points_for_opponent', models.PositiveSmallIntegerField(null=True)), - ('points_for_team', models.PositiveSmallIntegerField(null=True)), - ('is_game', models.BooleanField()), - ('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_event', to='benchcoach.event')), - ('location', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.location')), - ('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')), - ('opponent', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='opponent', to='teamsnap.opponent')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='Availability', - fields=[ - ('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), - ('created_at', models.DateTimeField(null=True)), - ('updated_at', models.DateTimeField(null=True)), - ('status_code', models.SmallIntegerField(choices=[(1, 'Yes'), (0, 'No'), (2, 'Maybe'), (None, 'Unknown')], default=None, null=True)), - ('benchcoach_object', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='benchcoach.availability')), - ('event', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.event')), - ('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')), - ('member', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.member')), - ], - options={ - 'verbose_name_plural': 'availabilities', - }, - ), - migrations.CreateModel( - name='LineupEntry', - fields=[ - ('id', models.CharField(max_length=50, primary_key=True, serialize=False, unique=True)), - ('created_at', models.DateTimeField(null=True)), - ('updated_at', models.DateTimeField(null=True)), - ('label', models.PositiveSmallIntegerField(blank=True, choices=[(11, 'EH'), (1, 'P'), (2, 'C'), (3, '1B'), (4, '2B'), (5, '3B'), (6, 'SS'), (7, 'LF'), (8, 'CF'), (9, 'RF'), (10, 'DH')], default=None, null=True)), - ('sequence', models.PositiveSmallIntegerField(blank=True, default=0, null=True)), - ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='teamsnap.event')), - ('managed_by_team', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team')), - ('member', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='teamsnap.member')), - ], - options={ - 'unique_together': {('member', 'event')}, - }, ), ] diff --git a/teamsnap/migrations/0002_event_game_type.py b/teamsnap/migrations/0002_event_game_type.py deleted file mode 100644 index d09ae41..0000000 --- a/teamsnap/migrations/0002_event_game_type.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-18 23:37 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('teamsnap', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='event', - name='game_type', - field=models.CharField(max_length=50, null=True), - ), - ] diff --git a/teamsnap/migrations/0003_auto_20211219_2058.py b/teamsnap/migrations/0003_auto_20211219_2058.py deleted file mode 100644 index 984cc08..0000000 --- a/teamsnap/migrations/0003_auto_20211219_2058.py +++ /dev/null @@ -1,108 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-20 02:58 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('benchcoach', '0002_alter_player_jersey_number'), - ('teamsnap', '0002_event_game_type'), - ] - - operations = [ - migrations.RemoveField( - model_name='availability', - name='managed_by_team', - ), - migrations.RemoveField( - model_name='event', - name='managed_by_team', - ), - migrations.RemoveField( - model_name='location', - name='managed_by_team', - ), - migrations.RemoveField( - model_name='member', - name='managed_by_team', - ), - migrations.RemoveField( - model_name='opponent', - name='managed_by_team', - ), - migrations.AddField( - model_name='availability', - name='team', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team', verbose_name='managed by team'), - ), - migrations.AddField( - model_name='event', - name='team', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team', verbose_name='managed by team'), - ), - migrations.AddField( - model_name='lineupentry', - name='benchcoach_object', - field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_lineupentry', to='benchcoach.positioning'), - ), - migrations.AddField( - model_name='lineupentry', - name='team', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team', verbose_name='managed by team'), - ), - migrations.AddField( - model_name='location', - name='team', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team', verbose_name='managed by team'), - ), - migrations.AddField( - model_name='member', - name='team', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team', verbose_name='managed by team'), - ), - migrations.AddField( - model_name='opponent', - name='team', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='teamsnap.team', verbose_name='managed by team'), - ), - migrations.AlterField( - model_name='availability', - name='benchcoach_object', - field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_availability', to='benchcoach.availability'), - ), - migrations.AlterField( - model_name='event', - name='benchcoach_object', - field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_event', to='benchcoach.event'), - ), - migrations.AlterField( - model_name='location', - name='benchcoach_object', - field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_location', to='benchcoach.venue'), - ), - migrations.AlterField( - model_name='member', - name='benchcoach_object', - field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_member', to='benchcoach.player'), - ), - migrations.AlterField( - model_name='opponent', - name='benchcoach_object', - field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_opponent', to='benchcoach.team'), - ), - migrations.AlterField( - model_name='team', - name='benchcoach_object', - field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_team', to='benchcoach.team'), - ), - migrations.AlterUniqueTogether( - name='lineupentry', - unique_together=set(), - ), - migrations.RemoveField( - model_name='lineupentry', - name='managed_by_team', - ), - ] diff --git a/teamsnap/migrations/0004_auto_20211222_0957.py b/teamsnap/migrations/0004_auto_20211222_0957.py deleted file mode 100644 index a9803d6..0000000 --- a/teamsnap/migrations/0004_auto_20211222_0957.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-22 15:57 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('teamsnap', '0003_auto_20211219_2058'), - ] - - operations = [ - migrations.AlterField( - model_name='event', - name='is_game', - field=models.BooleanField(null=True), - ), - migrations.AlterField( - model_name='member', - name='is_non_player', - field=models.BooleanField(null=True), - ), - ] diff --git a/teamsnap/migrations/0005_auto_20211224_1042.py b/teamsnap/migrations/0005_auto_20211224_1042.py deleted file mode 100644 index 03c7547..0000000 --- a/teamsnap/migrations/0005_auto_20211224_1042.py +++ /dev/null @@ -1,50 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-24 16:42 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('benchcoach', '0002_alter_player_jersey_number'), - ('teamsnap', '0004_auto_20211222_0957'), - ] - - operations = [ - migrations.AlterField( - model_name='availability', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_availability', to='benchcoach.availability'), - ), - migrations.AlterField( - model_name='event', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_event', to='benchcoach.event'), - ), - migrations.AlterField( - model_name='lineupentry', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_lineupentry', to='benchcoach.positioning'), - ), - migrations.AlterField( - model_name='location', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_location', to='benchcoach.venue'), - ), - migrations.AlterField( - model_name='member', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_member', to='benchcoach.player'), - ), - migrations.AlterField( - model_name='opponent', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_opponent', to='benchcoach.team'), - ), - migrations.AlterField( - model_name='team', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_team', to='benchcoach.team'), - ), - ] diff --git a/teamsnap/migrations/0005_auto_20211228_1906.py b/teamsnap/migrations/0005_auto_20211228_1906.py deleted file mode 100644 index a0ba237..0000000 --- a/teamsnap/migrations/0005_auto_20211228_1906.py +++ /dev/null @@ -1,50 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-29 01:06 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('benchcoach', '0002_alter_player_jersey_number'), - ('teamsnap', '0004_auto_20211222_0957'), - ] - - operations = [ - migrations.AlterField( - model_name='availability', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_object+', to='benchcoach.availability'), - ), - migrations.AlterField( - model_name='event', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_object+', to='benchcoach.event'), - ), - migrations.AlterField( - model_name='lineupentry', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_object+', to='benchcoach.positioning'), - ), - migrations.AlterField( - model_name='location', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_object+', to='benchcoach.venue'), - ), - migrations.AlterField( - model_name='member', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_object+', to='benchcoach.player'), - ), - migrations.AlterField( - model_name='opponent', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_object+', to='benchcoach.team'), - ), - migrations.AlterField( - model_name='team', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_object+', to='benchcoach.team'), - ), - ] diff --git a/teamsnap/migrations/0006_auto_20211228_1907.py b/teamsnap/migrations/0006_auto_20211228_1907.py deleted file mode 100644 index 445617d..0000000 --- a/teamsnap/migrations/0006_auto_20211228_1907.py +++ /dev/null @@ -1,50 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-29 01:07 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('benchcoach', '0002_alter_player_jersey_number'), - ('teamsnap', '0005_auto_20211228_1906'), - ] - - operations = [ - migrations.AlterField( - model_name='availability', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_availability', to='benchcoach.availability'), - ), - migrations.AlterField( - model_name='event', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_event', to='benchcoach.event'), - ), - migrations.AlterField( - model_name='lineupentry', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_lineupentry', to='benchcoach.positioning'), - ), - migrations.AlterField( - model_name='location', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_location', to='benchcoach.venue'), - ), - migrations.AlterField( - model_name='member', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_member', to='benchcoach.player'), - ), - migrations.AlterField( - model_name='opponent', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_opponent', to='benchcoach.team'), - ), - migrations.AlterField( - model_name='team', - name='benchcoach_object', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_team', to='benchcoach.team'), - ), - ] diff --git a/teamsnap/migrations/0007_auto_20211228_1910.py b/teamsnap/migrations/0007_auto_20211228_1910.py deleted file mode 100644 index 76c5af5..0000000 --- a/teamsnap/migrations/0007_auto_20211228_1910.py +++ /dev/null @@ -1,50 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-29 01:10 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('benchcoach', '0002_alter_player_jersey_number'), - ('teamsnap', '0006_auto_20211228_1907'), - ] - - operations = [ - migrations.AlterField( - model_name='availability', - name='benchcoach_object', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_availability', to='benchcoach.availability'), - ), - migrations.AlterField( - model_name='event', - name='benchcoach_object', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_event', to='benchcoach.event'), - ), - migrations.AlterField( - model_name='lineupentry', - name='benchcoach_object', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_lineupentry', to='benchcoach.positioning'), - ), - migrations.AlterField( - model_name='location', - name='benchcoach_object', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_location', to='benchcoach.venue'), - ), - migrations.AlterField( - model_name='member', - name='benchcoach_object', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_member', to='benchcoach.player'), - ), - migrations.AlterField( - model_name='opponent', - name='benchcoach_object', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_opponent', to='benchcoach.team'), - ), - migrations.AlterField( - model_name='team', - name='benchcoach_object', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='teamsnap_team', to='benchcoach.team'), - ), - ] diff --git a/teamsnap/migrations/0008_alter_availability_status_code.py b/teamsnap/migrations/0008_alter_availability_status_code.py deleted file mode 100644 index 881664a..0000000 --- a/teamsnap/migrations/0008_alter_availability_status_code.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-29 14:58 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('teamsnap', '0007_auto_20211228_1910'), - ] - - operations = [ - migrations.AlterField( - model_name='availability', - name='status_code', - field=models.SmallIntegerField(choices=[(1, 'Yes'), (0, 'No'), (2, 'Maybe'), (None, 'Unknown')], default=None), - ), - ] diff --git a/teamsnap/migrations/0009_alter_availability_status_code.py b/teamsnap/migrations/0009_alter_availability_status_code.py deleted file mode 100644 index 498fe91..0000000 --- a/teamsnap/migrations/0009_alter_availability_status_code.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 3.2.6 on 2021-12-29 16:24 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('teamsnap', '0008_alter_availability_status_code'), - ] - - operations = [ - migrations.AlterField( - model_name='availability', - name='status_code', - field=models.SmallIntegerField(blank=True, choices=[(1, 'Yes'), (0, 'No'), (2, 'Maybe'), (None, 'Unknown')], default=None, null=True), - ), - ] diff --git a/teamsnap/migrations/0010_merge_20220506_1031.py b/teamsnap/migrations/0010_merge_20220506_1031.py deleted file mode 100644 index ee8518f..0000000 --- a/teamsnap/migrations/0010_merge_20220506_1031.py +++ /dev/null @@ -1,14 +0,0 @@ -# Generated by Django 3.2.6 on 2022-05-06 15:31 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('teamsnap', '0005_auto_20211224_1042'), - ('teamsnap', '0009_alter_availability_status_code'), - ] - - operations = [ - ] diff --git a/teamsnap/models.py b/teamsnap/models.py index 1d65e1e..7a48f0a 100644 --- a/teamsnap/models.py +++ b/teamsnap/models.py @@ -1,221 +1,9 @@ +# Create your models here. from django.db import models -import benchcoach.models -import pyteamsnap.api -from django.utils.timezone import localtime +from benchcoach.users.models import User -class TeamsnapBaseModel(models.Model): - type = None - id = models.CharField(max_length=50, unique=True, primary_key=True) - created_at = models.DateTimeField(null=True) - updated_at = models.DateTimeField(null=True) - ApiObject = pyteamsnap.api.ApiObject - class Meta: - abstract = True - - def __str__(self): - return f"TeamSnap {self.__class__.__name__} Object ({self.id})" - - @property - def api_url(self): - return "https://api.teamsnap.com/v3/{type}/{id}".format(type=self.type, id=self.id) - -class Team(TeamsnapBaseModel): - type = 'team' - name = models.CharField(max_length=50, null=True) - benchcoach_object = models.OneToOneField( - benchcoach.models.Team, - on_delete=models.CASCADE, - related_name="teamsnap_team" - ) - ApiObject = pyteamsnap.api.Team - -class User(TeamsnapBaseModel): - type = 'user' - first_name = models.CharField(max_length=50, null=True) - last_name = models.CharField(max_length = 50, null=True) - email = models.EmailField(null=True) - managed_teams = models.ManyToManyField(Team) - ApiObject = pyteamsnap.api.User - - @classmethod - def update_or_create_from_teamsnap_api(cls, teamsnap_data): - fields = ['id', 'first_name', 'last_name', 'email'] - user_data = {k:teamsnap_data[k] for k in fields} - managed_teams = [] - for managed_team_id in teamsnap_data['managed_team_ids']: - obj, created = Team.objects.get_or_create(id=managed_team_id) - managed_teams.append(obj) - pass - id = user_data.pop('id') - user, created = cls.objects.update_or_create(id=id, defaults=user_data) - user.managed_teams.add(*managed_teams) - return (user, created) - -class TeamsnapManagedObjectModel(TeamsnapBaseModel): - team = models.ForeignKey( - Team, - verbose_name="managed by team", - null=True, - on_delete=models.CASCADE, - ) - - class Meta: - abstract = True - - @property - def url(self, endpoint='view'): - return f"https://go.teamsnap.com/{self.team.id}/{self.type}/{endpoint}/{self.id}" - -class Opponent(TeamsnapManagedObjectModel): - type = 'opponent' - name = models.CharField(max_length=50, null=True) - benchcoach_object = models.OneToOneField( - benchcoach.models.Team, - on_delete=models.CASCADE, - related_name="teamsnap_opponent" - ) - ApiObject = pyteamsnap.api.Opponent - -class Location(TeamsnapManagedObjectModel): - type = 'location' - name = models.CharField(max_length=50, null=True) - benchcoach_object = models.OneToOneField( - benchcoach.models.Venue, - on_delete=models.CASCADE, - related_name="teamsnap_location" - ) - ApiObject = pyteamsnap.api.Location - -class Member(TeamsnapManagedObjectModel): - # url format is - # f"https://go.teamsnap.com/{self.team.teamsnap_id}/roster/player/{self.teamsnap_id}" - # f"https://go.teamsnap.com/{self.team.teamsnap_id}/roster/edit/{self.teamsnap_id}" - type = 'member' - name = models.CharField(max_length=50, null=True) - benchcoach_object = models.OneToOneField( - benchcoach.models.Player, - on_delete=models.CASCADE, - related_name="teamsnap_member" - ) - first_name = models.CharField(max_length = 50, null=True) - last_name = models.CharField(max_length = 50, null=True) - jersey_number = models.IntegerField(null=True) - is_non_player = models.BooleanField(null=True) - ApiObject = pyteamsnap.api.Member - - def __str__(self): - return f"{self.last_name}, {self.first_name} ({self.id})" - - @property - def name(self): - return f"{self.first_name} {self.last_name}" - -class Event(TeamsnapManagedObjectModel): - # url is - # f"https://go.teamsnap.com/{self.team.teamsnap_id}/schedule/view_game/{self.teamsnap_id}" - # f"https://go.teamsnap.com/{self.team.teamsnap_id}/schedule/edit_game/{self.teamsnap_id}" - type = 'event' - benchcoach_object = models.OneToOneField( - benchcoach.models.Event, - on_delete=models.CASCADE, - related_name="teamsnap_event" - ) - label = models.CharField(max_length = 50, null=True) - start_date = models.DateTimeField(null=True) - opponent = models.ForeignKey(Opponent, null=True, on_delete=models.CASCADE, related_name="opponent") - location = models.ForeignKey(Location, null=True, on_delete=models.CASCADE) - formatted_title = models.CharField(max_length = 50, null=True) - points_for_opponent = models.PositiveSmallIntegerField(null=True) - points_for_team = models.PositiveSmallIntegerField(null=True) - is_game = models.BooleanField(null=True) - game_type = models.CharField(max_length = 50, null=True) - ApiObject = pyteamsnap.api.Event - - @property - def csv_event_title(self)->str: - ''' - TeamSnap has a title format that it uses for the csv export which includes the date and time - :return: formatted string - ''' - # activate(zone) - start_date = localtime(self.start_date) - return f"{self.formatted_title} {start_date:%m/%d/%Y}" + f"{start_date:%-I:%M %p}".rjust(9) - - def __str__(self): - return f"{self.formatted_title} ({self.id})" - -class Availability(TeamsnapManagedObjectModel): - type='availability' - YES = 1 - NO = 0 - MAYBE = 2 - UNKNOWN = None - status_codes = [ - (YES, 'Yes'), - (NO, 'No'), - (MAYBE, 'Maybe'), - (UNKNOWN, 'Unknown') - ] - event = models.ForeignKey(Event, null=True, on_delete=models.CASCADE) - member = models.ForeignKey(Member, null=True, on_delete=models.CASCADE) - benchcoach_object = models.OneToOneField( - benchcoach.models.Availability, - on_delete=models.CASCADE, - related_name="teamsnap_availability" - ) - status_code = models.SmallIntegerField(choices=status_codes, null=True, blank=True, default=None) - ApiObject = pyteamsnap.api.Availability - - def __str__(self): - return f"{self.member} - {self.event} ({self.id})" - - class Meta: - verbose_name_plural = "availabilities" - -class LineupEntry(TeamsnapManagedObjectModel): - member = models.ForeignKey(Member, on_delete=models.CASCADE) - event = models.ForeignKey(Event, on_delete=models.CASCADE) - positions = [ - (11, 'EH'), - (1, 'P'), - (2, 'C'), - (3, '1B'), - (4, '2B'), - (5, '3B'), - (6, 'SS'), - (7, 'LF'), - (8, 'CF'), - (9, 'RF'), - (10,'DH') - ] - benchcoach_object = models.OneToOneField( - benchcoach.models.Positioning, - on_delete=models.CASCADE, - related_name="teamsnap_lineupentry" - ) - label = models.PositiveSmallIntegerField(choices=positions, default=None, null=True, blank=True) - sequence = models.PositiveSmallIntegerField(default=0, null=True, blank=True) - ApiObject = pyteamsnap.api.EventLineupEntry - - @classmethod - def update_or_create_from_teamsnap_api(cls, teamsnap_data): - fields = [ - 'id', - 'created_at', - 'updated_at', - 'label', - 'sequence' - ] - lineup_entry_data = {k: teamsnap_data[k] for k in fields} - member, created = Member.objects.get_or_create(id=teamsnap_data['member_id']) - team, created = Team.objects.get_or_create(id=teamsnap_data['team_id']) - event, created = Event.objects.get_or_create(id=teamsnap_data['event_id']) - id = lineup_entry_data.pop('id') - lineup_entry, created = cls.objects.update_or_create(id=id, defaults=lineup_entry_data) - lineup_entry.team = team - lineup_entry.event = event - lineup_entry.member = member - lineup_entry.save() - return (lineup_entry, created) \ No newline at end of file +class Preferences(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE) + managed_team_id = models.IntegerField() diff --git a/teamsnap/provider.py b/teamsnap/provider.py new file mode 100644 index 0000000..7846da6 --- /dev/null +++ b/teamsnap/provider.py @@ -0,0 +1,31 @@ +from allauth.socialaccount import providers +from allauth.socialaccount.providers.base import ProviderAccount +from allauth.socialaccount.providers.oauth2.provider import OAuth2Provider + + +class TeamsnapAccount(ProviderAccount): + pass + + +class TeamsnapProvider(OAuth2Provider): + id = "teamsnap" + name = "TeamSnap" + account_class = TeamsnapAccount + + def extract_uid(self, data): + return str(data["id"]) + + def extract_common_fields(self, data): + return dict( + username=data["email"], + email=data["email"], + first_name=data["first_name"], + last_name=data["last_name"], + ) + + def get_default_scope(self): + scope = ["read"] + return scope + + +providers.registry.register(TeamsnapProvider) diff --git a/teamsnap/templates/dashboard.html b/teamsnap/templates/dashboard.html new file mode 100644 index 0000000..3ecd6af --- /dev/null +++ b/teamsnap/templates/dashboard.html @@ -0,0 +1,148 @@ +{% extends "base.html" %}{% load static %} +{% block title %} {{ title }}{% endblock %} +{% block page_heading %}{% endblock %} +{% block content %} +

Dashboard

+ +
+ +
+
+
+

Past Games

+
+
+ + {% for event in ts_events_past|slice:":4" %} +
+
+
+
+

{{ event.data.formatted_results }}

+
+
+
+
+

{{ event.data.formatted_title }}

+
{{ event.data.start_date|date:"D, F j" }}
+ {#
{{ event.data.location_name }}
Go to Lineup#} + +
+
+ + + + +
+
+
+
+ {% endfor %} + +
+
+
+
+{% endblock %} +{% block inline_javascript %} + +{% endblock %} diff --git a/teamsnap/templates/teamsnap/event/instagen.html b/teamsnap/templates/event/instagen.html similarity index 99% rename from teamsnap/templates/teamsnap/event/instagen.html rename to teamsnap/templates/event/instagen.html index b53ec3b..0e63ad6 100644 --- a/teamsnap/templates/teamsnap/event/instagen.html +++ b/teamsnap/templates/event/instagen.html @@ -73,4 +73,4 @@ -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/teamsnap/templates/teamsnap/event/view_event.html b/teamsnap/templates/event/view_event.html similarity index 86% rename from teamsnap/templates/teamsnap/event/view_event.html rename to teamsnap/templates/event/view_event.html index aab9b4b..78c0680 100644 --- a/teamsnap/templates/teamsnap/event/view_event.html +++ b/teamsnap/templates/event/view_event.html @@ -1,5 +1,5 @@ {% extends "base.html" %}{% load static %} -{% block title %} {{ event.data.formatted_title }}{% endblock %} +{% block title %} {{ title }}{% endblock %} {% block content %}
@@ -10,7 +10,7 @@
+ action="{% url 'instagen_generate' team_id=event.data.team_id event_id=event.data.id %}"> +
+{% endblock content %} diff --git a/teamsnap/templates/teamsnap/schedule.html b/teamsnap/templates/schedule.html similarity index 69% rename from teamsnap/templates/teamsnap/schedule.html rename to teamsnap/templates/schedule.html index d386d07..2c59047 100644 --- a/teamsnap/templates/teamsnap/schedule.html +++ b/teamsnap/templates/schedule.html @@ -1,22 +1,6 @@ {% extends "base.html" %}{% load static %} {% block title %} {{ title }}{% endblock %} -{% block page_heading %} -
- -
-{% endblock %} {% block content %} {% load tz %}
@@ -51,7 +35,7 @@ {{ event.data.location_name }} - + {% endfor %} @@ -61,4 +45,4 @@
-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/teamsnap/templates/teamsnap/availabilities.html b/teamsnap/templates/teamsnap/availabilities.html deleted file mode 100644 index d7ed145..0000000 --- a/teamsnap/templates/teamsnap/availabilities.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "base.html" %}{% load static %} -{% block title %} {{ title }}{% endblock %} -{% block page_heading %}Schedule{% endblock %} -{% block content %} -{% load tz %} -
- -{# #} -{# #} - - {% for event in events %} - - - - - - {% endfor %} - -
- {{ event.data.formatted_title }} - - {{ event.data.start_date | localtime}} - - {{ event.data.location_name }} -
-
-{% endblock %} \ No newline at end of file diff --git a/teamsnap/templates/teamsnap/dashboard.html b/teamsnap/templates/teamsnap/dashboard.html deleted file mode 100644 index 4f4786c..0000000 --- a/teamsnap/templates/teamsnap/dashboard.html +++ /dev/null @@ -1,150 +0,0 @@ -{% extends "base.html" %}{% load static %} -{% block title %} {{ title }}{% endblock %} -{% block page_heading %}{% endblock %} -{% block content %} -

Dashboard

- -
-
-
-
-

Upcoming Games

-
-
- - {% for event, availability_summary in events_availabilities|slice:":4" %} -
-
-
-
- -
-
-
-
-
-

{{ event.data.formatted_title }}

-
{{ event.data.start_date|date:"D, F j, g:i A" }}
-
{{ event.data.location_name }}
-
-
- Go to Lineup -
- - - - -
-
-
-
- {% endfor %} - -
-
-
-
-
-
-

Past Games

-
-
- - {% for event in ts_events_past|slice:":4" %} -
-
-
-
-

{{ event.data.formatted_results }}

-
-
-
-
-

{{ event.data.formatted_title }}

-
{{ event.data.start_date|date:"D, F j" }}
- {#
{{ event.data.location_name }}
Go to Lineup#} - -
-
- - - - -
-
-
-
- {% endfor %} - -
-
-
-
- - - - - -{% endblock %} \ No newline at end of file diff --git a/teamsnap/templates/teamsnap/location/view.html b/teamsnap/templates/teamsnap/location/view.html deleted file mode 100644 index a6427b9..0000000 --- a/teamsnap/templates/teamsnap/location/view.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "base.html" %}{% load static %} -{% block title %} {{ location.data.name }}{% endblock %} -{% block page_heading %}{{ location.data.name }}{% endblock %} -{% block content %} -
- -{# #} -{# #} - - {% for key, value in location.data.items %} - - - - - {% endfor %} - -
- {{ key }} - - {{ value }} -
-{% endblock %} \ No newline at end of file diff --git a/teamsnap/templates/teamsnap/opponent.html b/teamsnap/templates/teamsnap/opponent.html deleted file mode 100644 index e4626b1..0000000 --- a/teamsnap/templates/teamsnap/opponent.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "base.html" %}{% load static %} -{% block title %} {{ opponent.data.name }}{% endblock %} -{% block page_heading %}{{ opponent.data.name }}{% endblock %} -{% block content %} -
- -{# #} -{# #} - - {% for key, value in opponent.data.items %} - - - - - {% endfor %} - -
- {{ key }} - - {{ value }} -
-{% endblock %} \ No newline at end of file diff --git a/teamsnap/templates/teamsnap/table.html b/teamsnap/templates/teamsnap/table.html deleted file mode 100644 index ecf839b..0000000 --- a/teamsnap/templates/teamsnap/table.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends 'base.html' %} -{% block content %} -
- {{ formset.management_form }}{% csrf_token %} - - - {% for _, field in formset.0.base_fields.items %} - - {% endfor %} - - - {% for form in formset %} - - {% for field in form %} - - {% endfor %} - - {% endfor %} -
{{ field.label }}
{{ field }}
- -
-{% endblock %} \ No newline at end of file diff --git a/teamsnap/templates/teamsnap/update-button.html b/teamsnap/templates/teamsnap/update-button.html deleted file mode 100644 index 5d417d2..0000000 --- a/teamsnap/templates/teamsnap/update-button.html +++ /dev/null @@ -1,8 +0,0 @@ -
{% csrf_token %} - - - - -
\ No newline at end of file diff --git a/teamsnap/tests.py b/teamsnap/tests.py index 7ce503c..a39b155 100644 --- a/teamsnap/tests.py +++ b/teamsnap/tests.py @@ -1,3 +1 @@ -from django.test import TestCase - # Create your tests here. diff --git a/teamsnap/urls.py b/teamsnap/urls.py index b574e47..14c89a1 100644 --- a/teamsnap/urls.py +++ b/teamsnap/urls.py @@ -1,25 +1,31 @@ -from django.contrib import admin +from allauth.socialaccount.providers.oauth2.urls import default_urlpatterns +from django.urls import path -from django.urls import path, include -from functools import partial +from .provider import TeamsnapProvider +from .views import ( + PreferencesFormView, + dashboard, + edit_lineup, + schedule_view, + view_event, +) -from . import views +urlpatterns = default_urlpatterns(TeamsnapProvider) -urlpatterns = [ - path('', views.home, name='teamsnap_home'), - path('/dashboard/', views.dashboard, name='teamsnap_dashboard'), - path('edit/event/', views.edit_event, name='teamsnap edit event'), - path('sync/download', views.sync_from_teamsnap, name="sync from teamsnap"), - path('import/', views.import_teamsnap, name="import"), - - path('/schedule/', views.schedule, name='teamsnap_schedule'), - path('/schedule/view_event/', views.event, name='teamsnap_view_event'), - path('/opponent/view/', views.opponent, name='teamsnap_opponent'), - path('/location/view/', views.location, name='teamsnap_location'), - path('/event//edit_lineup/', views.edit_lineup, name='teamsnap_edit_lineup'), - path('/event//edit_lineup/', views.edit_lineup, name='teamsnap_edit_multiple_lineups'), - path('/event//submit_lineup/', views.submit_lineup, name='teamsnap_submit_lineup'), - path('/event//image_generator/', views.image_generator, name='teamsnap_image_generator'), - path('/event//image_generator/generate', views.get_matchup_image, name='teamsnap_image_generator_generate'), - path('/multievent/choose', views.multi_lineup_choose, name='teamsnap_choose_multiple_lineups') -] \ No newline at end of file +urlpatterns += [ + path("preferences/", PreferencesFormView.as_view(), name="teamsnap_preferences"), + path("/schedule/", schedule_view, name="teamsnap_schedule"), + path("/dashboard/", dashboard, name="teamsnap_dashboard"), + path("dashboard/", dashboard, name="teamsnap_dashboard"), + path("schedule/", schedule_view, name="teamsnap_schedule"), + path( + "/schedule/view_event/", + view_event, + name="teamsnap_view_event", + ), + path( + "/schedule/edit_lineup/", + edit_lineup, + name="teamsnap_edit_lineup", + ), +] diff --git a/teamsnap/utils/gen_image.py b/teamsnap/utils/gen_image.py deleted file mode 100644 index e17c61f..0000000 --- a/teamsnap/utils/gen_image.py +++ /dev/null @@ -1,330 +0,0 @@ -from PIL import Image -from PIL import ImageDraw -from PIL import ImageFilter, ImageFont -from pathlib import Path -import os -from datetime import datetime -from zoneinfo import ZoneInfo -from typing import List -from dataclasses import dataclass - -# image_directory = 'input/images/logos-bw/{filename}.{ext}' - -# font_regular_path = "input/fonts/DINAlternate-Bold.ttf" -# font_condensed_path = "input/fonts/DINCondensed-Bold.ttf" -font_regular_path = "benchcoachproject/static/teamsnap/fonts/scala/ScalaSans-BoldLF.otf" -font_condensed_path = "benchcoachproject/static/teamsnap/fonts/scala/ScalaSans-BoldLF.otf" - -@dataclass -class Team: - name: str - winlosstie: List[int] = None - image_directory: str = '../input/images/logos-bw/{filename}.{ext}' - - @property - def id(self): - return self.name.lower().replace(' ', '-') - - @property - def image(self): - path = self.image_directory.format(filename=self.id, ext="png") - if os.path.isfile(path): - return path - else: - return None - -@dataclass -class Location: - name: str - address1: str = "" - address2: str = "" - image_directory: str = 'benchcoachproject/static/teamsnap/ig/locations/{filename}.{ext}' - - @property - def id(self): - return self.name.lower().replace(' ', '-') - - @property - def image(self): - path = self.image_directory.format(filename=self.id, ext="png") - if os.path.isfile(path): - return path - else: - return None - - @property - def address(self): - return ",".join([self.address1,self.address2]) - -args = { - "team_fave" : Team("Hounds"), - "team_opponent" : Team("Trojans"), - "home": False, - "date" : "2021-05-08 12:30 pm", - "location" : Location("Maywood", image_directory="benchcoachproject/static/teamsnap/ig/locations/maywood.{ext}"), - "runs_for": 8, - "runs_against": 9 -} - -def gen_image (team_fave, team_opponent, date, location=None, - location_name = None, - home=False, - background='location', - address = None, - width = 1080, - height = 1080, - *kwargs, - **args - ): - if not isinstance(date, datetime): - # date = parser.parse(date) - # date = date.astimezone(ZoneInfo("America/Chicago")) - pass - - if location.image and background == 'location': - background_image = Image.open(location.image).copy() - background_image = background_image.resize((width, height)) - # background_image = background_image.filter(ImageFilter.GaussianBlur(radius=5)) - background_image = background_image.convert("RGBA") - elif background == 'transparent': - background_image = Image.new('RGBA', (width, height), (0, 0, 0, 0)) - else: - background_image = Image.new('RGBA', (width, height), (50, 55, 102)) - - title_images = [] - for team in [team_fave, team_opponent]: - if team.image: - title_images.append(Image.open(team.image).copy()) - else: - title_images.append(Image.new('RGBA', (1080, 1080))) - - title_image_left = title_images[0] - title_image_right = title_images[1] - - # Make a blank image for the rectangle, initialized to a completely - # transparent color. - tmp = Image.new('RGBA', background_image.size, (0, 0, 0, 0)) - - # Create a drawing context for it. - draw = ImageDraw.Draw(tmp) - - # section margin describes the margin of the section rectangles from the sides of the image - section_margin_pct = .05 - llx = int(section_margin_pct * background_image.size[0]) - urx = int((1 - section_margin_pct) * background_image.size[0]) - lly = int((1 - section_margin_pct) * background_image.size[1]) - ury = int(.50 * background_image.size[1]) - - lly2 = int(.49 * background_image.size[1]) - ury2 = int(.05 * background_image.size[1]) - - section_info = Image.open(Path('benchcoachproject/static/teamsnap/ig/graphics/{name}{ext}'.format(name="sign-tan", ext=".png"))) - section_info_draw = ImageDraw.Draw(section_info) - - section_title = Image.open(Path('benchcoachproject/static/teamsnap/ig/graphics/{name}{ext}'.format(name="sign-green", ext=".png"))) - section_title_draw = ImageDraw.Draw(section_title) - - # First line: Date - font = ImageFont.truetype(font_regular_path, 62) - text = "{:%a, %B %-d %-I:%M %p}".format(date).upper() - # text = date - text_size = draw.textsize(text, font) - loc = ( - 1050, - 280 - ) - section_info_draw.text(loc, text, (14,42,28), font=font, anchor="ra") - - # Second line: Venue - font = ImageFont.truetype(font_condensed_path, 34) - if not location_name: - text = location.name.upper() - else: - text = location_name.upper() - text_size = section_info_draw.textsize(text, font) - loc = ( - 1050, - 355 - ) - section_info_draw.text(loc, text, (14,42,28), font=font, anchor="ra") - - font = ImageFont.truetype(font_regular_path, 80) - if home: - text = "VS" - else: - text = "AT" - text_size = section_title_draw.textsize(text, font) - loc = ( - 540, - 120 - ) - color = (255, 255, 255) - section_title_draw.text(loc, text, color, font=font, anchor="mm") - - # Alpha composite the two images together. - background_image = Image.alpha_composite(background_image, tmp) - - # Title Image Left - title_image_left.thumbnail([350, 350]) - loc = ( - 50, -50 - ) - section_title.paste(title_image_left, loc, title_image_left) - - # Title Image Right - title_image_right.thumbnail([350, 350]) - loc = ( - 650, -50 - ) - section_title.paste(title_image_right, loc, title_image_right) - - # background_image.paste(section_info, (llx, ury), section_info) - # background_image.paste(section_title, (llx, ury2), section_title) - section_title.paste(section_info,(0,0),section_info) - section_title.thumbnail([800, 800]) - - if background=="badge": - return section_title - - background_image.paste(section_title,( - int((background_image.size[0]-section_title.size[0])/2), - height - 360 - ),section_title) - - return background_image - -def gen_results_image (team_fave, team_opponent, date, - location=None, - location_name = None, - home=False, - background='location', - address = None, - width = 1080, - height = 1080, - runs_for=0, - runs_against=0, - *kwargs, - **args - ): - if not isinstance(date, datetime): - # date = parser.parse(date) - # date = date.astimezone(ZoneInfo("America/Chicago")) - pass - - if location.image and background == 'location': - background_image = Image.open(location.image).copy() - background_image = background_image.resize((width, height)) - # background_image = background_image.filter(ImageFilter.GaussianBlur(radius=5)) - background_image = background_image.convert("RGBA") - elif background == 'transparent': - background_image = Image.new('RGBA', (width, height), (0, 0, 0, 0)) - else: - background_image = Image.new('RGBA', (width, height), (50, 55, 102)) - - title_images = [] - for team in [team_fave, team_opponent]: - if team.image: - title_images.append(Image.open(team.image).copy()) - else: - title_images.append(Image.new('RGBA', (1080, 1080))) - - title_image_left = title_images[0] - title_image_right = title_images[1] - - # Make a blank image for the rectangle, initialized to a completely - # transparent color. - tmp = Image.new('RGBA', background_image.size, (0, 0, 0, 0)) - - # Create a drawing context for it. - draw = ImageDraw.Draw(tmp) - - # section margin describes the margin of the section rectangles from the sides of the image - section_margin_pct = .05 - llx = int(section_margin_pct * background_image.size[0]) - urx = int((1 - section_margin_pct) * background_image.size[0]) - lly = int((1 - section_margin_pct) * background_image.size[1]) - ury = int(.50 * background_image.size[1]) - - lly2 = int(.49 * background_image.size[1]) - ury2 = int(.05 * background_image.size[1]) - - #todo fix path - section_info = Image.open(Path('benchcoachproject/static/teamsnap/ig/graphics/{name}{ext}'.format(name="sign-tan", ext=".png"))) - section_info_draw = ImageDraw.Draw(section_info) - - section_title = Image.open(Path('benchcoachproject/static/teamsnap/ig/graphics/{name}{ext}'.format(name="sign-green", ext=".png"))) - section_title_draw = ImageDraw.Draw(section_title) - - # First line: Results - loc = ( - 1050, - 265 - ) - if runs_for > runs_against: - result_letter = "W" - elif runs_for < runs_against: - result_letter = "L" - elif runs_for == runs_against: - result_letter = "T" - font = ImageFont.truetype(font_regular_path, 100) - section_info_draw.text(loc, f"FINAL: {result_letter} {runs_for}-{runs_against}", (14,42,28), font=font, anchor="ra") - - # Second line: Date - text = "{:%a, %B %-d %-I:%M %p}".format(date).upper() - # text = date - font = ImageFont.truetype(font_condensed_path, 34) - text_size = section_info_draw.textsize(text, font) - loc = ( - 1050, - 355 - ) - section_info_draw.text(loc, text, (14,42,28), font=font, anchor="ra") - - font = ImageFont.truetype(font_regular_path, 80) - if home: - text = "VS" - else: - text = "AT" - text_size = section_title_draw.textsize(text, font) - loc = ( - 540, - 120 - ) - color = (255, 255, 255) - section_title_draw.text(loc, text, color, font=font, anchor="mm") - - # Alpha composite the two images together. - background_image = Image.alpha_composite(background_image, tmp) - - # Title Image Left - title_image_left.thumbnail([350, 350]) - loc = ( - 50, -50 - ) - section_title.paste(title_image_left, loc, title_image_left) - - # Title Image Right - title_image_right.thumbnail([350, 350]) - loc = ( - 650, -50 - ) - section_title.paste(title_image_right, loc, title_image_right) - - # background_image.paste(section_info, (llx, ury), section_info) - # background_image.paste(section_title, (llx, ury2), section_title) - section_title.paste(section_info,(0,0),section_info) - section_title.thumbnail([800, 800]) - - if background=="badge": - return section_title - - background_image.paste(section_title,( - int((background_image.size[0]-section_title.size[0])/2), - height - 360 - ),section_title) - - # background_image.show() - - return background_image - -# gen_results_image(**args) \ No newline at end of file diff --git a/teamsnap/utils/teamsnap_sync_engine.py b/teamsnap/utils/teamsnap_sync_engine.py deleted file mode 100644 index 02f6c35..0000000 --- a/teamsnap/utils/teamsnap_sync_engine.py +++ /dev/null @@ -1,525 +0,0 @@ -import django.db.models -from typing import List, Tuple - -import benchcoach.models -from benchcoach.models import BenchcoachModel, Availability, Player, Team, Positioning, Event, Venue -from pyteamsnap.api import TeamSnap -import pyteamsnap -import teamsnap.models -from django.db.models import QuerySet - -from benchcoach.utils.sync_engine import AbstractSyncEngine - -class TeamsnapSyncEngine(AbstractSyncEngine): - models = [ - Availability, - Player, - Team, - # Positioning, # Not Implemented - Event, - Venue - ] - - def __init__(self, managed_team_teamsnap_id, teamsnap_token): - self.managed_teamsnap_team_id = managed_team_teamsnap_id - self.client = TeamSnap(token=teamsnap_token) - - def _bulk_sync_from_teamsnap(self, qs:QuerySet)-> List[BenchcoachModel]: - ''' - Syncs BenchCoach instances (in the form of a QuerySet) from TeamSnap. - This function fetches the actual information from teamsnap, then hands it off to the self._update* functions. - This funciton cuts down on the number of API calls and should be speedier then doing them one by one. - Upating of models from the data is still done one by one. - :param benchcoach_instance: instance to be synced - :return: List of BenchCoach objects that have been processed (but not necessarily changed) during sync. - ''' - - # I hate having this translation. What I really want is just a property for "teamsnap_object" - # which would simplify all this, but I couldn't figure out how to implement in the - # teamsnap model foreign key and "related_name" that didn't cause conflicts. I don't - # think I need to be too much smarter to figure this out, but alas I am not smart enough. - if qs.model not in self.models: - raise TypeError(f"Sync engine does not sync {qs.model} models") - - benchcoachmodel_to_teamsnapfield = { - Availability:'teamsnap_availability', - Player:'teamsnap_member', - Team:'teamsnap_opponent', - # Positioning:'teamsnap_lineupentry', # Not Implemented Yet, but will be 'teamsnap_lineupentry' - Event:'teamsnap_event', - Venue:'teamsnap_location' - } - - teamsnapmodel_to_apiobject = { - teamsnap.models.Availability: pyteamsnap.api.Availability, - teamsnap.models.Event: pyteamsnap.api.Event, - # teamsnap.models.LineupEntry:pyteamsnap.api.LineupEntry, # Not implemented Yet - teamsnap.models.Location: pyteamsnap.api.Location, - teamsnap.models.Member: pyteamsnap.api.Member, - teamsnap.models.Opponent: pyteamsnap.api.Opponent, - teamsnap.models.Team: pyteamsnap.api.Team, - # teamsnap.models.User:pyteamsnap.api.User # Not implemented yet - } - - apiobject_to_teamsnapmodel = {v:k for k,v in teamsnapmodel_to_apiobject.items()} - - if isinstance(qs.first(), benchcoach.models.Team): - # This situation requires special attention because opponents and teams share a table in BenchCoach - if getattr(qs.first(), 'teamsnap_team', None): - teamsnap_attribute_name = 'teamsnap_team' - elif getattr(qs.first(), 'teamsnap_opponent', None): - teamsnap_attribute_name = 'teamsnap_opponent' - else: - teamsnap_attribute_name = benchcoachmodel_to_teamsnapfield.get(type(qs.first())) - - ids = [getattr(i, teamsnap_attribute_name).id for i in qs] - ApiObject = teamsnapmodel_to_apiobject.get(type(getattr(qs.first(), teamsnap_attribute_name))) - api_responses = ApiObject.search(client=self.client, id=",".join(ids)) - r = [] - for api_response in api_responses: - teamsnap_instance = apiobject_to_teamsnapmodel.get(type(api_response)).objects.get(id=api_response.data['id']) - response = self._update_from_teamsnapdata(teamsnap_instance, api_response) - response = self._update_teamsnapdb_to_benchcoachdb(teamsnap_instance, teamsnap_instance.benchcoach_object) - r.append(response) - return r - - def _sync_from_teamsnap(self, benchcoach_instance:BenchcoachModel)->BenchcoachModel: - ''' - Syncs BenchCoach instance from TeamSnap. This function fetches the actual information from teamsnap, then - hands it off to the self._update* functions. - :param benchcoach_instance: instance to be synced - :return: BenchCoach object that has been processed (but not necessarily changed) during sync. - ''' - - # I hate having this translation. What I really want is just a property for "teamsnap_object" - # which would simplify all this, but I couldn't figure out how to implement in the - # teamsnap model foreign key and "related_name" that didn't cause conflicts. I don't - # think I need to be too much smarter to figure this out, but alas I am not smart enough. - benchcoachmodel_to_teamsnapfield = { - Availability:'teamsnap_availability', - Player:'teamsnap_member', - Team:'teamsnap_opponent', - # Positioning:'teamsnap_lineupentry', # Not Implemented Yet, but will be 'teamsnap_lineupentry' - Event:'teamsnap_event', - Venue:'teamsnap_location' - } - - teamsnapmodel_to_apiobject = { - teamsnap.models.Availability: pyteamsnap.api.Availability, - teamsnap.models.Event: pyteamsnap.api.Event, - # teamsnap.models.LineupEntry:pyteamsnap.api.LineupEntry, # Not implemented Yet - teamsnap.models.Location: pyteamsnap.api.Location, - teamsnap.models.Member: pyteamsnap.api.Member, - teamsnap.models.Opponent: pyteamsnap.api.Opponent, - teamsnap.models.Team: pyteamsnap.api.Team, - # teamsnap.models.User:pyteamsnap.api.User # Not implemented yet - } - - if isinstance(benchcoach_instance, benchcoach.models.Team): - # This situation requires special attention because opponents and teams share a table in BenchCoach - teamsnap_instance = getattr(benchcoach_instance, 'teamsnap_team', None) - if not teamsnap_instance: teamsnap_instance = getattr(benchcoach_instance, 'teamsnap_opponent') - else: - teamsnap_instance = getattr(benchcoach_instance, benchcoachmodel_to_teamsnapfield.get(type(benchcoach_instance))) - - ApiObject = teamsnapmodel_to_apiobject.get(type(teamsnap_instance)) - api_response = ApiObject.get(self.client, teamsnap_instance.id) - - r = self._update_from_teamsnapdata(teamsnap_instance, api_response) - r = self._update_teamsnapdb_to_benchcoachdb(teamsnap_instance, benchcoach_instance) - return r - - def _update_from_teamsnapdata(self, teamsnap_instance:teamsnap.models.TeamsnapBaseModel, teamsnap_data: pyteamsnap.api.ApiObject) -> teamsnap.models.TeamsnapBaseModel: - '''''' - if isinstance(teamsnap_data, pyteamsnap.api.ApiObject): - teamsnap_data = teamsnap_data.data - else: - raise TypeError - if not teamsnap_data['type'] == teamsnap_instance.type: - raise Exception() - data_type = teamsnap_data['type'] - fields = ['id', 'created_at', 'updated_at'] - related_objects = {} - if data_type in ['opponent', 'team', 'location']: - fields += ['name'] - elif data_type == 'event': - fields += [ - 'label', - 'start_date', - 'formatted_title', - 'points_for_opponent', - 'points_for_team', - 'is_game', - 'game_type' - ] - if teamsnap_data.get('location_id'): - related_objects['location'] = teamsnap.models.Location.objects.get(id=teamsnap_data['location_id']) - if teamsnap_data.get('opponent_id'): - related_objects['opponent'] = teamsnap.models.Opponent.objects.get(id=teamsnap_data['opponent_id']) - pass - - elif data_type == 'member': - fields += [ - 'first_name', - 'last_name', - 'jersey_number', - 'is_non_player' - ] - - elif data_type == 'availability': - fields += ['status_code'] - related_objects['member'] = teamsnap.models.Member.objects.get(id=teamsnap_data['member_id']) - related_objects['event'] = teamsnap.models.Event.objects.get(id=teamsnap_data['event_id']) - - else: - raise ValueError - - if teamsnap_data.get('team_id'): - related_objects['team'] = teamsnap.models.Team.objects.filter(id=teamsnap_data['team_id']).first() - - for field in fields: - value = teamsnap_data.get(field) - # if value is None: - # continue - # else: - setattr(teamsnap_instance,field,value) - - for related_object_name, related_object in related_objects.items(): - setattr(teamsnap_instance, related_object_name, related_object) - - teamsnap_instance.save() - - return teamsnap_instance - - def _update_teamsnapdb_to_benchcoachdb(self, teamsnap_instance, benchcoach_instance) -> List[Tuple[django.db.models.Model, bool]]: - - if isinstance(teamsnap_instance, teamsnap.models.Event): - benchcoach_model = Event - - d = { - 'start': teamsnap_instance.start_date, - } - - if teamsnap_instance.team: - if teamsnap_instance.team.benchcoach_object: - if teamsnap_instance.game_type == "Home": - d['home_team'] = teamsnap_instance.team.benchcoach_object - elif teamsnap_instance.game_type == "Away": - d['away_team'] = teamsnap_instance.team.benchcoach_object - elif not teamsnap_instance.team.benchcoach_object: - raise Team.DoesNotExist - - if teamsnap_instance.opponent: - if teamsnap_instance.opponent.benchcoach_object: - if teamsnap_instance.game_type == 'Home': - d['away_team'] = teamsnap_instance.opponent.benchcoach_object - elif teamsnap_instance.game_type == 'Away': - d['home_team'] = teamsnap_instance.opponent.benchcoach_object - elif not teamsnap_instance.opponent.benchcoach_object: - raise Team.DoesNotExist - pass - - if teamsnap_instance.location: - if teamsnap_instance.location.benchcoach_object: - if teamsnap_instance.location: - d['venue'] = teamsnap_instance.location.benchcoach_object - elif not teamsnap_instance.location.benchcoach_object: - raise Venue.DoesNotExist - - elif isinstance(teamsnap_instance, teamsnap.models.Opponent): - benchcoach_model = Team - d = { - 'name': teamsnap_instance.name, - } - - elif isinstance(teamsnap_instance, teamsnap.models.Team): - benchcoach_model = Team - d = { - 'name': teamsnap_instance.name, - } - - elif isinstance(teamsnap_instance, teamsnap.models.Location): - benchcoach_model = Venue - d = { - 'name': teamsnap_instance.name, - } - - elif isinstance(teamsnap_instance, teamsnap.models.Member): - benchcoach_model = Player - d = { - 'first_name': teamsnap_instance.first_name, - 'last_name': teamsnap_instance.last_name, - 'jersey_number': teamsnap_instance.jersey_number, - } - - elif isinstance(teamsnap_instance, teamsnap.models.Availability): - benchcoach_model = Availability - - translation = { - teamsnap_instance.YES: Availability.YES, - teamsnap_instance.NO: Availability.NO, - teamsnap_instance.MAYBE: Availability.MAYBE - } - - d = { - 'available': translation.get(teamsnap_instance.status_code, Availability.UNKNOWN), - 'player': teamsnap_instance.member.benchcoach_object, - 'event': teamsnap_instance.event.benchcoach_object - } - - r = [] - - if teamsnap_instance.member.benchcoach_object: - d['player'] = teamsnap_instance.member.benchcoach_object - elif not teamsnap_instance.member.benchcoach_object: - raise Player.DoesNotExist - - if teamsnap_instance.event.benchcoach_object: - d['event'] = teamsnap_instance.event.benchcoach_object - elif not teamsnap_instance.event.benchcoach_object: - raise Event.DoesNotExist - - else: - raise ValueError - - for field, value in d.items(): - setattr(benchcoach_instance, field, value) - - benchcoach_instance.save() - teamsnap_instance.benchcoach_object = benchcoach_instance - teamsnap_instance.save() - return benchcoach_instance - - def _find_counterpart(self, instance): - ''' - find the counterpart BenchCoach object from the TeamSnap object. - NOT CURRENTLY USED. - :param instance: - :return: - ''' - instance_type = type(instance) - counterpart_instance = None - if instance_type == Availability: - counterpart_instance = instance.teamsnap_availability - - elif instance_type == Player: - counterpart_instance = instance.teamsnap_member - - elif instance_type == Event: - counterpart_instance = instance.teamsnap_event - - elif instance_type == Venue: - counterpart_instance = instance.teamsnap_location - - elif instance_type == Team: - if hasattr(instance, 'teamsnap_opponent'): - counterpart_instance = instance.teamsnap_opponent - elif hasattr(instance, 'teamsnap_team'): - counterpart_instance = instance.teamsnap_team - else: - raise ValueError("instance doesn't seem to be an teamsnap opponent or a teamsnap team") - - elif instance_type == Positioning: - counterpart_instance = instance.teamsnap_lineupentry - - else: - raise Exception() - - return counterpart_instance - - def _sync_qs (self, qs, direction): - if direction == 'download': - if qs.model not in self.models: - raise TypeError(f"Sync engine does not sync {qs.model} models") - - r=[] - r = self._bulk_sync_from_teamsnap(qs) - - elif direction == 'upload': - raise NotImplementedError('Uploading not supported by this sync engine yet.') - else: - raise TypeError(f"Direction {direction} not supported. 'upload' or 'download' must be specified") - - return r - - def _sync_instance(self, instance, direction, data=None): - r=[] - if direction == 'download': - r.append(self._sync_from_teamsnap(instance)) - - elif direction == 'upload': - raise NotImplementedError('Uploading not supported by this sync engine yet.') - else: - raise TypeError(f"Direction {direction} not supported. 'upload' or 'download' must be specified") - - return r - - def sync(self, qs: django.db.models.QuerySet = None, instance: benchcoach.models.BenchcoachModel = None, - direction='download') -> List[Tuple[django.db.models.Model, bool]]: - if not isinstance(qs, QuerySet) and not isinstance(instance, benchcoach.models.BenchcoachModel): - raise TypeError(f"sync requires either a QuerySet or model instance to be provided") - if qs and instance: - raise TypeError(f"sync requires either a QuerySet or model instance to be provided, but not both") - elif qs: - r = self._sync_qs(qs, direction) - elif instance: - r = self._sync_instance(instance, direction) - - return r - - def import_items(self): - ''' - Implementation of import items from the abstract base class AbstractSyncEngine. - Imports objects from TeamSnap into BenchCoach, creating BenchCoach objects when necessary. - It runs through all supported TeamSnap Objects every execution. - NOTE: The number of availability objects causes this function to choke, so consider not updating - those on import. - :return: - ''' - - ['team', 'opponent', 'location', 'member', 'event', 'availability'] - - # the common kwargs for searching the API. Most objects just need the client and currently managed team id. - kwargs = {'client':self.client,'team_id': self.managed_teamsnap_team_id} - - # r is the result dictionary, the key is the name of the benchcoach object, and the value is the list of BenchCoach objects that - # have been iterated (but not necessarily changed) during this import. - r = {} - - # Walking through each TeamSnap object. There is a fair amount of repetition that could use clean-up. - # ---team--- - r['team'] = [] - - # Search API for objects belonging to currently managed team, and iterate - for teamsnap_data in pyteamsnap.api.Team.search(client=self.client, id=self.managed_teamsnap_team_id): - # check if TeamSnap ID already exists in the Teamsnap DB. - if teamsnap.models.Team.objects.filter(id=teamsnap_data.data['id']): - teamsnap_instance = teamsnap.models.Team.objects.filter(id=teamsnap_data.data['id']).first() - # If it does, retrieve the BenchCoach instance attached. - # It is enforced (by this import function) that every teamsnap instance has a related BenchCoach instance attached. - # No other function can create TeamSnap instances (or create related BenchCoach instances from the TeamSnap service) - benchcoach_instance = teamsnap_instance.benchcoach_object - else: - # Otherwise create TeamSnap instance - teamsnap_instance = teamsnap.models.Team() - # and create related BenchCoach instance - benchcoach_instance = benchcoach.models.Team() - # and attach it to the BenchCoach instance - teamsnap_instance.benchcoach_object=benchcoach_instance - benchcoach_instance.save() - # Now, update the data from the API to the retrieved/created instances - response = self._update_from_teamsnapdata(teamsnap_instance, teamsnap_data) - teamsnap_instance.save() - response = self._update_teamsnapdb_to_benchcoachdb(teamsnap_instance, benchcoach_instance) - r['team'].append(response) - - # ---opponent--- - # See first object for additional comments on the steps followed. - # Opponents from teamsnap go to the BenchCoach "Team" database. - # Dependent on Team. These objects need to be available to attach as related objects or the functions - # self._update_from teamsnapdata and self.update_teamsnapdb_to_benchcoachdb may fail. - for teamsnap_data in pyteamsnap.api.Opponent.search(**kwargs): - if teamsnap.models.Opponent.objects.filter(id=teamsnap_data.data['id']): - teamsnap_instance = teamsnap.models.Opponent.objects.filter(id=teamsnap_data.data['id']).first() - benchcoach_instance = teamsnap_instance.benchcoach_object - else: - teamsnap_instance = teamsnap.models.Opponent() - benchcoach_instance = benchcoach.models.Team() - teamsnap_instance.benchcoach_object = benchcoach_instance - benchcoach_instance.save() - response = self._update_from_teamsnapdata(teamsnap_instance, teamsnap_data) - response = self._update_teamsnapdb_to_benchcoachdb(teamsnap_instance, benchcoach_instance) - r['team'].append(response) - - # ---location--- - # See first object for additional comments on the steps followed. - # Dependent on Team. These objects need to be available to attach as related objects or the functions - # self._update_from teamsnapdata and self.update_teamsnapdb_to_benchcoachdb may fail. - r['location'] = [] - for teamsnap_data in pyteamsnap.api.Location.search(**kwargs): - if teamsnap.models.Location.objects.filter(id=teamsnap_data.data['id']): - teamsnap_instance = teamsnap.models.Location.objects.filter(id=teamsnap_data.data['id']).first() - benchcoach_instance = teamsnap_instance.benchcoach_object - else: - teamsnap_instance = teamsnap.models.Location() - benchcoach_instance = benchcoach.models.Venue() - teamsnap_instance.benchcoach_object = benchcoach_instance - benchcoach_instance.save() - - response = self._update_from_teamsnapdata(teamsnap_instance, teamsnap_data) - response = self._update_teamsnapdb_to_benchcoachdb(teamsnap_instance, benchcoach_instance) - r['location'].append(response) - - # ---member--- - # See first object for additional comments on the steps followed. - # Dependent on Team. These objects need to be available to attach as related objects or the functions - # self._update_from teamsnapdata and self.update_teamsnapdb_to_benchcoachdb may fail. - r['member'] = [] - # Search API for members to import. Note: Non players are not included in sync. - for teamsnap_data in pyteamsnap.api.Member.search(**kwargs, - is_non_player = False - ): - if teamsnap_data.data['is_non_player'] == True: - continue - if teamsnap.models.Member.objects.filter(id=teamsnap_data.data['id']): - teamsnap_instance = teamsnap.models.Member.objects.filter(id=teamsnap_data.data['id']).first() - benchcoach_instance = teamsnap_instance.benchcoach_object - else: - teamsnap_instance = teamsnap.models.Member() - benchcoach_instance = benchcoach.models.Player() - teamsnap_instance.benchcoach_object = benchcoach_instance - benchcoach_instance.save() - - response = self._update_from_teamsnapdata(teamsnap_instance, teamsnap_data) - response = self._update_teamsnapdb_to_benchcoachdb(teamsnap_instance, benchcoach_instance) - r['member'].append(response) - - # ---event--- - # See first object for additional comments on the steps followed. - # Dependent on Team, Opponent, Location. These objects need to be available to attach as related objects or the functions - # self._update_from teamsnapdata and self.update_teamsnapdb_to_benchcoachdb may fail. - r['event'] = [] - for teamsnap_data in pyteamsnap.api.Event.search(**kwargs): - if teamsnap.models.Event.objects.filter(id=teamsnap_data.data['id']): - teamsnap_instance = teamsnap.models.Event.objects.filter(id=teamsnap_data.data['id']).first() - benchcoach_instance = teamsnap_instance.benchcoach_object - else: - teamsnap_instance = teamsnap.models.Event() - benchcoach_instance = benchcoach.models.Event() - teamsnap_instance.benchcoach_object = benchcoach_instance - benchcoach_instance.save() - - response = self._update_from_teamsnapdata(teamsnap_instance, teamsnap_data) - response = self._update_teamsnapdb_to_benchcoachdb(teamsnap_instance, benchcoach_instance) - r['event'].append(response) - - # ---availability--- - # See first object for additional comments on the steps followed. - # Availability was a bit tricky to implement, because there are "not null" contstraints for the Availability object in Bench Coach - # Ideally, there probably should be more "not null" constraints on more of the BenchCoach models, so a generalized function should - # look more like this than the ones above. - # Dependent on Team, Member, Event. These objects need to be available to attach as related objects or the functions - # self._update_from teamsnapdata and self.update_teamsnapdb_to_benchcoachdb may fail. - #TODO this import is wonky and causes errors on servers. maybe skip this import, or do it in chunks? - r['availability'] = [] - - # Search API for members to import. Note: Non players are not included in sync. - player_ids = [member.id for member in teamsnap.models.Member.objects.filter(is_non_player=False)] - for teamsnap_data in pyteamsnap.api.Availability.search(**kwargs, - member_id=",".join(player_ids) - ): - if teamsnap.models.Availability.objects.filter(id=teamsnap_data.data['id']): - teamsnap_instance = teamsnap.models.Availability.objects.filter(id=teamsnap_data.data['id']).first() - benchcoach_instance = teamsnap_instance.benchcoach_object - else: - teamsnap_instance = teamsnap.models.Availability() - event_instance = benchcoach.models.Event.objects.get(teamsnap_event__id=teamsnap_data.data['event_id']) - player_instance = benchcoach.models.Player.objects.get(teamsnap_member__id=teamsnap_data.data['member_id']) - benchcoach_instance = benchcoach.models.Availability(event=event_instance, player=player_instance) - benchcoach_instance.save() - teamsnap_instance.benchcoach_object_id = benchcoach_instance.id - response = self._update_from_teamsnapdata(teamsnap_instance, teamsnap_data) - response = self._update_teamsnapdb_to_benchcoachdb(teamsnap_instance, benchcoach_instance) - r['availability'].append(response) - - return r \ No newline at end of file diff --git a/teamsnap/utils/test_sync.py b/teamsnap/utils/test_sync.py deleted file mode 100644 index bf5a3b2..0000000 --- a/teamsnap/utils/test_sync.py +++ /dev/null @@ -1,51 +0,0 @@ -from django.test import TestCase -import os - -from teamsnap.utils.teamsnap_sync_engine import TeamsnapSyncEngine - -import benchcoach.models -import teamsnap.models - -TEAMSNAP_TOKEN = os.environ['TEAMSNAP_TOKEN'] -TEAM_TEAMSNAP_ID = os.environ['TEAM_TEAMSNAP_ID'] - -pass - -# syncengine = TeamsnapSyncEngine(managed_team_teamsnap_id=TEAM_TEAMSNAP_ID, teamsnap_token=TEAMSNAP_TOKEN) -# r = syncengine.import_items() - -class TestSync(TestCase): - fixtures = ['minimal'] - - def setUp(self): - self.syncengine = TeamsnapSyncEngine(managed_team_teamsnap_id=TEAM_TEAMSNAP_ID, teamsnap_token=TEAMSNAP_TOKEN) - r = self.syncengine.import_items() - pass - - def test_syncengine(self): - # test that the import can be run again - r = self.syncengine.import_items() - benchcoach_objects = { - 'availability': list(benchcoach.models.Availability.objects.all()), - 'event': list(benchcoach.models.Event.objects.all()), - 'player': list(benchcoach.models.Player.objects.all()), - 'positioning': list(benchcoach.models.Positioning.objects.all()), - 'team': list(benchcoach.models.Team.objects.all()), - 'venue': list(benchcoach.models.Venue.objects.all()) - } - teamsnap_objects = { - 'availability': list(teamsnap.models.Availability.objects.all()), - 'event': list(teamsnap.models.Event.objects.all()), - 'member': list(teamsnap.models.Member.objects.all()), - 'lineupentry': list(teamsnap.models.LineupEntry.objects.all()), - 'team': list(teamsnap.models.Team.objects.all()), - 'opponent': list(teamsnap.models.Opponent.objects.all()), - 'location': list(teamsnap.models.Location.objects.all()) - } - self.assertIsNotNone(r) - - def test_all_models(self): - pass - self.syncengine.sync(qs=benchcoach.models.Event.objects.all()) - breakpoint() - pass \ No newline at end of file diff --git a/teamsnap/views.py b/teamsnap/views.py index a86339e..823aeaf 100644 --- a/teamsnap/views.py +++ b/teamsnap/views.py @@ -1,553 +1,398 @@ -import operator -import time - -from django.shortcuts import render, redirect - -from .models import User, Member, Team, Event, Location, LineupEntry, Opponent, Availability -from django.http import HttpResponse, HttpResponseNotAllowed -import benchcoach.models -from django.contrib import messages -from django.contrib.auth.decorators import login_required -from .utils.teamsnap_sync_engine import TeamsnapSyncEngine -from django.templatetags.static import static import datetime -from datetime import timezone -import re -@login_required() -def edit_event(request, id): - ''' - redirect to teamsnap.com page for editing of event. - :param request: - :param id: - :return: - ''' - event = Event.objects.get(id = id) - return redirect(event.edit_url) +import requests +from allauth.socialaccount.providers.oauth2.views import ( + OAuth2Adapter, + OAuth2CallbackView, + OAuth2LoginView, +) +from django.shortcuts import redirect, render +from django.views.generic.edit import FormView -@login_required() -def home(request): - current_benchcoach_user = request.user - current_teamsnap_user = request.user.profile.teamsnap_user - current_teamsnap_team = request.user.profile.teamsnapsettings.managed_team - teamsnap_objects = {} - for teamsnap_obj, benchcoach_object in [ - (Availability, benchcoach.models.Availability), - (Event, benchcoach.models.Event), - (LineupEntry, benchcoach.models.Positioning), - (Location, benchcoach.models.Venue), - (Member, benchcoach.models.Player), - (Opponent, benchcoach.models.Team), - (Team, benchcoach.models.Team), - # (User, {'name':}) - ]: - teamsnap_objects[teamsnap_obj.__name__.lower()] = {} - teamsnap_objects[teamsnap_obj.__name__.lower()]['object_count'] = teamsnap_obj.objects.count() - if benchcoach_object: - teamsnap_objects[teamsnap_obj.__name__.lower()]['counterpart'] = {'name':benchcoach_object.__name__.lower()} - teamsnap_objects[teamsnap_obj.__name__.lower()]['counterpart']['object_count'] = benchcoach_object.objects.count() +from .forms import PreferencesForm +from .models import Preferences +from .provider import TeamsnapProvider - context= { - 'benchcoach_user': current_benchcoach_user, - 'teamsnap_user': current_teamsnap_user, - 'teamsnap_team':current_teamsnap_team, - 'teamsnap_objects': teamsnap_objects - } - return render(request, 'teamsnap/home.html', context) -@login_required() -def dashboard(request, team_id): - current_benchcoach_user = request.user - current_teamsnap_user = request.user.profile.teamsnap_user - current_teamsnap_team = request.user.profile.teamsnapsettings.managed_team - teamsnap_objects = {} +class TeamsnapAdapter(OAuth2Adapter): + provider_id = TeamsnapProvider.id - TEAM_ID = team_id - TOKEN = request.user.profile.teamsnap_access_token - no_past = bool(request.GET.get('no_past', 0)) - games_only = bool(request.GET.get('games_only', 0)) - from pyteamsnap.api import TeamSnap, Event, AvailabilitySummary - client = TeamSnap(token=TOKEN) - time.sleep(.5) - ts_events = Event.search(client, team_id=TEAM_ID) - ts_availability_summaries_d = {a.data['id']:a for a in AvailabilitySummary.search(client, team_id=team_id)} - ts_events_future = [e for e in ts_events if e.data['start_date'] > datetime.datetime.now(datetime.timezone.utc)] - ts_events_past = [e for e in reversed(ts_events) if e.data['start_date'] < datetime.datetime.now(datetime.timezone.utc)] + # Fetched programmatically, must be reachable from container + access_token_url = "{}/oauth/token/".format("https://auth.teamsnap.com") + profile_url = "{}/me/".format("https://api.teamsnap.com/v3/") - return render(request, 'teamsnap/dashboard.html', { - 'team_id':team_id, - 'ts_events_future':ts_events_future, - 'ts_events_past': ts_events_past, - 'events_availabilities' : [(e, ts_availability_summaries_d[e.data['id']]) for e in ts_events_future] - }) + # Accessed by the user browser, must be reachable by the host + authorize_url = "{}/oauth/authorize/".format("https://auth.teamsnap.com/") -@login_required() -def sync_from_teamsnap(request, object_name=None, object_id=None): - if request.POST: - next = request.POST.get('next') - object_name = request.POST.get('object_name') - object_id = request.POST.get('object_id') + # NOTE: trailing slashes in URLs are important, don't miss it - Object = { - obj.__name__.lower(): obj - for obj in - [Availability, Event, LineupEntry, Location, Member, Opponent, Team, User] - }.get(object_name) + def complete_login(self, request, app, token, **kwargs): + headers = {"Authorization": f"Bearer {token.token}"} + resp = requests.get(self.profile_url, headers=headers) + j = resp.json() + if j.get("collection", {}).get("items"): + extra_data = { + i["name"]: i["value"] for i in j["collection"]["items"][0]["data"] + } + return self.get_provider().sociallogin_from_response(request, extra_data) - TEAM_ID = request.user.profile.teamsnapsettings.managed_team.id - TOKEN = request.user.profile.teamsnap_access_token + def populate_user(self, request, sociallogin, data): + user = super().populate_user(request, sociallogin, data) + user.username = user.email + return user - sync_engine = TeamsnapSyncEngine(teamsnap_token=TOKEN, managed_team_teamsnap_id=TEAM_ID) - r = {} + # def get_callback_url(self, request, app): + # callback_url = reverse(self.provider_id + "_callback") + # protocol = self.redirect_uri_protocol + # return build_absolute_uri(request, callback_url, protocol) + # return "urn:ietf:wg:oauth:2.0:oob" - r[object_name]=[] - if object_name == 'team': - if object_id: - r[object_name] = sync_engine.sync(qs=benchcoach.models.Team.objects.filter(id=object_id)) - else: - r[object_name] = sync_engine.sync(qs=benchcoach.models.Team.objects.all()) +oauth2_login = OAuth2LoginView.adapter_view(TeamsnapAdapter) +oauth2_callback = OAuth2CallbackView.adapter_view(TeamsnapAdapter) - if object_name == 'venue': - if object_id: - r[object_name] = sync_engine.sync(qs=benchcoach.models.Venue.objects.filter(id=object_id)) - else: - r[object_name] = sync_engine.sync(qs=benchcoach.models.Venue.objects.all()) - if object_name == 'player': - if object_id: - r[object_name] = sync_engine.sync(qs=benchcoach.models.Player.objects.filter(id=object_id)) - else: - r[object_name] = sync_engine.sync(qs=benchcoach.models.Player.objects.all()) +class PreferencesFormView(FormView): + template_name = "preferences.html" + form_class = PreferencesForm + success_url = "/" - if object_name == 'event': - if object_id: - r[object_name] = sync_engine.sync(qs=benchcoach.models.Event.objects.filter(id=object_id)) - r['availability'] = sync_engine.sync(qs=benchcoach.models.Event.objects.get(id=object_id).availability_set.all()) - else: - r[object_name] = sync_engine.sync(qs=benchcoach.models.Event.objects.all()) + def form_valid(self, form): + # This method is called when valid form data has been POSTed. + # It should return an HttpResponse. + if form.data["user"] == str(self.request.user.id): + form.save() + return super().form_valid(form) - if object_name == 'availability': - r[object_name] = [] - if object_id: - r[object_name] += sync_engine.sync(qs=benchcoach.models.Availability.objects.filter(id=object_id)) - else: - for event in benchcoach.models.Player.objects.all(): - r[object_name] += sync_engine.sync(qs=event.availability_set.all()) + def get_initial(self): + """ + Returns the initial data to use for forms on this view. + """ + initial = super().get_initial() - for object_name, results in r.items(): - if len(results) == 0: - messages.error(request, f"Error! No {object_name} objects updated") - else: - messages.success(request, f"Success! {len(results)} {object_name} objects updated.") + initial["user"] = self.request.user + # initial['managed_team_id'] - return redirect(next) - else: - return HttpResponse(404) + return initial -@login_required() -def import_teamsnap(request): - TEAM_ID = request.user.profile.teamsnapsettings.managed_team.id - TOKEN = request.user.profile.teamsnap_access_token + def get_form(self): + """ + Returns the initial data to use for forms on this view. + """ + import pyteamsnap - sync_engine = TeamsnapSyncEngine(teamsnap_token=TOKEN, managed_team_teamsnap_id=TEAM_ID) - r = sync_engine.import_items() + ts_account = self.request.user.socialaccount_set.first() + ts_token = ts_account.socialtoken_set.first() + # ts_token = + ts = pyteamsnap.TeamSnap(token=ts_token) - for object_name, results in r.items(): - if len(results) == 0: - messages.error(request, f"Error! No {object_name} objects created or updated") - else: - messages.success(request, f"Success! {len(results)} {object_name} objects imported") + me = pyteamsnap.api.Me(ts) - return redirect('teamsnap home') + teams = [ + (id, pyteamsnap.api.Team.get(ts, id=id)) + for id in me.data["managed_team_ids"] + ] -@login_required() -def schedule(request, team_id): - TEAM_ID = team_id - TOKEN = request.user.profile.teamsnap_access_token - no_past = bool(request.GET.get('no_past', 0)) - games_only = bool(request.GET.get('games_only',0)) - from pyteamsnap.api import TeamSnap, Event, Location, Opponent - client = TeamSnap(token=TOKEN) - time.sleep(.5) - ts_events = Event.search(client, team_id=TEAM_ID) + try: + contact = Preferences.objects.get(user=self.request.user) + form = PreferencesForm(instance=contact, **self.get_form_kwargs()) + except Preferences.DoesNotExist: + form = super().get_form(self.form_class) + + choices = [ + (id, f"{team.data['name']} ({team.data['season_name']})") + for id, team in teams + ] + form.fields["managed_team_id"].widget.choices = choices + + return form + + +def schedule_view(request, team_id=None): + if not team_id: + return redirect( + "teamsnap_schedule", team_id=request.user.preferences.managed_team_id + ) + request.user.socialaccount_set.filter(provider="teamsnap").first() + current_teamsnap_user = request.user.socialaccount_set.filter( + provider="teamsnap" + ).first() + + ts_token = ( + current_teamsnap_user.socialtoken_set.order_by("-expires_at").first().token + ) + no_past = bool(request.GET.get("no_past", 0)) + games_only = bool(request.GET.get("games_only", 0)) + from pyteamsnap.api import Event, TeamSnap + + client = TeamSnap(token=ts_token) + ts_events = Event.search(client, team_id=team_id) if no_past: - ts_events = [e for e in ts_events if e.data['start_date'] > datetime.datetime.now(datetime.timezone.utc)] + ts_events = [ + e + for e in ts_events + if e.data["start_date"] > datetime.datetime.now(datetime.timezone.utc) + ] if games_only: - ts_events = [e for e in ts_events if e.data['is_game']] - ts_events = {e.data['id']:e for e in ts_events} - # ts_opponents = {o.data['id']:o for o in Opponent.search(client, team_id=TEAM_ID)} - # ts_locations = {l.data['id']:l for l in Location.search(client, team_id=TEAM_ID)} - # for event in ts_events: + ts_events = [e for e in ts_events if e.data["is_game"]] + ts_events = {e.data["id"]: e for e in ts_events} pass - return render(request, "teamsnap/schedule.html", context={"events":ts_events.values(), "team_id":team_id}) + return render( + request, + "schedule.html", + context={"events": ts_events.values(), "team_id": team_id}, + ) -@login_required() -def event(request, event_id, team_id): - TOKEN = request.user.profile.teamsnap_access_token - from pyteamsnap.api import TeamSnap, Event, Availability, Member, EventLineupEntry, EventLineup, AvailabilitySummary - client = TeamSnap(token=TOKEN) - time.sleep(0.5) - ts_bulkload = client.bulk_load(team_id=team_id, - types=[Event, EventLineup, EventLineupEntry, AvailabilitySummary, Member], - event__id=event_id) +def view_event(request, event_id, team_id=None): + if not team_id: + return redirect( + "teamsnap_event", team_id=request.user.preferences.managed_team_id + ) + request.user.socialaccount_set.filter(provider="teamsnap").first() + current_teamsnap_user = request.user.socialaccount_set.filter( + provider="teamsnap" + ).first() + + ts_token = ( + current_teamsnap_user.socialtoken_set.order_by("-expires_at").first().token + ) + + from pyteamsnap.api import ( + AvailabilitySummary, + Event, + EventLineup, + EventLineupEntry, + Member, + TeamSnap, + ) + + client = TeamSnap(token=ts_token) + ts_bulkload = client.bulk_load( + team_id=team_id, + types=[Event, EventLineup, EventLineupEntry, AvailabilitySummary, Member], + event__id=event_id, + ) ts_event = [i for i in ts_bulkload if isinstance(i, Event)][0] - # ts_availabilities = Availability.search(client, event_id=ts_event.data['id']) - ts_availability_summary = \ - [i for i in ts_bulkload if isinstance(i, AvailabilitySummary) and i.data['event_id'] == event_id][0] - ts_lineup_entries = [i for i in ts_bulkload if isinstance(i, EventLineupEntry) and i.data['event_id'] == event_id] + ts_availability_summary = [ + i + for i in ts_bulkload + if isinstance(i, AvailabilitySummary) and i.data["event_id"] == event_id + ][0] + ts_lineup_entries = [ + i + for i in ts_bulkload + if isinstance(i, EventLineupEntry) and i.data["event_id"] == event_id + ] - ts_members = [i for i in ts_bulkload if isinstance(i, Member)] - ts_member_lookup = {m.data['id']: m for m in ts_members} - # ts_availability_lookup = {m.data['member_id']: m for m in ts_availabilities} - ts_lineup_entries_lookup = {m.data['member_id']: m for m in ts_lineup_entries} + return render( + request, + "event/view_event.html", + context={ + "availability_summary": ts_availability_summary, + "event": ts_event, + "availablities": [], + "lineup_entries": ts_lineup_entries, + }, + ) - members = [] - return render(request, "teamsnap/event/view_event.html", context={ - "availability_summary":ts_availability_summary, - "event":ts_event, - "availablities":[], - "lineup_entries": ts_lineup_entries, - }) - -@login_required() -def location(request, id, team_id): - TOKEN = request.user.profile.teamsnap_access_token - - from pyteamsnap.api import TeamSnap, Location - client = TeamSnap(token=TOKEN) - return render(request, "teamsnap/location/view.html", context={"location": Location.get(client, id=id)}) - pass - -@login_required() -def opponent(request, team_id, id): - TOKEN = request.user.profile.teamsnap_access_token - - from pyteamsnap.api import TeamSnap, Opponent - time.sleep(0.5) - client = TeamSnap(token=TOKEN) - return render(request, "teamsnap/opponent.html", context={"opponent": Opponent.get(client, id=id)}) - pass - -@login_required() def edit_lineup(request, event_ids, team_id): - TOKEN = request.user.profile.teamsnap_access_token - from django.forms import formset_factory - from teamsnap.forms import EventChooseForm - from pyteamsnap.api import TeamSnap, Event, Availability, Member, EventLineupEntry, EventLineup, AvailabilitySummary, Opponent - client = TeamSnap(token=TOKEN) - time.sleep(0.5) + import re + + from teamsnap.forms import LineupEntryFormset + + request.user.socialaccount_set.filter(provider="teamsnap").first() + current_teamsnap_user = request.user.socialaccount_set.filter( + provider="teamsnap" + ).first() + ts_token = ( + current_teamsnap_user.socialtoken_set.order_by("-expires_at").first().token + ) + + from pyteamsnap.api import ( + Availability, + AvailabilitySummary, + Event, + EventLineup, + EventLineupEntry, + Member, + TeamSnap, + ) + + client = TeamSnap(token=ts_token) event_ids = str(event_ids).split(",") - ts_bulkload = client.bulk_load(team_id=team_id, - types=[Event, EventLineup, EventLineupEntry, AvailabilitySummary, Member], - event__id=",".join(event_ids)) + ts_bulkload = client.bulk_load( + team_id=team_id, + types=[Event, EventLineup, EventLineupEntry, AvailabilitySummary, Member], + event__id=",".join(event_ids), + ) event_ids = [int(i) for i in event_ids] - formsets_lineup = [] - formsets_bench = [] - formsets = [] - events = [] + contexts = [] for event_id in event_ids: - ts_event = [i for i in ts_bulkload if isinstance(i, Event) and i.data['id']==event_id][0] - ts_availabilities = Availability.search(client, event_id=ts_event.data['id']) - ts_availability_summary = \ - [i for i in ts_bulkload if isinstance(i, AvailabilitySummary) and i.data['event_id'] == event_id][0] + ts_event = [ + i for i in ts_bulkload if isinstance(i, Event) and i.data["id"] == event_id + ][0] + ts_availabilities = Availability.search(client, event_id=ts_event.data["id"]) ts_lineup_entries = EventLineupEntry.search(client, event_id=event_id) - if ts_lineup_entries: - ts_lineup = EventLineup.get(client, id=ts_lineup_entries[0].data['event_lineup_id']) - else: - ts_lineup = EventLineup.search(client, event_id=event_id) - ts_members = [i for i in ts_bulkload if isinstance(i, Member)] - ts_member_lookup = {m.data['id']: m for m in ts_members} - ts_availability_lookup = {m.data['member_id']: m for m in ts_availabilities} - ts_lineup_entries_lookup = {m.data['member_id']: m for m in ts_lineup_entries} + ts_member_lookup = {m.data["id"]: m for m in ts_members} + ts_availability_lookup = {m.data["member_id"]: m for m in ts_availabilities} + ts_lineup_entries_lookup = {m.data["member_id"]: m for m in ts_lineup_entries} - members=[] + members = [] for member in ts_members: - members.append ({ - "member":getattr(member, 'data'), - "availability": getattr(ts_availability_lookup.get(member.data['id'], {}), 'data', {}), - "lineup_entry": getattr(ts_lineup_entries_lookup.get(member.data['id'], {}), 'data', {}) - } + members.append( + { + "member": getattr(member, "data"), + "availability": getattr( + ts_availability_lookup.get(member.data["id"], {}), "data", {} + ), + "lineup_entry": getattr( + ts_lineup_entries_lookup.get(member.data["id"], {}), "data", {} + ), + } ) - members = sorted(members, key=lambda d: ( - { - None:3, # No Response - 0:2, # No - 2:1, # Maybe - 1:0 # Yes - - }.get(d['availability'].get('status_code')), - d['member'].get('last_name')) - ) - - from teamsnap.forms import LineupEntryFormset, LineupEntryForm - + members = sorted( + members, + key=lambda d: ( + {None: 3, 0: 2, 2: 1, 1: 0}.get( # No Response # No # Maybe # Yes + d["availability"].get("status_code") + ), + d["member"].get("last_name"), + ), + ) initial = [] for member in members: - if not member['member']['is_non_player']: - initial_member = {} - if re.search(r'([A-Z0-9]+)(?:\s+\[(.*)\])?', member['lineup_entry'].get('label','')): - position, position_note = re.search(r'([A-Z0-9]+)(?:\s+\[(.*)\])?', member['lineup_entry'].get('label','')).groups() + if not member["member"]["is_non_player"]: + if re.search( + r"([A-Z0-9]+)(?:\s+\[(.*)\])?", + member["lineup_entry"].get("label", ""), + ): + position, position_note = re.search( + r"([A-Z0-9]+)(?:\s+\[(.*)\])?", + member["lineup_entry"].get("label", ""), + ).groups() else: - position, position_note = ("","") + position, position_note = ("", "") position_only = position_note == "PO" - initial.append({ - "event_lineup_entry_id": member['lineup_entry'].get('id'), - "event_lineup_id": member['lineup_entry'].get('event_lineup_id'), - "event_id": event_id, - "position_only": position_only, - "member_id": member['member']['id'], - "sequence": member['lineup_entry'].get('sequence'), - "label": position, - } - + initial.append( + { + "event_lineup_entry_id": member["lineup_entry"].get("id"), + "event_lineup_id": member["lineup_entry"].get( + "event_lineup_id" + ), + "event_id": event_id, + "position_only": position_only, + "member_id": member["member"]["id"], + "sequence": member["lineup_entry"].get("sequence"), + "label": position, + } ) - formset = LineupEntryFormset( - initial=initial - ) + formset = LineupEntryFormset(initial=initial) for form in formset: - form.member = ts_member_lookup.get(form['member_id'].initial) - form.availability = ts_availability_lookup.get(form['member_id'].initial) + form.member = ts_member_lookup.get(form["member_id"].initial) + form.availability = ts_availability_lookup.get(form["member_id"].initial) - formset_startinglineup = [form for form in formset if form.initial.get('event_lineup_entry_id') and not form.initial.get('position_only')] + formset_startinglineup = [ + form + for form in formset + if form.initial.get("event_lineup_entry_id") + and not form.initial.get("position_only") + ] formset_startinglineup = sorted( - formset_startinglineup, - key=lambda d: d.initial.get('sequence',100) + formset_startinglineup, key=lambda d: d.initial.get("sequence", 100) ) - formset_startingpositiononly = [form for form in formset if - form.initial.get('event_lineup_entry_id') and form not in formset_startinglineup] + formset_startingpositiononly = [ + form + for form in formset + if form.initial.get("event_lineup_entry_id") + and form not in formset_startinglineup + ] formset_startingpositiononly = sorted( - formset_startingpositiononly, - key=lambda d: d.initial.get('sequence', 100) + formset_startingpositiononly, key=lambda d: d.initial.get("sequence", 100) ) - formset_bench = [form for form in formset if - form not in formset_startinglineup and - form not in formset_startingpositiononly and - form.availability.data['status_code'] in [2, 1] - ] - formset_out = [form for form in formset if - form not in formset_startinglineup and - form not in formset_bench and - form not in formset_startingpositiononly and - not form.member.data['is_non_player'] - ] + formset_bench = [ + form + for form in formset + if form not in formset_startinglineup + and form not in formset_startingpositiononly + and form.availability.data["status_code"] in [2, 1] + ] + formset_out = [ + form + for form in formset + if form not in formset_startinglineup + and form not in formset_bench + and form not in formset_startingpositiononly + and not form.member.data["is_non_player"] + ] - contexts.append({ - "event":ts_event, - "formset": formset, - "formset_bench":formset_bench, - "formset_startinglineup":formset_startinglineup, - "formset_startingpositionalonly":formset_startingpositiononly, - "formset_out":formset_out - }) + contexts.append( + { + "event": ts_event, + "formset": formset, + "formset_bench": formset_bench, + "formset_startinglineup": formset_startinglineup, + "formset_startingpositionalonly": formset_startingpositiononly, + "formset_out": formset_out, + } + ) - return render(request, "teamsnap/lineup/multiple_edit.html", context={ - "team_id": team_id, - "contexts":contexts - }) + return render( + request, "lineup/multiple_edit.html", context={"contexts": contexts} + ) -@login_required() -def submit_lineup(request, team_id, event_id): - from pyteamsnap.api import TeamSnap, EventLineupEntry, EventLineup - from teamsnap.forms import LineupEntryFormset - TOKEN = request.user.profile.teamsnap_access_token - client = TeamSnap(token=TOKEN) - time.sleep(0.5) - ts_lineup = EventLineup.search(client, event_id=event_id) - event_lineup_id = ts_lineup[0].data['id'] - if request.GET: - return HttpResponseNotAllowed() - if request.POST: - formset = LineupEntryFormset(request.POST) - if formset.is_valid(): - r = [] - for form in formset: - data = form.cleaned_data - if data.get('event_lineup_entry_id'): - event_lineup_entry = EventLineupEntry.get(client, id=data.get('event_lineup_entry_id')) - if data.get('position_only'): - data['label'] = data['label'] + ' [PO]' - event_lineup_entry.data.update(data) - if not data.get('sequence') and not data.get('label'): - try: - r.append(event_lineup_entry.delete()) - except Exception as e: - raise e - else: - try: - r.append(event_lineup_entry.put()) - except: - pass - pass - elif data.get('sequence') is not None and data.get('label'): - event_lineup_entry = EventLineupEntry.new(client) - if data.get('position_only'): - data['label'] = data['label'] + ' [PO]' - event_lineup_entry.data.update(data) - event_lineup_entry.data.update({"event_lineup_id": event_lineup_id}) - try: - r.append(event_lineup_entry.post()) - except Exception as e: - raise e - else: - pass - else: - # breakpoint() - pass - # breakpoint() - pass - return HttpResponse(f'{r}') - pass - return HttpResponse(f'{team_id} {event_id}') -@login_required() -def image_generator(request, team_id, event_id): - TOKEN = request.user.profile.teamsnap_access_token +def dashboard(request, team_id=None): + if not team_id: + return redirect( + "teamsnap_dashboard", team_id=request.user.preferences.managed_team_id + ) + request.user.socialaccount_set.filter(provider="teamsnap").first() + current_teamsnap_user = request.user.socialaccount_set.filter( + provider="teamsnap" + ).first() - from pyteamsnap.api import TeamSnap, Event, Availability, Member, EventLineupEntry, EventLineup, AvailabilitySummary - client = TeamSnap(token=TOKEN) - time.sleep(0.5) + ts_token = ( + current_teamsnap_user.socialtoken_set.order_by("-expires_at").first().token + ) + from pyteamsnap.api import AvailabilitySummary, Event, TeamSnap - ts_event = Event.get(client, id=event_id) - return render(request, "teamsnap/event/instagen.html", context = {"event":ts_event}) + client = TeamSnap(token=ts_token) + ts_events = Event.search(client, team_id=team_id) + ts_availability_summaries_d = { + a.data["id"]: a for a in AvailabilitySummary.search(client, team_id=team_id) + } + ts_events_future = [ + e + for e in ts_events + if e.data["start_date"] > datetime.datetime.now(datetime.timezone.utc) + ] + ts_events_past = [ + e + for e in reversed(ts_events) + if e.data["start_date"] < datetime.datetime.now(datetime.timezone.utc) + ] -@login_required() -def get_matchup_image(request, team_id, event_id, dimensions=None, background=None): - from pyteamsnap.api import TeamSnap, EventLineupEntry, EventLineup, Event, Team, Opponent, Location - from .utils.gen_image import Team as ImagegenTeam, Location as ImagegenLocation - from .utils.gen_image import gen_image, gen_results_image - import io - TOKEN = request.user.profile.teamsnap_access_token - if request.GET: - POSTPONED = request.GET.get('postponed', 'false') == 'true' - INCLUDE_WINLOSS = request.GET.get('winloss', 'false') == 'true' - BACKGROUND = request.GET.get('background', 'location') - game_id = event_id - dimensions = request.GET.get('dimensions') - width = int(dimensions.split("x")[0]) - height = int(dimensions.split("x")[1]) - - teamsnap = TeamSnap(TOKEN) - time.sleep(0.5) - ts_event = Event.get(teamsnap, game_id).data - fave_team = Team.get(teamsnap, ts_event['team_id']).data - opponent_team = Opponent.get(teamsnap, ts_event['opponent_id']).data - location = Location.get(teamsnap, ts_event['location_id']).data - formatted_results = ts_event['formatted_results'] - if formatted_results: - # L 4-3 - runs_for = formatted_results.split(" ")[1].split("-")[0] - runs_against = formatted_results.split(" ")[1].split("-")[1] - else: - runs_for, runs_against = None, None - - logo_image_directory = 'benchcoachproject/static/teamsnap/ig/logos-bw/{filename}.{ext}' - venue_image_directory = 'benchcoachproject/static/teamsnap/ig/locations/{filename}.{ext}' - - def shortname_from_name(name): - return name.replace(" ", "").lower() - - # date = parser.parse(ts_event['start_date']) - # date = date.astimezone(ZoneInfo("America/Chicago")) - game_info = { - "date": ts_event['start_date'].astimezone(tz=datetime.datetime.now(timezone.utc).astimezone().tzinfo), - "team_fave": ImagegenTeam( - name=fave_team["name"], - image_directory=logo_image_directory.format(filename=shortname_from_name(fave_team["name"]), ext="png") - ), - "team_opponent": ImagegenTeam( - name=opponent_team["name"], - image_directory=logo_image_directory.format(filename=shortname_from_name(opponent_team["name"]), - ext="png") - ), - "location": ImagegenLocation( - name=location['name'], - image_directory=venue_image_directory.format(filename=shortname_from_name(location["name"]), ext="png"), - # address=location['address'] - ), - "runs_for": runs_for, - "runs_against": runs_against - } - - if not game_info['runs_for'] and not game_info['runs_against']: - image = gen_image(**game_info, background=BACKGROUND, width=width, height=height) - elif game_info['runs_for'] and game_info['runs_against']: - image = gen_results_image(**game_info, background=BACKGROUND, width=width, height=height) - else: - raise Exception - - imgByteArr = io.BytesIO() - image.save(imgByteArr, format='PNG') - imgByteArr = imgByteArr.getvalue() - - return HttpResponse(imgByteArr, content_type="image/png") - -@login_required() -def multi_lineup_choose(request, team_id): - TOKEN = request.user.profile.teamsnap_access_token - from teamsnap.forms import EventChooseForm - from django.forms import formset_factory - from pyteamsnap.api import TeamSnap, Event - client = TeamSnap(token=TOKEN) - - if request.POST: - ts_events = Event.search(client, team_id=team_id) - EventChooseFormset = formset_factory(EventChooseForm) - formset = EventChooseFormset(request.POST) - choices = [(e.data['id'], e.data['formatted_title']) for e in ts_events] - - for form in formset: - form.fields['event_id'].choices = choices - - if formset.is_valid(): - event_ids = [f.cleaned_data['event_id'] for f in formset] - else: - event_ids = request.GET.get("event_ids").split(",") - EventChooseFormset = formset_factory(EventChooseForm) - formset = EventChooseFormset(request.POST) - - return redirect('teamsnap_edit_multiple_lineups',team_id=team_id, event_ids=",".join(event_ids)) - elif not request.GET.get('num'): - return HttpResponse(500) - else: - num = int(request.GET.get('num')) - TEAM_ID = team_id - TOKEN = request.user.profile.teamsnap_access_token - no_past = bool(request.GET.get('no_past', 0)) - games_only = bool(request.GET.get('games_only', 0)) - from pyteamsnap.api import TeamSnap, Event, Location, Opponent - client = TeamSnap(token=TOKEN) - time.sleep(.5) - ts_events = Event.search(client, team_id=TEAM_ID) - if no_past: - ts_events = [e for e in ts_events if e.data['start_date'] > datetime.datetime.now(datetime.timezone.utc)] - if games_only: - ts_events = [e for e in ts_events if e.data['is_game']] - ts_events = {e.data['id']: e for e in ts_events} - # ts_opponents = {o.data['id']:o for o in Opponent.search(client, team_id=TEAM_ID)} - # ts_locations = {l.data['id']:l for l in Location.search(client, team_id=TEAM_ID)} - # for event in ts_events: - - EventChooseFormset = formset_factory(EventChooseForm, extra=num) - formset = EventChooseFormset() - - choices= [(id, e.data['formatted_title']) for id, e in ts_events.items()] - - for form in formset: - form.fields['event_id'].choices = choices - - pass - return render(request, "teamsnap/lineup/multiple_choose.html", context={"formset": formset, "team_id": team_id}) \ No newline at end of file + return render( + request, + "dashboard.html", + { + "ts_events_future": ts_events_future, + "ts_events_past": ts_events_past, + "events_availabilities": [ + (e, ts_availability_summaries_d[e.data["id"]]) for e in ts_events_future + ], + }, + ) diff --git a/templates/base.html b/templates/base.html deleted file mode 100644 index cdf5348..0000000 --- a/templates/base.html +++ /dev/null @@ -1,27 +0,0 @@ - - {% load static %} - - - {% block title %}Title{% endblock %} - {% include 'head.html' %} - - - -
-
- {% block navbar %} - {% include 'navbar.html' %} - {% endblock %} -
- -
- -{#
#} -
- {% block page_heading %}{% endblock %} - {% block page_subheading %}{% endblock %} - {% block header %} - {% endblock %} - {% block content %}{% endblock %} -
-{#
#} diff --git a/templates/edit.html b/templates/edit.html deleted file mode 100644 index 4f9ba19..0000000 --- a/templates/edit.html +++ /dev/null @@ -1,9 +0,0 @@ -{% extends 'base.html' %} - -{% block content %} -
- {% csrf_token %} - {{ form|crispy }} - -
-{% endblock %} \ No newline at end of file diff --git a/templates/head.html b/templates/head.html deleted file mode 100644 index 3c38542..0000000 --- a/templates/head.html +++ /dev/null @@ -1,119 +0,0 @@ -{% load static %} - - - - - - - - - - - - -{##} - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/templates/home.html b/templates/home.html deleted file mode 100644 index 0b26673..0000000 --- a/templates/home.html +++ /dev/null @@ -1,36 +0,0 @@ -{% extends "base.html" %}{% load static %} - -{% block title %}Bench Coach Home{% endblock %} -{% block page_heading %}{% endblock %} -{% block content %} -
-
-
-

- Welcome to Bench Coach -

-
-
-
- -
-
-
-

Quisque at curabitur mollis ornare, malesuada maecenas. Orci elit - tristique, - malesuada eu pharetra. Est praesent tortor porttitor aptent, amet quisque.

- {#
#} - {# #} - {#
#} -
- -
- {#
-
-
-
-
- -{% endblock %} \ No newline at end of file diff --git a/templates/list.html b/templates/list.html deleted file mode 100644 index a0e3ade..0000000 --- a/templates/list.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "base.html" %} -{% block title %} {{ title }}{% endblock %} - -{% block content %} - -

{{ title }}

-
    -{% for item in items %} -
  1. - {{ item.title }} - {{ item.subtitle }} - {% if item.body %} -
    {{ item.body }} - {% endif %} -
    - {% for button in item.buttons %} - {{ button.label }} - {% endfor %} -
  2. -{% endfor %} -
-{% endblock %} \ No newline at end of file diff --git a/templates/login.html b/templates/login.html deleted file mode 100644 index 002f189..0000000 --- a/templates/login.html +++ /dev/null @@ -1,24 +0,0 @@ -{% extends "base.html" %}{% load static %} - -{% block title %}Bench Coach Home{% endblock %} - -{% block sidebar %}{% endblock %} -{% block content %} -
-
- {% csrf_token %} - - -

Please Sign In

- - - -
-
- - - -{% endblock %} \ No newline at end of file diff --git a/templates/messages.html b/templates/messages.html deleted file mode 100644 index 4145f19..0000000 --- a/templates/messages.html +++ /dev/null @@ -1,22 +0,0 @@ -{% if messages %} - {% for message in messages %} - {% if message.tags == 'success' %} - - {% endif %} - {% if message.tags == 'error' %} - - {% endif %} - {% if message.tags == 'warning' %} - - {% endif %} - {% endfor %} -{% endif %} \ No newline at end of file diff --git a/templates/navbar.html b/templates/navbar.html deleted file mode 100644 index f31e2c7..0000000 --- a/templates/navbar.html +++ /dev/null @@ -1,42 +0,0 @@ -{% load static %} -
- \ No newline at end of file diff --git a/templates/sidebar.html b/templates/sidebar.html deleted file mode 100644 index 7869ee4..0000000 --- a/templates/sidebar.html +++ /dev/null @@ -1,14 +0,0 @@ - \ No newline at end of file diff --git a/templates/success.html b/templates/success.html deleted file mode 100644 index ef2da08..0000000 --- a/templates/success.html +++ /dev/null @@ -1,24 +0,0 @@ -{% extends "base.html" %} -{% block title %} {{ title }}{% endblock %} - -{% block content %} - - - - - - - - {% if errors %} - Errors... - {% for error in errors %} - error - {% endfor %} - - {% else %} - Success! - {% endif %} - Redirecting... - - -{% endblock %} \ No newline at end of file