From 9ae53fc23207664aece325dfebce960377e128f8 Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Fri, 5 Dec 2025 16:39:28 -0600 Subject: [PATCH 01/45] Fixes #20560: Fix VLAN disambiguation in prefix bulk import --- netbox/ipam/forms/bulk_import.py | 4 -- netbox/ipam/tests/test_views.py | 76 ++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 4 deletions(-) diff --git a/netbox/ipam/forms/bulk_import.py b/netbox/ipam/forms/bulk_import.py index 8cef521ea..f8e45e182 100644 --- a/netbox/ipam/forms/bulk_import.py +++ b/netbox/ipam/forms/bulk_import.py @@ -230,10 +230,6 @@ class PrefixImportForm(ScopedImportForm, NetBoxModelImportForm): query |= Q(**{ f"site__{self.fields['vlan_site'].to_field_name}": vlan_site }) - # Don't Forget to include VLANs without a site in the filter - query |= Q(**{ - f"site__{self.fields['vlan_site'].to_field_name}__isnull": True - }) if vlan_group: query &= Q(**{ diff --git a/netbox/ipam/tests/test_views.py b/netbox/ipam/tests/test_views.py index 0b4f3b740..5b8b8dad8 100644 --- a/netbox/ipam/tests/test_views.py +++ b/netbox/ipam/tests/test_views.py @@ -564,6 +564,82 @@ vlan: 102 self.assertEqual(prefix.vlan.vid, 102) self.assertEqual(prefix.scope, site) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_prefix_import_with_vlan_site_multiple_vlans_same_vid(self): + """ + Test import when multiple VLANs exist with the same vid but different sites. + Ref: #20560 + """ + site1 = Site.objects.get(name='Site 1') + site2 = Site.objects.get(name='Site 2') + + # Create VLANs with the same vid but different sites + vlan1 = VLAN.objects.create(vid=1, name='VLAN1-Site1', site=site1) + VLAN.objects.create(vid=1, name='VLAN1-Site2', site=site2) # Create ambiguity + + # Import prefix with vlan_site specified + IMPORT_DATA = f""" +prefix: 10.11.0.0/22 +status: active +scope_type: dcim.site +scope_id: {site1.pk} +vlan_site: {site1.name} +vlan: 1 +description: LOC02-MGMT +""" + + # Add all required permissions to the test user + self.add_permissions('ipam.view_prefix', 'ipam.add_prefix') + + form_data = { + 'data': IMPORT_DATA, + 'format': 'yaml' + } + response = self.client.post(reverse('ipam:prefix_bulk_import'), data=form_data, follow=True) + self.assertHttpStatus(response, 200) + + # Verify the prefix was created with the correct VLAN + prefix = Prefix.objects.get(prefix='10.11.0.0/22') + self.assertEqual(prefix.vlan, vlan1) + + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_prefix_import_with_vlan_site_and_global_vlan(self): + """ + Test import when a global VLAN (no site) and site-specific VLAN exist with same vid. + When vlan_site is specified, should prefer the site-specific VLAN. + Ref: #20560 + """ + site1 = Site.objects.get(name='Site 1') + + # Create a global VLAN (no site) and a site-specific VLAN with the same vid + VLAN.objects.create(vid=10, name='VLAN10-Global', site=None) # Create ambiguity + vlan_site = VLAN.objects.create(vid=10, name='VLAN10-Site1', site=site1) + + # Import prefix with vlan_site specified + IMPORT_DATA = f""" +prefix: 10.12.0.0/22 +status: active +scope_type: dcim.site +scope_id: {site1.pk} +vlan_site: {site1.name} +vlan: 10 +description: Test Site-Specific VLAN +""" + + # Add all required permissions to the test user + self.add_permissions('ipam.view_prefix', 'ipam.add_prefix') + + form_data = { + 'data': IMPORT_DATA, + 'format': 'yaml' + } + response = self.client.post(reverse('ipam:prefix_bulk_import'), data=form_data, follow=True) + self.assertHttpStatus(response, 200) + + # Verify the prefix was created with the site-specific VLAN (not the global one) + prefix = Prefix.objects.get(prefix='10.12.0.0/22') + self.assertEqual(prefix.vlan, vlan_site) + class IPRangeTestCase(ViewTestCases.PrimaryObjectViewTestCase): model = IPRange From 77b389f10589eed271d5243e6b804b50497267f9 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Tue, 9 Dec 2025 20:06:11 -0800 Subject: [PATCH 02/45] Fixes #20873: fix webhooks with image fields (#20955) --- netbox/extras/events.py | 4 +++- netbox/utilities/request.py | 15 +++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/netbox/extras/events.py b/netbox/extras/events.py index e2912758a..6f4854ff3 100644 --- a/netbox/extras/events.py +++ b/netbox/extras/events.py @@ -119,7 +119,9 @@ def process_event_rules(event_rules, object_type, event_type, data, username=Non if snapshots: params["snapshots"] = snapshots if request: - params["request"] = copy_safe_request(request) + # Exclude FILES - webhooks don't need uploaded files, + # which can cause pickle errors with Pillow. + params["request"] = copy_safe_request(request, include_files=False) # Enqueue the task rq_queue.enqueue( diff --git a/netbox/utilities/request.py b/netbox/utilities/request.py index eadbe0f5c..92b879139 100644 --- a/netbox/utilities/request.py +++ b/netbox/utilities/request.py @@ -35,27 +35,34 @@ class NetBoxFakeRequest: # Utility functions # -def copy_safe_request(request): +def copy_safe_request(request, include_files=True): """ Copy selected attributes from a request object into a new fake request object. This is needed in places where thread safe pickling of the useful request data is needed. + + Args: + request: The original request object + include_files: Whether to include request.FILES. """ meta = { k: request.META[k] for k in HTTP_REQUEST_META_SAFE_COPY if k in request.META and isinstance(request.META[k], str) } - return NetBoxFakeRequest({ + data = { 'META': meta, 'COOKIES': request.COOKIES, 'POST': request.POST, 'GET': request.GET, - 'FILES': request.FILES, 'user': request.user, 'method': request.method, 'path': request.path, 'id': getattr(request, 'id', None), # UUID assigned by middleware - }) + } + if include_files: + data['FILES'] = request.FILES + + return NetBoxFakeRequest(data) def get_client_ip(request, additional_headers=()): From f0507d00bfd077755619b420eae8a5d8dc979d94 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 10 Dec 2025 05:02:48 +0000 Subject: [PATCH 03/45] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 678 ++++++++++--------- 1 file changed, 340 insertions(+), 338 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 5d05aaaad..36a3369fa 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-09 05:01+0000\n" +"POT-Creation-Date: 2025-12-10 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,7 +20,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:123 +#: netbox/users/forms/model_forms.py:126 msgid "Key" msgstr "" @@ -57,7 +57,7 @@ msgstr "" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:135 +#: netbox/users/forms/model_forms.py:138 msgid "Allowed IPs" msgstr "" @@ -166,8 +166,8 @@ msgstr "" #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1108 #: netbox/dcim/filtersets.py:1429 netbox/dcim/filtersets.py:1527 -#: netbox/dcim/filtersets.py:2252 netbox/dcim/filtersets.py:2495 -#: netbox/dcim/filtersets.py:2553 netbox/ipam/filtersets.py:942 +#: netbox/dcim/filtersets.py:2263 netbox/dcim/filtersets.py:2506 +#: netbox/dcim/filtersets.py:2564 netbox/ipam/filtersets.py:942 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:362 msgid "Region (ID)" msgstr "" @@ -178,8 +178,8 @@ msgstr "" #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1115 #: netbox/dcim/filtersets.py:1436 netbox/dcim/filtersets.py:1534 -#: netbox/dcim/filtersets.py:2259 netbox/dcim/filtersets.py:2502 -#: netbox/dcim/filtersets.py:2560 netbox/extras/filtersets.py:646 +#: netbox/dcim/filtersets.py:2270 netbox/dcim/filtersets.py:2513 +#: netbox/dcim/filtersets.py:2571 netbox/extras/filtersets.py:646 #: netbox/ipam/filtersets.py:949 netbox/virtualization/filtersets.py:146 #: netbox/vpn/filtersets.py:357 msgid "Region (slug)" @@ -190,8 +190,8 @@ msgstr "" #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480 #: netbox/dcim/filtersets.py:1121 netbox/dcim/filtersets.py:1442 -#: netbox/dcim/filtersets.py:1540 netbox/dcim/filtersets.py:2265 -#: netbox/dcim/filtersets.py:2508 netbox/dcim/filtersets.py:2566 +#: netbox/dcim/filtersets.py:1540 netbox/dcim/filtersets.py:2276 +#: netbox/dcim/filtersets.py:2519 netbox/dcim/filtersets.py:2577 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:955 #: netbox/virtualization/filtersets.py:152 msgid "Site group (ID)" @@ -202,8 +202,8 @@ msgstr "" #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487 #: netbox/dcim/filtersets.py:1128 netbox/dcim/filtersets.py:1449 -#: netbox/dcim/filtersets.py:1547 netbox/dcim/filtersets.py:2272 -#: netbox/dcim/filtersets.py:2515 netbox/dcim/filtersets.py:2573 +#: netbox/dcim/filtersets.py:1547 netbox/dcim/filtersets.py:2283 +#: netbox/dcim/filtersets.py:2526 netbox/dcim/filtersets.py:2584 #: netbox/extras/filtersets.py:652 netbox/ipam/filtersets.py:246 #: netbox/ipam/filtersets.py:962 netbox/virtualization/filtersets.py:159 msgid "Site group (slug)" @@ -217,13 +217,13 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:958 netbox/dcim/forms/bulk_import.py:135 #: netbox/dcim/forms/bulk_import.py:237 netbox/dcim/forms/bulk_import.py:338 #: netbox/dcim/forms/bulk_import.py:630 netbox/dcim/forms/bulk_import.py:1619 -#: netbox/dcim/forms/bulk_import.py:1647 netbox/dcim/forms/filtersets.py:89 -#: netbox/dcim/forms/filtersets.py:227 netbox/dcim/forms/filtersets.py:339 -#: netbox/dcim/forms/filtersets.py:441 netbox/dcim/forms/filtersets.py:783 -#: netbox/dcim/forms/filtersets.py:1002 netbox/dcim/forms/filtersets.py:1075 -#: netbox/dcim/forms/filtersets.py:1099 netbox/dcim/forms/filtersets.py:1189 -#: netbox/dcim/forms/filtersets.py:1227 netbox/dcim/forms/filtersets.py:1733 -#: netbox/dcim/forms/filtersets.py:1757 netbox/dcim/forms/filtersets.py:1781 +#: netbox/dcim/forms/bulk_import.py:1647 netbox/dcim/forms/filtersets.py:90 +#: netbox/dcim/forms/filtersets.py:234 netbox/dcim/forms/filtersets.py:346 +#: netbox/dcim/forms/filtersets.py:448 netbox/dcim/forms/filtersets.py:790 +#: netbox/dcim/forms/filtersets.py:1009 netbox/dcim/forms/filtersets.py:1082 +#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1196 +#: netbox/dcim/forms/filtersets.py:1234 netbox/dcim/forms/filtersets.py:1744 +#: netbox/dcim/forms/filtersets.py:1768 netbox/dcim/forms/filtersets.py:1792 #: netbox/dcim/forms/model_forms.py:147 netbox/dcim/forms/model_forms.py:175 #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:577 #: netbox/dcim/forms/model_forms.py:841 netbox/dcim/forms/object_create.py:395 @@ -319,8 +319,8 @@ msgstr "" #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455 #: netbox/dcim/filtersets.py:1132 netbox/dcim/filtersets.py:1454 -#: netbox/dcim/filtersets.py:1552 netbox/dcim/filtersets.py:2277 -#: netbox/dcim/filtersets.py:2519 netbox/dcim/filtersets.py:2578 +#: netbox/dcim/filtersets.py:1552 netbox/dcim/filtersets.py:2288 +#: netbox/dcim/filtersets.py:2530 netbox/dcim/filtersets.py:2589 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:966 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:372 msgid "Site (ID)" @@ -330,7 +330,7 @@ msgstr "" #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493 #: netbox/dcim/filtersets.py:1144 netbox/dcim/filtersets.py:1465 -#: netbox/dcim/filtersets.py:1563 netbox/dcim/filtersets.py:2531 +#: netbox/dcim/filtersets.py:1563 netbox/dcim/filtersets.py:2542 msgid "Location (ID)" msgstr "" @@ -342,7 +342,7 @@ msgstr "" #: netbox/circuits/filtersets.py:535 netbox/core/filtersets.py:81 #: netbox/core/filtersets.py:145 netbox/core/filtersets.py:170 #: netbox/core/filtersets.py:209 netbox/dcim/filtersets.py:787 -#: netbox/dcim/filtersets.py:1521 netbox/dcim/filtersets.py:2626 +#: netbox/dcim/filtersets.py:1521 netbox/dcim/filtersets.py:2637 #: netbox/extras/filtersets.py:45 netbox/extras/filtersets.py:67 #: netbox/extras/filtersets.py:96 netbox/extras/filtersets.py:136 #: netbox/extras/filtersets.py:185 netbox/extras/filtersets.py:213 @@ -407,7 +407,7 @@ msgstr "" msgid "Virtual circuit (CID)" msgstr "" -#: netbox/circuits/filtersets.py:394 netbox/dcim/filtersets.py:2056 +#: netbox/circuits/filtersets.py:394 netbox/dcim/filtersets.py:2067 msgid "Virtual circuit (ID)" msgstr "" @@ -444,7 +444,7 @@ msgid "Virtual circuit" msgstr "" #: netbox/circuits/filtersets.py:575 netbox/dcim/filtersets.py:1361 -#: netbox/dcim/filtersets.py:1796 netbox/ipam/filtersets.py:628 +#: netbox/dcim/filtersets.py:1807 netbox/ipam/filtersets.py:628 #: netbox/vpn/filtersets.py:103 netbox/vpn/filtersets.py:405 msgid "Interface (ID)" msgstr "" @@ -452,7 +452,7 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:42 netbox/circuits/forms/filtersets.py:64 #: netbox/circuits/forms/model_forms.py:43 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:143 -#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:133 +#: netbox/dcim/forms/filtersets.py:204 netbox/dcim/forms/model_forms.py:133 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:124 #: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:269 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182 @@ -661,8 +661,8 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:673 netbox/dcim/forms/bulk_edit.py:889 #: netbox/dcim/forms/bulk_edit.py:1262 netbox/dcim/forms/bulk_edit.py:1289 #: netbox/dcim/forms/bulk_edit.py:1823 netbox/dcim/forms/bulk_import.py:1494 -#: netbox/dcim/forms/filtersets.py:1142 netbox/dcim/forms/filtersets.py:1400 -#: netbox/dcim/forms/filtersets.py:1553 netbox/dcim/forms/filtersets.py:1577 +#: netbox/dcim/forms/filtersets.py:1149 netbox/dcim/forms/filtersets.py:1409 +#: netbox/dcim/forms/filtersets.py:1564 netbox/dcim/forms/filtersets.py:1588 #: netbox/dcim/tables/devices.py:767 netbox/dcim/tables/devices.py:823 #: netbox/dcim/tables/devices.py:1064 netbox/dcim/tables/devicetypes.py:256 #: netbox/dcim/tables/devicetypes.py:271 netbox/dcim/tables/racks.py:33 @@ -698,12 +698,12 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:856 netbox/dcim/forms/bulk_import.py:876 #: netbox/dcim/forms/bulk_import.py:962 netbox/dcim/forms/bulk_import.py:1098 #: netbox/dcim/forms/bulk_import.py:1140 netbox/dcim/forms/bulk_import.py:1475 -#: netbox/dcim/forms/bulk_import.py:1684 netbox/dcim/forms/filtersets.py:1033 -#: netbox/dcim/forms/filtersets.py:1132 netbox/dcim/forms/filtersets.py:1253 -#: netbox/dcim/forms/filtersets.py:1325 netbox/dcim/forms/filtersets.py:1350 -#: netbox/dcim/forms/filtersets.py:1374 netbox/dcim/forms/filtersets.py:1394 -#: netbox/dcim/forms/filtersets.py:1441 netbox/dcim/forms/filtersets.py:1548 -#: netbox/dcim/forms/filtersets.py:1572 netbox/dcim/forms/model_forms.py:821 +#: netbox/dcim/forms/bulk_import.py:1684 netbox/dcim/forms/filtersets.py:1040 +#: netbox/dcim/forms/filtersets.py:1139 netbox/dcim/forms/filtersets.py:1260 +#: netbox/dcim/forms/filtersets.py:1333 netbox/dcim/forms/filtersets.py:1358 +#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1403 +#: netbox/dcim/forms/filtersets.py:1451 netbox/dcim/forms/filtersets.py:1559 +#: netbox/dcim/forms/filtersets.py:1583 netbox/dcim/forms/model_forms.py:821 #: netbox/dcim/forms/model_forms.py:827 netbox/dcim/forms/object_import.py:84 #: netbox/dcim/forms/object_import.py:113 #: netbox/dcim/forms/object_import.py:146 netbox/dcim/tables/devices.py:196 @@ -771,12 +771,12 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:595 netbox/dcim/forms/bulk_import.py:755 #: netbox/dcim/forms/bulk_import.py:1248 netbox/dcim/forms/bulk_import.py:1469 #: netbox/dcim/forms/bulk_import.py:1679 netbox/dcim/forms/bulk_import.py:1743 -#: netbox/dcim/forms/filtersets.py:180 netbox/dcim/forms/filtersets.py:239 -#: netbox/dcim/forms/filtersets.py:356 netbox/dcim/forms/filtersets.py:462 -#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/filtersets.py:954 -#: netbox/dcim/forms/filtersets.py:1036 netbox/dcim/forms/filtersets.py:1137 -#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1404 -#: netbox/dcim/forms/filtersets.py:1655 netbox/dcim/tables/devices.py:158 +#: netbox/dcim/forms/filtersets.py:187 netbox/dcim/forms/filtersets.py:246 +#: netbox/dcim/forms/filtersets.py:363 netbox/dcim/forms/filtersets.py:469 +#: netbox/dcim/forms/filtersets.py:836 netbox/dcim/forms/filtersets.py:961 +#: netbox/dcim/forms/filtersets.py:1043 netbox/dcim/forms/filtersets.py:1144 +#: netbox/dcim/forms/filtersets.py:1255 netbox/dcim/forms/filtersets.py:1413 +#: netbox/dcim/forms/filtersets.py:1666 netbox/dcim/tables/devices.py:158 #: netbox/dcim/tables/devices.py:547 netbox/dcim/tables/devices.py:878 #: netbox/dcim/tables/devices.py:1012 netbox/dcim/tables/devices.py:1123 #: netbox/dcim/tables/modules.py:104 netbox/dcim/tables/power.py:74 @@ -812,7 +812,7 @@ msgstr "" #: netbox/templates/vpn/l2vpn.html:26 netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:205 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:208 #: netbox/virtualization/forms/bulk_edit.py:71 #: netbox/virtualization/forms/bulk_edit.py:100 #: netbox/virtualization/forms/bulk_import.py:60 @@ -850,30 +850,31 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:248 netbox/dcim/forms/bulk_import.py:368 #: netbox/dcim/forms/bulk_import.py:569 netbox/dcim/forms/bulk_import.py:1481 -#: netbox/dcim/forms/bulk_import.py:1736 netbox/dcim/forms/filtersets.py:175 -#: netbox/dcim/forms/filtersets.py:207 netbox/dcim/forms/filtersets.py:320 -#: netbox/dcim/forms/filtersets.py:401 netbox/dcim/forms/filtersets.py:422 -#: netbox/dcim/forms/filtersets.py:752 netbox/dcim/forms/filtersets.py:946 -#: netbox/dcim/forms/filtersets.py:1056 netbox/dcim/forms/filtersets.py:1086 -#: netbox/dcim/forms/filtersets.py:1208 netbox/dcim/tables/power.py:88 -#: netbox/extras/filtersets.py:749 netbox/extras/forms/filtersets.py:391 -#: netbox/extras/forms/filtersets.py:469 netbox/ipam/forms/bulk_edit.py:46 -#: netbox/ipam/forms/bulk_edit.py:71 netbox/ipam/forms/bulk_edit.py:115 -#: netbox/ipam/forms/bulk_edit.py:144 netbox/ipam/forms/bulk_edit.py:169 -#: netbox/ipam/forms/bulk_edit.py:235 netbox/ipam/forms/bulk_edit.py:285 -#: netbox/ipam/forms/bulk_edit.py:338 netbox/ipam/forms/bulk_edit.py:439 -#: netbox/ipam/forms/bulk_edit.py:496 netbox/ipam/forms/bulk_import.py:41 -#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98 -#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138 -#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:256 -#: netbox/ipam/forms/bulk_import.py:292 netbox/ipam/forms/bulk_import.py:472 -#: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/filtersets.py:50 -#: netbox/ipam/forms/filtersets.py:70 netbox/ipam/forms/filtersets.py:102 -#: netbox/ipam/forms/filtersets.py:123 netbox/ipam/forms/filtersets.py:146 -#: netbox/ipam/forms/filtersets.py:182 netbox/ipam/forms/filtersets.py:282 -#: netbox/ipam/forms/filtersets.py:333 netbox/ipam/forms/filtersets.py:441 -#: netbox/ipam/forms/filtersets.py:532 netbox/ipam/tables/ip.py:424 -#: netbox/ipam/tables/vlans.py:208 netbox/templates/circuits/circuit.html:48 +#: netbox/dcim/forms/bulk_import.py:1736 netbox/dcim/forms/filtersets.py:127 +#: netbox/dcim/forms/filtersets.py:182 netbox/dcim/forms/filtersets.py:214 +#: netbox/dcim/forms/filtersets.py:327 netbox/dcim/forms/filtersets.py:408 +#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:759 +#: netbox/dcim/forms/filtersets.py:953 netbox/dcim/forms/filtersets.py:1063 +#: netbox/dcim/forms/filtersets.py:1093 netbox/dcim/forms/filtersets.py:1215 +#: netbox/dcim/tables/power.py:88 netbox/extras/filtersets.py:749 +#: netbox/extras/forms/filtersets.py:391 netbox/extras/forms/filtersets.py:469 +#: netbox/ipam/forms/bulk_edit.py:46 netbox/ipam/forms/bulk_edit.py:71 +#: netbox/ipam/forms/bulk_edit.py:115 netbox/ipam/forms/bulk_edit.py:144 +#: netbox/ipam/forms/bulk_edit.py:169 netbox/ipam/forms/bulk_edit.py:235 +#: netbox/ipam/forms/bulk_edit.py:285 netbox/ipam/forms/bulk_edit.py:338 +#: netbox/ipam/forms/bulk_edit.py:439 netbox/ipam/forms/bulk_edit.py:496 +#: netbox/ipam/forms/bulk_import.py:41 netbox/ipam/forms/bulk_import.py:70 +#: netbox/ipam/forms/bulk_import.py:98 netbox/ipam/forms/bulk_import.py:118 +#: netbox/ipam/forms/bulk_import.py:138 netbox/ipam/forms/bulk_import.py:167 +#: netbox/ipam/forms/bulk_import.py:256 netbox/ipam/forms/bulk_import.py:292 +#: netbox/ipam/forms/bulk_import.py:472 netbox/ipam/forms/bulk_import.py:503 +#: netbox/ipam/forms/filtersets.py:50 netbox/ipam/forms/filtersets.py:70 +#: netbox/ipam/forms/filtersets.py:102 netbox/ipam/forms/filtersets.py:123 +#: netbox/ipam/forms/filtersets.py:146 netbox/ipam/forms/filtersets.py:182 +#: netbox/ipam/forms/filtersets.py:282 netbox/ipam/forms/filtersets.py:333 +#: netbox/ipam/forms/filtersets.py:441 netbox/ipam/forms/filtersets.py:532 +#: netbox/ipam/tables/ip.py:424 netbox/ipam/tables/vlans.py:208 +#: netbox/templates/circuits/circuit.html:48 #: netbox/templates/circuits/circuitgroup.html:36 #: netbox/templates/circuits/virtualcircuit.html:47 #: netbox/templates/dcim/cable.html:23 netbox/templates/dcim/device.html:85 @@ -963,15 +964,15 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:316 #: netbox/circuits/forms/filtersets.py:331 netbox/core/forms/filtersets.py:73 #: netbox/core/forms/filtersets.py:141 netbox/dcim/forms/bulk_edit.py:913 -#: netbox/dcim/forms/bulk_import.py:476 netbox/dcim/forms/filtersets.py:174 -#: netbox/dcim/forms/filtersets.py:206 netbox/dcim/forms/filtersets.py:945 -#: netbox/dcim/forms/filtersets.py:1085 netbox/dcim/forms/filtersets.py:1209 -#: netbox/dcim/forms/filtersets.py:1317 netbox/dcim/forms/filtersets.py:1341 -#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/forms/filtersets.py:1414 netbox/dcim/forms/filtersets.py:1539 -#: netbox/dcim/forms/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1587 -#: netbox/dcim/forms/filtersets.py:1605 netbox/dcim/forms/filtersets.py:1621 -#: netbox/dcim/forms/filtersets.py:1679 netbox/dcim/tables/modules.py:24 +#: netbox/dcim/forms/bulk_import.py:476 netbox/dcim/forms/filtersets.py:181 +#: netbox/dcim/forms/filtersets.py:213 netbox/dcim/forms/filtersets.py:952 +#: netbox/dcim/forms/filtersets.py:1092 netbox/dcim/forms/filtersets.py:1216 +#: netbox/dcim/forms/filtersets.py:1324 netbox/dcim/forms/filtersets.py:1349 +#: netbox/dcim/forms/filtersets.py:1374 netbox/dcim/forms/filtersets.py:1394 +#: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/filtersets.py:1549 +#: netbox/dcim/forms/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1598 +#: netbox/dcim/forms/filtersets.py:1616 netbox/dcim/forms/filtersets.py:1632 +#: netbox/dcim/forms/filtersets.py:1690 netbox/dcim/tables/modules.py:24 #: netbox/extras/forms/bulk_edit.py:94 netbox/extras/forms/filtersets.py:45 #: netbox/extras/forms/filtersets.py:142 netbox/extras/forms/filtersets.py:219 #: netbox/extras/forms/filtersets.py:236 netbox/extras/forms/filtersets.py:266 @@ -1096,8 +1097,8 @@ msgstr "" #: netbox/circuits/forms/model_forms.py:366 netbox/dcim/forms/bulk_edit.py:383 #: netbox/dcim/forms/bulk_edit.py:1351 netbox/dcim/forms/bulk_edit.py:1787 #: netbox/dcim/forms/bulk_import.py:260 netbox/dcim/forms/bulk_import.py:1217 -#: netbox/dcim/forms/filtersets.py:364 netbox/dcim/forms/filtersets.py:807 -#: netbox/dcim/forms/filtersets.py:1632 netbox/dcim/forms/model_forms.py:264 +#: netbox/dcim/forms/filtersets.py:371 netbox/dcim/forms/filtersets.py:814 +#: netbox/dcim/forms/filtersets.py:1643 netbox/dcim/forms/model_forms.py:264 #: netbox/dcim/forms/model_forms.py:1228 netbox/dcim/forms/model_forms.py:1697 #: netbox/dcim/forms/object_import.py:182 netbox/dcim/tables/devices.py:187 #: netbox/dcim/tables/devices.py:870 netbox/dcim/tables/devices.py:996 @@ -1255,19 +1256,19 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:967 #: netbox/dcim/forms/bulk_import.py:242 netbox/dcim/forms/bulk_import.py:344 #: netbox/dcim/forms/bulk_import.py:636 netbox/dcim/forms/bulk_import.py:1625 -#: netbox/dcim/forms/bulk_import.py:1659 netbox/dcim/forms/filtersets.py:97 -#: netbox/dcim/forms/filtersets.py:319 netbox/dcim/forms/filtersets.py:353 -#: netbox/dcim/forms/filtersets.py:398 netbox/dcim/forms/filtersets.py:449 -#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:792 -#: netbox/dcim/forms/filtersets.py:972 netbox/dcim/forms/filtersets.py:1010 -#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1084 -#: netbox/dcim/forms/filtersets.py:1104 netbox/dcim/forms/filtersets.py:1168 -#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1207 -#: netbox/dcim/forms/filtersets.py:1318 netbox/dcim/forms/filtersets.py:1342 -#: netbox/dcim/forms/filtersets.py:1367 netbox/dcim/forms/filtersets.py:1386 -#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1540 -#: netbox/dcim/forms/filtersets.py:1564 netbox/dcim/forms/filtersets.py:1588 -#: netbox/dcim/forms/filtersets.py:1606 netbox/dcim/forms/filtersets.py:1623 +#: netbox/dcim/forms/bulk_import.py:1659 netbox/dcim/forms/filtersets.py:98 +#: netbox/dcim/forms/filtersets.py:326 netbox/dcim/forms/filtersets.py:360 +#: netbox/dcim/forms/filtersets.py:405 netbox/dcim/forms/filtersets.py:456 +#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:799 +#: netbox/dcim/forms/filtersets.py:979 netbox/dcim/forms/filtersets.py:1017 +#: netbox/dcim/forms/filtersets.py:1062 netbox/dcim/forms/filtersets.py:1091 +#: netbox/dcim/forms/filtersets.py:1111 netbox/dcim/forms/filtersets.py:1175 +#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1214 +#: netbox/dcim/forms/filtersets.py:1325 netbox/dcim/forms/filtersets.py:1350 +#: netbox/dcim/forms/filtersets.py:1375 netbox/dcim/forms/filtersets.py:1395 +#: netbox/dcim/forms/filtersets.py:1428 netbox/dcim/forms/filtersets.py:1550 +#: netbox/dcim/forms/filtersets.py:1575 netbox/dcim/forms/filtersets.py:1599 +#: netbox/dcim/forms/filtersets.py:1617 netbox/dcim/forms/filtersets.py:1634 #: netbox/dcim/forms/model_forms.py:191 netbox/dcim/forms/model_forms.py:256 #: netbox/dcim/forms/model_forms.py:582 netbox/dcim/forms/model_forms.py:846 #: netbox/dcim/tables/devices.py:175 netbox/dcim/tables/power.py:30 @@ -1291,11 +1292,11 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:40 #: netbox/circuits/forms/filtersets.py:74 -#: netbox/circuits/forms/filtersets.py:132 netbox/dcim/forms/filtersets.py:146 -#: netbox/dcim/forms/filtersets.py:160 netbox/dcim/forms/filtersets.py:176 -#: netbox/dcim/forms/filtersets.py:208 netbox/dcim/forms/filtersets.py:325 -#: netbox/dcim/forms/filtersets.py:402 netbox/dcim/forms/filtersets.py:478 -#: netbox/dcim/forms/filtersets.py:753 netbox/dcim/forms/filtersets.py:1169 +#: netbox/circuits/forms/filtersets.py:132 netbox/dcim/forms/filtersets.py:153 +#: netbox/dcim/forms/filtersets.py:167 netbox/dcim/forms/filtersets.py:183 +#: netbox/dcim/forms/filtersets.py:215 netbox/dcim/forms/filtersets.py:332 +#: netbox/dcim/forms/filtersets.py:409 netbox/dcim/forms/filtersets.py:485 +#: netbox/dcim/forms/filtersets.py:760 netbox/dcim/forms/filtersets.py:1176 #: netbox/ipam/forms/filtersets.py:103 netbox/ipam/forms/filtersets.py:183 #: netbox/ipam/forms/filtersets.py:283 netbox/ipam/forms/filtersets.py:335 #: netbox/ipam/forms/filtersets.py:621 netbox/netbox/navigation/menu.py:31 @@ -1316,14 +1317,14 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:231 #: netbox/circuits/tables/circuits.py:139 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:339 netbox/dcim/forms/bulk_edit.py:942 -#: netbox/dcim/forms/bulk_import.py:97 netbox/dcim/forms/filtersets.py:75 -#: netbox/dcim/forms/filtersets.py:187 netbox/dcim/forms/filtersets.py:213 -#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:427 -#: netbox/dcim/forms/filtersets.py:769 netbox/dcim/forms/filtersets.py:988 -#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/forms/filtersets.py:1091 -#: netbox/dcim/forms/filtersets.py:1175 netbox/dcim/forms/filtersets.py:1214 -#: netbox/dcim/forms/filtersets.py:1725 netbox/dcim/forms/filtersets.py:1749 -#: netbox/dcim/forms/filtersets.py:1773 netbox/dcim/forms/model_forms.py:120 +#: netbox/dcim/forms/bulk_import.py:97 netbox/dcim/forms/filtersets.py:76 +#: netbox/dcim/forms/filtersets.py:194 netbox/dcim/forms/filtersets.py:220 +#: netbox/dcim/forms/filtersets.py:338 netbox/dcim/forms/filtersets.py:434 +#: netbox/dcim/forms/filtersets.py:776 netbox/dcim/forms/filtersets.py:995 +#: netbox/dcim/forms/filtersets.py:1068 netbox/dcim/forms/filtersets.py:1098 +#: netbox/dcim/forms/filtersets.py:1182 netbox/dcim/forms/filtersets.py:1221 +#: netbox/dcim/forms/filtersets.py:1736 netbox/dcim/forms/filtersets.py:1760 +#: netbox/dcim/forms/filtersets.py:1784 netbox/dcim/forms/model_forms.py:120 #: netbox/dcim/forms/object_create.py:379 netbox/dcim/tables/devices.py:161 #: netbox/dcim/tables/sites.py:99 netbox/extras/filtersets.py:640 #: netbox/ipam/forms/bulk_edit.py:469 netbox/ipam/forms/filtersets.py:226 @@ -1342,12 +1343,12 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:50 #: netbox/circuits/forms/filtersets.py:174 #: netbox/circuits/forms/filtersets.py:236 netbox/dcim/forms/bulk_edit.py:347 -#: netbox/dcim/forms/bulk_edit.py:950 netbox/dcim/forms/filtersets.py:80 -#: netbox/dcim/forms/filtersets.py:192 netbox/dcim/forms/filtersets.py:218 -#: netbox/dcim/forms/filtersets.py:344 netbox/dcim/forms/filtersets.py:432 -#: netbox/dcim/forms/filtersets.py:774 netbox/dcim/forms/filtersets.py:993 -#: netbox/dcim/forms/filtersets.py:1066 netbox/dcim/forms/filtersets.py:1180 -#: netbox/dcim/forms/filtersets.py:1219 netbox/dcim/forms/object_create.py:387 +#: netbox/dcim/forms/bulk_edit.py:950 netbox/dcim/forms/filtersets.py:81 +#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:225 +#: netbox/dcim/forms/filtersets.py:351 netbox/dcim/forms/filtersets.py:439 +#: netbox/dcim/forms/filtersets.py:781 netbox/dcim/forms/filtersets.py:1000 +#: netbox/dcim/forms/filtersets.py:1073 netbox/dcim/forms/filtersets.py:1187 +#: netbox/dcim/forms/filtersets.py:1226 netbox/dcim/forms/object_create.py:387 #: netbox/extras/filtersets.py:657 netbox/ipam/forms/bulk_edit.py:474 #: netbox/ipam/forms/filtersets.py:156 netbox/ipam/forms/filtersets.py:231 #: netbox/ipam/forms/filtersets.py:452 netbox/ipam/forms/filtersets.py:543 @@ -1378,7 +1379,7 @@ msgstr "" #: netbox/templates/extras/configcontext.html:36 #: netbox/templates/ipam/ipaddress.html:59 #: netbox/templates/ipam/vlan_edit.html:42 -#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:343 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:360 msgid "Assignment" msgstr "" @@ -1714,7 +1715,7 @@ msgstr "" #: netbox/circuits/tables/virtual_circuits.py:18 netbox/core/tables/data.py:17 #: netbox/core/tables/jobs.py:16 netbox/core/tables/plugins.py:45 #: netbox/core/tables/tasks.py:12 netbox/core/tables/tasks.py:117 -#: netbox/dcim/forms/filtersets.py:65 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/forms/filtersets.py:66 netbox/dcim/forms/object_create.py:43 #: netbox/dcim/tables/devices.py:63 netbox/dcim/tables/devices.py:107 #: netbox/dcim/tables/devices.py:153 netbox/dcim/tables/devices.py:312 #: netbox/dcim/tables/devices.py:425 netbox/dcim/tables/devices.py:466 @@ -1902,7 +1903,7 @@ msgstr "" msgid "Comments" msgstr "" -#: netbox/circuits/tables/circuits.py:89 netbox/dcim/forms/filtersets.py:1682 +#: netbox/circuits/tables/circuits.py:89 netbox/dcim/forms/filtersets.py:1693 #: netbox/templates/tenancy/contact.html:94 #: netbox/tenancy/tables/contacts.py:81 msgid "Assignments" @@ -1963,15 +1964,15 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:1152 netbox/dcim/forms/bulk_import.py:1164 #: netbox/dcim/forms/bulk_import.py:1212 netbox/dcim/forms/bulk_import.py:1334 #: netbox/dcim/forms/bulk_import.py:1730 netbox/dcim/forms/connections.py:29 -#: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:951 -#: netbox/dcim/forms/filtersets.py:983 netbox/dcim/forms/filtersets.py:1129 -#: netbox/dcim/forms/filtersets.py:1320 netbox/dcim/forms/filtersets.py:1345 -#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1389 -#: netbox/dcim/forms/filtersets.py:1422 netbox/dcim/forms/filtersets.py:1542 -#: netbox/dcim/forms/filtersets.py:1567 netbox/dcim/forms/filtersets.py:1591 -#: netbox/dcim/forms/filtersets.py:1609 netbox/dcim/forms/filtersets.py:1626 -#: netbox/dcim/forms/filtersets.py:1741 netbox/dcim/forms/filtersets.py:1765 -#: netbox/dcim/forms/filtersets.py:1789 netbox/dcim/forms/model_forms.py:748 +#: netbox/dcim/forms/filtersets.py:140 netbox/dcim/forms/filtersets.py:958 +#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1136 +#: netbox/dcim/forms/filtersets.py:1328 netbox/dcim/forms/filtersets.py:1353 +#: netbox/dcim/forms/filtersets.py:1378 netbox/dcim/forms/filtersets.py:1398 +#: netbox/dcim/forms/filtersets.py:1432 netbox/dcim/forms/filtersets.py:1553 +#: netbox/dcim/forms/filtersets.py:1578 netbox/dcim/forms/filtersets.py:1602 +#: netbox/dcim/forms/filtersets.py:1620 netbox/dcim/forms/filtersets.py:1637 +#: netbox/dcim/forms/filtersets.py:1752 netbox/dcim/forms/filtersets.py:1776 +#: netbox/dcim/forms/filtersets.py:1800 netbox/dcim/forms/model_forms.py:748 #: netbox/dcim/forms/model_forms.py:968 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/forms/model_forms.py:1854 netbox/dcim/forms/model_forms.py:1927 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22 @@ -2212,7 +2213,7 @@ msgstr "" #: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:181 +#: netbox/users/forms/model_forms.py:184 msgid "Password" msgstr "" @@ -2257,7 +2258,7 @@ msgstr "" #: netbox/core/forms/bulk_edit.py:26 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:27 netbox/dcim/choices.py:1965 #: netbox/dcim/forms/bulk_edit.py:1211 netbox/dcim/forms/bulk_edit.py:1492 -#: netbox/dcim/forms/filtersets.py:1458 netbox/dcim/tables/devices.py:596 +#: netbox/dcim/forms/filtersets.py:1468 netbox/dcim/tables/devices.py:596 #: netbox/dcim/tables/devicetypes.py:231 netbox/extras/forms/bulk_edit.py:127 #: netbox/extras/forms/bulk_edit.py:195 netbox/extras/forms/bulk_edit.py:223 #: netbox/extras/forms/bulk_edit.py:282 netbox/extras/forms/filtersets.py:150 @@ -2372,7 +2373,7 @@ msgid "Completed before" msgstr "" #: netbox/core/forms/filtersets.py:132 netbox/core/forms/filtersets.py:161 -#: netbox/dcim/forms/bulk_edit.py:496 netbox/dcim/forms/filtersets.py:469 +#: netbox/dcim/forms/bulk_edit.py:496 netbox/dcim/forms/filtersets.py:476 #: netbox/dcim/forms/model_forms.py:334 netbox/extras/forms/filtersets.py:557 #: netbox/extras/forms/filtersets.py:577 netbox/extras/tables/tables.py:371 #: netbox/extras/tables/tables.py:411 @@ -2384,7 +2385,7 @@ msgstr "" #: netbox/templates/users/user.html:4 netbox/templates/users/user.html:12 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:166 netbox/users/forms/model_forms.py:203 +#: netbox/users/forms/model_forms.py:169 netbox/users/forms/model_forms.py:206 #: netbox/users/tables.py:19 msgid "User" msgstr "" @@ -2486,9 +2487,9 @@ msgstr "" msgid "User Preferences" msgstr "" -#: netbox/core/forms/model_forms.py:170 netbox/dcim/forms/filtersets.py:762 +#: netbox/core/forms/model_forms.py:170 netbox/dcim/forms/filtersets.py:769 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:72 +#: netbox/users/forms/model_forms.py:75 msgid "Miscellaneous" msgstr "" @@ -3174,8 +3175,8 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:78 netbox/dcim/forms/bulk_import.py:141 #: netbox/dcim/forms/bulk_import.py:502 netbox/dcim/forms/bulk_import.py:530 #: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:932 -#: netbox/dcim/forms/bulk_import.py:1229 netbox/dcim/forms/filtersets.py:236 -#: netbox/dcim/forms/filtersets.py:714 netbox/dcim/forms/filtersets.py:725 +#: netbox/dcim/forms/bulk_import.py:1229 netbox/dcim/forms/filtersets.py:243 +#: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:732 #: netbox/dcim/forms/model_forms.py:80 netbox/dcim/forms/model_forms.py:100 #: netbox/dcim/forms/model_forms.py:180 netbox/dcim/forms/model_forms.py:519 #: netbox/dcim/forms/model_forms.py:541 netbox/dcim/forms/model_forms.py:1220 @@ -3314,7 +3315,7 @@ msgid "Virtual" msgstr "" #: netbox/dcim/choices.py:885 netbox/dcim/choices.py:1351 -#: netbox/dcim/forms/bulk_edit.py:1652 netbox/dcim/forms/filtersets.py:1418 +#: netbox/dcim/forms/bulk_edit.py:1652 netbox/dcim/forms/filtersets.py:1427 #: netbox/dcim/forms/model_forms.py:1130 netbox/dcim/forms/model_forms.py:1583 #: netbox/netbox/navigation/menu.py:147 netbox/netbox/navigation/menu.py:151 #: netbox/templates/dcim/interface.html:267 @@ -3395,9 +3396,9 @@ msgstr "" msgid "Cellular" msgstr "" -#: netbox/dcim/choices.py:1419 netbox/dcim/forms/filtersets.py:385 -#: netbox/dcim/forms/filtersets.py:839 netbox/dcim/forms/filtersets.py:1041 -#: netbox/dcim/forms/filtersets.py:1640 +#: netbox/dcim/choices.py:1419 netbox/dcim/forms/filtersets.py:392 +#: netbox/dcim/forms/filtersets.py:846 netbox/dcim/forms/filtersets.py:1048 +#: netbox/dcim/forms/filtersets.py:1651 #: netbox/templates/dcim/inventoryitem.html:56 #: netbox/templates/dcim/virtualchassis_edit.html:58 msgid "Serial" @@ -3498,7 +3499,7 @@ msgstr "" msgid "Fiber - Other" msgstr "" -#: netbox/dcim/choices.py:1857 netbox/dcim/forms/filtersets.py:1305 +#: netbox/dcim/choices.py:1857 netbox/dcim/forms/filtersets.py:1312 msgid "Connected" msgstr "" @@ -3598,7 +3599,7 @@ msgstr "" #: netbox/dcim/filtersets.py:546 netbox/dcim/filtersets.py:714 #: netbox/dcim/filtersets.py:918 netbox/dcim/filtersets.py:1015 #: netbox/dcim/filtersets.py:1055 netbox/dcim/filtersets.py:1400 -#: netbox/dcim/filtersets.py:2185 +#: netbox/dcim/filtersets.py:2196 msgid "Manufacturer (ID)" msgstr "" @@ -3606,7 +3607,7 @@ msgstr "" #: netbox/dcim/filtersets.py:552 netbox/dcim/filtersets.py:720 #: netbox/dcim/filtersets.py:924 netbox/dcim/filtersets.py:1021 #: netbox/dcim/filtersets.py:1061 netbox/dcim/filtersets.py:1406 -#: netbox/dcim/filtersets.py:2191 +#: netbox/dcim/filtersets.py:2202 msgid "Manufacturer (slug)" msgstr "" @@ -3619,14 +3620,14 @@ msgid "Rack type (ID)" msgstr "" #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:928 -#: netbox/dcim/filtersets.py:1077 netbox/dcim/filtersets.py:2195 +#: netbox/dcim/filtersets.py:1077 netbox/dcim/filtersets.py:2206 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488 #: netbox/ipam/filtersets.py:986 netbox/virtualization/filtersets.py:177 msgid "Role (ID)" msgstr "" #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:934 -#: netbox/dcim/filtersets.py:1084 netbox/dcim/filtersets.py:2201 +#: netbox/dcim/filtersets.py:1084 netbox/dcim/filtersets.py:2212 #: netbox/extras/filtersets.py:695 netbox/ipam/filtersets.py:382 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:992 #: netbox/virtualization/filtersets.py:184 @@ -3635,7 +3636,7 @@ msgstr "" #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1156 #: netbox/dcim/filtersets.py:1476 netbox/dcim/filtersets.py:1574 -#: netbox/dcim/filtersets.py:2593 +#: netbox/dcim/filtersets.py:2604 msgid "Rack (ID)" msgstr "" @@ -3654,61 +3655,61 @@ msgstr "" msgid "Default platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:568 netbox/dcim/forms/filtersets.py:524 +#: netbox/dcim/filtersets.py:568 netbox/dcim/forms/filtersets.py:531 msgid "Has a front image" msgstr "" -#: netbox/dcim/filtersets.py:572 netbox/dcim/forms/filtersets.py:531 +#: netbox/dcim/filtersets.py:572 netbox/dcim/forms/filtersets.py:538 msgid "Has a rear image" msgstr "" #: netbox/dcim/filtersets.py:577 netbox/dcim/filtersets.py:724 -#: netbox/dcim/filtersets.py:1225 netbox/dcim/forms/filtersets.py:538 -#: netbox/dcim/forms/filtersets.py:647 netbox/dcim/forms/filtersets.py:878 +#: netbox/dcim/filtersets.py:1225 netbox/dcim/forms/filtersets.py:545 +#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:885 msgid "Has console ports" msgstr "" #: netbox/dcim/filtersets.py:581 netbox/dcim/filtersets.py:728 -#: netbox/dcim/filtersets.py:1229 netbox/dcim/forms/filtersets.py:545 -#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:885 +#: netbox/dcim/filtersets.py:1229 netbox/dcim/forms/filtersets.py:552 +#: netbox/dcim/forms/filtersets.py:661 netbox/dcim/forms/filtersets.py:892 msgid "Has console server ports" msgstr "" #: netbox/dcim/filtersets.py:585 netbox/dcim/filtersets.py:732 -#: netbox/dcim/filtersets.py:1233 netbox/dcim/forms/filtersets.py:552 -#: netbox/dcim/forms/filtersets.py:661 netbox/dcim/forms/filtersets.py:892 +#: netbox/dcim/filtersets.py:1233 netbox/dcim/forms/filtersets.py:559 +#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:899 msgid "Has power ports" msgstr "" #: netbox/dcim/filtersets.py:589 netbox/dcim/filtersets.py:736 -#: netbox/dcim/filtersets.py:1237 netbox/dcim/forms/filtersets.py:559 -#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:899 +#: netbox/dcim/filtersets.py:1237 netbox/dcim/forms/filtersets.py:566 +#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:906 msgid "Has power outlets" msgstr "" #: netbox/dcim/filtersets.py:593 netbox/dcim/filtersets.py:740 -#: netbox/dcim/filtersets.py:1241 netbox/dcim/forms/filtersets.py:566 -#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:906 +#: netbox/dcim/filtersets.py:1241 netbox/dcim/forms/filtersets.py:573 +#: netbox/dcim/forms/filtersets.py:682 netbox/dcim/forms/filtersets.py:913 msgid "Has interfaces" msgstr "" #: netbox/dcim/filtersets.py:597 netbox/dcim/filtersets.py:744 -#: netbox/dcim/filtersets.py:1245 netbox/dcim/forms/filtersets.py:573 -#: netbox/dcim/forms/filtersets.py:682 netbox/dcim/forms/filtersets.py:913 +#: netbox/dcim/filtersets.py:1245 netbox/dcim/forms/filtersets.py:580 +#: netbox/dcim/forms/filtersets.py:689 netbox/dcim/forms/filtersets.py:920 msgid "Has pass-through ports" msgstr "" #: netbox/dcim/filtersets.py:601 netbox/dcim/filtersets.py:1249 -#: netbox/dcim/forms/filtersets.py:587 +#: netbox/dcim/forms/filtersets.py:594 msgid "Has module bays" msgstr "" #: netbox/dcim/filtersets.py:605 netbox/dcim/filtersets.py:1253 -#: netbox/dcim/forms/filtersets.py:580 +#: netbox/dcim/forms/filtersets.py:587 msgid "Has device bays" msgstr "" -#: netbox/dcim/filtersets.py:609 netbox/dcim/forms/filtersets.py:594 +#: netbox/dcim/filtersets.py:609 netbox/dcim/forms/filtersets.py:601 msgid "Has inventory items" msgstr "" @@ -3729,11 +3730,11 @@ msgstr "" msgid "Module type (ID)" msgstr "" -#: netbox/dcim/filtersets.py:840 netbox/dcim/filtersets.py:1750 +#: netbox/dcim/filtersets.py:840 netbox/dcim/filtersets.py:1761 msgid "Power port (ID)" msgstr "" -#: netbox/dcim/filtersets.py:914 netbox/dcim/filtersets.py:2181 +#: netbox/dcim/filtersets.py:914 netbox/dcim/filtersets.py:2192 msgid "Parent inventory item (ID)" msgstr "" @@ -3784,8 +3785,8 @@ msgid "Platform (slug)" msgstr "" #: netbox/dcim/filtersets.py:1138 netbox/dcim/filtersets.py:1460 -#: netbox/dcim/filtersets.py:1558 netbox/dcim/filtersets.py:2283 -#: netbox/dcim/filtersets.py:2525 netbox/dcim/filtersets.py:2584 +#: netbox/dcim/filtersets.py:1558 netbox/dcim/filtersets.py:2294 +#: netbox/dcim/filtersets.py:2536 netbox/dcim/filtersets.py:2595 msgid "Site name (slug)" msgstr "" @@ -3814,8 +3815,8 @@ msgstr "" msgid "Is full depth" msgstr "" -#: netbox/dcim/filtersets.py:1197 netbox/dcim/forms/filtersets.py:848 -#: netbox/dcim/forms/filtersets.py:1473 netbox/dcim/forms/filtersets.py:1688 +#: netbox/dcim/filtersets.py:1197 netbox/dcim/forms/filtersets.py:855 +#: netbox/dcim/forms/filtersets.py:1483 netbox/dcim/forms/filtersets.py:1699 #: netbox/dcim/forms/model_forms.py:1900 netbox/dcim/models/devices.py:1298 #: netbox/dcim/models/devices.py:1318 netbox/virtualization/filtersets.py:201 #: netbox/virtualization/filtersets.py:273 @@ -3825,7 +3826,7 @@ msgid "MAC address" msgstr "" #: netbox/dcim/filtersets.py:1204 netbox/dcim/filtersets.py:1368 -#: netbox/dcim/forms/filtersets.py:857 netbox/dcim/forms/filtersets.py:960 +#: netbox/dcim/forms/filtersets.py:864 netbox/dcim/forms/filtersets.py:967 #: netbox/virtualization/filtersets.py:205 #: netbox/virtualization/forms/filtersets.py:182 msgid "Has a primary IP" @@ -3872,14 +3873,14 @@ msgid "Rack (name)" msgstr "" #: netbox/dcim/filtersets.py:1486 netbox/dcim/filtersets.py:1584 -#: netbox/dcim/filtersets.py:1775 netbox/ipam/filtersets.py:607 +#: netbox/dcim/filtersets.py:1786 netbox/ipam/filtersets.py:607 #: netbox/ipam/filtersets.py:848 netbox/ipam/filtersets.py:1165 #: netbox/virtualization/filtersets.py:127 netbox/vpn/filtersets.py:383 msgid "Device (ID)" msgstr "" #: netbox/dcim/filtersets.py:1492 netbox/dcim/filtersets.py:1590 -#: netbox/dcim/filtersets.py:1770 netbox/ipam/filtersets.py:602 +#: netbox/dcim/filtersets.py:1781 netbox/ipam/filtersets.py:602 #: netbox/ipam/filtersets.py:843 netbox/ipam/filtersets.py:1160 #: netbox/vpn/filtersets.py:378 msgid "Device (name)" @@ -3901,7 +3902,7 @@ msgstr "" msgid "Virtual Chassis (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1623 netbox/dcim/forms/filtersets.py:111 +#: netbox/dcim/filtersets.py:1623 netbox/dcim/forms/filtersets.py:112 #: netbox/dcim/forms/object_create.py:430 netbox/dcim/tables/devices.py:229 #: netbox/netbox/navigation/menu.py:79 netbox/templates/dcim/device.html:31 #: netbox/templates/dcim/device.html:126 @@ -3911,68 +3912,78 @@ msgstr "" msgid "Virtual Chassis" msgstr "" -#: netbox/dcim/filtersets.py:1647 +#: netbox/dcim/filtersets.py:1632 netbox/dcim/filtersets.py:2299 +#: netbox/tenancy/filtersets.py:250 +msgid "Tenant (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:1638 netbox/dcim/filtersets.py:2305 +#: netbox/extras/filtersets.py:755 netbox/tenancy/filtersets.py:256 +msgid "Tenant (slug)" +msgstr "" + +#: netbox/dcim/filtersets.py:1658 msgid "Module (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1654 +#: netbox/dcim/filtersets.py:1665 msgid "Cable (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1780 netbox/ipam/filtersets.py:612 +#: netbox/dcim/filtersets.py:1791 netbox/ipam/filtersets.py:612 #: netbox/ipam/filtersets.py:853 netbox/ipam/filtersets.py:1170 #: netbox/vpn/filtersets.py:389 msgid "Virtual machine (name)" msgstr "" -#: netbox/dcim/filtersets.py:1785 netbox/ipam/filtersets.py:617 +#: netbox/dcim/filtersets.py:1796 netbox/ipam/filtersets.py:617 #: netbox/ipam/filtersets.py:858 netbox/ipam/filtersets.py:1175 #: netbox/virtualization/filtersets.py:253 #: netbox/virtualization/filtersets.py:304 netbox/vpn/filtersets.py:394 msgid "Virtual machine (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1791 netbox/ipam/filtersets.py:623 +#: netbox/dcim/filtersets.py:1802 netbox/ipam/filtersets.py:623 #: netbox/vpn/filtersets.py:98 netbox/vpn/filtersets.py:400 msgid "Interface (name)" msgstr "" -#: netbox/dcim/filtersets.py:1802 netbox/ipam/filtersets.py:634 +#: netbox/dcim/filtersets.py:1813 netbox/ipam/filtersets.py:634 #: netbox/vpn/filtersets.py:109 netbox/vpn/filtersets.py:411 msgid "VM interface (name)" msgstr "" -#: netbox/dcim/filtersets.py:1807 netbox/ipam/filtersets.py:639 +#: netbox/dcim/filtersets.py:1818 netbox/ipam/filtersets.py:639 #: netbox/vpn/filtersets.py:114 msgid "VM interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1811 netbox/ipam/filtersets.py:652 +#: netbox/dcim/filtersets.py:1822 netbox/ipam/filtersets.py:652 msgid "Is assigned" msgstr "" -#: netbox/dcim/filtersets.py:1815 netbox/dcim/forms/bulk_import.py:1355 +#: netbox/dcim/filtersets.py:1826 netbox/dcim/forms/bulk_import.py:1355 #: netbox/ipam/forms/bulk_import.py:338 msgid "Is primary" msgstr "" -#: netbox/dcim/filtersets.py:1880 netbox/templates/dcim/interface.html:81 +#: netbox/dcim/filtersets.py:1891 netbox/templates/dcim/interface.html:81 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/model_forms.py:393 msgid "802.1Q Mode" msgstr "" -#: netbox/dcim/filtersets.py:1884 netbox/ipam/forms/bulk_import.py:192 +#: netbox/dcim/filtersets.py:1895 netbox/ipam/forms/bulk_import.py:192 #: netbox/vpn/forms/bulk_import.py:313 msgid "Assigned VLAN" msgstr "" -#: netbox/dcim/filtersets.py:1888 +#: netbox/dcim/filtersets.py:1899 msgid "Assigned VID" msgstr "" -#: netbox/dcim/filtersets.py:1893 netbox/dcim/forms/bulk_edit.py:1618 -#: netbox/dcim/forms/bulk_import.py:1024 netbox/dcim/forms/filtersets.py:1526 +#: netbox/dcim/filtersets.py:1904 netbox/dcim/forms/bulk_edit.py:1618 +#: netbox/dcim/forms/bulk_import.py:1024 netbox/dcim/forms/filtersets.py:1536 #: netbox/dcim/forms/model_forms.py:1549 #: netbox/dcim/models/device_components.py:810 #: netbox/dcim/tables/devices.py:677 netbox/ipam/filtersets.py:335 @@ -4004,18 +4015,18 @@ msgstr "" msgid "VRF" msgstr "" -#: netbox/dcim/filtersets.py:1899 netbox/ipam/filtersets.py:341 +#: netbox/dcim/filtersets.py:1910 netbox/ipam/filtersets.py:341 #: netbox/ipam/filtersets.py:352 netbox/ipam/filtersets.py:484 #: netbox/ipam/filtersets.py:585 netbox/ipam/filtersets.py:596 msgid "VRF (RD)" msgstr "" -#: netbox/dcim/filtersets.py:1904 netbox/ipam/filtersets.py:1024 +#: netbox/dcim/filtersets.py:1915 netbox/ipam/filtersets.py:1024 #: netbox/vpn/filtersets.py:346 msgid "L2VPN (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:1531 +#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1541 #: netbox/dcim/tables/devices.py:613 netbox/ipam/filtersets.py:1030 #: netbox/ipam/forms/filtersets.py:592 netbox/ipam/tables/vlans.py:116 #: netbox/templates/dcim/interface.html:99 netbox/templates/ipam/vlan.html:82 @@ -4027,11 +4038,11 @@ msgstr "" msgid "L2VPN" msgstr "" -#: netbox/dcim/filtersets.py:1915 netbox/ipam/filtersets.py:1107 +#: netbox/dcim/filtersets.py:1926 netbox/ipam/filtersets.py:1107 msgid "VLAN Translation Policy (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1497 +#: netbox/dcim/filtersets.py:1932 netbox/dcim/forms/filtersets.py:1507 #: netbox/dcim/forms/model_forms.py:1566 #: netbox/dcim/models/device_components.py:612 #: netbox/ipam/forms/filtersets.py:511 netbox/ipam/forms/model_forms.py:714 @@ -4042,39 +4053,39 @@ msgstr "" msgid "VLAN Translation Policy" msgstr "" -#: netbox/dcim/filtersets.py:1955 +#: netbox/dcim/filtersets.py:1966 msgid "Virtual Chassis Interfaces for Device when device is master" msgstr "" -#: netbox/dcim/filtersets.py:1960 +#: netbox/dcim/filtersets.py:1971 msgid "Virtual Chassis Interfaces for Device when device is master (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1965 +#: netbox/dcim/filtersets.py:1976 msgid "Virtual Chassis Interfaces for Device" msgstr "" -#: netbox/dcim/filtersets.py:1970 +#: netbox/dcim/filtersets.py:1981 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1974 +#: netbox/dcim/filtersets.py:1985 msgid "Kind of interface" msgstr "" -#: netbox/dcim/filtersets.py:1979 netbox/virtualization/filtersets.py:264 +#: netbox/dcim/filtersets.py:1990 netbox/virtualization/filtersets.py:264 msgid "Parent interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1984 netbox/virtualization/filtersets.py:269 +#: netbox/dcim/filtersets.py:1995 netbox/virtualization/filtersets.py:269 msgid "Bridged interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1989 +#: netbox/dcim/filtersets.py:2000 msgid "LAG interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1997 netbox/dcim/tables/devices.py:635 +#: netbox/dcim/filtersets.py:2008 netbox/dcim/tables/devices.py:635 #: netbox/dcim/tables/devices.py:1164 netbox/templates/dcim/interface.html:131 #: netbox/templates/dcim/macaddress.html:11 #: netbox/templates/dcim/macaddress.html:14 @@ -4082,77 +4093,68 @@ msgstr "" msgid "MAC Address" msgstr "" -#: netbox/dcim/filtersets.py:2002 netbox/virtualization/filtersets.py:278 +#: netbox/dcim/filtersets.py:2013 netbox/virtualization/filtersets.py:278 msgid "Primary MAC address (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2008 netbox/dcim/forms/model_forms.py:1553 +#: netbox/dcim/filtersets.py:2019 netbox/dcim/forms/model_forms.py:1553 #: netbox/virtualization/filtersets.py:284 #: netbox/virtualization/forms/model_forms.py:309 msgid "Primary MAC address" msgstr "" -#: netbox/dcim/filtersets.py:2030 netbox/dcim/filtersets.py:2042 -#: netbox/dcim/forms/filtersets.py:1433 netbox/dcim/forms/model_forms.py:1880 +#: netbox/dcim/filtersets.py:2041 netbox/dcim/filtersets.py:2053 +#: netbox/dcim/forms/filtersets.py:1443 netbox/dcim/forms/model_forms.py:1880 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "" -#: netbox/dcim/filtersets.py:2036 +#: netbox/dcim/filtersets.py:2047 msgid "Virtual Device Context (Identifier)" msgstr "" -#: netbox/dcim/filtersets.py:2047 netbox/templates/wireless/wirelesslan.html:11 +#: netbox/dcim/filtersets.py:2058 netbox/templates/wireless/wirelesslan.html:11 #: netbox/wireless/forms/model_forms.py:57 msgid "Wireless LAN" msgstr "" -#: netbox/dcim/filtersets.py:2051 netbox/dcim/tables/devices.py:664 +#: netbox/dcim/filtersets.py:2062 netbox/dcim/tables/devices.py:664 msgid "Wireless link" msgstr "" -#: netbox/dcim/filtersets.py:2061 +#: netbox/dcim/filtersets.py:2072 msgid "Virtual circuit termination (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2148 +#: netbox/dcim/filtersets.py:2159 msgid "Parent module bay (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2153 +#: netbox/dcim/filtersets.py:2164 msgid "Installed module (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2164 +#: netbox/dcim/filtersets.py:2175 msgid "Installed device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2170 +#: netbox/dcim/filtersets.py:2181 msgid "Installed device (name)" msgstr "" -#: netbox/dcim/filtersets.py:2240 +#: netbox/dcim/filtersets.py:2251 msgid "Master (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2246 +#: netbox/dcim/filtersets.py:2257 msgid "Master (name)" msgstr "" -#: netbox/dcim/filtersets.py:2288 netbox/tenancy/filtersets.py:250 -msgid "Tenant (ID)" -msgstr "" - -#: netbox/dcim/filtersets.py:2294 netbox/extras/filtersets.py:755 -#: netbox/tenancy/filtersets.py:256 -msgid "Tenant (slug)" -msgstr "" - -#: netbox/dcim/filtersets.py:2330 netbox/dcim/forms/filtersets.py:1155 +#: netbox/dcim/filtersets.py:2341 netbox/dcim/forms/filtersets.py:1162 msgid "Unterminated" msgstr "" -#: netbox/dcim/filtersets.py:2588 +#: netbox/dcim/filtersets.py:2599 msgid "Power panel (ID)" msgstr "" @@ -4168,7 +4170,7 @@ msgstr "" msgid "Tags" msgstr "" -#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1596 +#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1607 #: netbox/dcim/forms/model_forms.py:602 netbox/dcim/forms/model_forms.py:661 #: netbox/dcim/forms/object_create.py:208 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:183 @@ -4187,7 +4189,7 @@ msgid "" msgstr "" #: netbox/dcim/forms/bulk_edit.py:137 netbox/dcim/forms/bulk_edit.py:207 -#: netbox/dcim/forms/filtersets.py:244 netbox/templates/dcim/location.html:58 +#: netbox/dcim/forms/filtersets.py:251 netbox/templates/dcim/location.html:58 #: netbox/templates/dcim/site.html:56 msgid "Facility" msgstr "" @@ -4216,10 +4218,10 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:405 #: netbox/dcim/forms/bulk_import.py:454 netbox/dcim/forms/bulk_import.py:540 #: netbox/dcim/forms/bulk_import.py:576 netbox/dcim/forms/bulk_import.py:1223 -#: netbox/dcim/forms/filtersets.py:310 netbox/dcim/forms/filtersets.py:369 -#: netbox/dcim/forms/filtersets.py:501 netbox/dcim/forms/filtersets.py:639 -#: netbox/dcim/forms/filtersets.py:730 netbox/dcim/forms/filtersets.py:812 -#: netbox/dcim/forms/filtersets.py:1025 netbox/dcim/forms/filtersets.py:1637 +#: netbox/dcim/forms/filtersets.py:317 netbox/dcim/forms/filtersets.py:376 +#: netbox/dcim/forms/filtersets.py:508 netbox/dcim/forms/filtersets.py:646 +#: netbox/dcim/forms/filtersets.py:737 netbox/dcim/forms/filtersets.py:819 +#: netbox/dcim/forms/filtersets.py:1032 netbox/dcim/forms/filtersets.py:1648 #: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:355 #: netbox/dcim/forms/model_forms.py:367 netbox/dcim/forms/model_forms.py:439 #: netbox/dcim/forms/model_forms.py:546 netbox/dcim/forms/model_forms.py:1233 @@ -4240,14 +4242,14 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:250 netbox/dcim/forms/bulk_edit.py:403 #: netbox/dcim/forms/bulk_import.py:198 netbox/dcim/forms/bulk_import.py:277 -#: netbox/dcim/forms/filtersets.py:257 +#: netbox/dcim/forms/filtersets.py:264 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:6 msgid "Form factor" msgstr "" #: netbox/dcim/forms/bulk_edit.py:255 netbox/dcim/forms/bulk_edit.py:408 #: netbox/dcim/forms/bulk_import.py:206 netbox/dcim/forms/bulk_import.py:280 -#: netbox/dcim/forms/filtersets.py:262 +#: netbox/dcim/forms/filtersets.py:269 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:10 msgid "Width" msgstr "" @@ -4259,7 +4261,7 @@ msgid "Height (U)" msgstr "" #: netbox/dcim/forms/bulk_edit.py:270 netbox/dcim/forms/bulk_edit.py:419 -#: netbox/dcim/forms/filtersets.py:276 +#: netbox/dcim/forms/filtersets.py:283 msgid "Descending units" msgstr "" @@ -4289,10 +4291,10 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:569 netbox/dcim/forms/bulk_edit.py:592 #: netbox/dcim/forms/bulk_edit.py:637 netbox/dcim/forms/bulk_edit.py:659 #: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:465 -#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:304 -#: netbox/dcim/forms/filtersets.py:324 netbox/dcim/forms/filtersets.py:403 -#: netbox/dcim/forms/filtersets.py:495 netbox/dcim/forms/filtersets.py:601 -#: netbox/dcim/forms/filtersets.py:628 netbox/dcim/forms/filtersets.py:694 +#: netbox/dcim/forms/filtersets.py:289 netbox/dcim/forms/filtersets.py:311 +#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:410 +#: netbox/dcim/forms/filtersets.py:502 netbox/dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:701 #: netbox/dcim/forms/model_forms.py:234 netbox/dcim/forms/model_forms.py:316 #: netbox/dcim/tables/devicetypes.py:111 netbox/dcim/tables/modules.py:57 #: netbox/dcim/tables/racks.py:78 netbox/dcim/tables/racks.py:179 @@ -4315,7 +4317,7 @@ msgid "Weight" msgstr "" #: netbox/dcim/forms/bulk_edit.py:303 netbox/dcim/forms/bulk_edit.py:457 -#: netbox/dcim/forms/filtersets.py:287 +#: netbox/dcim/forms/filtersets.py:294 msgid "Max weight" msgstr "" @@ -4323,12 +4325,12 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:574 netbox/dcim/forms/bulk_edit.py:642 #: netbox/dcim/forms/bulk_import.py:217 netbox/dcim/forms/bulk_import.py:302 #: netbox/dcim/forms/bulk_import.py:423 netbox/dcim/forms/bulk_import.py:470 -#: netbox/dcim/forms/filtersets.py:292 netbox/dcim/forms/filtersets.py:605 -#: netbox/dcim/forms/filtersets.py:698 +#: netbox/dcim/forms/filtersets.py:299 netbox/dcim/forms/filtersets.py:612 +#: netbox/dcim/forms/filtersets.py:705 msgid "Weight unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:322 netbox/dcim/forms/filtersets.py:302 +#: netbox/dcim/forms/bulk_edit.py:322 netbox/dcim/forms/filtersets.py:309 #: netbox/dcim/forms/model_forms.py:230 netbox/dcim/forms/model_forms.py:269 #: netbox/templates/dcim/rack.html:45 netbox/templates/dcim/racktype.html:13 msgid "Rack Type" @@ -4347,14 +4349,14 @@ msgstr "" msgid "Dimensions" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:329 netbox/dcim/forms/filtersets.py:303 -#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/model_forms.py:237 +#: netbox/dcim/forms/bulk_edit.py:329 netbox/dcim/forms/filtersets.py:310 +#: netbox/dcim/forms/filtersets.py:330 netbox/dcim/forms/model_forms.py:237 #: netbox/templates/dcim/inc/panels/racktype_numbering.html:3 msgid "Numbering" msgstr "" #: netbox/dcim/forms/bulk_edit.py:388 netbox/dcim/forms/bulk_import.py:267 -#: netbox/dcim/forms/filtersets.py:377 +#: netbox/dcim/forms/filtersets.py:384 msgid "Rack type" msgstr "" @@ -4366,18 +4368,18 @@ msgstr "" msgid "Serial Number" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:398 netbox/dcim/forms/filtersets.py:389 -#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:1045 -#: netbox/dcim/forms/filtersets.py:1644 +#: netbox/dcim/forms/bulk_edit.py:398 netbox/dcim/forms/filtersets.py:396 +#: netbox/dcim/forms/filtersets.py:850 netbox/dcim/forms/filtersets.py:1052 +#: netbox/dcim/forms/filtersets.py:1655 msgid "Asset tag" msgstr "" #: netbox/dcim/forms/bulk_edit.py:447 netbox/dcim/forms/bulk_edit.py:564 #: netbox/dcim/forms/bulk_edit.py:632 netbox/dcim/forms/bulk_edit.py:781 #: netbox/dcim/forms/bulk_import.py:296 netbox/dcim/forms/bulk_import.py:459 -#: netbox/dcim/forms/bulk_import.py:670 netbox/dcim/forms/filtersets.py:380 -#: netbox/dcim/forms/filtersets.py:518 netbox/dcim/forms/filtersets.py:689 -#: netbox/dcim/forms/filtersets.py:834 netbox/templates/dcim/device.html:104 +#: netbox/dcim/forms/bulk_import.py:670 netbox/dcim/forms/filtersets.py:387 +#: netbox/dcim/forms/filtersets.py:525 netbox/dcim/forms/filtersets.py:696 +#: netbox/dcim/forms/filtersets.py:841 netbox/templates/dcim/device.html:104 #: netbox/templates/dcim/devicetype.html:65 #: netbox/templates/dcim/moduletype.html:47 netbox/templates/dcim/rack.html:65 msgid "Airflow" @@ -4386,11 +4388,11 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:476 netbox/dcim/forms/bulk_edit.py:995 #: netbox/dcim/forms/bulk_import.py:351 netbox/dcim/forms/bulk_import.py:354 #: netbox/dcim/forms/bulk_import.py:643 netbox/dcim/forms/bulk_import.py:1666 -#: netbox/dcim/forms/bulk_import.py:1670 netbox/dcim/forms/filtersets.py:106 -#: netbox/dcim/forms/filtersets.py:321 netbox/dcim/forms/filtersets.py:407 -#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:459 -#: netbox/dcim/forms/filtersets.py:802 netbox/dcim/forms/filtersets.py:1015 -#: netbox/dcim/forms/filtersets.py:1113 netbox/dcim/forms/filtersets.py:1245 +#: netbox/dcim/forms/bulk_import.py:1670 netbox/dcim/forms/filtersets.py:107 +#: netbox/dcim/forms/filtersets.py:328 netbox/dcim/forms/filtersets.py:414 +#: netbox/dcim/forms/filtersets.py:428 netbox/dcim/forms/filtersets.py:466 +#: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:1022 +#: netbox/dcim/forms/filtersets.py:1120 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/model_forms.py:280 netbox/dcim/forms/model_forms.py:324 #: netbox/dcim/forms/model_forms.py:593 netbox/dcim/forms/model_forms.py:874 #: netbox/dcim/forms/object_create.py:404 netbox/dcim/tables/devices.py:179 @@ -4406,9 +4408,9 @@ msgid "Rack" msgstr "" #: netbox/dcim/forms/bulk_edit.py:479 netbox/dcim/forms/bulk_edit.py:814 -#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:400 -#: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:623 -#: netbox/dcim/forms/filtersets.py:751 netbox/dcim/forms/filtersets.py:973 +#: netbox/dcim/forms/filtersets.py:329 netbox/dcim/forms/filtersets.py:407 +#: netbox/dcim/forms/filtersets.py:495 netbox/dcim/forms/filtersets.py:630 +#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:980 #: netbox/dcim/forms/model_forms.py:448 netbox/dcim/forms/model_forms.py:788 #: netbox/dcim/forms/model_forms.py:1770 #: netbox/templates/dcim/device_edit.html:22 @@ -4416,12 +4418,12 @@ msgid "Hardware" msgstr "" #: netbox/dcim/forms/bulk_edit.py:540 netbox/dcim/forms/bulk_import.py:411 -#: netbox/dcim/forms/filtersets.py:506 netbox/dcim/forms/model_forms.py:372 +#: netbox/dcim/forms/filtersets.py:513 netbox/dcim/forms/model_forms.py:372 msgid "Default platform" msgstr "" #: netbox/dcim/forms/bulk_edit.py:545 netbox/dcim/forms/bulk_edit.py:628 -#: netbox/dcim/forms/filtersets.py:509 netbox/dcim/forms/filtersets.py:642 +#: netbox/dcim/forms/filtersets.py:516 netbox/dcim/forms/filtersets.py:649 msgid "Part number" msgstr "" @@ -4450,7 +4452,7 @@ msgid "Schema" msgstr "" #: netbox/dcim/forms/bulk_edit.py:611 netbox/dcim/forms/bulk_edit.py:618 -#: netbox/dcim/forms/bulk_import.py:448 netbox/dcim/forms/filtersets.py:634 +#: netbox/dcim/forms/bulk_import.py:448 netbox/dcim/forms/filtersets.py:641 #: netbox/dcim/forms/model_forms.py:421 netbox/dcim/forms/model_forms.py:434 #: netbox/dcim/tables/modules.py:45 netbox/extras/forms/filtersets.py:396 #: netbox/extras/forms/model_forms.py:615 netbox/extras/tables/tables.py:583 @@ -4487,8 +4489,8 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:796 netbox/dcim/forms/bulk_import.py:512 #: netbox/dcim/forms/bulk_import.py:516 netbox/dcim/forms/bulk_import.py:547 #: netbox/dcim/forms/bulk_import.py:551 netbox/dcim/forms/bulk_import.py:676 -#: netbox/dcim/forms/bulk_import.py:680 netbox/dcim/forms/filtersets.py:709 -#: netbox/dcim/forms/filtersets.py:735 netbox/dcim/forms/filtersets.py:853 +#: netbox/dcim/forms/bulk_import.py:680 netbox/dcim/forms/filtersets.py:716 +#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:860 #: netbox/dcim/forms/model_forms.py:513 netbox/dcim/forms/model_forms.py:552 #: netbox/dcim/forms/model_forms.py:670 #: netbox/virtualization/forms/bulk_import.py:143 @@ -4499,19 +4501,19 @@ msgid "Config template" msgstr "" #: netbox/dcim/forms/bulk_edit.py:737 netbox/dcim/forms/bulk_edit.py:1150 -#: netbox/dcim/forms/bulk_import.py:582 netbox/dcim/forms/filtersets.py:116 +#: netbox/dcim/forms/bulk_import.py:582 netbox/dcim/forms/filtersets.py:117 #: netbox/dcim/forms/model_forms.py:615 netbox/dcim/forms/model_forms.py:991 #: netbox/dcim/forms/model_forms.py:1008 netbox/extras/filtersets.py:684 msgid "Device type" msgstr "" #: netbox/dcim/forms/bulk_edit.py:748 netbox/dcim/forms/bulk_import.py:563 -#: netbox/dcim/forms/filtersets.py:121 netbox/dcim/forms/model_forms.py:623 +#: netbox/dcim/forms/filtersets.py:122 netbox/dcim/forms/model_forms.py:623 msgid "Device role" msgstr "" #: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:588 -#: netbox/dcim/forms/filtersets.py:826 netbox/dcim/forms/model_forms.py:564 +#: netbox/dcim/forms/filtersets.py:833 netbox/dcim/forms/model_forms.py:564 #: netbox/dcim/forms/model_forms.py:628 netbox/dcim/tables/devices.py:205 #: netbox/extras/filtersets.py:700 netbox/templates/dcim/device.html:192 #: netbox/templates/dcim/platform.html:26 @@ -4525,7 +4527,7 @@ msgid "Platform" msgstr "" #: netbox/dcim/forms/bulk_edit.py:801 netbox/dcim/forms/bulk_import.py:607 -#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:928 +#: netbox/dcim/forms/filtersets.py:765 netbox/dcim/forms/filtersets.py:935 #: netbox/dcim/forms/model_forms.py:637 netbox/dcim/tables/devices.py:225 #: netbox/extras/filtersets.py:733 netbox/extras/forms/filtersets.py:390 #: netbox/ipam/forms/filtersets.py:439 netbox/ipam/forms/filtersets.py:472 @@ -4567,7 +4569,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1157 netbox/dcim/forms/bulk_edit.py:1201 #: netbox/dcim/forms/bulk_edit.py:1252 netbox/dcim/forms/bulk_edit.py:1279 #: netbox/dcim/forms/bulk_edit.py:1306 netbox/dcim/forms/bulk_edit.py:1324 -#: netbox/dcim/forms/bulk_edit.py:1342 netbox/dcim/forms/filtersets.py:69 +#: netbox/dcim/forms/bulk_edit.py:1342 netbox/dcim/forms/filtersets.py:70 #: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 #: netbox/templates/dcim/consoleport.html:32 #: netbox/templates/dcim/consoleserverport.html:32 @@ -4585,13 +4587,13 @@ msgstr "" msgid "Label" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:893 netbox/dcim/forms/filtersets.py:1146 +#: netbox/dcim/forms/bulk_edit.py:893 netbox/dcim/forms/filtersets.py:1153 #: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "" #: netbox/dcim/forms/bulk_edit.py:898 netbox/dcim/forms/bulk_import.py:1488 -#: netbox/dcim/forms/bulk_import.py:1491 netbox/dcim/forms/filtersets.py:1150 +#: netbox/dcim/forms/bulk_import.py:1491 netbox/dcim/forms/filtersets.py:1157 msgid "Length unit" msgstr "" @@ -4601,31 +4603,31 @@ msgid "Domain" msgstr "" #: netbox/dcim/forms/bulk_edit.py:990 netbox/dcim/forms/bulk_import.py:1653 -#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/model_forms.py:868 +#: netbox/dcim/forms/filtersets.py:1243 netbox/dcim/forms/model_forms.py:868 msgid "Power panel" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1012 netbox/dcim/forms/bulk_import.py:1689 -#: netbox/dcim/forms/filtersets.py:1258 netbox/templates/dcim/powerfeed.html:83 +#: netbox/dcim/forms/filtersets.py:1265 netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1018 netbox/dcim/forms/bulk_import.py:1694 -#: netbox/dcim/forms/filtersets.py:1263 netbox/templates/dcim/powerfeed.html:95 +#: netbox/dcim/forms/filtersets.py:1270 netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1024 netbox/dcim/forms/filtersets.py:1268 +#: netbox/dcim/forms/bulk_edit.py:1024 netbox/dcim/forms/filtersets.py:1275 #: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1028 netbox/dcim/forms/filtersets.py:1272 +#: netbox/dcim/forms/bulk_edit.py:1028 netbox/dcim/forms/filtersets.py:1279 #: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1032 netbox/dcim/forms/filtersets.py:1276 +#: netbox/dcim/forms/bulk_edit.py:1032 netbox/dcim/forms/filtersets.py:1283 msgid "Max utilization" msgstr "" @@ -4664,7 +4666,7 @@ msgid "Management only" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1228 netbox/dcim/forms/bulk_edit.py:1545 -#: netbox/dcim/forms/bulk_import.py:975 netbox/dcim/forms/filtersets.py:1482 +#: netbox/dcim/forms/bulk_import.py:975 netbox/dcim/forms/filtersets.py:1492 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:446 #: netbox/dcim/models/device_components.py:782 @@ -4672,14 +4674,14 @@ msgid "PoE mode" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1234 netbox/dcim/forms/bulk_edit.py:1551 -#: netbox/dcim/forms/bulk_import.py:981 netbox/dcim/forms/filtersets.py:1487 +#: netbox/dcim/forms/bulk_import.py:981 netbox/dcim/forms/filtersets.py:1497 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:453 #: netbox/dcim/models/device_components.py:789 msgid "PoE type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1240 netbox/dcim/forms/filtersets.py:1502 +#: netbox/dcim/forms/bulk_edit.py:1240 netbox/dcim/forms/filtersets.py:1512 #: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "" @@ -4708,8 +4710,8 @@ msgid "Virtual device contexts" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1530 netbox/dcim/forms/bulk_import.py:810 -#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1330 -#: netbox/dcim/forms/filtersets.py:1355 netbox/dcim/forms/filtersets.py:1446 +#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1338 +#: netbox/dcim/forms/filtersets.py:1363 netbox/dcim/forms/filtersets.py:1456 #: netbox/dcim/tables/devices.py:661 #: netbox/templates/circuits/inc/circuit_termination_fields.html:62 #: netbox/templates/dcim/consoleport.html:40 @@ -4782,7 +4784,7 @@ msgstr "" msgid "Wireless LANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1637 netbox/dcim/forms/filtersets.py:1415 +#: netbox/dcim/forms/bulk_edit.py:1637 netbox/dcim/forms/filtersets.py:1424 #: netbox/dcim/forms/model_forms.py:1573 netbox/ipam/forms/bulk_edit.py:269 #: netbox/ipam/forms/bulk_edit.py:367 netbox/ipam/forms/filtersets.py:177 #: netbox/netbox/navigation/menu.py:109 @@ -4794,13 +4796,13 @@ msgstr "" msgid "Addressing" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1638 netbox/dcim/forms/filtersets.py:750 +#: netbox/dcim/forms/bulk_edit.py:1638 netbox/dcim/forms/filtersets.py:757 #: netbox/dcim/forms/model_forms.py:1574 #: netbox/virtualization/forms/model_forms.py:377 msgid "Operation" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1639 netbox/dcim/forms/filtersets.py:1416 +#: netbox/dcim/forms/bulk_edit.py:1639 netbox/dcim/forms/filtersets.py:1425 #: netbox/dcim/forms/model_forms.py:1129 netbox/dcim/forms/model_forms.py:1576 msgid "PoE" msgstr "" @@ -4812,7 +4814,7 @@ msgstr "" msgid "Related Interfaces" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1642 netbox/dcim/forms/filtersets.py:1417 +#: netbox/dcim/forms/bulk_edit.py:1642 netbox/dcim/forms/filtersets.py:1426 #: netbox/dcim/forms/model_forms.py:1579 #: netbox/virtualization/forms/bulk_edit.py:257 #: netbox/virtualization/forms/filtersets.py:206 @@ -5126,7 +5128,7 @@ msgstr "" msgid "Physical medium" msgstr "" -#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/forms/filtersets.py:1453 +#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/forms/filtersets.py:1463 msgid "Duplex" msgstr "" @@ -5461,15 +5463,15 @@ msgstr "" msgid "Power Feed" msgstr "" -#: netbox/dcim/forms/filtersets.py:138 netbox/dcim/tables/devices.py:327 +#: netbox/dcim/forms/filtersets.py:145 netbox/dcim/tables/devices.py:327 msgid "Device Status" msgstr "" -#: netbox/dcim/forms/filtersets.py:151 +#: netbox/dcim/forms/filtersets.py:158 msgid "Parent region" msgstr "" -#: netbox/dcim/forms/filtersets.py:165 netbox/tenancy/forms/bulk_import.py:29 +#: netbox/dcim/forms/filtersets.py:172 netbox/tenancy/forms/bulk_import.py:29 #: netbox/tenancy/forms/bulk_import.py:63 netbox/tenancy/forms/filtersets.py:33 #: netbox/tenancy/forms/filtersets.py:62 #: netbox/wireless/forms/bulk_import.py:27 @@ -5477,64 +5479,64 @@ msgstr "" msgid "Parent group" msgstr "" -#: netbox/dcim/forms/filtersets.py:399 +#: netbox/dcim/forms/filtersets.py:406 msgid "Function" msgstr "" -#: netbox/dcim/forms/filtersets.py:420 netbox/dcim/forms/model_forms.py:340 +#: netbox/dcim/forms/filtersets.py:427 netbox/dcim/forms/model_forms.py:340 #: netbox/dcim/tables/racks.py:210 msgid "Reservation" msgstr "" -#: netbox/dcim/forms/filtersets.py:490 netbox/dcim/forms/model_forms.py:392 +#: netbox/dcim/forms/filtersets.py:497 netbox/dcim/forms/model_forms.py:392 #: netbox/netbox/views/generic/feature_views.py:97 #: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "" -#: netbox/dcim/forms/filtersets.py:493 netbox/dcim/forms/filtersets.py:626 -#: netbox/dcim/forms/filtersets.py:756 +#: netbox/dcim/forms/filtersets.py:500 netbox/dcim/forms/filtersets.py:633 +#: netbox/dcim/forms/filtersets.py:763 msgid "Components" msgstr "" -#: netbox/dcim/forms/filtersets.py:513 +#: netbox/dcim/forms/filtersets.py:520 msgid "Subdevice role" msgstr "" -#: netbox/dcim/forms/filtersets.py:820 netbox/dcim/tables/racks.py:54 +#: netbox/dcim/forms/filtersets.py:827 netbox/dcim/tables/racks.py:54 #: netbox/templates/dcim/module.html:99 netbox/templates/dcim/racktype.html:20 msgid "Model" msgstr "" -#: netbox/dcim/forms/filtersets.py:864 +#: netbox/dcim/forms/filtersets.py:871 msgid "Has an OOB IP" msgstr "" -#: netbox/dcim/forms/filtersets.py:871 +#: netbox/dcim/forms/filtersets.py:878 msgid "Virtual chassis member" msgstr "" -#: netbox/dcim/forms/filtersets.py:920 +#: netbox/dcim/forms/filtersets.py:927 msgid "Has virtual device contexts" msgstr "" -#: netbox/dcim/forms/filtersets.py:933 netbox/extras/filtersets.py:722 +#: netbox/dcim/forms/filtersets.py:940 netbox/extras/filtersets.py:722 #: netbox/ipam/forms/filtersets.py:477 #: netbox/virtualization/forms/filtersets.py:118 msgid "Cluster group" msgstr "" -#: netbox/dcim/forms/filtersets.py:1288 +#: netbox/dcim/forms/filtersets.py:1295 msgid "Cabled" msgstr "" -#: netbox/dcim/forms/filtersets.py:1295 +#: netbox/dcim/forms/filtersets.py:1302 msgid "Occupied" msgstr "" -#: netbox/dcim/forms/filtersets.py:1322 netbox/dcim/forms/filtersets.py:1347 -#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1391 -#: netbox/dcim/forms/filtersets.py:1424 netbox/dcim/tables/devices.py:396 +#: netbox/dcim/forms/filtersets.py:1330 netbox/dcim/forms/filtersets.py:1355 +#: netbox/dcim/forms/filtersets.py:1380 netbox/dcim/forms/filtersets.py:1400 +#: netbox/dcim/forms/filtersets.py:1434 netbox/dcim/tables/devices.py:396 #: netbox/dcim/tables/devices.py:692 #: netbox/templates/circuits/inc/circuit_termination_fields.html:16 #: netbox/templates/dcim/consoleport.html:55 @@ -5548,45 +5550,45 @@ msgstr "" msgid "Connection" msgstr "" -#: netbox/dcim/forms/filtersets.py:1436 netbox/extras/forms/bulk_edit.py:427 +#: netbox/dcim/forms/filtersets.py:1446 netbox/extras/forms/bulk_edit.py:427 #: netbox/extras/forms/bulk_import.py:298 netbox/extras/forms/filtersets.py:565 #: netbox/extras/forms/model_forms.py:793 netbox/extras/tables/tables.py:703 #: netbox/templates/extras/journalentry.html:30 msgid "Kind" msgstr "" -#: netbox/dcim/forms/filtersets.py:1465 +#: netbox/dcim/forms/filtersets.py:1475 msgid "Mgmt only" msgstr "" -#: netbox/dcim/forms/filtersets.py:1477 netbox/dcim/forms/model_forms.py:1561 +#: netbox/dcim/forms/filtersets.py:1487 netbox/dcim/forms/model_forms.py:1561 #: netbox/dcim/models/device_components.py:735 #: netbox/templates/dcim/interface.html:142 msgid "WWN" msgstr "" -#: netbox/dcim/forms/filtersets.py:1492 +#: netbox/dcim/forms/filtersets.py:1502 #: netbox/virtualization/forms/filtersets.py:246 msgid "802.1Q mode" msgstr "" -#: netbox/dcim/forms/filtersets.py:1507 +#: netbox/dcim/forms/filtersets.py:1517 msgid "Wireless channel" msgstr "" -#: netbox/dcim/forms/filtersets.py:1511 +#: netbox/dcim/forms/filtersets.py:1521 msgid "Channel frequency (MHz)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1515 +#: netbox/dcim/forms/filtersets.py:1525 msgid "Channel width (MHz)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1519 netbox/templates/dcim/interface.html:91 +#: netbox/dcim/forms/filtersets.py:1529 netbox/templates/dcim/interface.html:91 msgid "Transmit power (dBm)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/filtersets.py:1569 +#: netbox/dcim/forms/filtersets.py:1555 netbox/dcim/forms/filtersets.py:1580 #: netbox/dcim/tables/devices.py:359 netbox/templates/dcim/cable.html:12 #: netbox/templates/dcim/cable_trace.html:46 #: netbox/templates/dcim/frontport.html:77 @@ -5597,23 +5599,23 @@ msgstr "" msgid "Cable" msgstr "" -#: netbox/dcim/forms/filtersets.py:1648 netbox/dcim/tables/devices.py:1008 +#: netbox/dcim/forms/filtersets.py:1659 netbox/dcim/tables/devices.py:1008 msgid "Discovered" msgstr "" -#: netbox/dcim/forms/filtersets.py:1693 netbox/ipam/forms/filtersets.py:371 +#: netbox/dcim/forms/filtersets.py:1704 netbox/ipam/forms/filtersets.py:371 msgid "Assigned Device" msgstr "" -#: netbox/dcim/forms/filtersets.py:1698 netbox/ipam/forms/filtersets.py:376 +#: netbox/dcim/forms/filtersets.py:1709 netbox/ipam/forms/filtersets.py:376 msgid "Assigned VM" msgstr "" -#: netbox/dcim/forms/filtersets.py:1702 netbox/ipam/forms/filtersets.py:390 +#: netbox/dcim/forms/filtersets.py:1713 netbox/ipam/forms/filtersets.py:390 msgid "Assigned to an interface" msgstr "" -#: netbox/dcim/forms/filtersets.py:1709 +#: netbox/dcim/forms/filtersets.py:1720 msgid "Primary MAC of an interface" msgstr "" @@ -8346,12 +8348,12 @@ msgstr "" msgid "Show your personal bookmarks" msgstr "" -#: netbox/extras/events.py:162 +#: netbox/extras/events.py:164 #, python-brace-format msgid "Unknown action type for an event rule: {action_type}" msgstr "" -#: netbox/extras/events.py:207 +#: netbox/extras/events.py:209 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" msgstr "" @@ -8536,7 +8538,7 @@ msgstr "" #: netbox/extras/forms/model_forms.py:256 #: netbox/extras/forms/model_forms.py:299 #: netbox/extras/forms/model_forms.py:452 -#: netbox/extras/forms/model_forms.py:569 netbox/users/forms/model_forms.py:294 +#: netbox/extras/forms/model_forms.py:569 netbox/users/forms/model_forms.py:311 msgid "Object types" msgstr "" @@ -8659,8 +8661,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:316 #: netbox/extras/forms/model_forms.py:400 netbox/netbox/navigation/menu.py:414 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:247 -#: netbox/users/forms/model_forms.py:259 netbox/users/forms/model_forms.py:320 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:250 +#: netbox/users/forms/model_forms.py:262 netbox/users/forms/model_forms.py:337 #: netbox/users/tables.py:106 msgid "Users" msgstr "" @@ -8676,8 +8678,8 @@ msgstr "" #: netbox/templates/tenancy/contact.html:21 #: netbox/tenancy/forms/bulk_edit.py:144 netbox/tenancy/forms/filtersets.py:78 #: netbox/tenancy/forms/model_forms.py:99 netbox/tenancy/tables/contacts.py:68 -#: netbox/tenancy/tables/contacts.py:115 netbox/users/forms/model_forms.py:192 -#: netbox/users/forms/model_forms.py:204 netbox/users/forms/model_forms.py:325 +#: netbox/tenancy/tables/contacts.py:115 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/model_forms.py:207 netbox/users/forms/model_forms.py:342 #: netbox/users/tables.py:35 netbox/users/tables.py:110 msgid "Groups" msgstr "" @@ -12248,9 +12250,9 @@ msgstr "" msgid "API Tokens" msgstr "" -#: netbox/netbox/navigation/menu.py:461 netbox/users/forms/model_forms.py:198 -#: netbox/users/forms/model_forms.py:206 netbox/users/forms/model_forms.py:253 -#: netbox/users/forms/model_forms.py:260 +#: netbox/netbox/navigation/menu.py:461 netbox/users/forms/model_forms.py:201 +#: netbox/users/forms/model_forms.py:209 netbox/users/forms/model_forms.py:256 +#: netbox/users/forms/model_forms.py:263 msgid "Permissions" msgstr "" @@ -14189,7 +14191,7 @@ msgstr "" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:341 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:358 msgid "Actions" msgstr "" @@ -15347,7 +15349,7 @@ msgid "View" msgstr "" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:331 netbox/users/forms/model_forms.py:344 +#: netbox/users/forms/model_forms.py:348 netbox/users/forms/model_forms.py:361 msgid "Constraints" msgstr "" @@ -15823,64 +15825,64 @@ msgstr "" msgid "Can Delete" msgstr "" -#: netbox/users/forms/model_forms.py:70 +#: netbox/users/forms/model_forms.py:73 msgid "User Interface" msgstr "" -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:128 msgid "" "Keys must be at least 40 characters in length. Be sure to record " "your key prior to submitting this form, as it may no longer be " "accessible once the token has been created." msgstr "" -#: netbox/users/forms/model_forms.py:137 +#: netbox/users/forms/model_forms.py:140 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for " "no restrictions. Example: 10.1.1.0/24,192.168.10.16/32,2001:" "db8:1::/64" msgstr "" -#: netbox/users/forms/model_forms.py:186 +#: netbox/users/forms/model_forms.py:189 msgid "Confirm password" msgstr "" -#: netbox/users/forms/model_forms.py:189 +#: netbox/users/forms/model_forms.py:192 msgid "Enter the same password as before, for verification." msgstr "" -#: netbox/users/forms/model_forms.py:238 +#: netbox/users/forms/model_forms.py:241 msgid "Passwords do not match! Please check your input and try again." msgstr "" -#: netbox/users/forms/model_forms.py:299 +#: netbox/users/forms/model_forms.py:316 msgid "Select the types of objects to which the permission will appy." msgstr "" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:331 msgid "Additional actions" msgstr "" -#: netbox/users/forms/model_forms.py:317 +#: netbox/users/forms/model_forms.py:334 msgid "Actions granted in addition to those listed above" msgstr "" -#: netbox/users/forms/model_forms.py:333 +#: netbox/users/forms/model_forms.py:350 msgid "" "JSON expression of a queryset filter that will return only permitted " "objects. Leave null to match all objects of this type. A list of multiple " "objects will result in a logical OR operation." msgstr "" -#: netbox/users/forms/model_forms.py:342 +#: netbox/users/forms/model_forms.py:359 msgid "Objects" msgstr "" -#: netbox/users/forms/model_forms.py:403 +#: netbox/users/forms/model_forms.py:420 msgid "At least one action must be selected." msgstr "" -#: netbox/users/forms/model_forms.py:421 +#: netbox/users/forms/model_forms.py:438 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "" @@ -16313,7 +16315,7 @@ msgstr "" msgid "Unknown app_label/model_name for {name}" msgstr "" -#: netbox/utilities/request.py:84 +#: netbox/utilities/request.py:91 #, python-brace-format msgid "Invalid IP address set for {header}: {ip}" msgstr "" From 14b246cb8acc2bc6ce171fcc9dbd727b0ab7e15f Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 10 Dec 2025 08:23:35 -0500 Subject: [PATCH 04/45] Fixes #17976: Remove devicetype_count from nested manufacturer to correct OpenAPI schema --- netbox/dcim/api/serializers_/manufacturers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/dcim/api/serializers_/manufacturers.py b/netbox/dcim/api/serializers_/manufacturers.py index 1a1eea6ec..bd064f411 100644 --- a/netbox/dcim/api/serializers_/manufacturers.py +++ b/netbox/dcim/api/serializers_/manufacturers.py @@ -20,4 +20,4 @@ class ManufacturerSerializer(NetBoxModelSerializer): 'id', 'url', 'display_url', 'display', 'name', 'slug', 'description', 'tags', 'custom_fields', 'created', 'last_updated', 'devicetype_count', 'inventoryitem_count', 'platform_count', ] - brief_fields = ('id', 'url', 'display', 'name', 'slug', 'description', 'devicetype_count') + brief_fields = ('id', 'url', 'display', 'name', 'slug', 'description') From 59afa0b41d4fbf2b03f2415b4fe497b08ee4675c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 10 Dec 2025 09:01:11 -0500 Subject: [PATCH 05/45] Fix test --- netbox/dcim/tests/test_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/dcim/tests/test_api.py b/netbox/dcim/tests/test_api.py index 6a819a3c0..e5a56dc03 100644 --- a/netbox/dcim/tests/test_api.py +++ b/netbox/dcim/tests/test_api.py @@ -531,7 +531,7 @@ class RackReservationTest(APIViewTestCases.APIViewTestCase): class ManufacturerTest(APIViewTestCases.APIViewTestCase): model = Manufacturer - brief_fields = ['description', 'devicetype_count', 'display', 'id', 'name', 'slug', 'url'] + brief_fields = ['description', 'display', 'id', 'name', 'slug', 'url'] create_data = [ { 'name': 'Manufacturer 4', From 60fce84c96e952ba72f00b6e57de259ddf35b766 Mon Sep 17 00:00:00 2001 From: Martin Hauser Date: Fri, 3 Oct 2025 15:40:14 +0200 Subject: [PATCH 06/45] feat(ipam): Normalize numeric ranges in API output Adds logic to handle numeric range fields in API responses by converting them into inclusive `[low, high]` pairs for consistent behavior. Updates test cases with `vid_ranges` fields to reflect the changes. Closes #20491 --- netbox/ipam/tests/test_api.py | 3 +++ netbox/utilities/testing/base.py | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/netbox/ipam/tests/test_api.py b/netbox/ipam/tests/test_api.py index f36b2a96b..8141a6da9 100644 --- a/netbox/ipam/tests/test_api.py +++ b/netbox/ipam/tests/test_api.py @@ -1071,14 +1071,17 @@ class VLANGroupTest(APIViewTestCases.APIViewTestCase): { 'name': 'VLAN Group 4', 'slug': 'vlan-group-4', + 'vid_ranges': [[1, 4094]] }, { 'name': 'VLAN Group 5', 'slug': 'vlan-group-5', + 'vid_ranges': [[1, 4094]] }, { 'name': 'VLAN Group 6', 'slug': 'vlan-group-6', + 'vid_ranges': [[1, 4094]] }, ] bulk_update_data = { diff --git a/netbox/utilities/testing/base.py b/netbox/utilities/testing/base.py index 1a0c3f46b..44ba261d5 100644 --- a/netbox/utilities/testing/base.py +++ b/netbox/utilities/testing/base.py @@ -141,8 +141,8 @@ class ModelTestCase(TestCase): elif value and type(field) is GenericForeignKey: model_dict[key] = value.pk + # Handle API output elif api: - # Replace ContentType numeric IDs with . if type(getattr(instance, key)) in (ContentType, ObjectType): object_type = ObjectType.objects.get(pk=value) @@ -152,9 +152,13 @@ class ModelTestCase(TestCase): elif type(value) is IPNetwork: model_dict[key] = str(value) - else: - field = instance._meta.get_field(key) + # Normalize arrays of numeric ranges (e.g. VLAN IDs or port ranges). + # DB uses canonical half-open [lo, hi) via NumericRange; API uses inclusive [lo, hi]. + # Convert to inclusive pairs for stable API comparisons. + elif type(field) is ArrayField and issubclass(type(field.base_field), RangeField): + model_dict[key] = [[r.lower, r.upper - 1] for r in value] + else: # Convert ArrayFields to CSV strings if type(field) is ArrayField: if getattr(field.base_field, 'choices', None): From a06c12c6b87205de7201444137dc3b961c45ca2b Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Thu, 11 Dec 2025 08:59:16 -0600 Subject: [PATCH 07/45] Fixes #20966: Fix broken optgroup stickiness in ObjectType multiselect --- netbox/project-static/dist/netbox.css | 2 +- netbox/project-static/styles/transitional/_forms.scss | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/netbox/project-static/dist/netbox.css b/netbox/project-static/dist/netbox.css index 001c8d1ea..7b39ded3b 100644 --- a/netbox/project-static/dist/netbox.css +++ b/netbox/project-static/dist/netbox.css @@ -1 +1 @@ -@charset "UTF-8";:root,[data-bs-theme=light]{--tblr-black: #000000;--tblr-white: #ffffff;--tblr-gray: #4b5563;--tblr-gray-dark: #1f2937;--tblr-gray-100: #f3f4f6;--tblr-gray-200: #e5e7eb;--tblr-gray-300: #d1d5db;--tblr-gray-400: #9ca3af;--tblr-gray-500: #6b7280;--tblr-gray-600: #4b5563;--tblr-gray-700: #374151;--tblr-gray-800: #1f2937;--tblr-gray-900: #111827;--tblr-primary: #00857D;--tblr-secondary: #6b7280;--tblr-success: #2fb344;--tblr-info: #4299e1;--tblr-warning: #f59f00;--tblr-danger: #d63939;--tblr-light: #f9fafb;--tblr-dark: #1f2937;--tblr-muted: #6b7280;--tblr-blue: #066fd1;--tblr-azure: #4299e1;--tblr-indigo: #4263eb;--tblr-purple: #ae3ec9;--tblr-pink: #d6336c;--tblr-red: #d63939;--tblr-orange: #f76707;--tblr-yellow: #f59f00;--tblr-lime: #74b816;--tblr-green: #2fb344;--tblr-teal: #0ca678;--tblr-cyan: #17a2b8;--tblr-primary-rgb: 0, 133, 125;--tblr-secondary-rgb: 107, 114, 128;--tblr-success-rgb: 47, 179, 68;--tblr-info-rgb: 66, 153, 225;--tblr-warning-rgb: 245, 159, 0;--tblr-danger-rgb: 214, 57, 57;--tblr-light-rgb: 249, 250, 251;--tblr-dark-rgb: 31, 41, 55;--tblr-muted-rgb: 107, 114, 128;--tblr-blue-rgb: 6, 111, 209;--tblr-azure-rgb: 66, 153, 225;--tblr-indigo-rgb: 66, 99, 235;--tblr-purple-rgb: 174, 62, 201;--tblr-pink-rgb: 214, 51, 108;--tblr-red-rgb: 214, 57, 57;--tblr-orange-rgb: 247, 103, 7;--tblr-yellow-rgb: 245, 159, 0;--tblr-lime-rgb: 116, 184, 22;--tblr-green-rgb: 47, 179, 68;--tblr-teal-rgb: 12, 166, 120;--tblr-cyan-rgb: 23, 162, 184;--tblr-primary-text-emphasis: #003532;--tblr-secondary-text-emphasis: #2b2e33;--tblr-success-text-emphasis: #13481b;--tblr-info-text-emphasis: #1a3d5a;--tblr-warning-text-emphasis: #624000;--tblr-danger-text-emphasis: #561717;--tblr-light-text-emphasis: #374151;--tblr-dark-text-emphasis: #374151;--tblr-primary-bg-subtle: #cce7e5;--tblr-secondary-bg-subtle: #e1e3e6;--tblr-success-bg-subtle: #d5f0da;--tblr-info-bg-subtle: #d9ebf9;--tblr-warning-bg-subtle: #fdeccc;--tblr-danger-bg-subtle: #f7d7d7;--tblr-light-bg-subtle: #f9fafb;--tblr-dark-bg-subtle: #9ca3af;--tblr-primary-border-subtle: #99cecb;--tblr-secondary-border-subtle: #c4c7cc;--tblr-success-border-subtle: #ace1b4;--tblr-info-border-subtle: #b3d6f3;--tblr-warning-border-subtle: #fbd999;--tblr-danger-border-subtle: #efb0b0;--tblr-light-border-subtle: #e5e7eb;--tblr-dark-border-subtle: #6b7280;--tblr-white-rgb: 255, 255, 255;--tblr-black-rgb: 0, 0, 0;--tblr-font-sans-serif: "Inter", system-ui, sans-serif;--tblr-font-monospace: "Roboto Mono";--tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--tblr-body-font-family: var(--tblr-font-sans-serif);--tblr-body-font-size: .875rem;--tblr-body-font-weight: 400;--tblr-body-line-height: 1.4285714286;--tblr-body-color: #1f2937;--tblr-body-color-rgb: 31, 41, 55;--tblr-body-bg: #f9fafb;--tblr-body-bg-rgb: 249, 250, 251;--tblr-emphasis-color: #374151;--tblr-emphasis-color-rgb: 55, 65, 81;--tblr-secondary-color: rgba(31, 41, 55, .75);--tblr-secondary-color-rgb: 31, 41, 55;--tblr-secondary-bg: #e5e7eb;--tblr-secondary-bg-rgb: 229, 231, 235;--tblr-tertiary-color: rgba(31, 41, 55, .5);--tblr-tertiary-color-rgb: 31, 41, 55;--tblr-tertiary-bg: #f3f4f6;--tblr-tertiary-bg-rgb: 243, 244, 246;--tblr-heading-color: inherit;--tblr-link-color: #00857D;--tblr-link-color-rgb: 0, 133, 125;--tblr-link-decoration: none;--tblr-link-hover-color: #006a64;--tblr-link-hover-color-rgb: 0, 106, 100;--tblr-link-hover-decoration: underline;--tblr-code-color: light-dark(var(--tblr-gray-600), var(--tblr-gray-400));--tblr-highlight-color: #1f2937;--tblr-highlight-bg: #fdeccc;--tblr-border-width: 1px;--tblr-border-style: solid;--tblr-border-color: #e5e7eb;--tblr-border-color-translucent: rgba(4, 32, 69, .1);--tblr-border-radius: 6px;--tblr-border-radius-sm: 4px;--tblr-border-radius-lg: 8px;--tblr-border-radius-xl: 1rem;--tblr-border-radius-xxl: 2rem;--tblr-border-radius-2xl: var(--tblr-border-radius-xxl);--tblr-border-radius-pill: 100rem;--tblr-box-shadow: rgba(var(--tblr-body-color-rgb), .04) 0 2px 4px 0;--tblr-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--tblr-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--tblr-box-shadow-inset: 0 0 transparent;--tblr-focus-ring-width: .25rem;--tblr-focus-ring-opacity: .25;--tblr-focus-ring-color: rgba(var(--tblr-primary-rgb), .25);--tblr-form-valid-color: #2fb344;--tblr-form-valid-border-color: #2fb344;--tblr-form-invalid-color: #d63939;--tblr-form-invalid-border-color: #d63939}[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{color-scheme:dark;--tblr-body-color: #e5e7eb;--tblr-body-color-rgb: 229, 231, 235;--tblr-body-bg: #111827;--tblr-body-bg-rgb: 17, 24, 39;--tblr-emphasis-color: #ffffff;--tblr-emphasis-color-rgb: 255, 255, 255;--tblr-secondary-color: rgba(229, 231, 235, .75);--tblr-secondary-color-rgb: 229, 231, 235;--tblr-secondary-bg: #1f2937;--tblr-secondary-bg-rgb: 31, 41, 55;--tblr-tertiary-color: rgba(229, 231, 235, .5);--tblr-tertiary-color-rgb: 229, 231, 235;--tblr-tertiary-bg: #18212f;--tblr-tertiary-bg-rgb: 24, 33, 47;--tblr-primary-text-emphasis: #66b6b1;--tblr-secondary-text-emphasis: #a6aab3;--tblr-success-text-emphasis: #82d18f;--tblr-info-text-emphasis: #8ec2ed;--tblr-warning-text-emphasis: #f9c566;--tblr-danger-text-emphasis: #e68888;--tblr-light-text-emphasis: #f3f4f6;--tblr-dark-text-emphasis: #d1d5db;--tblr-primary-bg-subtle: #001b19;--tblr-secondary-bg-subtle: #15171a;--tblr-success-bg-subtle: #09240e;--tblr-info-bg-subtle: #0d1f2d;--tblr-warning-bg-subtle: #312000;--tblr-danger-bg-subtle: #2b0b0b;--tblr-light-bg-subtle: #1f2937;--tblr-dark-bg-subtle: #10151c;--tblr-primary-border-subtle: #00504b;--tblr-secondary-border-subtle: #40444d;--tblr-success-border-subtle: #1c6b29;--tblr-info-border-subtle: #285c87;--tblr-warning-border-subtle: #935f00;--tblr-danger-border-subtle: #802222;--tblr-light-border-subtle: #374151;--tblr-dark-border-subtle: #1f2937;--tblr-heading-color: inherit;--tblr-link-color: #66b6b1;--tblr-link-hover-color: #85c5c1;--tblr-link-color-rgb: 102, 182, 177;--tblr-link-hover-color-rgb: 133, 197, 193;--tblr-code-color: var(--tblr-gray-300);--tblr-highlight-color: #e5e7eb;--tblr-highlight-bg: #624000;--tblr-border-color: #2e3c51;--tblr-border-color-translucent: rgba(72, 110, 149, .14);--tblr-form-valid-color: #82d18f;--tblr-form-valid-border-color: #82d18f;--tblr-form-invalid-color: #e68888;--tblr-form-invalid-border-color: #e68888}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--tblr-body-font-family);font-size:var(--tblr-body-font-size);font-weight:var(--tblr-body-font-weight);line-height:var(--tblr-body-line-height);color:var(--tblr-body-color);text-align:var(--tblr-body-text-align);background-color:var(--tblr-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr,.hr{margin:2rem 0;color:inherit;border:0;border-top:var(--tblr-border-width) solid;opacity:.16}h6,.h6,h5,.h5,h4,.h4,h3,.field-group h2,.field-group .h2,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:var(--tblr-spacer);font-weight:var(--tblr-font-weight-bold);line-height:1.2;color:var(--tblr-heading-color)}h1,.h1{font-size:1.5rem}h2,.h2{font-size:1.25rem}h3,.field-group h2,.field-group .h2,.h3{font-size:1rem}h4,.h4{font-size:.875rem}h5,.h5{font-size:.75rem}h6,.h6{font-size:.625rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--tblr-highlight-color);background-color:var(--tblr-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity, 1));text-decoration:none}a:hover{--tblr-link-color-rgb: var(--tblr-link-hover-color-rgb);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--tblr-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.85714285em;color:var(--tblr-light)}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.85714285em;color:var(--tblr-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.25rem .5rem;font-size:var(--tblr-font-size-h5);color:var(--tblr-text-secondary-dark);background-color:var(--tblr-code-bg);border-radius:4px}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:1.5rem}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:.875rem;font-weight:var(--tblr-font-weight-normal)}.display-1{font-weight:300;line-height:1.2;font-size:5rem}.display-2{font-weight:300;line-height:1.2;font-size:4.5rem}.display-3{font-weight:300;line-height:1.2;font-size:4rem}.display-4{font-weight:300;line-height:1.2;font-size:3.5rem}.display-5{font-weight:300;line-height:1.2;font-size:3rem}.display-6{font-weight:300;line-height:1.2;font-size:2rem}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:.875rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#4b5563}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--tblr-body-bg);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-box-shadow-sm);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--tblr-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--tblr-gutter-x: calc(var(--tblr-page-padding) * 2);--tblr-gutter-y: 0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto}@media(min-width:576px){.container-sm,.container{max-width:540px}}@media(min-width:768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width:992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width:1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width:1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--tblr-breakpoint-xs: 0;--tblr-breakpoint-sm: 576px;--tblr-breakpoint-md: 768px;--tblr-breakpoint-lg: 992px;--tblr-breakpoint-xl: 1200px;--tblr-breakpoint-xxl: 1400px}.row{--tblr-gutter-x: var(--tblr-page-padding);--tblr-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--tblr-gutter-y));margin-right:calc(-.5 * var(--tblr-gutter-x));margin-left:calc(-.5 * var(--tblr-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-top:var(--tblr-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--tblr-rows, 1),1fr);grid-template-columns:repeat(var(--tblr-columns, 12),1fr);gap:var(--tblr-gap, var(--tblr-page-padding))}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width:576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width:768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width:992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width:1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width:1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--tblr-gutter-x: 0}.g-0,.gy-0{--tblr-gutter-y: 0}.g-1,.gx-1{--tblr-gutter-x: .25rem}.g-1,.gy-1{--tblr-gutter-y: .25rem}.g-2,.gx-2{--tblr-gutter-x: .5rem}.g-2,.gy-2{--tblr-gutter-y: .5rem}.g-3,.gx-3{--tblr-gutter-x: 1rem}.g-3,.gy-3{--tblr-gutter-y: 1rem}.g-4,.gx-4{--tblr-gutter-x: 1.5rem}.g-4,.gy-4{--tblr-gutter-y: 1.5rem}.g-5,.gx-5{--tblr-gutter-x: 2rem}.g-5,.gy-5{--tblr-gutter-y: 2rem}.g-6,.gx-6{--tblr-gutter-x: 2.5rem}.g-6,.gy-6{--tblr-gutter-y: 2.5rem}@media(min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--tblr-gutter-x: 0}.g-sm-0,.gy-sm-0{--tblr-gutter-y: 0}.g-sm-1,.gx-sm-1{--tblr-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--tblr-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--tblr-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--tblr-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--tblr-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--tblr-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--tblr-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--tblr-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--tblr-gutter-x: 2rem}.g-sm-5,.gy-sm-5{--tblr-gutter-y: 2rem}.g-sm-6,.gx-sm-6{--tblr-gutter-x: 2.5rem}.g-sm-6,.gy-sm-6{--tblr-gutter-y: 2.5rem}}@media(min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--tblr-gutter-x: 0}.g-md-0,.gy-md-0{--tblr-gutter-y: 0}.g-md-1,.gx-md-1{--tblr-gutter-x: .25rem}.g-md-1,.gy-md-1{--tblr-gutter-y: .25rem}.g-md-2,.gx-md-2{--tblr-gutter-x: .5rem}.g-md-2,.gy-md-2{--tblr-gutter-y: .5rem}.g-md-3,.gx-md-3{--tblr-gutter-x: 1rem}.g-md-3,.gy-md-3{--tblr-gutter-y: 1rem}.g-md-4,.gx-md-4{--tblr-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--tblr-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--tblr-gutter-x: 2rem}.g-md-5,.gy-md-5{--tblr-gutter-y: 2rem}.g-md-6,.gx-md-6{--tblr-gutter-x: 2.5rem}.g-md-6,.gy-md-6{--tblr-gutter-y: 2.5rem}}@media(min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--tblr-gutter-x: 0}.g-lg-0,.gy-lg-0{--tblr-gutter-y: 0}.g-lg-1,.gx-lg-1{--tblr-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--tblr-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--tblr-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--tblr-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--tblr-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--tblr-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--tblr-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--tblr-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--tblr-gutter-x: 2rem}.g-lg-5,.gy-lg-5{--tblr-gutter-y: 2rem}.g-lg-6,.gx-lg-6{--tblr-gutter-x: 2.5rem}.g-lg-6,.gy-lg-6{--tblr-gutter-y: 2.5rem}}@media(min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--tblr-gutter-x: 0}.g-xl-0,.gy-xl-0{--tblr-gutter-y: 0}.g-xl-1,.gx-xl-1{--tblr-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--tblr-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--tblr-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--tblr-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--tblr-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--tblr-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--tblr-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--tblr-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--tblr-gutter-x: 2rem}.g-xl-5,.gy-xl-5{--tblr-gutter-y: 2rem}.g-xl-6,.gx-xl-6{--tblr-gutter-x: 2.5rem}.g-xl-6,.gy-xl-6{--tblr-gutter-y: 2.5rem}}@media(min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--tblr-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--tblr-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--tblr-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--tblr-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--tblr-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--tblr-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--tblr-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--tblr-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--tblr-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--tblr-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--tblr-gutter-x: 2rem}.g-xxl-5,.gy-xxl-5{--tblr-gutter-y: 2rem}.g-xxl-6,.gx-xxl-6{--tblr-gutter-x: 2.5rem}.g-xxl-6,.gy-xxl-6{--tblr-gutter-y: 2.5rem}}.table,.markdown>table{--tblr-table-color-type: initial;--tblr-table-bg-type: initial;--tblr-table-color-state: initial;--tblr-table-bg-state: initial;--tblr-table-color: inherit;--tblr-table-bg: transparent;--tblr-table-border-color: var(--tblr-border-color-translucent);--tblr-table-accent-bg: transparent;--tblr-table-striped-color: inherit;--tblr-table-striped-bg: var(--tblr-bg-surface-tertiary);--tblr-table-active-color: inherit;--tblr-table-active-bg: var(--tblr-active-bg);--tblr-table-hover-color: inherit;--tblr-table-hover-bg: rgba(var(--tblr-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--tblr-table-border-color)}.table>:not(caption)>*>*,.markdown>table>:not(caption)>*>*{padding:.5rem;color:var(--tblr-table-color-state, var(--tblr-table-color-type, var(--tblr-table-color)));background-color:var(--tblr-table-bg);border-bottom-width:var(--tblr-border-width);box-shadow:inset 0 0 0 9999px var(--tblr-table-bg-state, var(--tblr-table-bg-type, var(--tblr-table-accent-bg)))}.table>tbody,.markdown>table>tbody{vertical-align:inherit}.table>thead,.markdown>table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*,.markdown>table>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*,.markdown>table>:not(caption)>*{border-width:var(--tblr-border-width) 0}.table-bordered>:not(caption)>*>*,.markdown>table>:not(caption)>*>*{border-width:0 var(--tblr-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(2n)>*{--tblr-table-color-type: var(--tblr-table-striped-color);--tblr-table-bg-type: var(--tblr-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--tblr-table-color-type: var(--tblr-table-striped-color);--tblr-table-bg-type: var(--tblr-table-striped-bg)}.table-active{--tblr-table-color-state: var(--tblr-table-active-color);--tblr-table-bg-state: var(--tblr-table-active-bg)}.table-hover>tbody>tr:hover>*{--tblr-table-color-state: var(--tblr-table-hover-color);--tblr-table-bg-state: var(--tblr-table-hover-bg)}.table-primary{--tblr-table-color: #1f2937;--tblr-table-bg: #cce7e5;--tblr-table-border-color: #a9c1c2;--tblr-table-striped-bg: #c3dedc;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #bbd4d4;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #bfd9d8;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-secondary{--tblr-table-color: #1f2937;--tblr-table-bg: #e1e3e6;--tblr-table-border-color: #babec3;--tblr-table-striped-bg: #d7dadd;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #ced0d5;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #d2d5d9;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-success{--tblr-table-color: #1f2937;--tblr-table-bg: #d5f0da;--tblr-table-border-color: #b1c8b9;--tblr-table-striped-bg: #cce6d2;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #c3dcca;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #c7e1ce;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-info{--tblr-table-color: #1f2937;--tblr-table-bg: #d9ebf9;--tblr-table-border-color: #b4c4d2;--tblr-table-striped-bg: #d0e1ef;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #c6d8e6;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #cbdcea;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-warning{--tblr-table-color: #1f2937;--tblr-table-bg: #fdeccc;--tblr-table-border-color: #d1c5ae;--tblr-table-striped-bg: #f2e2c5;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #e7d9bd;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #ecddc1;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-danger{--tblr-table-color: #1f2937;--tblr-table-bg: #f7d7d7;--tblr-table-border-color: #ccb4b7;--tblr-table-striped-bg: #eccecf;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #e1c6c7;--tblr-table-active-color: #f9fafb;--tblr-table-hover-bg: #e7cacb;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-light{--tblr-table-color: #1f2937;--tblr-table-bg: #f9fafb;--tblr-table-border-color: #cdd0d4;--tblr-table-striped-bg: #eef0f1;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #e3e5e7;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #e9eaec;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-dark{--tblr-table-color: #f9fafb;--tblr-table-bg: #1f2937;--tblr-table-border-color: #4b535e;--tblr-table-striped-bg: #2a3341;--tblr-table-striped-color: #f9fafb;--tblr-table-active-bg: #353e4b;--tblr-table-active-color: #f9fafb;--tblr-table-hover-bg: #2f3946;--tblr-table-hover-color: #f9fafb;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-size:.875rem;font-weight:var(--tblr-font-weight-medium)}.col-form-label{padding-top:calc(.5625rem + var(--tblr-border-width));padding-bottom:calc(.5625rem + var(--tblr-border-width));margin-bottom:0;font-size:inherit;font-weight:var(--tblr-font-weight-medium);line-height:1.25rem}.col-form-label-lg{padding-top:calc(.6875rem + var(--tblr-border-width));padding-bottom:calc(.6875rem + var(--tblr-border-width));font-size:1rem}.col-form-label-sm{padding-top:calc(.3125rem + var(--tblr-border-width));padding-bottom:calc(.3125rem + var(--tblr-border-width));font-size:.75rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--tblr-secondary-color)}.form-control{display:block;width:100%;padding:.5625rem 1rem;font-family:var(--tblr-body-font-family);font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--tblr-body-color);appearance:none;background-color:var(--tblr-bg-forms);background-clip:padding-box;border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-shadow-input);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--tblr-body-color);background-color:var(--tblr-bg-forms);border-color:#80c2be;outline:0;box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.25rem;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--tblr-tertiary);opacity:1}.form-control:disabled{background-color:var(--tblr-bg-surface-secondary);opacity:1}.form-control::file-selector-button{padding:.5625rem 1rem;margin:-.5625rem -1rem;margin-inline-end:1rem;color:var(--tblr-body-color);background-color:var(--tblr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--tblr-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.5625rem 0;margin-bottom:0;line-height:1.25rem;color:var(--tblr-body-color);background-color:transparent;border:solid transparent;border-width:var(--tblr-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2));padding:.3125rem .5rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-control-sm::file-selector-button{padding:.3125rem .5rem;margin:-.3125rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2));padding:.6875rem 1.5rem;font-size:1rem;border-radius:var(--tblr-border-radius-lg)}.form-control-lg::file-selector-button{padding:.6875rem 1.5rem;margin:-.6875rem -1.5rem;margin-inline-end:1.5rem}textarea.form-control{min-height:calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));padding:.5625rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color.form-control-sm{height:calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2))}.form-select{--tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.5625rem 3rem .5625rem 1rem;font-family:var(--tblr-body-font-family);font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--tblr-body-color);appearance:none;background-color:var(--tblr-bg-forms);background-image:var(--tblr-form-select-bg-img),var(--tblr-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 12px;border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-shadow-input);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#80c2be;outline:0;box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:1rem;background-image:none}.form-select:disabled{background-color:var(--tblr-bg-surface-secondary)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--tblr-body-color)}.form-select-sm{padding-top:.3125rem;padding-bottom:.3125rem;padding-left:.5rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-select-lg{padding-top:.6875rem;padding-bottom:.6875rem;padding-left:1.5rem;font-size:1rem;border-radius:var(--tblr-border-radius-lg)}[data-bs-theme=dark] .form-select,body[data-bs-theme=dark] [data-bs-theme=light] .form-select{--tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e5e7eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.25rem;padding-left:2rem;margin-bottom:.75rem}.form-check .form-check-input{float:left;margin-left:-2rem}.form-check-reverse{padding-right:2rem;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-2rem;margin-left:0}.form-check-input{--tblr-form-check-bg: var(--tblr-bg-forms);flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.0892857143rem;vertical-align:top;appearance:none;background-color:var(--tblr-form-check-bg);background-image:var(--tblr-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--tblr-border-radius)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80c2be;outline:0;box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-check-input:checked{background-color:var(--tblr-primary);border-color:var(--tblr-border-color-translucent)}.form-check-input:checked[type=checkbox]{--tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:var(--tblr-primary);border-color:var(--tblr-primary);--tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.7}.form-switch{padding-left:2.5rem}.form-switch .form-check-input{--tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23e5e7eb'/%3e%3c/svg%3e");width:2rem;margin-left:-2.5rem;background-image:var(--tblr-form-switch-bg);background-position:left center;border-radius:2rem;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{--tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380c2be'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5rem;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5rem;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.4}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.25rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f9fafb,0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f9fafb,0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.375rem;appearance:none;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #ffffff;border-radius:1rem;box-shadow:0 .1rem .25rem #0000001a;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3dad8}.form-range::-webkit-slider-runnable-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:var(--tblr-box-shadow-inset)}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #ffffff;border-radius:1rem;box-shadow:0 .1rem .25rem #0000001a;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3dad8}.form-range::-moz-range-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:var(--tblr-box-shadow-inset)}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--tblr-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--tblr-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--tblr-border-width) * 2));min-height:calc(3.5rem + calc(var(--tblr-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem;overflow:hidden;color:rgba(var(--tblr-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--tblr-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:1rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{position:absolute;inset:1rem .5rem;z-index:-1;height:1.5em;content:"";background-color:var(--tblr-bg-forms);border-radius:var(--tblr-border-radius)}.form-floating>textarea:disabled~label:after{background-color:var(--tblr-bg-surface-secondary)}.form-floating>.form-control-plaintext~label{border-width:var(--tblr-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#4b5563}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.5625rem 1rem;font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--tblr-gray-500);text-align:center;white-space:nowrap;background-color:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.6875rem 1.5rem;font-size:1rem;border-radius:var(--tblr-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.3125rem .5rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--tblr-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--tblr-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-1) var(--tblr-spacer-3);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-success);border-radius:var(--tblr-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--tblr-form-valid-border-color);padding-right:2.375rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.53125rem center;background-size:1.8125rem 1.8125rem}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:2.375rem;background-position:top 1.53125rem right 1.53125rem}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--tblr-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");padding-right:5.5rem;background-position:right 1rem center,center right 3rem;background-size:16px 12px,1.8125rem 1.8125rem}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:5.375rem}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--tblr-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--tblr-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--tblr-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--tblr-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-1) var(--tblr-spacer-3);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-danger);border-radius:var(--tblr-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,select.tomselected.is-invalid+div.ts-wrapper~.invalid-feedback,.is-invalid~.invalid-tooltip,select.tomselected.is-invalid+div.ts-wrapper~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid,select.tomselected.is-invalid+div.form-control.ts-wrapper{border-color:var(--tblr-form-invalid-border-color);padding-right:2.375rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.53125rem center;background-size:1.8125rem 1.8125rem}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus,select.tomselected.is-invalid+div.form-control.ts-wrapper:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:2.375rem;background-position:top 1.53125rem right 1.53125rem}.was-validated .form-select:invalid,.form-select.is-invalid,select.tomselected.is-invalid+div.form-select.ts-wrapper{border-color:var(--tblr-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),select.tomselected.is-invalid+div.form-select.ts-wrapper:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],select.tomselected.is-invalid+div.form-select.ts-wrapper:not([multiple])[size="1"]{--tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");padding-right:5.5rem;background-position:right 1rem center,center right 3rem;background-size:16px 12px,1.8125rem 1.8125rem}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus,select.tomselected.is-invalid+div.form-select.ts-wrapper:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid,select.tomselected.is-invalid+div.form-control-color.ts-wrapper{width:5.375rem}.was-validated .form-check-input:invalid,.form-check-input.is-invalid,select.tomselected.is-invalid+div.form-check-input.ts-wrapper{border-color:var(--tblr-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked,select.tomselected.is-invalid+div.form-check-input.ts-wrapper:checked{background-color:var(--tblr-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus,select.tomselected.is-invalid+div.form-check-input.ts-wrapper:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label,select.tomselected.is-invalid+div.form-check-input.ts-wrapper~.form-check-label{color:var(--tblr-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.input-group>select.tomselected.is-invalid+div.form-control.ts-wrapper:not(:focus),.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.input-group>select.tomselected.is-invalid+div.form-select.ts-wrapper:not(:focus),.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>select.tomselected.is-invalid+div.form-floating.ts-wrapper:not(:focus-within){z-index:4}.btn{--tblr-btn-padding-x: .5rem;--tblr-btn-padding-y: .25rem;--tblr-btn-font-family: var(--tblr-body-font-family);--tblr-btn-font-size: .875rem;--tblr-btn-font-weight: var(--tblr-font-weight-medium);--tblr-btn-line-height: 1.25rem;--tblr-btn-color: var(--tblr-body-color);--tblr-btn-bg: transparent;--tblr-btn-border-width: var(--tblr-border-width);--tblr-btn-border-color: transparent;--tblr-btn-border-radius: var(--tblr-border-radius);--tblr-btn-hover-border-color: transparent;--tblr-btn-box-shadow: var(--tblr-shadow-input);--tblr-btn-disabled-opacity: .4;--tblr-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);font-family:var(--tblr-btn-font-family);font-size:var(--tblr-btn-font-size);font-weight:var(--tblr-btn-font-weight);line-height:var(--tblr-btn-line-height);color:var(--tblr-btn-color);text-align:center;vertical-align:middle;cursor:pointer;user-select:none;border:var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);border-radius:var(--tblr-btn-border-radius);background-color:var(--tblr-btn-bg);box-shadow:var(--tblr-btn-box-shadow);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--tblr-btn-hover-color);text-decoration:none;background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--tblr-btn-color);background-color:var(--tblr-btn-bg);border-color:var(--tblr-btn-border-color)}.btn:focus-visible{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--tblr-btn-active-color);background-color:var(--tblr-btn-active-bg);border-color:var(--tblr-btn-active-border-color);box-shadow:var(--tblr-btn-active-shadow)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--tblr-btn-active-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--tblr-btn-active-shadow),var(--tblr-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--tblr-btn-disabled-color);pointer-events:none;background-color:var(--tblr-btn-disabled-bg);border-color:var(--tblr-btn-disabled-border-color);opacity:var(--tblr-btn-disabled-opacity);box-shadow:none}.btn-link{--tblr-btn-font-weight: 400;--tblr-btn-color: var(--tblr-link-color);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-link-hover-color);--tblr-btn-hover-border-color: transparent;--tblr-btn-active-color: var(--tblr-link-hover-color);--tblr-btn-active-border-color: transparent;--tblr-btn-disabled-color: #4b5563;--tblr-btn-disabled-border-color: transparent;--tblr-btn-box-shadow: 0 0 0 #000;--tblr-btn-focus-shadow-rgb: 37, 151, 144;text-decoration:none}.btn-link:hover,.btn-link:focus-visible{text-decoration:underline}.btn-link:focus-visible{color:var(--tblr-btn-color)}.btn-link:hover{color:var(--tblr-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--tblr-btn-padding-y: .6875rem;--tblr-btn-padding-x: 1.5rem;--tblr-btn-font-size: 1rem;--tblr-btn-border-radius: var(--tblr-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--tblr-btn-padding-y: .3125rem;--tblr-btn-padding-x: .5rem;--tblr-btn-font-size: .75rem;--tblr-btn-border-radius: var(--tblr-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.dropdown-menu{--tblr-dropdown-zindex: 1000;--tblr-dropdown-min-width: 11rem;--tblr-dropdown-padding-x: 0;--tblr-dropdown-padding-y: .25rem;--tblr-dropdown-spacer: 1px;--tblr-dropdown-font-size: .875rem;--tblr-dropdown-color: var(--tblr-body-color);--tblr-dropdown-bg: var(--tblr-bg-surface);--tblr-dropdown-border-color: var(--tblr-border-color-translucent);--tblr-dropdown-border-radius: var(--tblr-border-radius);--tblr-dropdown-border-width: var(--tblr-border-width);--tblr-dropdown-inner-border-radius: calc(var(--tblr-border-radius) - var(--tblr-border-width));--tblr-dropdown-divider-bg: var(--tblr-border-color-translucent);--tblr-dropdown-divider-margin-y: var(--tblr-spacer-2);--tblr-dropdown-box-shadow: var(--tblr-shadow-dropdown);--tblr-dropdown-link-color: inherit;--tblr-dropdown-link-hover-color: inherit;--tblr-dropdown-link-hover-bg: rgba(var(--tblr-secondary-rgb), .08);--tblr-dropdown-link-active-color: var(--tblr-primary);--tblr-dropdown-link-active-bg: var(--tblr-active-bg);--tblr-dropdown-link-disabled-color: var(--tblr-tertiary-color);--tblr-dropdown-item-padding-x: .75rem;--tblr-dropdown-item-padding-y: .5rem;--tblr-dropdown-header-color: #4b5563;--tblr-dropdown-header-padding-x: .75rem;--tblr-dropdown-header-padding-y: .25rem;position:absolute;z-index:var(--tblr-dropdown-zindex);display:none;min-width:var(--tblr-dropdown-min-width);padding:var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x);margin:0;font-size:var(--tblr-dropdown-font-size);color:var(--tblr-dropdown-color);text-align:left;list-style:none;background-color:var(--tblr-dropdown-bg);background-clip:padding-box;border:var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color);border-radius:var(--tblr-dropdown-border-radius);box-shadow:var(--tblr-dropdown-box-shadow)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--tblr-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--tblr-dropdown-spacer)}.dropup .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(135deg)}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--tblr-dropdown-spacer)}.dropend .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-135deg)}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--tblr-dropdown-spacer)}.dropstart .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(45deg)}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--tblr-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--tblr-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--tblr-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--tblr-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--tblr-dropdown-link-hover-color);text-decoration:none;background-color:var(--tblr-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--tblr-dropdown-link-active-color);text-decoration:none;background-color:var(--tblr-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--tblr-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x);margin-bottom:0;font-size:.765625rem;color:var(--tblr-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);color:var(--tblr-dropdown-link-color)}.dropdown-menu-dark{--tblr-dropdown-color: #d1d5db;--tblr-dropdown-bg: #1f2937;--tblr-dropdown-border-color: var(--tblr-border-color-translucent);--tblr-dropdown-box-shadow: ;--tblr-dropdown-link-color: #d1d5db;--tblr-dropdown-link-hover-color: #ffffff;--tblr-dropdown-divider-bg: var(--tblr-border-color-translucent);--tblr-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--tblr-dropdown-link-active-color: var(--tblr-primary);--tblr-dropdown-link-active-bg: var(--tblr-active-bg);--tblr-dropdown-link-disabled-color: #6b7280;--tblr-dropdown-header-color: #6b7280}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--tblr-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(-1 * var(--tblr-border-width))}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group.show .dropdown-toggle{box-shadow:inset 0 3px 5px #00000020}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(-1 * var(--tblr-border-width))}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--tblr-nav-link-padding-x: .75rem;--tblr-nav-link-padding-y: .5rem;--tblr-nav-link-font-weight: ;--tblr-nav-link-color: var(--tblr-gray-500);--tblr-nav-link-hover-color: var(--tblr-link-hover-color);--tblr-nav-link-disabled-color: var(--tblr-disabled-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x);font-size:var(--tblr-nav-link-font-size);font-weight:var(--tblr-nav-link-font-weight);color:var(--tblr-nav-link-color);background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.nav-link:hover,.nav-link:focus{color:var(--tblr-nav-link-hover-color);text-decoration:none}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.nav-link.disabled,.nav-link:disabled{color:var(--tblr-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--tblr-nav-tabs-border-width: var(--tblr-border-width);--tblr-nav-tabs-border-color: var(--tblr-border-color);--tblr-nav-tabs-border-radius: var(--tblr-border-radius);--tblr-nav-tabs-link-hover-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);--tblr-nav-tabs-link-active-color: var(--tblr-body-color);--tblr-nav-tabs-link-active-bg: var(--tblr-body-bg);--tblr-nav-tabs-link-active-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);border-bottom:var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--tblr-nav-tabs-border-width));border:var(--tblr-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--tblr-nav-tabs-border-radius);border-top-right-radius:var(--tblr-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--tblr-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--tblr-nav-tabs-link-active-color);background-color:var(--tblr-nav-tabs-link-active-bg);border-color:var(--tblr-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--tblr-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--tblr-nav-pills-border-radius: var(--tblr-border-radius);--tblr-nav-pills-link-active-color: var(--tblr-primary);--tblr-nav-pills-link-active-bg: rgba(var(--tblr-secondary-rgb), .15)}.nav-pills .nav-link{border-radius:var(--tblr-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--tblr-nav-pills-link-active-color);background-color:var(--tblr-nav-pills-link-active-bg)}.nav-underline{--tblr-nav-underline-gap: 1rem;--tblr-nav-underline-border-width: .125rem;--tblr-nav-underline-link-active-color: var(--tblr-emphasis-color);gap:var(--tblr-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--tblr-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:600;color:var(--tblr-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--tblr-navbar-padding-x: 0;--tblr-navbar-padding-y: .25rem;--tblr-navbar-color: var(--tblr-secondary);--tblr-navbar-hover-color: var(--tblr-body-color);--tblr-navbar-disabled-color: var(--tblr-disabled-color);--tblr-navbar-active-color: var(--tblr-body-color);--tblr-navbar-brand-padding-y: .5rem;--tblr-navbar-brand-margin-end: 1rem;--tblr-navbar-brand-font-size: 1.25rem;--tblr-navbar-brand-color: var(--tblr-body-color);--tblr-navbar-brand-hover-color: var(--tblr-body-color);--tblr-navbar-nav-link-padding-x: .75rem;--tblr-navbar-toggler-padding-y: 0;--tblr-navbar-toggler-padding-x: 0;--tblr-navbar-toggler-font-size: 1rem;--tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2831, 41, 55, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--tblr-navbar-toggler-border-color: rgba(var(--tblr-emphasis-color-rgb), .15);--tblr-navbar-toggler-border-radius: var(--tblr-border-radius);--tblr-navbar-toggler-focus-width: 0;--tblr-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--tblr-navbar-brand-padding-y);padding-bottom:var(--tblr-navbar-brand-padding-y);margin-right:var(--tblr-navbar-brand-margin-end);font-size:var(--tblr-navbar-brand-font-size);color:var(--tblr-navbar-brand-color);white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--tblr-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--tblr-nav-link-padding-x: 0;--tblr-nav-link-padding-y: .5rem;--tblr-nav-link-font-weight: ;--tblr-nav-link-color: var(--tblr-navbar-color);--tblr-nav-link-hover-color: var(--tblr-navbar-hover-color);--tblr-nav-link-disabled-color: var(--tblr-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--tblr-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--tblr-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x);font-size:var(--tblr-navbar-toggler-font-size);line-height:1;color:var(--tblr-navbar-color);background-color:transparent;border:var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color);border-radius:var(--tblr-navbar-toggler-border-radius);transition:var(--tblr-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--tblr-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--tblr-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--tblr-scroll-height, 75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark],body[data-bs-theme=dark] .navbar[data-bs-theme=light]{--tblr-navbar-color: rgba(255, 255, 255, .7);--tblr-navbar-hover-color: rgba(255, 255, 255, .75);--tblr-navbar-disabled-color: var(--tblr-disabled-color);--tblr-navbar-active-color: #ffffff;--tblr-navbar-brand-color: #ffffff;--tblr-navbar-brand-hover-color: #ffffff;--tblr-navbar-toggler-border-color: rgba(255, 255, 255, .1);--tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon,body[data-bs-theme=dark] [data-bs-theme=light] .navbar-toggler-icon{--tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--tblr-card-spacer-y: 1rem;--tblr-card-spacer-x: 1.25rem;--tblr-card-title-spacer-y: 1.25rem;--tblr-card-title-color: ;--tblr-card-subtitle-color: ;--tblr-card-border-width: var(--tblr-border-width);--tblr-card-border-color: var(--tblr-border-color-translucent);--tblr-card-border-radius: var(--tblr-border-radius-lg);--tblr-card-box-shadow: var(--tblr-shadow-card);--tblr-card-inner-border-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));--tblr-card-cap-padding-y: 1rem;--tblr-card-cap-padding-x: 1.25rem;--tblr-card-cap-bg: var(--tblr-bg-surface-tertiary);--tblr-card-cap-color: inherit;--tblr-card-height: ;--tblr-card-color: inherit;--tblr-card-bg: var(--tblr-bg-surface);--tblr-card-img-overlay-padding: 1rem;--tblr-card-group-margin: 1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--tblr-card-height);color:var(--tblr-body-color);word-wrap:break-word;background-color:var(--tblr-card-bg);background-clip:border-box;border:var(--tblr-card-border-width) solid var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius);box-shadow:var(--tblr-card-box-shadow)}.card>hr,.card>.hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--tblr-card-spacer-y) var(--tblr-card-spacer-x);color:var(--tblr-card-color)}.card-title{margin-bottom:var(--tblr-card-title-spacer-y);color:var(--tblr-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--tblr-card-title-spacer-y));margin-bottom:0;color:var(--tblr-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:var(--tblr-card-spacer-x)}.card-header{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);margin-bottom:0;color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-bottom:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-header:first-child{border-radius:var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0}.card-footer{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-top:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-bottom:calc(-1 * var(--tblr-card-cap-padding-y));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--tblr-card-bg);border-bottom-color:var(--tblr-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--tblr-card-img-overlay-padding);border-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--tblr-card-group-margin)}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-bottom-left-radius:0}}.pagination{--tblr-pagination-padding-x: .25rem;--tblr-pagination-padding-y: calc(.25rem + 1px) ;--tblr-pagination-font-size: .875rem;--tblr-pagination-color: var(--tblr-body-color);--tblr-pagination-bg: transparent;--tblr-pagination-border-width: 1px;--tblr-pagination-border-color: transparent;--tblr-pagination-border-radius: var(--tblr-border-radius);--tblr-pagination-hover-color: var(--tblr-link-hover-color);--tblr-pagination-hover-bg: var(--tblr-active-bg);--tblr-pagination-hover-border-color: var(--tblr-pagination-border-color);--tblr-pagination-focus-color: var(--tblr-link-hover-color);--tblr-pagination-focus-bg: var(--tblr-secondary-bg);--tblr-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25);--tblr-pagination-active-color: #ffffff;--tblr-pagination-active-bg: var(--tblr-primary);--tblr-pagination-active-border-color: var(--tblr-primary);--tblr-pagination-disabled-color: var(--tblr-disabled-color);--tblr-pagination-disabled-bg: transparent;--tblr-pagination-disabled-border-color: var(--tblr-pagination-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x);font-size:var(--tblr-pagination-font-size);color:var(--tblr-pagination-color);background-color:var(--tblr-pagination-bg);border:var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--tblr-pagination-hover-color);text-decoration:none;background-color:var(--tblr-pagination-hover-bg);border-color:var(--tblr-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--tblr-pagination-focus-color);background-color:var(--tblr-pagination-focus-bg);outline:0;box-shadow:var(--tblr-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--tblr-pagination-active-color);background-color:var(--tblr-pagination-active-bg);border-color:var(--tblr-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--tblr-pagination-disabled-color);pointer-events:none;background-color:var(--tblr-pagination-disabled-bg);border-color:var(--tblr-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--tblr-pagination-border-radius);border-bottom-left-radius:var(--tblr-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--tblr-pagination-border-radius);border-bottom-right-radius:var(--tblr-pagination-border-radius)}.pagination-lg{--tblr-pagination-padding-x: 1.5rem;--tblr-pagination-padding-y: .75rem;--tblr-pagination-font-size: 1.09375rem;--tblr-pagination-border-radius: var(--tblr-border-radius-lg)}.pagination-sm{--tblr-pagination-padding-x: .5rem;--tblr-pagination-padding-y: .25rem;--tblr-pagination-font-size: .765625rem;--tblr-pagination-border-radius: var(--tblr-border-radius-sm)}@keyframes progress-bar-stripes{0%{background-position-x:var(--tblr-progress-height)}}.progress,.progress-stacked{--tblr-progress-height: .5rem;--tblr-progress-font-size: .65625rem;--tblr-progress-bg: var(--tblr-border-color);--tblr-progress-border-radius: var(--tblr-border-radius);--tblr-progress-box-shadow: var(--tblr-box-shadow-inset);--tblr-progress-bar-color: #ffffff;--tblr-progress-bar-bg: var(--tblr-primary);--tblr-progress-bar-transition: width .6s ease;display:flex;height:var(--tblr-progress-height);overflow:hidden;font-size:var(--tblr-progress-font-size);background-color:var(--tblr-progress-bg);border-radius:var(--tblr-progress-border-radius);box-shadow:var(--tblr-progress-box-shadow)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--tblr-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--tblr-progress-bar-bg);transition:var(--tblr-progress-bar-transition)}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--tblr-progress-height) var(--tblr-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--tblr-list-group-color: var(--tblr-body-color);--tblr-list-group-bg: inherit;--tblr-list-group-border-color: var(--tblr-border-color);--tblr-list-group-border-width: var(--tblr-border-width);--tblr-list-group-border-radius: var(--tblr-border-radius);--tblr-list-group-item-padding-x: 1.25rem;--tblr-list-group-item-padding-y: 1rem;--tblr-list-group-action-color: inherit;--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: rgba(var(--tblr-secondary-rgb), .08);--tblr-list-group-action-active-color: var(--tblr-body-color);--tblr-list-group-action-active-bg: var(--tblr-secondary-bg);--tblr-list-group-disabled-color: var(--tblr-secondary-color);--tblr-list-group-disabled-bg: inherit;--tblr-list-group-active-color: inherit;--tblr-list-group-active-bg: var(--tblr-active-bg);--tblr-list-group-active-border-color: var(--tblr-border-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--tblr-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x);color:var(--tblr-list-group-color);background-color:var(--tblr-list-group-bg);border:var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--tblr-list-group-disabled-color);pointer-events:none;background-color:var(--tblr-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--tblr-list-group-active-color);background-color:var(--tblr-list-group-active-bg);border-color:var(--tblr-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--tblr-list-group-border-width));border-top-width:var(--tblr-list-group-border-width)}.list-group-item-action{width:100%;color:var(--tblr-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--tblr-list-group-action-hover-color);text-decoration:none;background-color:var(--tblr-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--tblr-list-group-action-active-color);background-color:var(--tblr-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}@media(min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media(min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media(min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media(min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media(min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--tblr-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--tblr-list-group-color: var(--tblr-primary-text-emphasis);--tblr-list-group-bg: var(--tblr-primary-bg-subtle);--tblr-list-group-border-color: var(--tblr-primary-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-primary-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-primary-border-subtle);--tblr-list-group-active-color: var(--tblr-primary-bg-subtle);--tblr-list-group-active-bg: var(--tblr-primary-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-primary-text-emphasis)}.list-group-item-secondary{--tblr-list-group-color: var(--tblr-secondary-text-emphasis);--tblr-list-group-bg: var(--tblr-secondary-bg-subtle);--tblr-list-group-border-color: var(--tblr-secondary-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-secondary-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-secondary-border-subtle);--tblr-list-group-active-color: var(--tblr-secondary-bg-subtle);--tblr-list-group-active-bg: var(--tblr-secondary-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-secondary-text-emphasis)}.list-group-item-success{--tblr-list-group-color: var(--tblr-success-text-emphasis);--tblr-list-group-bg: var(--tblr-success-bg-subtle);--tblr-list-group-border-color: var(--tblr-success-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-success-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-success-border-subtle);--tblr-list-group-active-color: var(--tblr-success-bg-subtle);--tblr-list-group-active-bg: var(--tblr-success-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-success-text-emphasis)}.list-group-item-info{--tblr-list-group-color: var(--tblr-info-text-emphasis);--tblr-list-group-bg: var(--tblr-info-bg-subtle);--tblr-list-group-border-color: var(--tblr-info-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-info-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-info-border-subtle);--tblr-list-group-active-color: var(--tblr-info-bg-subtle);--tblr-list-group-active-bg: var(--tblr-info-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-info-text-emphasis)}.list-group-item-warning{--tblr-list-group-color: var(--tblr-warning-text-emphasis);--tblr-list-group-bg: var(--tblr-warning-bg-subtle);--tblr-list-group-border-color: var(--tblr-warning-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-warning-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-warning-border-subtle);--tblr-list-group-active-color: var(--tblr-warning-bg-subtle);--tblr-list-group-active-bg: var(--tblr-warning-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-warning-text-emphasis)}.list-group-item-danger{--tblr-list-group-color: var(--tblr-danger-text-emphasis);--tblr-list-group-bg: var(--tblr-danger-bg-subtle);--tblr-list-group-border-color: var(--tblr-danger-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-danger-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-danger-border-subtle);--tblr-list-group-active-color: var(--tblr-danger-bg-subtle);--tblr-list-group-active-bg: var(--tblr-danger-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-danger-text-emphasis)}.list-group-item-light{--tblr-list-group-color: var(--tblr-light-text-emphasis);--tblr-list-group-bg: var(--tblr-light-bg-subtle);--tblr-list-group-border-color: var(--tblr-light-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-light-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-light-border-subtle);--tblr-list-group-active-color: var(--tblr-light-bg-subtle);--tblr-list-group-active-bg: var(--tblr-light-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-light-text-emphasis)}.list-group-item-dark{--tblr-list-group-color: var(--tblr-dark-text-emphasis);--tblr-list-group-bg: var(--tblr-dark-bg-subtle);--tblr-list-group-border-color: var(--tblr-dark-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-dark-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-dark-border-subtle);--tblr-list-group-active-color: var(--tblr-dark-bg-subtle);--tblr-list-group-active-bg: var(--tblr-dark-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-dark-text-emphasis)}.list-group-item-muted{--tblr-list-group-color: var(--tblr-muted-text-emphasis);--tblr-list-group-bg: var(--tblr-muted-bg-subtle);--tblr-list-group-border-color: var(--tblr-muted-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-muted-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-muted-border-subtle);--tblr-list-group-active-color: var(--tblr-muted-bg-subtle);--tblr-list-group-active-bg: var(--tblr-muted-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-muted-text-emphasis)}.list-group-item-blue{--tblr-list-group-color: var(--tblr-blue-text-emphasis);--tblr-list-group-bg: var(--tblr-blue-bg-subtle);--tblr-list-group-border-color: var(--tblr-blue-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-blue-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-blue-border-subtle);--tblr-list-group-active-color: var(--tblr-blue-bg-subtle);--tblr-list-group-active-bg: var(--tblr-blue-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-blue-text-emphasis)}.list-group-item-azure{--tblr-list-group-color: var(--tblr-azure-text-emphasis);--tblr-list-group-bg: var(--tblr-azure-bg-subtle);--tblr-list-group-border-color: var(--tblr-azure-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-azure-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-azure-border-subtle);--tblr-list-group-active-color: var(--tblr-azure-bg-subtle);--tblr-list-group-active-bg: var(--tblr-azure-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-azure-text-emphasis)}.list-group-item-indigo{--tblr-list-group-color: var(--tblr-indigo-text-emphasis);--tblr-list-group-bg: var(--tblr-indigo-bg-subtle);--tblr-list-group-border-color: var(--tblr-indigo-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-indigo-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-indigo-border-subtle);--tblr-list-group-active-color: var(--tblr-indigo-bg-subtle);--tblr-list-group-active-bg: var(--tblr-indigo-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-indigo-text-emphasis)}.list-group-item-purple{--tblr-list-group-color: var(--tblr-purple-text-emphasis);--tblr-list-group-bg: var(--tblr-purple-bg-subtle);--tblr-list-group-border-color: var(--tblr-purple-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-purple-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-purple-border-subtle);--tblr-list-group-active-color: var(--tblr-purple-bg-subtle);--tblr-list-group-active-bg: var(--tblr-purple-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-purple-text-emphasis)}.list-group-item-pink{--tblr-list-group-color: var(--tblr-pink-text-emphasis);--tblr-list-group-bg: var(--tblr-pink-bg-subtle);--tblr-list-group-border-color: var(--tblr-pink-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-pink-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-pink-border-subtle);--tblr-list-group-active-color: var(--tblr-pink-bg-subtle);--tblr-list-group-active-bg: var(--tblr-pink-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-pink-text-emphasis)}.list-group-item-red{--tblr-list-group-color: var(--tblr-red-text-emphasis);--tblr-list-group-bg: var(--tblr-red-bg-subtle);--tblr-list-group-border-color: var(--tblr-red-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-red-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-red-border-subtle);--tblr-list-group-active-color: var(--tblr-red-bg-subtle);--tblr-list-group-active-bg: var(--tblr-red-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-red-text-emphasis)}.list-group-item-orange{--tblr-list-group-color: var(--tblr-orange-text-emphasis);--tblr-list-group-bg: var(--tblr-orange-bg-subtle);--tblr-list-group-border-color: var(--tblr-orange-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-orange-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-orange-border-subtle);--tblr-list-group-active-color: var(--tblr-orange-bg-subtle);--tblr-list-group-active-bg: var(--tblr-orange-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-orange-text-emphasis)}.list-group-item-yellow{--tblr-list-group-color: var(--tblr-yellow-text-emphasis);--tblr-list-group-bg: var(--tblr-yellow-bg-subtle);--tblr-list-group-border-color: var(--tblr-yellow-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-yellow-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-yellow-border-subtle);--tblr-list-group-active-color: var(--tblr-yellow-bg-subtle);--tblr-list-group-active-bg: var(--tblr-yellow-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-yellow-text-emphasis)}.list-group-item-lime{--tblr-list-group-color: var(--tblr-lime-text-emphasis);--tblr-list-group-bg: var(--tblr-lime-bg-subtle);--tblr-list-group-border-color: var(--tblr-lime-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-lime-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-lime-border-subtle);--tblr-list-group-active-color: var(--tblr-lime-bg-subtle);--tblr-list-group-active-bg: var(--tblr-lime-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-lime-text-emphasis)}.list-group-item-green{--tblr-list-group-color: var(--tblr-green-text-emphasis);--tblr-list-group-bg: var(--tblr-green-bg-subtle);--tblr-list-group-border-color: var(--tblr-green-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-green-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-green-border-subtle);--tblr-list-group-active-color: var(--tblr-green-bg-subtle);--tblr-list-group-active-bg: var(--tblr-green-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-green-text-emphasis)}.list-group-item-teal{--tblr-list-group-color: var(--tblr-teal-text-emphasis);--tblr-list-group-bg: var(--tblr-teal-bg-subtle);--tblr-list-group-border-color: var(--tblr-teal-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-teal-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-teal-border-subtle);--tblr-list-group-active-color: var(--tblr-teal-bg-subtle);--tblr-list-group-active-bg: var(--tblr-teal-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-teal-text-emphasis)}.list-group-item-cyan{--tblr-list-group-color: var(--tblr-cyan-text-emphasis);--tblr-list-group-bg: var(--tblr-cyan-bg-subtle);--tblr-list-group-border-color: var(--tblr-cyan-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-cyan-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-cyan-border-subtle);--tblr-list-group-active-color: var(--tblr-cyan-bg-subtle);--tblr-list-group-active-bg: var(--tblr-cyan-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-cyan-text-emphasis)}.toast{--tblr-toast-zindex: 1090;--tblr-toast-padding-x: .75rem;--tblr-toast-padding-y: .5rem;--tblr-toast-spacing: calc(var(--tblr-page-padding) * 2);--tblr-toast-max-width: 350px;--tblr-toast-font-size: .875rem;--tblr-toast-color: ;--tblr-toast-bg: var(--tblr-bg-surface);--tblr-toast-border-width: var(--tblr-border-width);--tblr-toast-border-color: var(--tblr-border-color);--tblr-toast-border-radius: var(--tblr-border-radius);--tblr-toast-box-shadow: var(--tblr-box-shadow);--tblr-toast-header-color: var(--tblr-gray-500);--tblr-toast-header-bg: rgba(var(--tblr-body-bg-rgb), .85);--tblr-toast-header-border-color: var(--tblr-border-color);width:var(--tblr-toast-max-width);max-width:100%;font-size:var(--tblr-toast-font-size);color:var(--tblr-toast-color);pointer-events:auto;background-color:var(--tblr-toast-bg);background-clip:padding-box;border:var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);box-shadow:var(--tblr-toast-box-shadow);border-radius:var(--tblr-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--tblr-toast-zindex: 1090;position:absolute;z-index:var(--tblr-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--tblr-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);color:var(--tblr-toast-header-color);background-color:var(--tblr-toast-header-bg);background-clip:padding-box;border-bottom:var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);border-top-left-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));border-top-right-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--tblr-toast-padding-x));margin-left:var(--tblr-toast-padding-x)}.toast-body{padding:var(--tblr-toast-padding-x);word-wrap:break-word}.modal{--tblr-modal-zindex: 1055;--tblr-modal-width: 540px;--tblr-modal-padding: 1.5rem;--tblr-modal-margin: .5rem;--tblr-modal-color: var(--tblr-body-color);--tblr-modal-bg: var(--tblr-bg-surface);--tblr-modal-border-color: transparent;--tblr-modal-border-width: var(--tblr-border-width);--tblr-modal-border-radius: var(--tblr-border-radius-lg);--tblr-modal-box-shadow: var(--tblr-box-shadow-sm);--tblr-modal-inner-border-radius: calc(var(--tblr-modal-border-radius) - 1px);--tblr-modal-header-padding-x: 1.5rem;--tblr-modal-header-padding-y: 1.5rem;--tblr-modal-header-padding: 1.5rem;--tblr-modal-header-border-color: var(--tblr-border-color);--tblr-modal-header-border-width: var(--tblr-border-width);--tblr-modal-title-line-height: 1.4285714286;--tblr-modal-footer-gap: .75rem;--tblr-modal-footer-bg: var(--tblr-bg-surface-tertiary);--tblr-modal-footer-border-color: var(--tblr-border-color);--tblr-modal-footer-border-width: var(--tblr-border-width);position:fixed;top:0;left:0;z-index:var(--tblr-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--tblr-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translateY(-1rem);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--tblr-modal-color);pointer-events:auto;background-color:var(--tblr-modal-bg);background-clip:padding-box;border:var(--tblr-modal-border-width) solid var(--tblr-modal-border-color);border-radius:var(--tblr-modal-border-radius);box-shadow:var(--tblr-modal-box-shadow);outline:0}.modal-backdrop{--tblr-backdrop-zindex: 1050;--tblr-backdrop-bg: var(--tblr-gray-800);--tblr-backdrop-opacity: .24;position:fixed;top:0;left:0;z-index:var(--tblr-backdrop-zindex);width:100vw;height:100vh;background-color:var(--tblr-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--tblr-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--tblr-modal-header-padding);border-bottom:var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color);border-top-left-radius:var(--tblr-modal-inner-border-radius);border-top-right-radius:var(--tblr-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--tblr-modal-header-padding-y) * .5) calc(var(--tblr-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-modal-header-padding-y));margin-right:calc(-.5 * var(--tblr-modal-header-padding-x));margin-bottom:calc(-.5 * var(--tblr-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--tblr-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--tblr-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * .5);background-color:var(--tblr-modal-footer-bg);border-top:var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color);border-bottom-right-radius:var(--tblr-modal-inner-border-radius);border-bottom-left-radius:var(--tblr-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--tblr-modal-footer-gap) * .5)}@media(min-width:576px){.modal{--tblr-modal-margin: 1.75rem;--tblr-modal-box-shadow: var(--tblr-box-shadow)}.modal-dialog{max-width:var(--tblr-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--tblr-modal-width: 380px}}@media(min-width:992px){.modal-lg,.modal-xl{--tblr-modal-width: 720px}}@media(min-width:1200px){.modal-xl{--tblr-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--tblr-tooltip-zindex: 1080;--tblr-tooltip-max-width: 200px;--tblr-tooltip-padding-x: var(--tblr-spacer-3);--tblr-tooltip-padding-y: var(--tblr-spacer-1);--tblr-tooltip-margin: ;--tblr-tooltip-font-size: .765625rem;--tblr-tooltip-color: var(--tblr-text-inverted);--tblr-tooltip-bg: var(--tblr-bg-surface-inverted);--tblr-tooltip-border-radius: var(--tblr-border-radius);--tblr-tooltip-opacity: .9;--tblr-tooltip-arrow-width: .8rem;--tblr-tooltip-arrow-height: .4rem;z-index:var(--tblr-tooltip-zindex);display:block;margin:var(--tblr-tooltip-margin);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--tblr-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--tblr-tooltip-arrow-width);height:var(--tblr-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-top-color:var(--tblr-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-right-color:var(--tblr-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-bottom-color:var(--tblr-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) 0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-left-color:var(--tblr-tooltip-bg)}.tooltip-inner{max-width:var(--tblr-tooltip-max-width);padding:var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x);color:var(--tblr-tooltip-color);text-align:center;background-color:var(--tblr-tooltip-bg);border-radius:var(--tblr-tooltip-border-radius)}.popover{--tblr-popover-zindex: 1070;--tblr-popover-max-width: 276px;--tblr-popover-font-size: .765625rem;--tblr-popover-bg: var(--tblr-bg-surface);--tblr-popover-border-width: var(--tblr-border-width);--tblr-popover-border-color: var(--tblr-border-color);--tblr-popover-border-radius: var(--tblr-border-radius-lg);--tblr-popover-inner-border-radius: calc(var(--tblr-border-radius-lg) - var(--tblr-border-width));--tblr-popover-box-shadow: var(--tblr-shadow-lg);--tblr-popover-header-padding-x: 1rem;--tblr-popover-header-padding-y: .5rem;--tblr-popover-header-font-size: .875rem;--tblr-popover-header-color: inherit;--tblr-popover-header-bg: transparent;--tblr-popover-body-padding-x: .5rem;--tblr-popover-body-padding-y: .5rem;--tblr-popover-body-color: inherit;--tblr-popover-arrow-width: 1rem;--tblr-popover-arrow-height: .5rem;--tblr-popover-arrow-border: var(--tblr-popover-border-color);z-index:var(--tblr-popover-zindex);display:block;max-width:var(--tblr-popover-max-width);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-popover-font-size);word-wrap:break-word;background-color:var(--tblr-popover-bg);background-clip:padding-box;border:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-radius:var(--tblr-popover-border-radius);box-shadow:var(--tblr-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--tblr-popover-arrow-width);height:var(--tblr-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--tblr-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--tblr-popover-border-width);border-top-color:var(--tblr-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--tblr-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--tblr-popover-border-width);border-right-color:var(--tblr-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--tblr-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--tblr-popover-border-width);border-bottom-color:var(--tblr-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--tblr-popover-arrow-width);margin-left:calc(-.5 * var(--tblr-popover-arrow-width));content:"";border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--tblr-popover-arrow-width) * .5) 0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--tblr-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--tblr-popover-border-width);border-left-color:var(--tblr-popover-bg)}.popover-header{padding:var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x);margin-bottom:0;font-size:var(--tblr-popover-header-font-size);color:var(--tblr-popover-header-color);background-color:var(--tblr-popover-header-bg);border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-top-left-radius:var(--tblr-popover-inner-border-radius);border-top-right-radius:var(--tblr-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x);color:var(--tblr-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;filter:var(--tblr-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion:reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--tblr-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--tblr-carousel-caption-color);text-align:center}.carousel-dark{--tblr-carousel-indicator-active-bg: #000000;--tblr-carousel-caption-color: #000000;--tblr-carousel-control-icon-filter: invert(1) grayscale(100)}:root,[data-bs-theme=light]{--tblr-carousel-indicator-active-bg: #ffffff;--tblr-carousel-caption-color: #ffffff;--tblr-carousel-control-icon-filter: }[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{--tblr-carousel-indicator-active-bg: #000000;--tblr-carousel-caption-color: #000000;--tblr-carousel-control-icon-filter: invert(1) grayscale(100)}.spinner-grow,.spinner-border{display:inline-block;flex-shrink:0;width:var(--tblr-spinner-width);height:var(--tblr-spinner-height);vertical-align:var(--tblr-spinner-vertical-align);border-radius:50%;animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--tblr-spinner-width: 1.5rem;--tblr-spinner-height: 1.5rem;--tblr-spinner-vertical-align: -.125em;--tblr-spinner-border-width: 2px;--tblr-spinner-animation-speed: .75s;--tblr-spinner-animation-name: spinner-border;border:var(--tblr-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--tblr-spinner-width: 1rem;--tblr-spinner-height: 1rem;--tblr-spinner-border-width: 1px}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--tblr-spinner-width: 1.5rem;--tblr-spinner-height: 1.5rem;--tblr-spinner-vertical-align: -.125em;--tblr-spinner-animation-speed: .75s;--tblr-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--tblr-spinner-width: 1rem;--tblr-spinner-height: 1rem}@media(prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--tblr-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--tblr-offcanvas-zindex: 1045;--tblr-offcanvas-width: 400px;--tblr-offcanvas-height: 30vh;--tblr-offcanvas-padding-x: 1.5rem;--tblr-offcanvas-padding-y: 1.5rem;--tblr-offcanvas-color: var(--tblr-body-color);--tblr-offcanvas-bg: var(--tblr-bg-surface);--tblr-offcanvas-border-width: var(--tblr-border-width);--tblr-offcanvas-border-color: var(--tblr-border-color);--tblr-offcanvas-box-shadow: var(--tblr-box-shadow-sm);--tblr-offcanvas-transition: transform .3s ease-in-out;--tblr-offcanvas-title-line-height: 1.4285714286}@media(max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:575.98px)and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media(max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width:576px){.offcanvas-sm{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:767.98px)and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media(max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width:768px){.offcanvas-md{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:991.98px)and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media(max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width:992px){.offcanvas-lg{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:1199.98px)and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media(max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width:1200px){.offcanvas-xl{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:1399.98px)and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media(max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width:1400px){.offcanvas-xxl{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:var(--tblr-gray-800)}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.24}.offcanvas-header{display:flex;align-items:center;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--tblr-offcanvas-padding-y) * .5) calc(var(--tblr-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-right:calc(-.5 * var(--tblr-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--tblr-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.2}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.1}}.placeholder-wave{mask-image:linear-gradient(130deg,#000 55%,#000000e6,#000 95%);mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{mask-position:-200% 0%}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--tblr-box-shadow)!important}.shadow-sm{box-shadow:var(--tblr-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--tblr-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--tblr-focus-ring-color: rgba(var(--tblr-primary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-secondary{--tblr-focus-ring-color: rgba(var(--tblr-secondary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-success{--tblr-focus-ring-color: rgba(var(--tblr-success-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-info{--tblr-focus-ring-color: rgba(var(--tblr-info-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-warning{--tblr-focus-ring-color: rgba(var(--tblr-warning-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-danger{--tblr-focus-ring-color: rgba(var(--tblr-danger-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-light{--tblr-focus-ring-color: rgba(var(--tblr-light-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-dark{--tblr-focus-ring-color: rgba(var(--tblr-dark-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-muted{--tblr-focus-ring-color: rgba(var(--tblr-muted-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-blue{--tblr-focus-ring-color: rgba(var(--tblr-blue-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-azure{--tblr-focus-ring-color: rgba(var(--tblr-azure-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-indigo{--tblr-focus-ring-color: rgba(var(--tblr-indigo-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-purple{--tblr-focus-ring-color: rgba(var(--tblr-purple-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-pink{--tblr-focus-ring-color: rgba(var(--tblr-pink-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-red{--tblr-focus-ring-color: rgba(var(--tblr-red-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-orange{--tblr-focus-ring-color: rgba(var(--tblr-orange-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-yellow{--tblr-focus-ring-color: rgba(var(--tblr-yellow-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-lime{--tblr-focus-ring-color: rgba(var(--tblr-lime-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-green{--tblr-focus-ring-color: rgba(var(--tblr-green-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-teal{--tblr-focus-ring-color: rgba(var(--tblr-teal-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-cyan{--tblr-focus-ring-color: rgba(var(--tblr-cyan-rgb), var(--tblr-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-wide{border:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-0{border:0!important}.border-top{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-top-wide{border-top:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-end-wide{border-right:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-bottom-wide{border-bottom:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-start-wide{border-left:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-start-0{border-left:0!important}.border-red{--tblr-border-opacity: 1;border-color:rgba(var(--tblr-red-rgb),var(--tblr-border-opacity))!important}.border-green{--tblr-border-opacity: 1;border-color:rgba(var(--tblr-green-rgb),var(--tblr-border-opacity))!important}.border-primary-subtle{border-color:var(--tblr-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--tblr-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--tblr-success-border-subtle)!important}.border-info-subtle{border-color:var(--tblr-info-border-subtle)!important}.border-warning-subtle{border-color:var(--tblr-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--tblr-danger-border-subtle)!important}.border-light-subtle{border-color:var(--tblr-light-border-subtle)!important}.border-dark-subtle{border-color:var(--tblr-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--tblr-border-opacity: .1}.border-opacity-25{--tblr-border-opacity: .25}.border-opacity-50{--tblr-border-opacity: .5}.border-opacity-75{--tblr-border-opacity: .75}.border-opacity-100{--tblr-border-opacity: 1}.w-25{width:25%!important}.w-33{width:33.33333%!important}.w-50{width:50%!important}.w-66{width:66.66666%!important}.w-75{width:75%!important}.w-100{width:100%!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-33{height:33.33333%!important}.h-50{height:50%!important}.h-66{height:66.66666%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:2rem!important}.m-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-6{margin-top:2.5rem!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:2rem!important}.me-6{margin-right:2.5rem!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:2rem!important}.mb-6{margin-bottom:2.5rem!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:2rem!important}.ms-6{margin-left:2.5rem!important}.ms-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-2rem!important}.m-n6{margin:-2.5rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-2rem!important}.mt-n6{margin-top:-2.5rem!important}.me-n1{margin-right:-.25rem!important}.me-n2{margin-right:-.5rem!important}.me-n3{margin-right:-1rem!important}.me-n4{margin-right:-1.5rem!important}.me-n5{margin-right:-2rem!important}.me-n6{margin-right:-2.5rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-2rem!important}.mb-n6{margin-bottom:-2.5rem!important}.ms-n1{margin-left:-.25rem!important}.ms-n2{margin-left:-.5rem!important}.ms-n3{margin-left:-1rem!important}.ms-n4{margin-left:-1.5rem!important}.ms-n5{margin-left:-2rem!important}.ms-n6{margin-left:-2.5rem!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:2rem!important}.p-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-6{padding-top:2.5rem!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:2rem!important}.pe-6{padding-right:2.5rem!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:2rem!important}.pb-6{padding-bottom:2.5rem!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:2rem!important}.ps-6{padding-left:2.5rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:2rem!important}.gap-6{gap:2.5rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:2rem!important}.row-gap-6{row-gap:2.5rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:2rem!important}.column-gap-6{column-gap:2.5rem!important}.font-monospace{font-family:var(--tblr-font-monospace)!important}.fs-1{font-size:1.5rem!important}.fs-2{font-size:1.25rem!important}.fs-3{font-size:1rem!important}.fs-4{font-size:.875rem!important}.fs-5{font-size:.75rem!important}.fs-6{font-size:.625rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold,.fw-bold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.1428571429!important}.lh-base{line-height:1.4285714286!important}.lh-lg{line-height:1.7142857143!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--tblr-text-opacity: 1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-secondary{--tblr-text-opacity: 1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-success{--tblr-text-opacity: 1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-info{--tblr-text-opacity: 1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-warning{--tblr-text-opacity: 1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-danger{--tblr-text-opacity: 1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-light{--tblr-text-opacity: 1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-dark{--tblr-text-opacity: 1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-muted{--tblr-text-opacity: 1;color:var(--tblr-secondary-color)!important}.text-blue{--tblr-text-opacity: 1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-azure{--tblr-text-opacity: 1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-indigo{--tblr-text-opacity: 1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-purple{--tblr-text-opacity: 1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-pink{--tblr-text-opacity: 1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-red{--tblr-text-opacity: 1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-orange{--tblr-text-opacity: 1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-yellow{--tblr-text-opacity: 1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-lime{--tblr-text-opacity: 1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-green{--tblr-text-opacity: 1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-teal{--tblr-text-opacity: 1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-cyan{--tblr-text-opacity: 1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-black{--tblr-text-opacity: 1;color:rgba(var(--tblr-black-rgb),var(--tblr-text-opacity))!important}.text-white{--tblr-text-opacity: 1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important}.text-body{--tblr-text-opacity: 1;color:rgba(var(--tblr-body-color-rgb),var(--tblr-text-opacity))!important}.text-black-50{--tblr-text-opacity: 1;color:#00000080!important}.text-white-50{--tblr-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--tblr-text-opacity: 1;color:var(--tblr-secondary-color)!important}.text-body-tertiary{--tblr-text-opacity: 1;color:var(--tblr-tertiary-color)!important}.text-body-emphasis{--tblr-text-opacity: 1;color:var(--tblr-emphasis-color)!important}.text-reset{--tblr-text-opacity: 1;color:inherit!important}.text-opacity-25{--tblr-text-opacity: .25}.text-opacity-50{--tblr-text-opacity: .5}.text-opacity-75{--tblr-text-opacity: .75}.text-opacity-100{--tblr-text-opacity: 1}.text-primary-emphasis{color:var(--tblr-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--tblr-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--tblr-success-text-emphasis)!important}.text-info-emphasis{color:var(--tblr-info-text-emphasis)!important}.text-warning-emphasis{color:var(--tblr-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--tblr-danger-text-emphasis)!important}.text-light-emphasis{color:var(--tblr-light-text-emphasis)!important}.text-dark-emphasis{color:var(--tblr-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--tblr-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--tblr-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--tblr-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--tblr-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--tblr-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-secondary{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-success{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-success-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-info{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-info-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-warning{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-danger{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-light{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-light-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-dark{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-muted{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-blue{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-azure{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-indigo{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-purple{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-pink{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-red{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-red-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-orange{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-yellow{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-lime{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-green{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-green-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-teal{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-cyan{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity))!important}.link-underline{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--tblr-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--tblr-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--tblr-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--tblr-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--tblr-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--tblr-link-underline-opacity: 1}.bg-primary{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-success{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-info{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-warning{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-danger{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-light{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-dark{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-muted{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-blue{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-azure{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-indigo{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-purple{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-pink{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-red{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-orange{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-yellow{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-lime{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-green{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-teal{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-cyan{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-black{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-black-rgb),var(--tblr-bg-opacity))!important}.bg-white{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-body{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-body-bg-rgb),var(--tblr-bg-opacity))!important}.bg-transparent{--tblr-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-secondary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-body-tertiary{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-tertiary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-opacity-10{--tblr-bg-opacity: .1}.bg-opacity-25{--tblr-bg-opacity: .25}.bg-opacity-50{--tblr-bg-opacity: .5}.bg-opacity-75{--tblr-bg-opacity: .75}.bg-opacity-100{--tblr-bg-opacity: 1}.bg-primary-subtle{background-color:var(--tblr-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--tblr-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--tblr-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--tblr-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--tblr-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--tblr-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--tblr-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--tblr-dark-bg-subtle)!important}.bg-gradient{background-image:var(--tblr-gradient)!important}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--tblr-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--tblr-border-radius-sm)!important}.rounded-2{border-radius:var(--tblr-border-radius)!important}.rounded-3{border-radius:var(--tblr-border-radius-lg)!important}.rounded-4{border-radius:var(--tblr-border-radius-xl)!important}.rounded-5{border-radius:var(--tblr-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--tblr-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--tblr-border-radius-sm)!important;border-top-right-radius:var(--tblr-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--tblr-border-radius-lg)!important;border-top-right-radius:var(--tblr-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--tblr-border-radius-xl)!important;border-top-right-radius:var(--tblr-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--tblr-border-radius-xxl)!important;border-top-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--tblr-border-radius-pill)!important;border-top-right-radius:var(--tblr-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--tblr-border-radius-sm)!important;border-bottom-right-radius:var(--tblr-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--tblr-border-radius-lg)!important;border-bottom-right-radius:var(--tblr-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--tblr-border-radius-xl)!important;border-bottom-right-radius:var(--tblr-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--tblr-border-radius-xxl)!important;border-bottom-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--tblr-border-radius-pill)!important;border-bottom-right-radius:var(--tblr-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--tblr-border-radius-sm)!important;border-bottom-left-radius:var(--tblr-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--tblr-border-radius-lg)!important;border-bottom-left-radius:var(--tblr-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--tblr-border-radius-xl)!important;border-bottom-left-radius:var(--tblr-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--tblr-border-radius-xxl)!important;border-bottom-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--tblr-border-radius-pill)!important;border-bottom-left-radius:var(--tblr-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--tblr-border-radius-sm)!important;border-top-left-radius:var(--tblr-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--tblr-border-radius-lg)!important;border-top-left-radius:var(--tblr-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--tblr-border-radius-xl)!important;border-top-left-radius:var(--tblr-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--tblr-border-radius-xxl)!important;border-top-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--tblr-border-radius-pill)!important;border-top-left-radius:var(--tblr-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}.object-contain{object-fit:contain!important}.object-cover{object-fit:cover!important}.object-fill{object-fit:fill!important}.object-scale-down{object-fit:scale-down!important}.object-none{object-fit:none!important}.cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-zoom-in{cursor:zoom-in!important}.cursor-zoom-out{cursor:zoom-out!important}.cursor-default{cursor:default!important}.cursor-none{cursor:none!important}.cursor-help{cursor:help!important}.cursor-progress{cursor:progress!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-v-text{cursor:vertical-text!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-crosshair{cursor:crosshair!important}.border-x{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important;border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-x-wide{border-left:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important;border-right:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-x-0{border-left:0!important;border-right:0!important}.border-y{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important;border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-y-wide{border-top:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important;border-bottom:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-y-0{border-top:0!important;border-bottom:0!important}.columns-2{columns:2!important}.columns-3{columns:3!important}.columns-4{columns:4!important}.bg-pattern-transparent{background:url('data:image/svg+xml;charset=UTF-8,') repeat center/16px 16px!important}.bg-gradient{background:linear-gradient(var(--tblr-gradient-direction, to right),var(--tblr-gradient-stops, var(--tblr-gradient-from, transparent), var(--tblr-gradient-to, transparent))) no-repeat!important}.bg-gradient-to-t{--tblr-gradient-direction: to top !important}.bg-gradient-to-te{--tblr-gradient-direction: to top right !important}.bg-gradient-to-e{--tblr-gradient-direction: to right !important}.bg-gradient-to-be{--tblr-gradient-direction: to bottom right !important}.bg-gradient-to-b{--tblr-gradient-direction: to bottom !important}.bg-gradient-to-bs{--tblr-gradient-direction: to bottom left !important}.bg-gradient-to-s{--tblr-gradient-direction: to left !important}.bg-gradient-to-ts{--tblr-gradient-direction: to top left !important}.table-auto{table-layout:auto!important}.table-fixed{table-layout:fixed!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:2rem!important}.m-sm-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-sm-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-sm-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-sm-6{margin-top:2.5rem!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:2rem!important}.me-sm-6{margin-right:2.5rem!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:2rem!important}.mb-sm-6{margin-bottom:2.5rem!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:2rem!important}.ms-sm-6{margin-left:2.5rem!important}.ms-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-2rem!important}.m-sm-n6{margin:-2.5rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-sm-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-sm-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-2rem!important}.mt-sm-n6{margin-top:-2.5rem!important}.me-sm-n1{margin-right:-.25rem!important}.me-sm-n2{margin-right:-.5rem!important}.me-sm-n3{margin-right:-1rem!important}.me-sm-n4{margin-right:-1.5rem!important}.me-sm-n5{margin-right:-2rem!important}.me-sm-n6{margin-right:-2.5rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-2rem!important}.mb-sm-n6{margin-bottom:-2.5rem!important}.ms-sm-n1{margin-left:-.25rem!important}.ms-sm-n2{margin-left:-.5rem!important}.ms-sm-n3{margin-left:-1rem!important}.ms-sm-n4{margin-left:-1.5rem!important}.ms-sm-n5{margin-left:-2rem!important}.ms-sm-n6{margin-left:-2.5rem!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:2rem!important}.p-sm-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-sm-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-sm-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-sm-6{padding-top:2.5rem!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:2rem!important}.pe-sm-6{padding-right:2.5rem!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:2rem!important}.pb-sm-6{padding-bottom:2.5rem!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:2rem!important}.ps-sm-6{padding-left:2.5rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:2rem!important}.gap-sm-6{gap:2.5rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:2rem!important}.row-gap-sm-6{row-gap:2.5rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:2rem!important}.column-gap-sm-6{column-gap:2.5rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}.columns-sm-2{columns:2!important}.columns-sm-3{columns:3!important}.columns-sm-4{columns:4!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:2rem!important}.m-md-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-md-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-md-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-md-6{margin-top:2.5rem!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:2rem!important}.me-md-6{margin-right:2.5rem!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:2rem!important}.mb-md-6{margin-bottom:2.5rem!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:2rem!important}.ms-md-6{margin-left:2.5rem!important}.ms-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-2rem!important}.m-md-n6{margin:-2.5rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-md-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-md-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-2rem!important}.mt-md-n6{margin-top:-2.5rem!important}.me-md-n1{margin-right:-.25rem!important}.me-md-n2{margin-right:-.5rem!important}.me-md-n3{margin-right:-1rem!important}.me-md-n4{margin-right:-1.5rem!important}.me-md-n5{margin-right:-2rem!important}.me-md-n6{margin-right:-2.5rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-2rem!important}.mb-md-n6{margin-bottom:-2.5rem!important}.ms-md-n1{margin-left:-.25rem!important}.ms-md-n2{margin-left:-.5rem!important}.ms-md-n3{margin-left:-1rem!important}.ms-md-n4{margin-left:-1.5rem!important}.ms-md-n5{margin-left:-2rem!important}.ms-md-n6{margin-left:-2.5rem!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:2rem!important}.p-md-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-md-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-md-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-md-6{padding-top:2.5rem!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:2rem!important}.pe-md-6{padding-right:2.5rem!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:2rem!important}.pb-md-6{padding-bottom:2.5rem!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:2rem!important}.ps-md-6{padding-left:2.5rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:2rem!important}.gap-md-6{gap:2.5rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:2rem!important}.row-gap-md-6{row-gap:2.5rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:2rem!important}.column-gap-md-6{column-gap:2.5rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}.columns-md-2{columns:2!important}.columns-md-3{columns:3!important}.columns-md-4{columns:4!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:2rem!important}.m-lg-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-lg-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-lg-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-lg-6{margin-top:2.5rem!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:2rem!important}.me-lg-6{margin-right:2.5rem!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:2rem!important}.mb-lg-6{margin-bottom:2.5rem!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:2rem!important}.ms-lg-6{margin-left:2.5rem!important}.ms-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-2rem!important}.m-lg-n6{margin:-2.5rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-lg-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-lg-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-2rem!important}.mt-lg-n6{margin-top:-2.5rem!important}.me-lg-n1{margin-right:-.25rem!important}.me-lg-n2{margin-right:-.5rem!important}.me-lg-n3{margin-right:-1rem!important}.me-lg-n4{margin-right:-1.5rem!important}.me-lg-n5{margin-right:-2rem!important}.me-lg-n6{margin-right:-2.5rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-2rem!important}.mb-lg-n6{margin-bottom:-2.5rem!important}.ms-lg-n1{margin-left:-.25rem!important}.ms-lg-n2{margin-left:-.5rem!important}.ms-lg-n3{margin-left:-1rem!important}.ms-lg-n4{margin-left:-1.5rem!important}.ms-lg-n5{margin-left:-2rem!important}.ms-lg-n6{margin-left:-2.5rem!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:2rem!important}.p-lg-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-lg-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-lg-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-lg-6{padding-top:2.5rem!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:2rem!important}.pe-lg-6{padding-right:2.5rem!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:2rem!important}.pb-lg-6{padding-bottom:2.5rem!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:2rem!important}.ps-lg-6{padding-left:2.5rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:2rem!important}.gap-lg-6{gap:2.5rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:2rem!important}.row-gap-lg-6{row-gap:2.5rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:2rem!important}.column-gap-lg-6{column-gap:2.5rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}.columns-lg-2{columns:2!important}.columns-lg-3{columns:3!important}.columns-lg-4{columns:4!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:2rem!important}.m-xl-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-xl-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-xl-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-xl-6{margin-top:2.5rem!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:2rem!important}.me-xl-6{margin-right:2.5rem!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:2rem!important}.mb-xl-6{margin-bottom:2.5rem!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:2rem!important}.ms-xl-6{margin-left:2.5rem!important}.ms-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-2rem!important}.m-xl-n6{margin:-2.5rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-xl-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-xl-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-2rem!important}.mt-xl-n6{margin-top:-2.5rem!important}.me-xl-n1{margin-right:-.25rem!important}.me-xl-n2{margin-right:-.5rem!important}.me-xl-n3{margin-right:-1rem!important}.me-xl-n4{margin-right:-1.5rem!important}.me-xl-n5{margin-right:-2rem!important}.me-xl-n6{margin-right:-2.5rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-2rem!important}.mb-xl-n6{margin-bottom:-2.5rem!important}.ms-xl-n1{margin-left:-.25rem!important}.ms-xl-n2{margin-left:-.5rem!important}.ms-xl-n3{margin-left:-1rem!important}.ms-xl-n4{margin-left:-1.5rem!important}.ms-xl-n5{margin-left:-2rem!important}.ms-xl-n6{margin-left:-2.5rem!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:2rem!important}.p-xl-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-xl-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-xl-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-xl-6{padding-top:2.5rem!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:2rem!important}.pe-xl-6{padding-right:2.5rem!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:2rem!important}.pb-xl-6{padding-bottom:2.5rem!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:2rem!important}.ps-xl-6{padding-left:2.5rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:2rem!important}.gap-xl-6{gap:2.5rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:2rem!important}.row-gap-xl-6{row-gap:2.5rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:2rem!important}.column-gap-xl-6{column-gap:2.5rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}.columns-xl-2{columns:2!important}.columns-xl-3{columns:3!important}.columns-xl-4{columns:4!important}}@media(min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:2rem!important}.m-xxl-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-xxl-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-xxl-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-xxl-6{margin-top:2.5rem!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:2rem!important}.me-xxl-6{margin-right:2.5rem!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:2rem!important}.mb-xxl-6{margin-bottom:2.5rem!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:2rem!important}.ms-xxl-6{margin-left:2.5rem!important}.ms-xxl-auto{margin-left:auto!important}.m-xxl-n1{margin:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.m-xxl-n3{margin:-1rem!important}.m-xxl-n4{margin:-1.5rem!important}.m-xxl-n5{margin:-2rem!important}.m-xxl-n6{margin:-2.5rem!important}.mx-xxl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xxl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xxl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xxl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xxl-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-xxl-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-xxl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xxl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xxl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xxl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xxl-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-xxl-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-xxl-n1{margin-top:-.25rem!important}.mt-xxl-n2{margin-top:-.5rem!important}.mt-xxl-n3{margin-top:-1rem!important}.mt-xxl-n4{margin-top:-1.5rem!important}.mt-xxl-n5{margin-top:-2rem!important}.mt-xxl-n6{margin-top:-2.5rem!important}.me-xxl-n1{margin-right:-.25rem!important}.me-xxl-n2{margin-right:-.5rem!important}.me-xxl-n3{margin-right:-1rem!important}.me-xxl-n4{margin-right:-1.5rem!important}.me-xxl-n5{margin-right:-2rem!important}.me-xxl-n6{margin-right:-2.5rem!important}.mb-xxl-n1{margin-bottom:-.25rem!important}.mb-xxl-n2{margin-bottom:-.5rem!important}.mb-xxl-n3{margin-bottom:-1rem!important}.mb-xxl-n4{margin-bottom:-1.5rem!important}.mb-xxl-n5{margin-bottom:-2rem!important}.mb-xxl-n6{margin-bottom:-2.5rem!important}.ms-xxl-n1{margin-left:-.25rem!important}.ms-xxl-n2{margin-left:-.5rem!important}.ms-xxl-n3{margin-left:-1rem!important}.ms-xxl-n4{margin-left:-1.5rem!important}.ms-xxl-n5{margin-left:-2rem!important}.ms-xxl-n6{margin-left:-2.5rem!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:2rem!important}.p-xxl-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-xxl-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-xxl-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-xxl-6{padding-top:2.5rem!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:2rem!important}.pe-xxl-6{padding-right:2.5rem!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:2rem!important}.pb-xxl-6{padding-bottom:2.5rem!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:2rem!important}.ps-xxl-6{padding-left:2.5rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:2rem!important}.gap-xxl-6{gap:2.5rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:2rem!important}.row-gap-xxl-6{row-gap:2.5rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:2rem!important}.column-gap-xxl-6{column-gap:2.5rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}.columns-xxl-2{columns:2!important}.columns-xxl-3{columns:3!important}.columns-xxl-4{columns:4!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}:root,:host{--tblr-font-monospace: Roboto Mono;--tblr-font-sans-serif: Inter, system-ui, sans-serif;--tblr-font-serif: Georgia, Times New Roman, times, serif;--tblr-font-comic: Comic Sans MS, Comic Sans, Chalkboard SE, Comic Neue, sans-serif, cursive;--tblr-gray-50: #f9fafb;--tblr-gray-100: #f3f4f6;--tblr-gray-200: #e5e7eb;--tblr-gray-300: #d1d5db;--tblr-gray-400: #9ca3af;--tblr-gray-500: #6b7280;--tblr-gray-600: #4b5563;--tblr-gray-700: #374151;--tblr-gray-800: #1f2937;--tblr-gray-900: #111827;--tblr-gray-950: #030712;--tblr-white: #ffffff;--tblr-black: #000000;--tblr-brand: #00857D;--tblr-primary: #00857D;--tblr-primary-rgb: 0, 133, 125;--tblr-primary-fg: var(--tblr-light);--tblr-primary-darken: #007871;--tblr-primary-darken: color-mix(in oklab, var(--tblr-primary), transparent 20%);--tblr-primary-lt: #e6f3f2;--tblr-primary-lt: color-mix(in oklab, var(--tblr-primary) 10%, transparent);--tblr-primary-200: color-mix(in oklab, var(--tblr-primary) 20%, transparent);--tblr-primary-lt-rgb: 230, 243, 242;--tblr-secondary: #6b7280;--tblr-secondary-rgb: 107, 114, 128;--tblr-secondary-fg: var(--tblr-light);--tblr-secondary-darken: #606773;--tblr-secondary-darken: color-mix(in oklab, var(--tblr-secondary), transparent 20%);--tblr-secondary-lt: #f0f1f2;--tblr-secondary-lt: color-mix(in oklab, var(--tblr-secondary) 10%, transparent);--tblr-secondary-200: color-mix(in oklab, var(--tblr-secondary) 20%, transparent);--tblr-secondary-lt-rgb: 240, 241, 242;--tblr-success: #2fb344;--tblr-success-rgb: 47, 179, 68;--tblr-success-fg: var(--tblr-light);--tblr-success-darken: #2aa13d;--tblr-success-darken: color-mix(in oklab, var(--tblr-success), transparent 20%);--tblr-success-lt: #eaf7ec;--tblr-success-lt: color-mix(in oklab, var(--tblr-success) 10%, transparent);--tblr-success-200: color-mix(in oklab, var(--tblr-success) 20%, transparent);--tblr-success-lt-rgb: 234, 247, 236;--tblr-info: #4299e1;--tblr-info-rgb: 66, 153, 225;--tblr-info-fg: var(--tblr-light);--tblr-info-darken: #3b8acb;--tblr-info-darken: color-mix(in oklab, var(--tblr-info), transparent 20%);--tblr-info-lt: #ecf5fc;--tblr-info-lt: color-mix(in oklab, var(--tblr-info) 10%, transparent);--tblr-info-200: color-mix(in oklab, var(--tblr-info) 20%, transparent);--tblr-info-lt-rgb: 236, 245, 252;--tblr-warning: #f59f00;--tblr-warning-rgb: 245, 159, 0;--tblr-warning-fg: var(--tblr-light);--tblr-warning-darken: #dd8f00;--tblr-warning-darken: color-mix(in oklab, var(--tblr-warning), transparent 20%);--tblr-warning-lt: #fef5e6;--tblr-warning-lt: color-mix(in oklab, var(--tblr-warning) 10%, transparent);--tblr-warning-200: color-mix(in oklab, var(--tblr-warning) 20%, transparent);--tblr-warning-lt-rgb: 254, 245, 230;--tblr-danger: #d63939;--tblr-danger-rgb: 214, 57, 57;--tblr-danger-fg: var(--tblr-light);--tblr-danger-darken: #c13333;--tblr-danger-darken: color-mix(in oklab, var(--tblr-danger), transparent 20%);--tblr-danger-lt: #fbebeb;--tblr-danger-lt: color-mix(in oklab, var(--tblr-danger) 10%, transparent);--tblr-danger-200: color-mix(in oklab, var(--tblr-danger) 20%, transparent);--tblr-danger-lt-rgb: 251, 235, 235;--tblr-light: #f9fafb;--tblr-light-rgb: 249, 250, 251;--tblr-light-fg: var(--tblr-dark);--tblr-light-darken: #e0e1e2;--tblr-light-darken: color-mix(in oklab, var(--tblr-light), transparent 20%);--tblr-light-lt: #feffff;--tblr-light-lt: color-mix(in oklab, var(--tblr-light) 10%, transparent);--tblr-light-200: color-mix(in oklab, var(--tblr-light) 20%, transparent);--tblr-light-lt-rgb: 254, 255, 255;--tblr-dark: #1f2937;--tblr-dark-rgb: 31, 41, 55;--tblr-dark-fg: var(--tblr-light);--tblr-dark-darken: #1c2532;--tblr-dark-darken: color-mix(in oklab, var(--tblr-dark), transparent 20%);--tblr-dark-lt: #e9eaeb;--tblr-dark-lt: color-mix(in oklab, var(--tblr-dark) 10%, transparent);--tblr-dark-200: color-mix(in oklab, var(--tblr-dark) 20%, transparent);--tblr-dark-lt-rgb: 233, 234, 235;--tblr-muted: #6b7280;--tblr-muted-rgb: 107, 114, 128;--tblr-muted-fg: var(--tblr-light);--tblr-muted-darken: #606773;--tblr-muted-darken: color-mix(in oklab, var(--tblr-muted), transparent 20%);--tblr-muted-lt: #f0f1f2;--tblr-muted-lt: color-mix(in oklab, var(--tblr-muted) 10%, transparent);--tblr-muted-200: color-mix(in oklab, var(--tblr-muted) 20%, transparent);--tblr-muted-lt-rgb: 240, 241, 242;--tblr-blue: #066fd1;--tblr-blue-rgb: 6, 111, 209;--tblr-blue-fg: var(--tblr-light);--tblr-blue-darken: #0564bc;--tblr-blue-darken: color-mix(in oklab, var(--tblr-blue), transparent 20%);--tblr-blue-lt: #e6f1fa;--tblr-blue-lt: color-mix(in oklab, var(--tblr-blue) 10%, transparent);--tblr-blue-200: color-mix(in oklab, var(--tblr-blue) 20%, transparent);--tblr-blue-lt-rgb: 230, 241, 250;--tblr-azure: #4299e1;--tblr-azure-rgb: 66, 153, 225;--tblr-azure-fg: var(--tblr-light);--tblr-azure-darken: #3b8acb;--tblr-azure-darken: color-mix(in oklab, var(--tblr-azure), transparent 20%);--tblr-azure-lt: #ecf5fc;--tblr-azure-lt: color-mix(in oklab, var(--tblr-azure) 10%, transparent);--tblr-azure-200: color-mix(in oklab, var(--tblr-azure) 20%, transparent);--tblr-azure-lt-rgb: 236, 245, 252;--tblr-indigo: #4263eb;--tblr-indigo-rgb: 66, 99, 235;--tblr-indigo-fg: var(--tblr-light);--tblr-indigo-darken: #3b59d4;--tblr-indigo-darken: color-mix(in oklab, var(--tblr-indigo), transparent 20%);--tblr-indigo-lt: #eceffd;--tblr-indigo-lt: color-mix(in oklab, var(--tblr-indigo) 10%, transparent);--tblr-indigo-200: color-mix(in oklab, var(--tblr-indigo) 20%, transparent);--tblr-indigo-lt-rgb: 236, 239, 253;--tblr-purple: #ae3ec9;--tblr-purple-rgb: 174, 62, 201;--tblr-purple-fg: var(--tblr-light);--tblr-purple-darken: #9d38b5;--tblr-purple-darken: color-mix(in oklab, var(--tblr-purple), transparent 20%);--tblr-purple-lt: #f7ecfa;--tblr-purple-lt: color-mix(in oklab, var(--tblr-purple) 10%, transparent);--tblr-purple-200: color-mix(in oklab, var(--tblr-purple) 20%, transparent);--tblr-purple-lt-rgb: 247, 236, 250;--tblr-pink: #d6336c;--tblr-pink-rgb: 214, 51, 108;--tblr-pink-fg: var(--tblr-light);--tblr-pink-darken: #c12e61;--tblr-pink-darken: color-mix(in oklab, var(--tblr-pink), transparent 20%);--tblr-pink-lt: #fbebf0;--tblr-pink-lt: color-mix(in oklab, var(--tblr-pink) 10%, transparent);--tblr-pink-200: color-mix(in oklab, var(--tblr-pink) 20%, transparent);--tblr-pink-lt-rgb: 251, 235, 240;--tblr-red: #d63939;--tblr-red-rgb: 214, 57, 57;--tblr-red-fg: var(--tblr-light);--tblr-red-darken: #c13333;--tblr-red-darken: color-mix(in oklab, var(--tblr-red), transparent 20%);--tblr-red-lt: #fbebeb;--tblr-red-lt: color-mix(in oklab, var(--tblr-red) 10%, transparent);--tblr-red-200: color-mix(in oklab, var(--tblr-red) 20%, transparent);--tblr-red-lt-rgb: 251, 235, 235;--tblr-orange: #f76707;--tblr-orange-rgb: 247, 103, 7;--tblr-orange-fg: var(--tblr-light);--tblr-orange-darken: #de5d06;--tblr-orange-darken: color-mix(in oklab, var(--tblr-orange), transparent 20%);--tblr-orange-lt: #fef0e6;--tblr-orange-lt: color-mix(in oklab, var(--tblr-orange) 10%, transparent);--tblr-orange-200: color-mix(in oklab, var(--tblr-orange) 20%, transparent);--tblr-orange-lt-rgb: 254, 240, 230;--tblr-yellow: #f59f00;--tblr-yellow-rgb: 245, 159, 0;--tblr-yellow-fg: var(--tblr-light);--tblr-yellow-darken: #dd8f00;--tblr-yellow-darken: color-mix(in oklab, var(--tblr-yellow), transparent 20%);--tblr-yellow-lt: #fef5e6;--tblr-yellow-lt: color-mix(in oklab, var(--tblr-yellow) 10%, transparent);--tblr-yellow-200: color-mix(in oklab, var(--tblr-yellow) 20%, transparent);--tblr-yellow-lt-rgb: 254, 245, 230;--tblr-lime: #74b816;--tblr-lime-rgb: 116, 184, 22;--tblr-lime-fg: var(--tblr-light);--tblr-lime-darken: #68a614;--tblr-lime-darken: color-mix(in oklab, var(--tblr-lime), transparent 20%);--tblr-lime-lt: #f1f8e8;--tblr-lime-lt: color-mix(in oklab, var(--tblr-lime) 10%, transparent);--tblr-lime-200: color-mix(in oklab, var(--tblr-lime) 20%, transparent);--tblr-lime-lt-rgb: 241, 248, 232;--tblr-green: #2fb344;--tblr-green-rgb: 47, 179, 68;--tblr-green-fg: var(--tblr-light);--tblr-green-darken: #2aa13d;--tblr-green-darken: color-mix(in oklab, var(--tblr-green), transparent 20%);--tblr-green-lt: #eaf7ec;--tblr-green-lt: color-mix(in oklab, var(--tblr-green) 10%, transparent);--tblr-green-200: color-mix(in oklab, var(--tblr-green) 20%, transparent);--tblr-green-lt-rgb: 234, 247, 236;--tblr-teal: #0ca678;--tblr-teal-rgb: 12, 166, 120;--tblr-teal-fg: var(--tblr-light);--tblr-teal-darken: #0b956c;--tblr-teal-darken: color-mix(in oklab, var(--tblr-teal), transparent 20%);--tblr-teal-lt: #e7f6f2;--tblr-teal-lt: color-mix(in oklab, var(--tblr-teal) 10%, transparent);--tblr-teal-200: color-mix(in oklab, var(--tblr-teal) 20%, transparent);--tblr-teal-lt-rgb: 231, 246, 242;--tblr-cyan: #17a2b8;--tblr-cyan-rgb: 23, 162, 184;--tblr-cyan-fg: var(--tblr-light);--tblr-cyan-darken: #1592a6;--tblr-cyan-darken: color-mix(in oklab, var(--tblr-cyan), transparent 20%);--tblr-cyan-lt: #e8f6f8;--tblr-cyan-lt: color-mix(in oklab, var(--tblr-cyan) 10%, transparent);--tblr-cyan-200: color-mix(in oklab, var(--tblr-cyan) 20%, transparent);--tblr-cyan-lt-rgb: 232, 246, 248;--tblr-x: #000000;--tblr-x-rgb: 0, 0, 0;--tblr-x-fg: var(--tblr-light);--tblr-x-darken: black;--tblr-x-darken: color-mix(in oklab, var(--tblr-x), transparent 20%);--tblr-x-lt: #e6e6e6;--tblr-x-lt: color-mix(in oklab, var(--tblr-x) 10%, transparent);--tblr-x-200: color-mix(in oklab, var(--tblr-x) 20%, transparent);--tblr-x-lt-rgb: 230, 230, 230;--tblr-facebook: #1877f2;--tblr-facebook-rgb: 24, 119, 242;--tblr-facebook-fg: var(--tblr-light);--tblr-facebook-darken: #166bda;--tblr-facebook-darken: color-mix(in oklab, var(--tblr-facebook), transparent 20%);--tblr-facebook-lt: #e8f1fe;--tblr-facebook-lt: color-mix(in oklab, var(--tblr-facebook) 10%, transparent);--tblr-facebook-200: color-mix(in oklab, var(--tblr-facebook) 20%, transparent);--tblr-facebook-lt-rgb: 232, 241, 254;--tblr-twitter: #1da1f2;--tblr-twitter-rgb: 29, 161, 242;--tblr-twitter-fg: var(--tblr-light);--tblr-twitter-darken: #1a91da;--tblr-twitter-darken: color-mix(in oklab, var(--tblr-twitter), transparent 20%);--tblr-twitter-lt: #e8f6fe;--tblr-twitter-lt: color-mix(in oklab, var(--tblr-twitter) 10%, transparent);--tblr-twitter-200: color-mix(in oklab, var(--tblr-twitter) 20%, transparent);--tblr-twitter-lt-rgb: 232, 246, 254;--tblr-linkedin: #0a66c2;--tblr-linkedin-rgb: 10, 102, 194;--tblr-linkedin-fg: var(--tblr-light);--tblr-linkedin-darken: #095caf;--tblr-linkedin-darken: color-mix(in oklab, var(--tblr-linkedin), transparent 20%);--tblr-linkedin-lt: #e7f0f9;--tblr-linkedin-lt: color-mix(in oklab, var(--tblr-linkedin) 10%, transparent);--tblr-linkedin-200: color-mix(in oklab, var(--tblr-linkedin) 20%, transparent);--tblr-linkedin-lt-rgb: 231, 240, 249;--tblr-google: #dc4e41;--tblr-google-rgb: 220, 78, 65;--tblr-google-fg: var(--tblr-light);--tblr-google-darken: #c6463b;--tblr-google-darken: color-mix(in oklab, var(--tblr-google), transparent 20%);--tblr-google-lt: #fcedec;--tblr-google-lt: color-mix(in oklab, var(--tblr-google) 10%, transparent);--tblr-google-200: color-mix(in oklab, var(--tblr-google) 20%, transparent);--tblr-google-lt-rgb: 252, 237, 236;--tblr-youtube: #ff0000;--tblr-youtube-rgb: 255, 0, 0;--tblr-youtube-fg: var(--tblr-light);--tblr-youtube-darken: #e60000;--tblr-youtube-darken: color-mix(in oklab, var(--tblr-youtube), transparent 20%);--tblr-youtube-lt: #ffe6e6;--tblr-youtube-lt: color-mix(in oklab, var(--tblr-youtube) 10%, transparent);--tblr-youtube-200: color-mix(in oklab, var(--tblr-youtube) 20%, transparent);--tblr-youtube-lt-rgb: 255, 230, 230;--tblr-vimeo: #1ab7ea;--tblr-vimeo-rgb: 26, 183, 234;--tblr-vimeo-fg: var(--tblr-light);--tblr-vimeo-darken: #17a5d3;--tblr-vimeo-darken: color-mix(in oklab, var(--tblr-vimeo), transparent 20%);--tblr-vimeo-lt: #e8f8fd;--tblr-vimeo-lt: color-mix(in oklab, var(--tblr-vimeo) 10%, transparent);--tblr-vimeo-200: color-mix(in oklab, var(--tblr-vimeo) 20%, transparent);--tblr-vimeo-lt-rgb: 232, 248, 253;--tblr-dribbble: #ea4c89;--tblr-dribbble-rgb: 234, 76, 137;--tblr-dribbble-fg: var(--tblr-light);--tblr-dribbble-darken: #d3447b;--tblr-dribbble-darken: color-mix(in oklab, var(--tblr-dribbble), transparent 20%);--tblr-dribbble-lt: #fdedf3;--tblr-dribbble-lt: color-mix(in oklab, var(--tblr-dribbble) 10%, transparent);--tblr-dribbble-200: color-mix(in oklab, var(--tblr-dribbble) 20%, transparent);--tblr-dribbble-lt-rgb: 253, 237, 243;--tblr-github: #181717;--tblr-github-rgb: 24, 23, 23;--tblr-github-fg: var(--tblr-light);--tblr-github-darken: #161515;--tblr-github-darken: color-mix(in oklab, var(--tblr-github), transparent 20%);--tblr-github-lt: #e8e8e8;--tblr-github-lt: color-mix(in oklab, var(--tblr-github) 10%, transparent);--tblr-github-200: color-mix(in oklab, var(--tblr-github) 20%, transparent);--tblr-github-lt-rgb: 232, 232, 232;--tblr-instagram: #e4405f;--tblr-instagram-rgb: 228, 64, 95;--tblr-instagram-fg: var(--tblr-light);--tblr-instagram-darken: #cd3a56;--tblr-instagram-darken: color-mix(in oklab, var(--tblr-instagram), transparent 20%);--tblr-instagram-lt: #fcecef;--tblr-instagram-lt: color-mix(in oklab, var(--tblr-instagram) 10%, transparent);--tblr-instagram-200: color-mix(in oklab, var(--tblr-instagram) 20%, transparent);--tblr-instagram-lt-rgb: 252, 236, 239;--tblr-pinterest: #bd081c;--tblr-pinterest-rgb: 189, 8, 28;--tblr-pinterest-fg: var(--tblr-light);--tblr-pinterest-darken: #aa0719;--tblr-pinterest-darken: color-mix(in oklab, var(--tblr-pinterest), transparent 20%);--tblr-pinterest-lt: #f8e6e8;--tblr-pinterest-lt: color-mix(in oklab, var(--tblr-pinterest) 10%, transparent);--tblr-pinterest-200: color-mix(in oklab, var(--tblr-pinterest) 20%, transparent);--tblr-pinterest-lt-rgb: 248, 230, 232;--tblr-vk: #6383a8;--tblr-vk-rgb: 99, 131, 168;--tblr-vk-fg: var(--tblr-light);--tblr-vk-darken: #597697;--tblr-vk-darken: color-mix(in oklab, var(--tblr-vk), transparent 20%);--tblr-vk-lt: #eff3f6;--tblr-vk-lt: color-mix(in oklab, var(--tblr-vk) 10%, transparent);--tblr-vk-200: color-mix(in oklab, var(--tblr-vk) 20%, transparent);--tblr-vk-lt-rgb: 239, 243, 246;--tblr-rss: #ffa500;--tblr-rss-rgb: 255, 165, 0;--tblr-rss-fg: var(--tblr-light);--tblr-rss-darken: #e69500;--tblr-rss-darken: color-mix(in oklab, var(--tblr-rss), transparent 20%);--tblr-rss-lt: #fff6e6;--tblr-rss-lt: color-mix(in oklab, var(--tblr-rss) 10%, transparent);--tblr-rss-200: color-mix(in oklab, var(--tblr-rss) 20%, transparent);--tblr-rss-lt-rgb: 255, 246, 230;--tblr-flickr: #0063dc;--tblr-flickr-rgb: 0, 99, 220;--tblr-flickr-fg: var(--tblr-light);--tblr-flickr-darken: #0059c6;--tblr-flickr-darken: color-mix(in oklab, var(--tblr-flickr), transparent 20%);--tblr-flickr-lt: #e6effc;--tblr-flickr-lt: color-mix(in oklab, var(--tblr-flickr) 10%, transparent);--tblr-flickr-200: color-mix(in oklab, var(--tblr-flickr) 20%, transparent);--tblr-flickr-lt-rgb: 230, 239, 252;--tblr-bitbucket: #0052cc;--tblr-bitbucket-rgb: 0, 82, 204;--tblr-bitbucket-fg: var(--tblr-light);--tblr-bitbucket-darken: #004ab8;--tblr-bitbucket-darken: color-mix(in oklab, var(--tblr-bitbucket), transparent 20%);--tblr-bitbucket-lt: #e6eefa;--tblr-bitbucket-lt: color-mix(in oklab, var(--tblr-bitbucket) 10%, transparent);--tblr-bitbucket-200: color-mix(in oklab, var(--tblr-bitbucket) 20%, transparent);--tblr-bitbucket-lt-rgb: 230, 238, 250;--tblr-tabler: #066fd1;--tblr-tabler-rgb: 6, 111, 209;--tblr-tabler-fg: var(--tblr-light);--tblr-tabler-darken: #0564bc;--tblr-tabler-darken: color-mix(in oklab, var(--tblr-tabler), transparent 20%);--tblr-tabler-lt: #e6f1fa;--tblr-tabler-lt: color-mix(in oklab, var(--tblr-tabler) 10%, transparent);--tblr-tabler-200: color-mix(in oklab, var(--tblr-tabler) 20%, transparent);--tblr-tabler-lt-rgb: 230, 241, 250;--tblr-gray-50-fg: var(--tblr-body-color);--tblr-gray-100-fg: var(--tblr-body-color);--tblr-gray-200-fg: var(--tblr-body-color);--tblr-gray-300-fg: var(--tblr-body-color);--tblr-gray-400-fg: var(--tblr-white);--tblr-gray-500-fg: var(--tblr-white);--tblr-gray-600-fg: var(--tblr-white);--tblr-gray-700-fg: var(--tblr-white);--tblr-gray-800-fg: var(--tblr-white);--tblr-gray-900-fg: var(--tblr-white);--tblr-gray-950-fg: var(--tblr-white);--tblr-spacer-0: 0;--tblr-spacer-1: .25rem;--tblr-spacer-2: .5rem;--tblr-spacer-3: 1rem;--tblr-spacer-4: 1.5rem;--tblr-spacer-5: 2rem;--tblr-spacer-6: 2.5rem;--tblr-font-weight-light: 300;--tblr-font-weight-normal: 400;--tblr-font-weight-medium: 500;--tblr-font-weight-bold: 600;--tblr-font-weight-black: 700;--tblr-font-weight-headings: var(--tblr-font-weight-bold);--tblr-font-size-h1: 1.5rem;--tblr-font-size-h2: 1.25rem;--tblr-font-size-h3: 1rem;--tblr-font-size-h4: .875rem;--tblr-font-size-h5: .75rem;--tblr-font-size-h6: .625rem;--tblr-line-height-h1: 2rem;--tblr-line-height-h2: 1.75rem;--tblr-line-height-h3: 1.5rem;--tblr-line-height-h4: 1.25rem;--tblr-line-height-h5: 1rem;--tblr-line-height-h6: 1rem;--tblr-shadow: rgba(var(--tblr-body-color-rgb), .04) 0 2px 4px 0;--tblr-shadow-border: inset 0 0 0 1px var(--tblr-border-color-translucent);--tblr-shadow-transparent: 0 0 0 0 transparent;--tblr-shadow-input: 0 1px 1px rgba(var(--tblr-body-color-rgb), .06);--tblr-shadow-card: 0 0 4px rgba(var(--tblr-body-color-rgb), .04);--tblr-shadow-card-hover: rgba(var(--tblr-body-color-rgb), .16) 0 2px 16px 0;--tblr-shadow-dropdown: 0 16px 24px 2px rgba(0, 0, 0, .07), 0 6px 30px 5px rgba(0, 0, 0, .06), 0 8px 10px -5px rgba(0, 0, 0, .1);--tblr-border-radius-scale: 1;--tblr-border-radius-0: calc(0 * var(--tblr-border-radius-scale, 1));--tblr-border-radius-sm: calc(4px * var(--tblr-border-radius-scale, 1));--tblr-border-radius-md: calc(6px * var(--tblr-border-radius-scale, 1));--tblr-border-radius-lg: calc(8px * var(--tblr-border-radius-scale, 1));--tblr-border-radius-pill: calc(100rem * var(--tblr-border-radius-scale, 1));--tblr-border-radius: var(--tblr-border-radius-md);--tblr-backdrop-opacity: 24%;--tblr-backdrop-bg: var(--tblr-bg-surface-dark);--tblr-backdrop-bg-dark: color-mix(in srgb, var(--tblr-color-dark), transparent var(--tblr-backdrop-opacity));--tblr-backdrop-bg-light: color-mix(in srgb, var(--tblr-color-light), transparent var(--tblr-backdrop-opacity));--tblr-backdrop-blur: 4px;--tblr-backdrop-filter: blur(var(--tblr-backdrop-blur))}:root,:host{font-size:16px;height:100%}@media(min-width:992px){:root,:host{margin-left:calc(100vw - 100%);margin-right:0}}:root,:host,[data-bs-theme=light]{color-scheme:light;--tblr-spacer: var(--tblr-spacer-2);--tblr-bg-surface: var(--tblr-bg-surface-primary);--tblr-bg-surface-primary: var(--tblr-white);--tblr-bg-surface-secondary: var(--tblr-gray-50);--tblr-bg-surface-tertiary: var(--tblr-gray-50);--tblr-bg-surface-dark: var(--tblr-gray-900);--tblr-bg-surface-inverted: var(--tblr-gray-900);--tblr-bg-forms: var(--tblr-bg-surface);--tblr-text-inverted: var(--tblr-gray-100);--tblr-body-color: var(--tblr-gray-700);--tblr-body-bg: var(--tblr-bg-surface-secondary);--tblr-link-color: var(--tblr-primary);--tblr-link-hover-color: color-mix(in srgb, var(--tblr-primary), #000 20%);--tblr-secondary: var(--tblr-gray-500);--tblr-tertiary: var(--tblr-gray-400);--tblr-border-color: #e5e7eb;--tblr-border-color-translucent: rgba(4, 32, 69, .1);--tblr-border-dark-color: #9ca3af;--tblr-border-dark-color-translucent: rgba(4, 32, 69, .27);--tblr-border-active-color: #a9adb5;--tblr-icon-color: var(--tblr-gray-400);--tblr-active-bg: rgba(var(--tblr-primary-rgb), .04);--tblr-disabled-bg: var(--tblr-bg-surface-secondary);--tblr-disabled-color: color-mix(in srgb, var(--tblr-body-color) 40%, transparent);--tblr-code-color: light-dark(var(--tblr-gray-600), var(--tblr-gray-400));--tblr-code-bg: light-dark(var(--tblr-gray-100), var(--tblr-gray-900));--tblr-dark-mode-border-color: #2e3c51;--tblr-dark-mode-border-color-translucent: rgba(72, 110, 149, .14);--tblr-dark-mode-border-active-color: #35465e;--tblr-dark-mode-border-dark-color: #263344;--tblr-page-padding: var(--tblr-spacer-3);--tblr-page-padding-y: var(--tblr-spacer-4)}@media(max-width:991.98px){:root,:host,[data-bs-theme=light]{--tblr-page-padding: var(--tblr-spacer-2)}}@keyframes pulse{0%{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.25)}70%{transform:scale(1)}}@keyframes tada{0%{transform:scaleZ(1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}50%{transform:scaleZ(1)}}@keyframes rotate-360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes shake{0%{transform:scaleX(1)}20%{transform:scale3d(.9,.9,.9) rotate(-5deg)}50%,70%,90%{transform:scale3d(1.25,1.25,1.25) rotate(5deg)}60%,80%{transform:scale3d(1.25,1.25,1.25) rotate(-5deg)}to{transform:scaleX(1)}}body{letter-spacing:0;touch-action:manipulation;text-rendering:optimizeLegibility;font-feature-settings:"liga" 0,"cv03","cv04","cv11";position:relative;min-height:100%;height:100%;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media print{body{background:transparent}}*{scrollbar-color:color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent) transparent}*::-webkit-scrollbar{width:1rem;height:1rem;transition:background .3s}@media(prefers-reduced-motion:reduce){*::-webkit-scrollbar{transition:none}}*::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent)}*::-webkit-scrollbar-track{background:transparent}*:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%,transparent)}*::-webkit-scrollbar-corner{background:transparent}.layout-fluid .container,.layout-fluid [class^=container-],.layout-fluid [class*=" container-"]{max-width:100%}.layout-boxed{--tblr-theme-boxed-border-radius: 0;--tblr-theme-boxed-width: 1320px}@media(min-width:768px){.layout-boxed{background:#1f2937 linear-gradient(to right,rgba(255,255,255,.1),transparent) fixed;padding:1rem;--tblr-theme-boxed-border-radius: 6px}}.layout-boxed .page{margin:0 auto;max-width:var(--tblr-theme-boxed-width);border-radius:var(--tblr-theme-boxed-border-radius);color:var(--tblr-body-color)}@media(min-width:768px){.layout-boxed .page{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-body-bg)}}.layout-boxed .page>.navbar:first-child{border-top-left-radius:var(--tblr-theme-boxed-border-radius);border-top-right-radius:var(--tblr-theme-boxed-border-radius)}.navbar{--tblr-navbar-bg: var(--tblr-bg-surface);--tblr-navbar-border-width: var(--tblr-border-width);--tblr-navbar-active-border-color: #00857D;--tblr-navbar-active-bg: rgba(0, 0, 0, .2);--tblr-navbar-border-color: var(--tblr-border-color);--tblr-navbar-hover-color: var(--tblr-body-color);align-items:stretch;min-height:3.5rem;box-shadow:inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color);background:var(--tblr-navbar-bg);color:var(--tblr-navbar-color)}.navbar-collapse .navbar{flex-grow:1}.navbar.collapsing{min-height:0}.navbar .dropdown-menu{position:absolute;z-index:1030}.navbar .navbar-nav{min-height:3rem}.navbar .navbar-nav .nav-link{position:relative;min-width:2.5rem;min-height:2.5rem;justify-content:center;border-radius:var(--tblr-border-radius)}.navbar .navbar-nav .nav-link .badge{position:absolute;top:.375rem;right:.375rem;transform:translate(50%,-50%)}@media(max-width:575.98px){.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:576px){.navbar-expand-sm .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-sm .nav-item.active{position:relative}.navbar-expand-sm .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-sm .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-sm.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical.navbar-right,.navbar-expand-sm.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical~.navbar,.navbar-expand-sm.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-sm.navbar-vertical.navbar-right~.navbar,.navbar-expand-sm.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-sm.navbar-vertical.navbar-end~.navbar,.navbar-expand-sm.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}@media(max-width:767.98px){.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:768px){.navbar-expand-md .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-md .nav-item.active{position:relative}.navbar-expand-md .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-md .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-md.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical.navbar-right,.navbar-expand-md.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical~.navbar,.navbar-expand-md.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-md.navbar-vertical.navbar-right~.navbar,.navbar-expand-md.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-md.navbar-vertical.navbar-end~.navbar,.navbar-expand-md.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}@media(max-width:991.98px){.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:992px){.navbar-expand-lg .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-lg .nav-item.active{position:relative}.navbar-expand-lg .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-lg .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-lg.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical.navbar-right,.navbar-expand-lg.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical~.navbar,.navbar-expand-lg.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-lg.navbar-vertical.navbar-right~.navbar,.navbar-expand-lg.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-lg.navbar-vertical.navbar-end~.navbar,.navbar-expand-lg.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}@media(max-width:1199.98px){.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:1200px){.navbar-expand-xl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xl .nav-item.active{position:relative}.navbar-expand-xl .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-xl .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical.navbar-right,.navbar-expand-xl.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical~.navbar,.navbar-expand-xl.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-xl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xl.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-xl.navbar-vertical.navbar-end~.navbar,.navbar-expand-xl.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}@media(max-width:1399.98px){.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:1400px){.navbar-expand-xxl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xxl .nav-item.active{position:relative}.navbar-expand-xxl .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-xxl .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xxl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical.navbar-right,.navbar-expand-xxl.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical~.navbar,.navbar-expand-xxl.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-xxl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-xxl.navbar-vertical.navbar-end~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}.navbar-expand .navbar-collapse{flex-direction:column}.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-expand .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand .nav-item.active{position:relative}.navbar-expand .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical.navbar-right,.navbar-expand.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical~.navbar,.navbar-expand.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand.navbar-vertical.navbar-right~.navbar,.navbar-expand.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand.navbar-vertical.navbar-end~.navbar,.navbar-expand.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}.navbar-brand{display:inline-flex;align-items:center;font-weight:var(--tblr-font-weight-bold);margin:0;line-height:1;gap:.5rem}.navbar-brand-image{height:2rem;width:auto}.navbar-toggler{border:0;width:2rem;height:2rem;position:relative;display:flex;align-items:center;justify-content:center}.navbar-toggler-icon{height:2px;width:1.25em;background:currentColor;border-radius:10px;transition:top .2s .2s,bottom .2s .2s,transform .2s,opacity 0s .2s;position:relative}@media(prefers-reduced-motion:reduce){.navbar-toggler-icon{transition:none}}.navbar-toggler-icon:before,.navbar-toggler-icon:after{content:"";display:block;height:inherit;width:inherit;border-radius:inherit;background:inherit;position:absolute;left:0;transition:inherit}@media(prefers-reduced-motion:reduce){.navbar-toggler-icon:before,.navbar-toggler-icon:after{transition:none}}.navbar-toggler-icon:before{top:-.45em}.navbar-toggler-icon:after{bottom:-.45em}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transform:rotate(45deg);transition:top .3s,bottom .3s,transform .3s .3s,opacity 0s .3s}@media(prefers-reduced-motion:reduce){.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transition:none}}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{top:0;transform:rotate(-90deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{bottom:0;opacity:0}.navbar-transparent{--tblr-navbar-border-color: transparent !important;background:transparent!important}.navbar-nav{--tblr-nav-link-hover-bg: color-mix(in srgb, var(--tblr-nav-link-color) 4%, transparent);margin:0;padding:0;align-items:stretch}.navbar-nav .nav-item{display:flex;flex-direction:column;justify-content:center}.navbar-side{margin:0;display:flex;flex-direction:row;align-items:center;justify-content:space-around}@media(min-width:576px){.navbar-vertical.navbar-expand-sm{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:576px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-sm{transition:none}}@media(min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right,.navbar-vertical.navbar-expand-sm.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-sm .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-sm .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-sm .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-sm>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-sm~.page{padding-left:18rem}.navbar-vertical.navbar-expand-sm~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-sm.navbar-right~.page,.navbar-vertical.navbar-expand-sm.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:768px){.navbar-vertical.navbar-expand-md{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:768px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-md{transition:none}}@media(min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right,.navbar-vertical.navbar-expand-md.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-md .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-md .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-md .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-md>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-md~.page{padding-left:18rem}.navbar-vertical.navbar-expand-md~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-md.navbar-right~.page,.navbar-vertical.navbar-expand-md.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:992px){.navbar-vertical.navbar-expand-lg{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:992px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-lg{transition:none}}@media(min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right,.navbar-vertical.navbar-expand-lg.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-lg .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-lg .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-lg>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-lg~.page{padding-left:18rem}.navbar-vertical.navbar-expand-lg~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-lg.navbar-right~.page,.navbar-vertical.navbar-expand-lg.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:1200px){.navbar-vertical.navbar-expand-xl{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:1200px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xl{transition:none}}@media(min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right,.navbar-vertical.navbar-expand-xl.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-xl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xl~.page{padding-left:18rem}.navbar-vertical.navbar-expand-xl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xl.navbar-right~.page,.navbar-vertical.navbar-expand-xl.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:1400px){.navbar-vertical.navbar-expand-xxl{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:1400px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xxl{transition:none}}@media(min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right,.navbar-vertical.navbar-expand-xxl.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-xxl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xxl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xxl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xxl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xxl~.page{padding-left:18rem}.navbar-vertical.navbar-expand-xxl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xxl.navbar-right~.page,.navbar-vertical.navbar-expand-xxl.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}.navbar-vertical.navbar-expand{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}@media(prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand{transition:none}}.navbar-vertical.navbar-expand.navbar-right,.navbar-vertical.navbar-expand.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand~.page{padding-left:18rem}.navbar-vertical.navbar-expand~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand.navbar-right~.page,.navbar-vertical.navbar-expand.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-overlap:after{content:"";height:9rem;position:absolute;top:100%;left:0;right:0;background:inherit;z-index:-1;box-shadow:inherit}.page{display:flex;flex-direction:column;position:relative;min-height:100%}.page-center{justify-content:center}.page-wrapper{flex:1;display:flex;flex-direction:column}@media print{.page-wrapper{margin:0!important}}.page-wrapper-full .page-body:first-child{margin:0;border-top:0}.page-body{margin-top:var(--tblr-page-padding-y);margin-bottom:var(--tblr-page-padding-y);display:flex;flex-direction:column;flex:1}.page-body-card{background:var(--tblr-bg-surface);border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);padding:var(--tblr-page-padding) 0;margin-bottom:0;flex:1}.page-body~.page-body-card{margin-top:0}.page-cover{background:no-repeat center/cover;min-height:9rem}@media(min-width:768px){.page-cover{min-height:12rem}}@media(min-width:992px){.page-cover{min-height:15rem}}.page-cover-overlay{position:relative}.page-cover-overlay:after{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,#0000,#0009)}.page-header{display:flex;flex-wrap:wrap;min-height:2.25rem;flex-direction:column;justify-content:center;max-width:100%}.page-wrapper .page-header{margin:var(--tblr-page-padding-y) 0 0}.page-header-border{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:var(--tblr-page-padding-y) 0;margin:0!important;background-color:var(--tblr-bg-surface)}.page-pretitle{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary)}.page-title{margin:0;font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2);font-weight:var(--tblr-font-weight-headings);color:inherit;display:flex;align-items:center}.page-title svg{width:1.5rem;height:1.5rem;margin-right:.25rem}.page-title-lg{font-size:1.5rem;line-height:2rem}.page-subtitle{margin-top:.25rem;color:var(--tblr-secondary)}.page-cover{--tblr-page-cover-blur: 20px;--tblr-page-cover-padding: 1rem;min-height:6rem;padding:var(--tblr-page-cover-padding) 0;position:relative;overflow:hidden}.page-cover-img{position:absolute;top:calc(-2 * var(--tblr-page-cover-blur, 0));left:calc(-2 * var(--tblr-page-cover-blur, 0));right:calc(-2 * var(--tblr-page-cover-blur, 0));bottom:calc(-2 * var(--tblr-page-cover-blur, 0));pointer-events:none;filter:blur(var(--tblr-page-cover-blur));object-fit:cover;background-size:cover;background-position:center;z-index:-1}.page-tabs{margin-top:.5rem;position:relative}.page-header-tabs .nav-bordered{border:0}.page-header-tabs+.page-body-card{margin-top:0}.footer{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background-color:var(--tblr-bg-surface);padding:2rem 0;color:var(--tblr-gray-500);margin-top:auto}.footer-transparent{background-color:transparent;border-top:0}:root:not(.theme-dark):not([data-bs-theme=dark]) .hide-theme-light{display:none!important}:root:not(.theme-dark):not([data-bs-theme=dark]) .img-dark{display:none!important}:root.theme-dark .hide-theme-dark,:root[data-bs-theme=dark] .hide-theme-dark,body[data-bs-theme=dark] [data-bs-theme=light]:root .hide-theme-dark{display:none!important}:root.theme-dark .img-light,:root[data-bs-theme=dark] .img-light,body[data-bs-theme=dark] [data-bs-theme=light]:root .img-light{display:none!important}[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{color-scheme:dark;--tblr-body-color: var(--tblr-gray-200);--tblr-secondary: var(--tblr-gray-400);--tblr-body-bg: var(--tblr-gray-900);--tblr-emphasis-color: #ffffff;--tblr-emphasis-color-rgb: 255, 255, 255;--tblr-bg-forms: var(--tblr-gray-900);--tblr-bg-surface: var(--tblr-gray-800);--tblr-bg-surface-inverted: var(--tblr-gray-100);--tblr-bg-surface-secondary: var(--tblr-gray-900);--tblr-bg-surface-tertiary: var(--tblr-gray-800);--tblr-text-inverted: var(--tblr-gray-800);--tblr-link-color: var(--tblr-primary);--tblr-link-hover-color: color-mix(in srgb, var(--tblr-primary), black 20%);--tblr-active-bg: #232e3e;--tblr-disabled-color: color-mix(in srgb, var(--tblr-body-color) 40%, transparent);--tblr-border-color: var(--tblr-gray-700);--tblr-border-color-translucent: var( --tblr-dark-mode-border-color-translucent );--tblr-border-dark-color: var(--tblr-dark-mode-border-dark-color);--tblr-border-active-color: var( --tblr-dark-mode-border-active-color );--tblr-btn-color: #1b2430}[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image{filter:brightness(0) invert(1)}.accordion{--tblr-accordion-color: var(--tblr-body-color);--tblr-accordion-border-color: var(--tblr-border-color);--tblr-accordion-border-radius: var(--tblr-border-radius);--tblr-accordion-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-accordion-padding-x: 1.25rem;--tblr-accordion-gap: 0;--tblr-accordion-active-color: inherit;--tblr-accordion-btn-color: var(--tblr-accordion-color);--tblr-accordion-btn-bg: transparent;--tblr-accordion-btn-toggle-width: 1.25rem;--tblr-accordion-btn-padding-x: var(--tblr-accordion-padding-x);--tblr-accordion-btn-padding-y: 1rem;--tblr-accordion-btn-font-weight: var(--tblr-font-weight-medium);--tblr-accordion-body-padding-x: var(--tblr-accordion-padding-x);--tblr-accordion-body-padding-y: 1rem;display:flex;flex-direction:column;gap:var(--tblr-accordion-gap)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-padding-x);color:inherit;text-align:inherit;background-color:transparent;border:0;font-size:inherit;font-weight:var(--tblr-accordion-btn-font-weight);gap:.75rem}.accordion-button:not(.collapsed){border-bottom-color:transparent;box-shadow:none;color:var(--tblr-accordion-active-color)}.accordion-header{margin:0;position:relative;display:flex;gap:1rem;align-items:center;width:100%;color:var(--tblr-accordion-btn-color);text-align:left;background-color:transparent;border:0;overflow-anchor:none;transition:transform .3s}.accordion-header:hover{z-index:2}.accordion-header:focus{z-index:3;outline:0;box-shadow:var(--tblr-accordion-btn-focus-box-shadow)}.accordion-header:focus:not(:focus-visible){outline:none;box-shadow:none}.accordion-button-icon{color:var(--tblr-secondary)}.accordion-button-toggle{display:flex;line-height:1;transition:.3s transform;margin-left:auto;margin-right:0;color:var(--tblr-secondary);width:var(--tblr-accordion-btn-toggle-width);height:var(--tblr-accordion-btn-toggle-width)}.accordion-button:not(.collapsed) .accordion-button-toggle{transform:rotate(-180deg);color:var(--tblr-accordion-active-color)}.accordion-button-toggle path{transition:.3s opacity}.accordion-button:not(.collapsed) .accordion-button-toggle-plus path:first-child{opacity:0}.accordion-item{color:var(--tblr-accordion-color);border:var(--tblr-border-width) solid var(--tblr-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--tblr-accordion-border-radius);border-top-right-radius:var(--tblr-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header{border-top-left-radius:var(--tblr-accordion-inner-border-radius);border-top-right-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header.collapsed{border-bottom-right-radius:var(--tblr-accordion-inner-border-radius);border-bottom-left-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-body{color:var(--tblr-secondary);padding:0 var(--tblr-accordion-body-padding-x) var(--tblr-accordion-body-padding-y)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-tabs{--tblr-accordion-gap: .75rem}.accordion-tabs>.accordion-item{border:var(--tblr-border-width) solid var(--tblr-accordion-border-color);border-radius:var(--tblr-accordion-border-radius)}.accordion-inverted .accordion-button-toggle{order:-1;margin-left:0}.alert{--tblr-alert-color: var(--tblr-body-color);--tblr-alert-bg: color-mix(in srgb, var(--tblr-alert-color) 10%, transparent);--tblr-alert-padding-x: 1rem;--tblr-alert-padding-y: .75rem;--tblr-alert-margin-bottom: 1rem;--tblr-alert-border-color: color-mix(in srgb, var(--tblr-alert-color) 20%, transparent);--tblr-alert-border: var(--tblr-border-width) solid var(--tblr-alert-border-color);--tblr-alert-border-radius: var(--tblr-border-radius);--tblr-alert-link-color: inherit;--tblr-alert-heading-font-weight: var(--tblr-font-weight-medium);position:relative;padding:var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);margin-bottom:var(--tblr-alert-margin-bottom);background-color:color-mix(in srgb,var(--tblr-alert-bg),var(--tblr-bg-surface));border-radius:var(--tblr-alert-border-radius);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-alert-border-color);display:flex;flex-direction:row;gap:1rem}.alert-heading{color:inherit;margin-bottom:.25rem;font-weight:var(--tblr-alert-heading-font-weight)}.alert-description{color:var(--tblr-secondary)}.alert-icon{color:var(--tblr-alert-color);width:1.25rem!important;height:1.25rem!important}.alert-action{color:var(--tblr-alert-color);text-decoration:underline}.alert-action:hover{text-decoration:none}.alert-list{margin:0}.alert-link{font-weight:var(--tblr-font-weight-bold);color:var(--tblr-alert-link-color)}.alert-link,.alert-link:hover{color:var(--tblr-alert-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:calc(var(--tblr-alert-padding-x) / 2 - 1px);right:calc(var(--tblr-alert-padding-y) / 2 - 1px);z-index:1;padding:calc(var(--tblr-alert-padding-y) * 1.25) var(--tblr-alert-padding-x)}.alert-important{border-color:var(--tblr-alert-color);background-color:var(--tblr-alert-color);color:var(--tblr-white)}.alert-important .alert-description,.alert-important .alert-icon{color:inherit}.alert-minor{background:transparent;border-color:var(--tblr-border-color)}.alert-primary{--tblr-alert-color: var(--tblr-primary)}.alert-secondary{--tblr-alert-color: var(--tblr-secondary)}.alert-success{--tblr-alert-color: var(--tblr-success)}.alert-info{--tblr-alert-color: var(--tblr-info)}.alert-warning{--tblr-alert-color: var(--tblr-warning)}.alert-danger{--tblr-alert-color: var(--tblr-danger)}.alert-light{--tblr-alert-color: var(--tblr-light)}.alert-dark{--tblr-alert-color: var(--tblr-dark)}.alert-muted{--tblr-alert-color: var(--tblr-muted)}.alert-blue{--tblr-alert-color: var(--tblr-blue)}.alert-azure{--tblr-alert-color: var(--tblr-azure)}.alert-indigo{--tblr-alert-color: var(--tblr-indigo)}.alert-purple{--tblr-alert-color: var(--tblr-purple)}.alert-pink{--tblr-alert-color: var(--tblr-pink)}.alert-red{--tblr-alert-color: var(--tblr-red)}.alert-orange{--tblr-alert-color: var(--tblr-orange)}.alert-yellow{--tblr-alert-color: var(--tblr-yellow)}.alert-lime{--tblr-alert-color: var(--tblr-lime)}.alert-green{--tblr-alert-color: var(--tblr-green)}.alert-teal{--tblr-alert-color: var(--tblr-teal)}.alert-cyan{--tblr-alert-color: var(--tblr-cyan)}.avatar{--tblr-avatar-size: var(--tblr-avatar-list-size, 2.5rem);--tblr-avatar-status-size: .75rem;--tblr-avatar-bg: var(--tblr-bg-surface-secondary);--tblr-avatar-box-shadow-color: var(--tblr-border-color-translucent);--tblr-avatar-box-shadow: inset 0 0 0 1px var(--tblr-avatar-box-shadow-color);--tblr-avatar-font-size: 1rem;--tblr-avatar-icon-size: 1.5rem;--tblr-avatar-brand-size: 1.25rem;position:relative;width:var(--tblr-avatar-size);height:var(--tblr-avatar-size);font-size:var(--tblr-avatar-font-size);font-weight:var(--tblr-font-weight-medium);line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--tblr-secondary);text-align:center;text-transform:uppercase;vertical-align:bottom;user-select:none;background:var(--tblr-avatar-bg) no-repeat center/cover;border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-avatar-box-shadow);transition:color .3s,background-color .3s,box-shadow .3s}.avatar .icon{width:var(--tblr-avatar-icon-size);height:var(--tblr-avatar-icon-size)}.avatar .badge{position:absolute;right:0;bottom:0;border-radius:100rem;box-shadow:0 0 0 calc(var(--tblr-avatar-status-size) / 4) var(--tblr-bg-surface)}a.avatar{cursor:pointer}a.avatar:hover{color:var(--tblr-primary);--tblr-avatar-box-shadow-color: var(--tblr-primary)}.avatar-rounded{border-radius:100rem}.avatar-xxs{--tblr-avatar-size: 1rem;--tblr-avatar-status-size: .25rem;--tblr-avatar-font-size: .5rem;--tblr-avatar-icon-size: .5rem;--tblr-avatar-brand-size: .5rem}.avatar-xxs .badge:empty{width:.25rem;height:.25rem}.avatar-xs{--tblr-avatar-size: 1.25rem;--tblr-avatar-status-size: .375rem;--tblr-avatar-font-size: .625rem;--tblr-avatar-icon-size: .75rem;--tblr-avatar-brand-size: .75rem}.avatar-xs .badge:empty{width:.375rem;height:.375rem}.avatar-sm{--tblr-avatar-size: 2rem;--tblr-avatar-status-size: .5rem;--tblr-avatar-font-size: .75rem;--tblr-avatar-icon-size: 1.5rem;--tblr-avatar-brand-size: 1rem}.avatar-sm .badge:empty{width:.5rem;height:.5rem}.avatar-md{--tblr-avatar-size: 2.5rem;--tblr-avatar-status-size: .75rem;--tblr-avatar-font-size: .875rem;--tblr-avatar-icon-size: 1.5rem;--tblr-avatar-brand-size: 1.25rem}.avatar-md .badge:empty{width:.75rem;height:.75rem}.avatar-lg{--tblr-avatar-size: 3rem;--tblr-avatar-status-size: .75rem;--tblr-avatar-font-size: 1.25rem;--tblr-avatar-icon-size: 2rem;--tblr-avatar-brand-size: 1.25rem}.avatar-lg .badge:empty{width:.75rem;height:.75rem}.avatar-xl{--tblr-avatar-size: 5rem;--tblr-avatar-status-size: 1rem;--tblr-avatar-font-size: 2rem;--tblr-avatar-icon-size: 3rem;--tblr-avatar-brand-size: 1.25rem}.avatar-xl .badge:empty{width:1rem;height:1rem}.avatar-2xl{--tblr-avatar-size: 7rem;--tblr-avatar-status-size: 1rem;--tblr-avatar-font-size: 3rem;--tblr-avatar-icon-size: 5rem;--tblr-avatar-brand-size: 2rem}.avatar-2xl .badge:empty{width:1rem;height:1rem}.avatar-list{--tblr-avatar-list-size: 2.5rem;--tblr-list-gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.avatar-list a.avatar:hover{z-index:1}.avatar-list-stacked{display:block;--tblr-list-gap: 0}.avatar-list-stacked .avatar{margin-right:calc(-.5 * var(--tblr-avatar-size))!important;box-shadow:var(--tblr-avatar-box-shadow),0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface))}.avatar-list-xxs{--tblr-avatar-list-size: 1rem}.avatar-list-xs{--tblr-avatar-list-size: 1.25rem}.avatar-list-sm{--tblr-avatar-list-size: 2rem}.avatar-list-md{--tblr-avatar-list-size: 2.5rem}.avatar-list-lg{--tblr-avatar-list-size: 3rem}.avatar-list-xl{--tblr-avatar-list-size: 5rem}.avatar-list-2xl{--tblr-avatar-list-size: 7rem}.avatar-upload{border:var(--tblr-border-width) dashed var(--tblr-border-color);background:var(--tblr-bg-forms);box-shadow:none;flex-direction:column;transition:color .3s,background-color .3s}@media(prefers-reduced-motion:reduce){.avatar-upload{transition:none}}.avatar-upload svg{width:1.5rem;height:1.5rem;stroke-width:1}.avatar-upload:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);text-decoration:none}.avatar-upload-text{font-size:.625rem;line-height:1;margin-top:.25rem}.avatar-cover{margin-top:calc(-.5 * var(--tblr-avatar-size));box-shadow:0 0 0 .25rem var(--tblr-card-bg, var(--tblr-body-bg))}.avatar-brand{width:var(--tblr-avatar-brand-size);height:var(--tblr-avatar-brand-size);position:absolute;right:-2px;bottom:-2px;z-index:1000;background:var(--tblr-bg-surface);border-radius:var(--tblr-border-radius);border:1px solid var(--tblr-border-color)}.badge{--tblr-badge-padding-x: .5em;--tblr-badge-padding-y: .25em;--tblr-badge-font-size: .85714285em;--tblr-badge-font-weight: var(--tblr-font-weight-medium);--tblr-badge-color: var(--tblr-secondary);--tblr-badge-border-radius: var(--tblr-border-radius);--tblr-badge-icon-size: 1em;--tblr-badge-line-height: 1;display:inline-flex;padding:var(--tblr-badge-padding-y) var(--tblr-badge-padding-x);font-weight:var(--tblr-badge-font-weight);font-size:var(--tblr-badge-font-size);color:var(--tblr-badge-color);text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:.25rem;background:var(--tblr-bg-surface-secondary);overflow:hidden;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:var(--tblr-badge-border-radius);min-width:calc(1em + var(--tblr-badge-padding-y) * 2 + 2px);letter-spacing:.04em;vertical-align:bottom;line-height:var(--tblr-badge-line-height)}a.badge{background:var(--tblr-bg-surface-secondary)}.badge .icon{width:1em;height:1em;font-size:var(--tblr-badge-icon-size);stroke-width:2}.badge:empty,.badge-dot{display:inline-block;width:10px;height:10px;min-width:0;min-height:auto;padding:0;border-radius:100rem;vertical-align:baseline}.badge-outline{background-color:transparent;border:var(--tblr-border-width) var(--tblr-border-style) currentColor}.badge-pill{border-radius:100rem}.badges-list{--tblr-list-gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.badge-notification{position:absolute!important;top:0!important;right:0!important;transform:translate(50%,-50%);z-index:1}.badge-blink{animation:blink 2s infinite}.badge-sm{--tblr-badge-font-size: .71428571em;--tblr-badge-icon-size: 1em;--tblr-badge-padding-y: 2px;--tblr-badge-padding-x: .25rem}.badge-lg{--tblr-badge-font-size: 1em;--tblr-badge-icon-size: 1em;--tblr-badge-padding-y: .25rem;--tblr-badge-padding-x: .5rem}.badge-icononly{--tblr-badge-padding-x: 0}.breadcrumb{--tblr-breadcrumb-padding-x: 0;--tblr-breadcrumb-padding-y: 0;--tblr-breadcrumb-margin-bottom: 1rem;--tblr-breadcrumb-font-size: ;--tblr-breadcrumb-bg: ;--tblr-breadcrumb-border-radius: ;--tblr-breadcrumb-divider-color: var(--tblr-gray-500);--tblr-breadcrumb-item-padding-x: .5rem;--tblr-breadcrumb-item-active-color: inherit;--tblr-breadcrumb-item-active-font-weight: var(--tblr-font-weight-bold);--tblr-breadcrumb-item-disabled-color: var(--tblr-disabled-color);--tblr-breadcrumb-link-color: var(--tblr-link-color);display:flex;flex-wrap:wrap;font-size:var(--tblr-breadcrumb-font-size);list-style:none;background-color:var(--tblr-breadcrumb-bg);border-radius:var(--tblr-breadcrumb-border-radius);padding:0;margin:0;background:transparent}.breadcrumb a{color:var(--tblr-breadcrumb-link-color)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-muted{--tblr-breadcrumb-link-color: var(--tblr-secondary)}.breadcrumb-item.active{color:var(--tblr-breadcrumb-item-active-color);font-weight:var(--tblr-breadcrumb-item-active-font-weight)}.breadcrumb-item.active a{color:inherit;pointer-events:none}.breadcrumb-item.disabled{color:var(--tblr-breadcrumb-item-disabled-color)}.breadcrumb-item.disabled:before{color:inherit}.breadcrumb-item.disabled a{color:inherit;pointer-events:none}.breadcrumb-item+.breadcrumb-item{padding-left:var(--tblr-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--tblr-breadcrumb-item-padding-x);color:var(--tblr-breadcrumb-divider-color);content:var(--tblr-breadcrumb-divider, "/")}.breadcrumb-dots{--tblr-breadcrumb-divider: "\b7"}.breadcrumb-arrows{--tblr-breadcrumb-divider: "\203a"}.breadcrumb-bullets{--tblr-breadcrumb-divider: "\2022"}.btn{--tblr-btn-icon-size: 1.25rem;--tblr-btn-icon-color: inherit;--tblr-btn-bg: var(--tblr-bg-surface);--tblr-btn-color: var(--tblr-body-color);--tblr-btn-border-color: var(--tblr-border-color);--tblr-btn-hover-bg: var(--tblr-btn-bg);--tblr-btn-hover-border-color: var(--tblr-border-active-color);--tblr-btn-active-color: var(--tblr-primary);--tblr-btn-active-bg: rgba(var(--tblr-primary-rgb), .04);--tblr-btn-active-border-color: var(--tblr-primary);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:var(--tblr-btn-box-shadow);position:relative;min-width:calc(var(--tblr-btn-line-height) * 1 + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);min-height:calc(var(--tblr-btn-line-height) * 1 + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2)}.btn .icon{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);min-width:var(--tblr-btn-icon-size);font-size:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4);vertical-align:bottom;color:var(--tblr-btn-icon-color)}.btn .avatar{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4)}.btn .icon-right,.btn .icon-end{margin:0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2)}.btn .badge{top:auto}.btn-check+.btn:hover{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-link{color:#009f95;background-color:transparent;border-color:transparent;box-shadow:none}.btn-link .icon{color:inherit}.btn-link:hover{color:#006a64;border-color:transparent}.btn-primary{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-primary-fg, #ffffff);--tblr-btn-bg: var(--tblr-primary);--tblr-btn-hover-color: var(--tblr-primary-fg);--tblr-btn-hover-bg: var(--tblr-primary-darken);--tblr-btn-active-color: var(--tblr-primary-fg);--tblr-btn-active-bg: var(--tblr-primary-darken);--tblr-btn-disabled-bg: var(--tblr-primary);--tblr-btn-disabled-color: var(--tblr-primary-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-primary,.btn-outline.btn-primary{--tblr-btn-color: var(--tblr-primary);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-primary);--tblr-btn-hover-color: var(--tblr-primary-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-primary);--tblr-btn-active-color: var(--tblr-primary-fg);--tblr-btn-active-bg: var(--tblr-primary);--tblr-btn-active-border-color: var(--tblr-primary);--tblr-btn-disabled-color: var(--tblr-primary);--tblr-btn-disabled-border-color: var(--tblr-primary)}.btn-ghost-primary,.btn-ghost.btn-primary{--tblr-btn-color: var(--tblr-primary);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-primary-fg);--tblr-btn-hover-bg: var(--tblr-primary);--tblr-btn-hover-border-color: var(--tblr-primary);--tblr-btn-active-color: var(--tblr-primary-fg);--tblr-btn-active-bg: var(--tblr-primary);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-primary);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-secondary,.btn-grey,.btn-gray{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-secondary-fg, #ffffff);--tblr-btn-bg: var(--tblr-secondary);--tblr-btn-hover-color: var(--tblr-secondary-fg);--tblr-btn-hover-bg: var(--tblr-secondary-darken);--tblr-btn-active-color: var(--tblr-secondary-fg);--tblr-btn-active-bg: var(--tblr-secondary-darken);--tblr-btn-disabled-bg: var(--tblr-secondary);--tblr-btn-disabled-color: var(--tblr-secondary-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-secondary,.btn-outline.btn-secondary,.btn-outline.btn-grey,.btn-outline.btn-gray{--tblr-btn-color: var(--tblr-secondary);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-secondary);--tblr-btn-hover-color: var(--tblr-secondary-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-secondary);--tblr-btn-active-color: var(--tblr-secondary-fg);--tblr-btn-active-bg: var(--tblr-secondary);--tblr-btn-active-border-color: var(--tblr-secondary);--tblr-btn-disabled-color: var(--tblr-secondary);--tblr-btn-disabled-border-color: var(--tblr-secondary)}.btn-ghost-secondary,.btn-ghost.btn-secondary,.btn-ghost.btn-grey,.btn-ghost.btn-gray{--tblr-btn-color: var(--tblr-secondary);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-secondary-fg);--tblr-btn-hover-bg: var(--tblr-secondary);--tblr-btn-hover-border-color: var(--tblr-secondary);--tblr-btn-active-color: var(--tblr-secondary-fg);--tblr-btn-active-bg: var(--tblr-secondary);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-secondary);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-success{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-success-fg, #ffffff);--tblr-btn-bg: var(--tblr-success);--tblr-btn-hover-color: var(--tblr-success-fg);--tblr-btn-hover-bg: var(--tblr-success-darken);--tblr-btn-active-color: var(--tblr-success-fg);--tblr-btn-active-bg: var(--tblr-success-darken);--tblr-btn-disabled-bg: var(--tblr-success);--tblr-btn-disabled-color: var(--tblr-success-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-success,.btn-outline.btn-success{--tblr-btn-color: var(--tblr-success);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-success);--tblr-btn-hover-color: var(--tblr-success-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-success);--tblr-btn-active-color: var(--tblr-success-fg);--tblr-btn-active-bg: var(--tblr-success);--tblr-btn-active-border-color: var(--tblr-success);--tblr-btn-disabled-color: var(--tblr-success);--tblr-btn-disabled-border-color: var(--tblr-success)}.btn-ghost-success,.btn-ghost.btn-success{--tblr-btn-color: var(--tblr-success);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-success-fg);--tblr-btn-hover-bg: var(--tblr-success);--tblr-btn-hover-border-color: var(--tblr-success);--tblr-btn-active-color: var(--tblr-success-fg);--tblr-btn-active-bg: var(--tblr-success);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-success);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-info{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-info-fg, #ffffff);--tblr-btn-bg: var(--tblr-info);--tblr-btn-hover-color: var(--tblr-info-fg);--tblr-btn-hover-bg: var(--tblr-info-darken);--tblr-btn-active-color: var(--tblr-info-fg);--tblr-btn-active-bg: var(--tblr-info-darken);--tblr-btn-disabled-bg: var(--tblr-info);--tblr-btn-disabled-color: var(--tblr-info-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-info,.btn-outline.btn-info{--tblr-btn-color: var(--tblr-info);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-info);--tblr-btn-hover-color: var(--tblr-info-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-info);--tblr-btn-active-color: var(--tblr-info-fg);--tblr-btn-active-bg: var(--tblr-info);--tblr-btn-active-border-color: var(--tblr-info);--tblr-btn-disabled-color: var(--tblr-info);--tblr-btn-disabled-border-color: var(--tblr-info)}.btn-ghost-info,.btn-ghost.btn-info{--tblr-btn-color: var(--tblr-info);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-info-fg);--tblr-btn-hover-bg: var(--tblr-info);--tblr-btn-hover-border-color: var(--tblr-info);--tblr-btn-active-color: var(--tblr-info-fg);--tblr-btn-active-bg: var(--tblr-info);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-info);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-warning{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-warning-fg, #ffffff);--tblr-btn-bg: var(--tblr-warning);--tblr-btn-hover-color: var(--tblr-warning-fg);--tblr-btn-hover-bg: var(--tblr-warning-darken);--tblr-btn-active-color: var(--tblr-warning-fg);--tblr-btn-active-bg: var(--tblr-warning-darken);--tblr-btn-disabled-bg: var(--tblr-warning);--tblr-btn-disabled-color: var(--tblr-warning-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-warning,.btn-outline.btn-warning{--tblr-btn-color: var(--tblr-warning);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-warning);--tblr-btn-hover-color: var(--tblr-warning-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-warning);--tblr-btn-active-color: var(--tblr-warning-fg);--tblr-btn-active-bg: var(--tblr-warning);--tblr-btn-active-border-color: var(--tblr-warning);--tblr-btn-disabled-color: var(--tblr-warning);--tblr-btn-disabled-border-color: var(--tblr-warning)}.btn-ghost-warning,.btn-ghost.btn-warning{--tblr-btn-color: var(--tblr-warning);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-warning-fg);--tblr-btn-hover-bg: var(--tblr-warning);--tblr-btn-hover-border-color: var(--tblr-warning);--tblr-btn-active-color: var(--tblr-warning-fg);--tblr-btn-active-bg: var(--tblr-warning);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-warning);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-danger{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-danger-fg, #ffffff);--tblr-btn-bg: var(--tblr-danger);--tblr-btn-hover-color: var(--tblr-danger-fg);--tblr-btn-hover-bg: var(--tblr-danger-darken);--tblr-btn-active-color: var(--tblr-danger-fg);--tblr-btn-active-bg: var(--tblr-danger-darken);--tblr-btn-disabled-bg: var(--tblr-danger);--tblr-btn-disabled-color: var(--tblr-danger-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-danger,.btn-outline.btn-danger{--tblr-btn-color: var(--tblr-danger);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-danger);--tblr-btn-hover-color: var(--tblr-danger-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-danger);--tblr-btn-active-color: var(--tblr-danger-fg);--tblr-btn-active-bg: var(--tblr-danger);--tblr-btn-active-border-color: var(--tblr-danger);--tblr-btn-disabled-color: var(--tblr-danger);--tblr-btn-disabled-border-color: var(--tblr-danger)}.btn-ghost-danger,.btn-ghost.btn-danger{--tblr-btn-color: var(--tblr-danger);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-danger-fg);--tblr-btn-hover-bg: var(--tblr-danger);--tblr-btn-hover-border-color: var(--tblr-danger);--tblr-btn-active-color: var(--tblr-danger-fg);--tblr-btn-active-bg: var(--tblr-danger);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-danger);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-light,.btn-white{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-light-fg, #ffffff);--tblr-btn-bg: var(--tblr-light);--tblr-btn-hover-color: var(--tblr-light-fg);--tblr-btn-hover-bg: var(--tblr-light-darken);--tblr-btn-active-color: var(--tblr-light-fg);--tblr-btn-active-bg: var(--tblr-light-darken);--tblr-btn-disabled-bg: var(--tblr-light);--tblr-btn-disabled-color: var(--tblr-light-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-light,.btn-outline.btn-light,.btn-outline.btn-white{--tblr-btn-color: var(--tblr-light);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-light);--tblr-btn-hover-color: var(--tblr-light-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-light);--tblr-btn-active-color: var(--tblr-light-fg);--tblr-btn-active-bg: var(--tblr-light);--tblr-btn-active-border-color: var(--tblr-light);--tblr-btn-disabled-color: var(--tblr-light);--tblr-btn-disabled-border-color: var(--tblr-light)}.btn-ghost-light,.btn-ghost.btn-light,.btn-ghost.btn-white{--tblr-btn-color: var(--tblr-light);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-light-fg);--tblr-btn-hover-bg: var(--tblr-light);--tblr-btn-hover-border-color: var(--tblr-light);--tblr-btn-active-color: var(--tblr-light-fg);--tblr-btn-active-bg: var(--tblr-light);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-light);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-dark,.btn-black{--tblr-btn-border-color: var(--tblr-dark-mode-border-color);--tblr-btn-hover-border-color: var(--tblr-dark-mode-border-active-color);--tblr-btn-active-border-color: var(--tblr-dark-mode-border-active-color);--tblr-btn-color: var(--tblr-dark-fg, #ffffff);--tblr-btn-bg: var(--tblr-dark);--tblr-btn-hover-color: var(--tblr-dark-fg);--tblr-btn-hover-bg: var(--tblr-dark-darken);--tblr-btn-active-color: var(--tblr-dark-fg);--tblr-btn-active-bg: var(--tblr-dark-darken);--tblr-btn-disabled-bg: var(--tblr-dark);--tblr-btn-disabled-color: var(--tblr-dark-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-dark,.btn-outline.btn-dark,.btn-outline.btn-black{--tblr-btn-color: var(--tblr-dark);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-dark);--tblr-btn-hover-color: var(--tblr-dark-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-dark);--tblr-btn-active-color: var(--tblr-dark-fg);--tblr-btn-active-bg: var(--tblr-dark);--tblr-btn-active-border-color: var(--tblr-dark);--tblr-btn-disabled-color: var(--tblr-dark);--tblr-btn-disabled-border-color: var(--tblr-dark)}.btn-ghost-dark,.btn-ghost.btn-dark,.btn-ghost.btn-black{--tblr-btn-color: var(--tblr-dark);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-dark-fg);--tblr-btn-hover-bg: var(--tblr-dark);--tblr-btn-hover-border-color: var(--tblr-dark);--tblr-btn-active-color: var(--tblr-dark-fg);--tblr-btn-active-bg: var(--tblr-dark);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-dark);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-muted{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-muted-fg, #ffffff);--tblr-btn-bg: var(--tblr-muted);--tblr-btn-hover-color: var(--tblr-muted-fg);--tblr-btn-hover-bg: var(--tblr-muted-darken);--tblr-btn-active-color: var(--tblr-muted-fg);--tblr-btn-active-bg: var(--tblr-muted-darken);--tblr-btn-disabled-bg: var(--tblr-muted);--tblr-btn-disabled-color: var(--tblr-muted-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-muted,.btn-outline.btn-muted{--tblr-btn-color: var(--tblr-muted);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-muted);--tblr-btn-hover-color: var(--tblr-muted-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-muted);--tblr-btn-active-color: var(--tblr-muted-fg);--tblr-btn-active-bg: var(--tblr-muted);--tblr-btn-active-border-color: var(--tblr-muted);--tblr-btn-disabled-color: var(--tblr-muted);--tblr-btn-disabled-border-color: var(--tblr-muted)}.btn-ghost-muted,.btn-ghost.btn-muted{--tblr-btn-color: var(--tblr-muted);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-muted-fg);--tblr-btn-hover-bg: var(--tblr-muted);--tblr-btn-hover-border-color: var(--tblr-muted);--tblr-btn-active-color: var(--tblr-muted-fg);--tblr-btn-active-bg: var(--tblr-muted);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-muted);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-blue{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-blue-fg, #ffffff);--tblr-btn-bg: var(--tblr-blue);--tblr-btn-hover-color: var(--tblr-blue-fg);--tblr-btn-hover-bg: var(--tblr-blue-darken);--tblr-btn-active-color: var(--tblr-blue-fg);--tblr-btn-active-bg: var(--tblr-blue-darken);--tblr-btn-disabled-bg: var(--tblr-blue);--tblr-btn-disabled-color: var(--tblr-blue-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-blue,.btn-outline.btn-blue{--tblr-btn-color: var(--tblr-blue);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-blue);--tblr-btn-hover-color: var(--tblr-blue-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-blue);--tblr-btn-active-color: var(--tblr-blue-fg);--tblr-btn-active-bg: var(--tblr-blue);--tblr-btn-active-border-color: var(--tblr-blue);--tblr-btn-disabled-color: var(--tblr-blue);--tblr-btn-disabled-border-color: var(--tblr-blue)}.btn-ghost-blue,.btn-ghost.btn-blue{--tblr-btn-color: var(--tblr-blue);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-blue-fg);--tblr-btn-hover-bg: var(--tblr-blue);--tblr-btn-hover-border-color: var(--tblr-blue);--tblr-btn-active-color: var(--tblr-blue-fg);--tblr-btn-active-bg: var(--tblr-blue);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-blue);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-azure{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-azure-fg, #ffffff);--tblr-btn-bg: var(--tblr-azure);--tblr-btn-hover-color: var(--tblr-azure-fg);--tblr-btn-hover-bg: var(--tblr-azure-darken);--tblr-btn-active-color: var(--tblr-azure-fg);--tblr-btn-active-bg: var(--tblr-azure-darken);--tblr-btn-disabled-bg: var(--tblr-azure);--tblr-btn-disabled-color: var(--tblr-azure-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-azure,.btn-outline.btn-azure{--tblr-btn-color: var(--tblr-azure);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-azure);--tblr-btn-hover-color: var(--tblr-azure-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-azure);--tblr-btn-active-color: var(--tblr-azure-fg);--tblr-btn-active-bg: var(--tblr-azure);--tblr-btn-active-border-color: var(--tblr-azure);--tblr-btn-disabled-color: var(--tblr-azure);--tblr-btn-disabled-border-color: var(--tblr-azure)}.btn-ghost-azure,.btn-ghost.btn-azure{--tblr-btn-color: var(--tblr-azure);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-azure-fg);--tblr-btn-hover-bg: var(--tblr-azure);--tblr-btn-hover-border-color: var(--tblr-azure);--tblr-btn-active-color: var(--tblr-azure-fg);--tblr-btn-active-bg: var(--tblr-azure);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-azure);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-indigo{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-indigo-fg, #ffffff);--tblr-btn-bg: var(--tblr-indigo);--tblr-btn-hover-color: var(--tblr-indigo-fg);--tblr-btn-hover-bg: var(--tblr-indigo-darken);--tblr-btn-active-color: var(--tblr-indigo-fg);--tblr-btn-active-bg: var(--tblr-indigo-darken);--tblr-btn-disabled-bg: var(--tblr-indigo);--tblr-btn-disabled-color: var(--tblr-indigo-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-indigo,.btn-outline.btn-indigo{--tblr-btn-color: var(--tblr-indigo);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-indigo);--tblr-btn-hover-color: var(--tblr-indigo-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-indigo);--tblr-btn-active-color: var(--tblr-indigo-fg);--tblr-btn-active-bg: var(--tblr-indigo);--tblr-btn-active-border-color: var(--tblr-indigo);--tblr-btn-disabled-color: var(--tblr-indigo);--tblr-btn-disabled-border-color: var(--tblr-indigo)}.btn-ghost-indigo,.btn-ghost.btn-indigo{--tblr-btn-color: var(--tblr-indigo);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-indigo-fg);--tblr-btn-hover-bg: var(--tblr-indigo);--tblr-btn-hover-border-color: var(--tblr-indigo);--tblr-btn-active-color: var(--tblr-indigo-fg);--tblr-btn-active-bg: var(--tblr-indigo);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-indigo);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-purple{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-purple-fg, #ffffff);--tblr-btn-bg: var(--tblr-purple);--tblr-btn-hover-color: var(--tblr-purple-fg);--tblr-btn-hover-bg: var(--tblr-purple-darken);--tblr-btn-active-color: var(--tblr-purple-fg);--tblr-btn-active-bg: var(--tblr-purple-darken);--tblr-btn-disabled-bg: var(--tblr-purple);--tblr-btn-disabled-color: var(--tblr-purple-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-purple,.btn-outline.btn-purple{--tblr-btn-color: var(--tblr-purple);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-purple);--tblr-btn-hover-color: var(--tblr-purple-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-purple);--tblr-btn-active-color: var(--tblr-purple-fg);--tblr-btn-active-bg: var(--tblr-purple);--tblr-btn-active-border-color: var(--tblr-purple);--tblr-btn-disabled-color: var(--tblr-purple);--tblr-btn-disabled-border-color: var(--tblr-purple)}.btn-ghost-purple,.btn-ghost.btn-purple{--tblr-btn-color: var(--tblr-purple);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-purple-fg);--tblr-btn-hover-bg: var(--tblr-purple);--tblr-btn-hover-border-color: var(--tblr-purple);--tblr-btn-active-color: var(--tblr-purple-fg);--tblr-btn-active-bg: var(--tblr-purple);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-purple);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-pink{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-pink-fg, #ffffff);--tblr-btn-bg: var(--tblr-pink);--tblr-btn-hover-color: var(--tblr-pink-fg);--tblr-btn-hover-bg: var(--tblr-pink-darken);--tblr-btn-active-color: var(--tblr-pink-fg);--tblr-btn-active-bg: var(--tblr-pink-darken);--tblr-btn-disabled-bg: var(--tblr-pink);--tblr-btn-disabled-color: var(--tblr-pink-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-pink,.btn-outline.btn-pink{--tblr-btn-color: var(--tblr-pink);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-pink);--tblr-btn-hover-color: var(--tblr-pink-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-pink);--tblr-btn-active-color: var(--tblr-pink-fg);--tblr-btn-active-bg: var(--tblr-pink);--tblr-btn-active-border-color: var(--tblr-pink);--tblr-btn-disabled-color: var(--tblr-pink);--tblr-btn-disabled-border-color: var(--tblr-pink)}.btn-ghost-pink,.btn-ghost.btn-pink{--tblr-btn-color: var(--tblr-pink);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-pink-fg);--tblr-btn-hover-bg: var(--tblr-pink);--tblr-btn-hover-border-color: var(--tblr-pink);--tblr-btn-active-color: var(--tblr-pink-fg);--tblr-btn-active-bg: var(--tblr-pink);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-pink);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-red{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-red-fg, #ffffff);--tblr-btn-bg: var(--tblr-red);--tblr-btn-hover-color: var(--tblr-red-fg);--tblr-btn-hover-bg: var(--tblr-red-darken);--tblr-btn-active-color: var(--tblr-red-fg);--tblr-btn-active-bg: var(--tblr-red-darken);--tblr-btn-disabled-bg: var(--tblr-red);--tblr-btn-disabled-color: var(--tblr-red-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-red,.btn-outline.btn-red{--tblr-btn-color: var(--tblr-red);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-red);--tblr-btn-hover-color: var(--tblr-red-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-red);--tblr-btn-active-color: var(--tblr-red-fg);--tblr-btn-active-bg: var(--tblr-red);--tblr-btn-active-border-color: var(--tblr-red);--tblr-btn-disabled-color: var(--tblr-red);--tblr-btn-disabled-border-color: var(--tblr-red)}.btn-ghost-red,.btn-ghost.btn-red{--tblr-btn-color: var(--tblr-red);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-red-fg);--tblr-btn-hover-bg: var(--tblr-red);--tblr-btn-hover-border-color: var(--tblr-red);--tblr-btn-active-color: var(--tblr-red-fg);--tblr-btn-active-bg: var(--tblr-red);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-red);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-orange{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-orange-fg, #ffffff);--tblr-btn-bg: var(--tblr-orange);--tblr-btn-hover-color: var(--tblr-orange-fg);--tblr-btn-hover-bg: var(--tblr-orange-darken);--tblr-btn-active-color: var(--tblr-orange-fg);--tblr-btn-active-bg: var(--tblr-orange-darken);--tblr-btn-disabled-bg: var(--tblr-orange);--tblr-btn-disabled-color: var(--tblr-orange-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-orange,.btn-outline.btn-orange{--tblr-btn-color: var(--tblr-orange);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-orange);--tblr-btn-hover-color: var(--tblr-orange-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-orange);--tblr-btn-active-color: var(--tblr-orange-fg);--tblr-btn-active-bg: var(--tblr-orange);--tblr-btn-active-border-color: var(--tblr-orange);--tblr-btn-disabled-color: var(--tblr-orange);--tblr-btn-disabled-border-color: var(--tblr-orange)}.btn-ghost-orange,.btn-ghost.btn-orange{--tblr-btn-color: var(--tblr-orange);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-orange-fg);--tblr-btn-hover-bg: var(--tblr-orange);--tblr-btn-hover-border-color: var(--tblr-orange);--tblr-btn-active-color: var(--tblr-orange-fg);--tblr-btn-active-bg: var(--tblr-orange);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-orange);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-yellow{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-yellow-fg, #ffffff);--tblr-btn-bg: var(--tblr-yellow);--tblr-btn-hover-color: var(--tblr-yellow-fg);--tblr-btn-hover-bg: var(--tblr-yellow-darken);--tblr-btn-active-color: var(--tblr-yellow-fg);--tblr-btn-active-bg: var(--tblr-yellow-darken);--tblr-btn-disabled-bg: var(--tblr-yellow);--tblr-btn-disabled-color: var(--tblr-yellow-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-yellow,.btn-outline.btn-yellow{--tblr-btn-color: var(--tblr-yellow);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-yellow);--tblr-btn-hover-color: var(--tblr-yellow-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-yellow);--tblr-btn-active-color: var(--tblr-yellow-fg);--tblr-btn-active-bg: var(--tblr-yellow);--tblr-btn-active-border-color: var(--tblr-yellow);--tblr-btn-disabled-color: var(--tblr-yellow);--tblr-btn-disabled-border-color: var(--tblr-yellow)}.btn-ghost-yellow,.btn-ghost.btn-yellow{--tblr-btn-color: var(--tblr-yellow);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-yellow-fg);--tblr-btn-hover-bg: var(--tblr-yellow);--tblr-btn-hover-border-color: var(--tblr-yellow);--tblr-btn-active-color: var(--tblr-yellow-fg);--tblr-btn-active-bg: var(--tblr-yellow);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-yellow);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-lime{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-lime-fg, #ffffff);--tblr-btn-bg: var(--tblr-lime);--tblr-btn-hover-color: var(--tblr-lime-fg);--tblr-btn-hover-bg: var(--tblr-lime-darken);--tblr-btn-active-color: var(--tblr-lime-fg);--tblr-btn-active-bg: var(--tblr-lime-darken);--tblr-btn-disabled-bg: var(--tblr-lime);--tblr-btn-disabled-color: var(--tblr-lime-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-lime,.btn-outline.btn-lime{--tblr-btn-color: var(--tblr-lime);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-lime);--tblr-btn-hover-color: var(--tblr-lime-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-lime);--tblr-btn-active-color: var(--tblr-lime-fg);--tblr-btn-active-bg: var(--tblr-lime);--tblr-btn-active-border-color: var(--tblr-lime);--tblr-btn-disabled-color: var(--tblr-lime);--tblr-btn-disabled-border-color: var(--tblr-lime)}.btn-ghost-lime,.btn-ghost.btn-lime{--tblr-btn-color: var(--tblr-lime);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-lime-fg);--tblr-btn-hover-bg: var(--tblr-lime);--tblr-btn-hover-border-color: var(--tblr-lime);--tblr-btn-active-color: var(--tblr-lime-fg);--tblr-btn-active-bg: var(--tblr-lime);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-lime);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-green{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-green-fg, #ffffff);--tblr-btn-bg: var(--tblr-green);--tblr-btn-hover-color: var(--tblr-green-fg);--tblr-btn-hover-bg: var(--tblr-green-darken);--tblr-btn-active-color: var(--tblr-green-fg);--tblr-btn-active-bg: var(--tblr-green-darken);--tblr-btn-disabled-bg: var(--tblr-green);--tblr-btn-disabled-color: var(--tblr-green-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-green,.btn-outline.btn-green{--tblr-btn-color: var(--tblr-green);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-green);--tblr-btn-hover-color: var(--tblr-green-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-green);--tblr-btn-active-color: var(--tblr-green-fg);--tblr-btn-active-bg: var(--tblr-green);--tblr-btn-active-border-color: var(--tblr-green);--tblr-btn-disabled-color: var(--tblr-green);--tblr-btn-disabled-border-color: var(--tblr-green)}.btn-ghost-green,.btn-ghost.btn-green{--tblr-btn-color: var(--tblr-green);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-green-fg);--tblr-btn-hover-bg: var(--tblr-green);--tblr-btn-hover-border-color: var(--tblr-green);--tblr-btn-active-color: var(--tblr-green-fg);--tblr-btn-active-bg: var(--tblr-green);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-green);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-teal{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-teal-fg, #ffffff);--tblr-btn-bg: var(--tblr-teal);--tblr-btn-hover-color: var(--tblr-teal-fg);--tblr-btn-hover-bg: var(--tblr-teal-darken);--tblr-btn-active-color: var(--tblr-teal-fg);--tblr-btn-active-bg: var(--tblr-teal-darken);--tblr-btn-disabled-bg: var(--tblr-teal);--tblr-btn-disabled-color: var(--tblr-teal-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-teal,.btn-outline.btn-teal{--tblr-btn-color: var(--tblr-teal);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-teal);--tblr-btn-hover-color: var(--tblr-teal-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-teal);--tblr-btn-active-color: var(--tblr-teal-fg);--tblr-btn-active-bg: var(--tblr-teal);--tblr-btn-active-border-color: var(--tblr-teal);--tblr-btn-disabled-color: var(--tblr-teal);--tblr-btn-disabled-border-color: var(--tblr-teal)}.btn-ghost-teal,.btn-ghost.btn-teal{--tblr-btn-color: var(--tblr-teal);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-teal-fg);--tblr-btn-hover-bg: var(--tblr-teal);--tblr-btn-hover-border-color: var(--tblr-teal);--tblr-btn-active-color: var(--tblr-teal-fg);--tblr-btn-active-bg: var(--tblr-teal);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-teal);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-cyan{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-cyan-fg, #ffffff);--tblr-btn-bg: var(--tblr-cyan);--tblr-btn-hover-color: var(--tblr-cyan-fg);--tblr-btn-hover-bg: var(--tblr-cyan-darken);--tblr-btn-active-color: var(--tblr-cyan-fg);--tblr-btn-active-bg: var(--tblr-cyan-darken);--tblr-btn-disabled-bg: var(--tblr-cyan);--tblr-btn-disabled-color: var(--tblr-cyan-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-cyan,.btn-outline.btn-cyan{--tblr-btn-color: var(--tblr-cyan);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-cyan);--tblr-btn-hover-color: var(--tblr-cyan-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-cyan);--tblr-btn-active-color: var(--tblr-cyan-fg);--tblr-btn-active-bg: var(--tblr-cyan);--tblr-btn-active-border-color: var(--tblr-cyan);--tblr-btn-disabled-color: var(--tblr-cyan);--tblr-btn-disabled-border-color: var(--tblr-cyan)}.btn-ghost-cyan,.btn-ghost.btn-cyan{--tblr-btn-color: var(--tblr-cyan);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-cyan-fg);--tblr-btn-hover-bg: var(--tblr-cyan);--tblr-btn-hover-border-color: var(--tblr-cyan);--tblr-btn-active-color: var(--tblr-cyan-fg);--tblr-btn-active-bg: var(--tblr-cyan);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-cyan);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-x{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-x-fg, #ffffff);--tblr-btn-bg: var(--tblr-x);--tblr-btn-hover-color: var(--tblr-x-fg);--tblr-btn-hover-bg: var(--tblr-x-darken);--tblr-btn-active-color: var(--tblr-x-fg);--tblr-btn-active-bg: var(--tblr-x-darken);--tblr-btn-disabled-bg: var(--tblr-x);--tblr-btn-disabled-color: var(--tblr-x-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-x,.btn-outline.btn-x{--tblr-btn-color: var(--tblr-x);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-x);--tblr-btn-hover-color: var(--tblr-x-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-x);--tblr-btn-active-color: var(--tblr-x-fg);--tblr-btn-active-bg: var(--tblr-x);--tblr-btn-active-border-color: var(--tblr-x);--tblr-btn-disabled-color: var(--tblr-x);--tblr-btn-disabled-border-color: var(--tblr-x)}.btn-ghost-x,.btn-ghost.btn-x{--tblr-btn-color: var(--tblr-x);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-x-fg);--tblr-btn-hover-bg: var(--tblr-x);--tblr-btn-hover-border-color: var(--tblr-x);--tblr-btn-active-color: var(--tblr-x-fg);--tblr-btn-active-bg: var(--tblr-x);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-x);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-facebook{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-facebook-fg, #ffffff);--tblr-btn-bg: var(--tblr-facebook);--tblr-btn-hover-color: var(--tblr-facebook-fg);--tblr-btn-hover-bg: var(--tblr-facebook-darken);--tblr-btn-active-color: var(--tblr-facebook-fg);--tblr-btn-active-bg: var(--tblr-facebook-darken);--tblr-btn-disabled-bg: var(--tblr-facebook);--tblr-btn-disabled-color: var(--tblr-facebook-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-facebook,.btn-outline.btn-facebook{--tblr-btn-color: var(--tblr-facebook);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-facebook);--tblr-btn-hover-color: var(--tblr-facebook-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-facebook);--tblr-btn-active-color: var(--tblr-facebook-fg);--tblr-btn-active-bg: var(--tblr-facebook);--tblr-btn-active-border-color: var(--tblr-facebook);--tblr-btn-disabled-color: var(--tblr-facebook);--tblr-btn-disabled-border-color: var(--tblr-facebook)}.btn-ghost-facebook,.btn-ghost.btn-facebook{--tblr-btn-color: var(--tblr-facebook);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-facebook-fg);--tblr-btn-hover-bg: var(--tblr-facebook);--tblr-btn-hover-border-color: var(--tblr-facebook);--tblr-btn-active-color: var(--tblr-facebook-fg);--tblr-btn-active-bg: var(--tblr-facebook);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-facebook);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-twitter{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-twitter-fg, #ffffff);--tblr-btn-bg: var(--tblr-twitter);--tblr-btn-hover-color: var(--tblr-twitter-fg);--tblr-btn-hover-bg: var(--tblr-twitter-darken);--tblr-btn-active-color: var(--tblr-twitter-fg);--tblr-btn-active-bg: var(--tblr-twitter-darken);--tblr-btn-disabled-bg: var(--tblr-twitter);--tblr-btn-disabled-color: var(--tblr-twitter-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-twitter,.btn-outline.btn-twitter{--tblr-btn-color: var(--tblr-twitter);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-twitter);--tblr-btn-hover-color: var(--tblr-twitter-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-twitter);--tblr-btn-active-color: var(--tblr-twitter-fg);--tblr-btn-active-bg: var(--tblr-twitter);--tblr-btn-active-border-color: var(--tblr-twitter);--tblr-btn-disabled-color: var(--tblr-twitter);--tblr-btn-disabled-border-color: var(--tblr-twitter)}.btn-ghost-twitter,.btn-ghost.btn-twitter{--tblr-btn-color: var(--tblr-twitter);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-twitter-fg);--tblr-btn-hover-bg: var(--tblr-twitter);--tblr-btn-hover-border-color: var(--tblr-twitter);--tblr-btn-active-color: var(--tblr-twitter-fg);--tblr-btn-active-bg: var(--tblr-twitter);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-twitter);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-linkedin{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-linkedin-fg, #ffffff);--tblr-btn-bg: var(--tblr-linkedin);--tblr-btn-hover-color: var(--tblr-linkedin-fg);--tblr-btn-hover-bg: var(--tblr-linkedin-darken);--tblr-btn-active-color: var(--tblr-linkedin-fg);--tblr-btn-active-bg: var(--tblr-linkedin-darken);--tblr-btn-disabled-bg: var(--tblr-linkedin);--tblr-btn-disabled-color: var(--tblr-linkedin-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-linkedin,.btn-outline.btn-linkedin{--tblr-btn-color: var(--tblr-linkedin);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-linkedin);--tblr-btn-hover-color: var(--tblr-linkedin-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-linkedin);--tblr-btn-active-color: var(--tblr-linkedin-fg);--tblr-btn-active-bg: var(--tblr-linkedin);--tblr-btn-active-border-color: var(--tblr-linkedin);--tblr-btn-disabled-color: var(--tblr-linkedin);--tblr-btn-disabled-border-color: var(--tblr-linkedin)}.btn-ghost-linkedin,.btn-ghost.btn-linkedin{--tblr-btn-color: var(--tblr-linkedin);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-linkedin-fg);--tblr-btn-hover-bg: var(--tblr-linkedin);--tblr-btn-hover-border-color: var(--tblr-linkedin);--tblr-btn-active-color: var(--tblr-linkedin-fg);--tblr-btn-active-bg: var(--tblr-linkedin);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-linkedin);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-google{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-google-fg, #ffffff);--tblr-btn-bg: var(--tblr-google);--tblr-btn-hover-color: var(--tblr-google-fg);--tblr-btn-hover-bg: var(--tblr-google-darken);--tblr-btn-active-color: var(--tblr-google-fg);--tblr-btn-active-bg: var(--tblr-google-darken);--tblr-btn-disabled-bg: var(--tblr-google);--tblr-btn-disabled-color: var(--tblr-google-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-google,.btn-outline.btn-google{--tblr-btn-color: var(--tblr-google);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-google);--tblr-btn-hover-color: var(--tblr-google-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-google);--tblr-btn-active-color: var(--tblr-google-fg);--tblr-btn-active-bg: var(--tblr-google);--tblr-btn-active-border-color: var(--tblr-google);--tblr-btn-disabled-color: var(--tblr-google);--tblr-btn-disabled-border-color: var(--tblr-google)}.btn-ghost-google,.btn-ghost.btn-google{--tblr-btn-color: var(--tblr-google);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-google-fg);--tblr-btn-hover-bg: var(--tblr-google);--tblr-btn-hover-border-color: var(--tblr-google);--tblr-btn-active-color: var(--tblr-google-fg);--tblr-btn-active-bg: var(--tblr-google);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-google);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-youtube{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-youtube-fg, #ffffff);--tblr-btn-bg: var(--tblr-youtube);--tblr-btn-hover-color: var(--tblr-youtube-fg);--tblr-btn-hover-bg: var(--tblr-youtube-darken);--tblr-btn-active-color: var(--tblr-youtube-fg);--tblr-btn-active-bg: var(--tblr-youtube-darken);--tblr-btn-disabled-bg: var(--tblr-youtube);--tblr-btn-disabled-color: var(--tblr-youtube-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-youtube,.btn-outline.btn-youtube{--tblr-btn-color: var(--tblr-youtube);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-youtube);--tblr-btn-hover-color: var(--tblr-youtube-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-youtube);--tblr-btn-active-color: var(--tblr-youtube-fg);--tblr-btn-active-bg: var(--tblr-youtube);--tblr-btn-active-border-color: var(--tblr-youtube);--tblr-btn-disabled-color: var(--tblr-youtube);--tblr-btn-disabled-border-color: var(--tblr-youtube)}.btn-ghost-youtube,.btn-ghost.btn-youtube{--tblr-btn-color: var(--tblr-youtube);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-youtube-fg);--tblr-btn-hover-bg: var(--tblr-youtube);--tblr-btn-hover-border-color: var(--tblr-youtube);--tblr-btn-active-color: var(--tblr-youtube-fg);--tblr-btn-active-bg: var(--tblr-youtube);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-youtube);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-vimeo{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-vimeo-fg, #ffffff);--tblr-btn-bg: var(--tblr-vimeo);--tblr-btn-hover-color: var(--tblr-vimeo-fg);--tblr-btn-hover-bg: var(--tblr-vimeo-darken);--tblr-btn-active-color: var(--tblr-vimeo-fg);--tblr-btn-active-bg: var(--tblr-vimeo-darken);--tblr-btn-disabled-bg: var(--tblr-vimeo);--tblr-btn-disabled-color: var(--tblr-vimeo-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-vimeo,.btn-outline.btn-vimeo{--tblr-btn-color: var(--tblr-vimeo);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-vimeo);--tblr-btn-hover-color: var(--tblr-vimeo-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-vimeo);--tblr-btn-active-color: var(--tblr-vimeo-fg);--tblr-btn-active-bg: var(--tblr-vimeo);--tblr-btn-active-border-color: var(--tblr-vimeo);--tblr-btn-disabled-color: var(--tblr-vimeo);--tblr-btn-disabled-border-color: var(--tblr-vimeo)}.btn-ghost-vimeo,.btn-ghost.btn-vimeo{--tblr-btn-color: var(--tblr-vimeo);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-vimeo-fg);--tblr-btn-hover-bg: var(--tblr-vimeo);--tblr-btn-hover-border-color: var(--tblr-vimeo);--tblr-btn-active-color: var(--tblr-vimeo-fg);--tblr-btn-active-bg: var(--tblr-vimeo);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-vimeo);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-dribbble{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-dribbble-fg, #ffffff);--tblr-btn-bg: var(--tblr-dribbble);--tblr-btn-hover-color: var(--tblr-dribbble-fg);--tblr-btn-hover-bg: var(--tblr-dribbble-darken);--tblr-btn-active-color: var(--tblr-dribbble-fg);--tblr-btn-active-bg: var(--tblr-dribbble-darken);--tblr-btn-disabled-bg: var(--tblr-dribbble);--tblr-btn-disabled-color: var(--tblr-dribbble-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-dribbble,.btn-outline.btn-dribbble{--tblr-btn-color: var(--tblr-dribbble);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-dribbble);--tblr-btn-hover-color: var(--tblr-dribbble-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-dribbble);--tblr-btn-active-color: var(--tblr-dribbble-fg);--tblr-btn-active-bg: var(--tblr-dribbble);--tblr-btn-active-border-color: var(--tblr-dribbble);--tblr-btn-disabled-color: var(--tblr-dribbble);--tblr-btn-disabled-border-color: var(--tblr-dribbble)}.btn-ghost-dribbble,.btn-ghost.btn-dribbble{--tblr-btn-color: var(--tblr-dribbble);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-dribbble-fg);--tblr-btn-hover-bg: var(--tblr-dribbble);--tblr-btn-hover-border-color: var(--tblr-dribbble);--tblr-btn-active-color: var(--tblr-dribbble-fg);--tblr-btn-active-bg: var(--tblr-dribbble);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-dribbble);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-github{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-github-fg, #ffffff);--tblr-btn-bg: var(--tblr-github);--tblr-btn-hover-color: var(--tblr-github-fg);--tblr-btn-hover-bg: var(--tblr-github-darken);--tblr-btn-active-color: var(--tblr-github-fg);--tblr-btn-active-bg: var(--tblr-github-darken);--tblr-btn-disabled-bg: var(--tblr-github);--tblr-btn-disabled-color: var(--tblr-github-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-github,.btn-outline.btn-github{--tblr-btn-color: var(--tblr-github);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-github);--tblr-btn-hover-color: var(--tblr-github-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-github);--tblr-btn-active-color: var(--tblr-github-fg);--tblr-btn-active-bg: var(--tblr-github);--tblr-btn-active-border-color: var(--tblr-github);--tblr-btn-disabled-color: var(--tblr-github);--tblr-btn-disabled-border-color: var(--tblr-github)}.btn-ghost-github,.btn-ghost.btn-github{--tblr-btn-color: var(--tblr-github);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-github-fg);--tblr-btn-hover-bg: var(--tblr-github);--tblr-btn-hover-border-color: var(--tblr-github);--tblr-btn-active-color: var(--tblr-github-fg);--tblr-btn-active-bg: var(--tblr-github);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-github);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-instagram{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-instagram-fg, #ffffff);--tblr-btn-bg: var(--tblr-instagram);--tblr-btn-hover-color: var(--tblr-instagram-fg);--tblr-btn-hover-bg: var(--tblr-instagram-darken);--tblr-btn-active-color: var(--tblr-instagram-fg);--tblr-btn-active-bg: var(--tblr-instagram-darken);--tblr-btn-disabled-bg: var(--tblr-instagram);--tblr-btn-disabled-color: var(--tblr-instagram-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-instagram,.btn-outline.btn-instagram{--tblr-btn-color: var(--tblr-instagram);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-instagram);--tblr-btn-hover-color: var(--tblr-instagram-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-instagram);--tblr-btn-active-color: var(--tblr-instagram-fg);--tblr-btn-active-bg: var(--tblr-instagram);--tblr-btn-active-border-color: var(--tblr-instagram);--tblr-btn-disabled-color: var(--tblr-instagram);--tblr-btn-disabled-border-color: var(--tblr-instagram)}.btn-ghost-instagram,.btn-ghost.btn-instagram{--tblr-btn-color: var(--tblr-instagram);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-instagram-fg);--tblr-btn-hover-bg: var(--tblr-instagram);--tblr-btn-hover-border-color: var(--tblr-instagram);--tblr-btn-active-color: var(--tblr-instagram-fg);--tblr-btn-active-bg: var(--tblr-instagram);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-instagram);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-pinterest{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-pinterest-fg, #ffffff);--tblr-btn-bg: var(--tblr-pinterest);--tblr-btn-hover-color: var(--tblr-pinterest-fg);--tblr-btn-hover-bg: var(--tblr-pinterest-darken);--tblr-btn-active-color: var(--tblr-pinterest-fg);--tblr-btn-active-bg: var(--tblr-pinterest-darken);--tblr-btn-disabled-bg: var(--tblr-pinterest);--tblr-btn-disabled-color: var(--tblr-pinterest-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-pinterest,.btn-outline.btn-pinterest{--tblr-btn-color: var(--tblr-pinterest);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-pinterest);--tblr-btn-hover-color: var(--tblr-pinterest-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-pinterest);--tblr-btn-active-color: var(--tblr-pinterest-fg);--tblr-btn-active-bg: var(--tblr-pinterest);--tblr-btn-active-border-color: var(--tblr-pinterest);--tblr-btn-disabled-color: var(--tblr-pinterest);--tblr-btn-disabled-border-color: var(--tblr-pinterest)}.btn-ghost-pinterest,.btn-ghost.btn-pinterest{--tblr-btn-color: var(--tblr-pinterest);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-pinterest-fg);--tblr-btn-hover-bg: var(--tblr-pinterest);--tblr-btn-hover-border-color: var(--tblr-pinterest);--tblr-btn-active-color: var(--tblr-pinterest-fg);--tblr-btn-active-bg: var(--tblr-pinterest);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-pinterest);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-vk{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-vk-fg, #ffffff);--tblr-btn-bg: var(--tblr-vk);--tblr-btn-hover-color: var(--tblr-vk-fg);--tblr-btn-hover-bg: var(--tblr-vk-darken);--tblr-btn-active-color: var(--tblr-vk-fg);--tblr-btn-active-bg: var(--tblr-vk-darken);--tblr-btn-disabled-bg: var(--tblr-vk);--tblr-btn-disabled-color: var(--tblr-vk-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-vk,.btn-outline.btn-vk{--tblr-btn-color: var(--tblr-vk);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-vk);--tblr-btn-hover-color: var(--tblr-vk-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-vk);--tblr-btn-active-color: var(--tblr-vk-fg);--tblr-btn-active-bg: var(--tblr-vk);--tblr-btn-active-border-color: var(--tblr-vk);--tblr-btn-disabled-color: var(--tblr-vk);--tblr-btn-disabled-border-color: var(--tblr-vk)}.btn-ghost-vk,.btn-ghost.btn-vk{--tblr-btn-color: var(--tblr-vk);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-vk-fg);--tblr-btn-hover-bg: var(--tblr-vk);--tblr-btn-hover-border-color: var(--tblr-vk);--tblr-btn-active-color: var(--tblr-vk-fg);--tblr-btn-active-bg: var(--tblr-vk);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-vk);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-rss{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-rss-fg, #ffffff);--tblr-btn-bg: var(--tblr-rss);--tblr-btn-hover-color: var(--tblr-rss-fg);--tblr-btn-hover-bg: var(--tblr-rss-darken);--tblr-btn-active-color: var(--tblr-rss-fg);--tblr-btn-active-bg: var(--tblr-rss-darken);--tblr-btn-disabled-bg: var(--tblr-rss);--tblr-btn-disabled-color: var(--tblr-rss-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-rss,.btn-outline.btn-rss{--tblr-btn-color: var(--tblr-rss);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-rss);--tblr-btn-hover-color: var(--tblr-rss-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-rss);--tblr-btn-active-color: var(--tblr-rss-fg);--tblr-btn-active-bg: var(--tblr-rss);--tblr-btn-active-border-color: var(--tblr-rss);--tblr-btn-disabled-color: var(--tblr-rss);--tblr-btn-disabled-border-color: var(--tblr-rss)}.btn-ghost-rss,.btn-ghost.btn-rss{--tblr-btn-color: var(--tblr-rss);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-rss-fg);--tblr-btn-hover-bg: var(--tblr-rss);--tblr-btn-hover-border-color: var(--tblr-rss);--tblr-btn-active-color: var(--tblr-rss-fg);--tblr-btn-active-bg: var(--tblr-rss);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-rss);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-flickr{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-flickr-fg, #ffffff);--tblr-btn-bg: var(--tblr-flickr);--tblr-btn-hover-color: var(--tblr-flickr-fg);--tblr-btn-hover-bg: var(--tblr-flickr-darken);--tblr-btn-active-color: var(--tblr-flickr-fg);--tblr-btn-active-bg: var(--tblr-flickr-darken);--tblr-btn-disabled-bg: var(--tblr-flickr);--tblr-btn-disabled-color: var(--tblr-flickr-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-flickr,.btn-outline.btn-flickr{--tblr-btn-color: var(--tblr-flickr);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-flickr);--tblr-btn-hover-color: var(--tblr-flickr-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-flickr);--tblr-btn-active-color: var(--tblr-flickr-fg);--tblr-btn-active-bg: var(--tblr-flickr);--tblr-btn-active-border-color: var(--tblr-flickr);--tblr-btn-disabled-color: var(--tblr-flickr);--tblr-btn-disabled-border-color: var(--tblr-flickr)}.btn-ghost-flickr,.btn-ghost.btn-flickr{--tblr-btn-color: var(--tblr-flickr);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-flickr-fg);--tblr-btn-hover-bg: var(--tblr-flickr);--tblr-btn-hover-border-color: var(--tblr-flickr);--tblr-btn-active-color: var(--tblr-flickr-fg);--tblr-btn-active-bg: var(--tblr-flickr);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-flickr);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-bitbucket{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-bitbucket-fg, #ffffff);--tblr-btn-bg: var(--tblr-bitbucket);--tblr-btn-hover-color: var(--tblr-bitbucket-fg);--tblr-btn-hover-bg: var(--tblr-bitbucket-darken);--tblr-btn-active-color: var(--tblr-bitbucket-fg);--tblr-btn-active-bg: var(--tblr-bitbucket-darken);--tblr-btn-disabled-bg: var(--tblr-bitbucket);--tblr-btn-disabled-color: var(--tblr-bitbucket-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-bitbucket,.btn-outline.btn-bitbucket{--tblr-btn-color: var(--tblr-bitbucket);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-bitbucket);--tblr-btn-hover-color: var(--tblr-bitbucket-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-bitbucket);--tblr-btn-active-color: var(--tblr-bitbucket-fg);--tblr-btn-active-bg: var(--tblr-bitbucket);--tblr-btn-active-border-color: var(--tblr-bitbucket);--tblr-btn-disabled-color: var(--tblr-bitbucket);--tblr-btn-disabled-border-color: var(--tblr-bitbucket)}.btn-ghost-bitbucket,.btn-ghost.btn-bitbucket{--tblr-btn-color: var(--tblr-bitbucket);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-bitbucket-fg);--tblr-btn-hover-bg: var(--tblr-bitbucket);--tblr-btn-hover-border-color: var(--tblr-bitbucket);--tblr-btn-active-color: var(--tblr-bitbucket-fg);--tblr-btn-active-bg: var(--tblr-bitbucket);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-bitbucket);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-tabler{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-tabler-fg, #ffffff);--tblr-btn-bg: var(--tblr-tabler);--tblr-btn-hover-color: var(--tblr-tabler-fg);--tblr-btn-hover-bg: var(--tblr-tabler-darken);--tblr-btn-active-color: var(--tblr-tabler-fg);--tblr-btn-active-bg: var(--tblr-tabler-darken);--tblr-btn-disabled-bg: var(--tblr-tabler);--tblr-btn-disabled-color: var(--tblr-tabler-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-tabler,.btn-outline.btn-tabler{--tblr-btn-color: var(--tblr-tabler);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-tabler);--tblr-btn-hover-color: var(--tblr-tabler-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-tabler);--tblr-btn-active-color: var(--tblr-tabler-fg);--tblr-btn-active-bg: var(--tblr-tabler);--tblr-btn-active-border-color: var(--tblr-tabler);--tblr-btn-disabled-color: var(--tblr-tabler);--tblr-btn-disabled-border-color: var(--tblr-tabler)}.btn-ghost-tabler,.btn-ghost.btn-tabler{--tblr-btn-color: var(--tblr-tabler);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-tabler-fg);--tblr-btn-hover-bg: var(--tblr-tabler);--tblr-btn-hover-border-color: var(--tblr-tabler);--tblr-btn-active-color: var(--tblr-tabler-fg);--tblr-btn-active-bg: var(--tblr-tabler);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-tabler);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-sm,.btn-group-sm>.btn{--tblr-btn-line-height: 1.3333333333;--tblr-btn-icon-size: 1rem}.btn-lg,.btn-group-lg>.btn{--tblr-btn-line-height: 1.5rem;--tblr-btn-icon-size: 1.5rem}.btn-xl,.btn-group-xl>.btn{--tblr-btn-line-height: 2;--tblr-btn-icon-size: 2rem;--tblr-btn-padding-y: .6875rem;--tblr-btn-padding-x: 2rem;--tblr-btn-font-size: 1.5rem}.btn-pill{padding-right:1.5em;padding-left:1.5em;border-radius:10rem}.btn-pill[class*=btn-icon]{padding:.375rem 15px}.btn-square{border-radius:0}.btn-icon,.btn-action{padding-left:0;padding-right:0}.btn-icon .icon,.btn-action .icon{margin:calc(-1 * var(--tblr-btn-padding-x))}.btn-list{--tblr-list-gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.btn-floating{position:fixed;z-index:1030;bottom:1rem;left:1rem;box-shadow:var(--tblr-shadow-dropdown)}.btn-loading{position:relative;color:transparent!important;text-shadow:none!important;pointer-events:none}.btn-loading>*{opacity:0}.btn-loading:after{content:"";display:inline-block;vertical-align:text-bottom;border:2px var(--tblr-border-style) currentColor;border-right-color:transparent;border-radius:100rem;color:var(--tblr-btn-color);position:absolute;width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);left:calc(50% - var(--tblr-btn-icon-size) / 2);top:calc(50% - var(--tblr-btn-icon-size) / 2);animation:spinner-border .75s linear infinite}.btn-action{--tblr-border-color: transparent;color:var(--tblr-secondary);border-radius:var(--tblr-border-radius);background:transparent;box-shadow:none}.btn-action:after{content:none}.btn-action:focus{outline:none;box-shadow:none}.btn-action:hover,.btn-action.show{color:var(--tblr-body-color);background:var(--tblr-active-bg);border-color:transparent}.btn-action.show{color:var(--tblr-primary)}.btn-actions{display:flex}.btn-animate-icon .icon{transition:transform .3s ease}.btn-animate-icon:hover .icon,.btn-animate-icon:focus-visible .icon{transform:translate(4px)}.btn-animate-icon.btn-animate-icon-rotate:hover .icon,.btn-animate-icon.btn-animate-icon-rotate:focus-visible .icon{transform:rotate(90deg)}.btn-animate-icon.btn-animate-icon-move-start:hover .icon,.btn-animate-icon.btn-animate-icon-move-start:focus-visible .icon{transform:translate(-4px)}.btn-animate-icon.btn-animate-icon-pulse:hover .icon,.btn-animate-icon.btn-animate-icon-pulse:focus-visible .icon{transform:none;animation:pulse .9s}.btn-animate-icon.btn-animate-icon-shake:hover .icon,.btn-animate-icon.btn-animate-icon-shake:focus-visible .icon{transform:none;animation:shake .9s}.btn-animate-icon.btn-animate-icon-tada:hover .icon,.btn-animate-icon.btn-animate-icon-tada:focus-visible .icon{transform:none;animation:tada .9s}.btn-group,.btn-group-vertical{box-shadow:var(--tblr-shadow-input)}.btn-group>.btn-check:checked+.btn,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:5}.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus{z-index:1}.calendar{display:block;font-size:.765625rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.calendar-nav{display:flex;align-items:center}.calendar-title{flex:1;text-align:center}.calendar-body,.calendar-header{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:.5rem 0}.calendar-header{color:var(--tblr-secondary)}.calendar-date{flex:0 0 14.2857142857%;max-width:14.2857142857%;padding:.2rem;text-align:center;border:0}.calendar-date.prev-month,.calendar-date.next-month{opacity:.25}.calendar-date .date-item{position:relative;display:inline-block;width:1.4rem;height:1.4rem;line-height:1.4rem;color:#66758c;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;background:0 0;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:100rem;outline:0;transition:background .3s,border .3s,box-shadow .32s,color .3s}@media(prefers-reduced-motion:reduce){.calendar-date .date-item{transition:none}}.calendar-date .date-item:hover{color:var(--tblr-primary);text-decoration:none;background:#fefeff;border-color:var(--tblr-border-color)}.calendar-date .date-today{color:var(--tblr-primary);border-color:var(--tblr-border-color)}.calendar-range{position:relative}.calendar-range:before{position:absolute;top:50%;right:0;left:0;height:1.4rem;content:"";background:rgba(var(--tblr-primary-rgb),.1);transform:translateY(-50%)}.calendar-range.range-start .date-item,.calendar-range.range-end .date-item{color:#fff;background:var(--tblr-primary);border-color:var(--tblr-primary)}.calendar-range.range-start:before{left:50%}.calendar-range.range-end:before{right:50%}.carousel-indicators-vertical{left:auto;top:0;margin:0 1rem 0 0;flex-direction:column}.carousel-indicators-vertical [data-bs-target]{margin:3px 0;width:3px;height:30px;border:0;border-left:10px var(--tblr-border-style) transparent;border-right:10px var(--tblr-border-style) transparent}.carousel-indicators-dot [data-bs-target]{width:.5rem;height:.5rem;border-radius:100rem;border:10px var(--tblr-border-style) transparent;margin:0}.carousel-indicators-thumb [data-bs-target]{width:2rem;height:auto;background:no-repeat center/cover;border:0;border-radius:var(--tblr-border-radius);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px;margin:0 3px;opacity:.75}@media(min-width:992px){.carousel-indicators-thumb [data-bs-target]{width:4rem}}.carousel-indicators-thumb [data-bs-target]:before{content:"";padding-top:var(--tblr-aspect-ratio, 100%);display:block}.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target]{margin:3px 0}.carousel-caption-background{background:red;position:absolute;left:0;right:0;bottom:0;height:90%;background:linear-gradient(0deg,#1f2937e6,#1f293700)}.card{transition:transform .3s ease-out,opacity .3s ease-out,box-shadow .3s ease-out}@media(prefers-reduced-motion:reduce){.card{transition:none}}@media print{.card{border:none;box-shadow:none}}a.card{color:inherit}a.card:hover{text-decoration:none;box-shadow:rgba(var(--tblr-body-color-rgb),.16) 0 2px 16px}.card .card{box-shadow:none}.card-borderless,.card-borderless .card-header,.card-borderless .card-footer{border-color:transparent}.card-stamp{--tblr-stamp-size: 7rem;position:absolute;top:0;right:0;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);max-height:100%;border-top-right-radius:6px;opacity:.2;overflow:hidden;pointer-events:none}.card-stamp-lg{--tblr-stamp-size: 13rem}.card-stamp-icon{background:var(--tblr-secondary);color:var(--tblr-card-bg, var(--tblr-bg-surface));display:flex;align-items:center;justify-content:center;border-radius:100rem;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);position:relative;top:calc(var(--tblr-stamp-size) * -.25);right:calc(var(--tblr-stamp-size) * -.25);font-size:calc(var(--tblr-stamp-size) * .75);transform:rotate(10deg)}.card-stamp-icon .icon{stroke-width:2;width:calc(var(--tblr-stamp-size) * .75);height:calc(var(--tblr-stamp-size) * .75)}.card-img,.card-img-start{border-top-left-radius:calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));border-bottom-left-radius:calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)))}.card-img,.card-img-end{border-top-right-radius:calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));border-bottom-right-radius:calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)))}.card-img-overlay{display:flex;flex-direction:column;justify-content:flex-end}.card-img-overlay-dark{background-image:linear-gradient(180deg,#0000,#0009)}.card-inactive{pointer-events:none;box-shadow:none}.card-inactive .card-body{opacity:.64}.card-active{--tblr-card-border-color: var(--tblr-primary);--tblr-card-bg: var(--tblr-active-bg)}.card-btn{display:flex;align-items:center;justify-content:center;padding:1rem 1.25rem;text-align:center;transition:background .3s;border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);flex:1;color:inherit;font-weight:var(--tblr-font-weight-medium)}@media(prefers-reduced-motion:reduce){.card-btn{transition:none}}.card-btn:hover{text-decoration:none;background:rgba(var(--tblr-primary-rgb),.04)}.card-btn+.card-btn{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-stacked{--tblr-card-stacked-offset: .25rem;position:relative}.card-stacked:after{position:absolute;top:calc(-1 * var(--tblr-card-stacked-offset));right:var(--tblr-card-stacked-offset);left:var(--tblr-card-stacked-offset);height:var(--tblr-card-stacked-offset);content:"";background:var(--tblr-card-bg, var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-cover{position:relative;padding:1rem 1.25rem;background:#666 no-repeat center/cover}.card-cover:before{position:absolute;inset:0;content:"";background:#1f29377a}.card-cover:first-child,.card-cover:first-child:before{border-radius:6px 6px 0 0}.card-cover-blurred:before{backdrop-filter:blur(2px)}.card-actions{margin:-.5rem -.5rem -.5rem auto;padding-left:.5rem}.card-actions a{text-decoration:none}.card-header{color:inherit;display:flex;align-items:center;background:transparent}.card-header:first-child{border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-light{border-bottom-color:transparent;background:var(--tblr-bg-surface-tertiary)}.card-header-tabs{background:var(--tblr-bg-surface-tertiary);flex:1;margin:calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1);padding:calc(var(--tblr-card-cap-padding-y) * .5) calc(var(--tblr-card-cap-padding-x) * .5) 0;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-pills{flex:1;margin-top:-.5rem;margin-bottom:-.5rem}.card-rotate-left,.card-rotate-start{transform:rotate(-1.5deg)}.card-rotate-right,.card-rotate-end{transform:rotate(1.5deg)}.card-link{color:inherit}.card-link:hover{color:inherit;text-decoration:none;box-shadow:0 1px 6px #00000014}.card-link-rotate:hover{transform:rotate(1.5deg);opacity:1}.card-link-pop:hover{transform:translateY(-2px);opacity:1}.card-footer{margin-top:auto}.card-footer:last-child{border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-footer-transparent{background:transparent;border-color:transparent;padding-top:0}.card-footer-borderless{border-top:none}.card-progress{height:.25rem}.card-progress:last-child{border-radius:0 0 2px 2px}.card-progress:first-child{border-radius:2px 2px 0 0}.card-meta{color:var(--tblr-secondary)}.card-title{display:block;margin:0 0 1rem;font-size:1rem;font-weight:var(--tblr-font-weight-medium);color:inherit;line-height:1.5rem}a.card-title:hover{color:inherit}.card-header .card-title{margin:0}.card-subtitle{margin-bottom:1.25rem;color:var(--tblr-secondary);font-weight:400}.card-header .card-subtitle{margin:0}.card-title .card-subtitle{margin:0 0 0 .25rem;font-size:.875rem}.card-body{position:relative}.card-body>:last-child{margin-bottom:0}.card-sm>.card-body{padding:1rem}@media(min-width:768px){.card-md>.card-body{padding:2.5rem}}@media(min-width:768px){.card-lg>.card-body{padding:2rem}}@media(min-width:992px){.card-lg>.card-body{padding:4rem}}@media print{.card-body{padding:0}}.card-body+.card-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-body-scrollable{overflow:auto}.card-options{top:1.5rem;right:.75rem;display:flex;margin-left:auto}.card-options-link{display:inline-block;min-width:1rem;margin-left:.25rem;color:var(--tblr-secondary)}.card-status-top{position:absolute;top:0;right:0;left:0;height:2px;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-status-start{position:absolute;right:auto;bottom:0;width:2px;height:100%;border-radius:var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius)}.card-status-bottom{position:absolute;top:initial;bottom:0;width:100%;height:2px;border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-table{margin-bottom:0!important}.card-table tr td:first-child,.card-table tr th:first-child{padding-left:1.25rem;border-left:0}.card-table tr td:last-child,.card-table tr th:last-child{padding-right:1.25rem;border-right:0}.card-table thead tr:first-child,.card-table tbody tr:first-child,.card-table tfoot tr:first-child,.card-table thead tr:first-child td,.card-table thead tr:first-child th,.card-table tbody tr:first-child td,.card-table tbody tr:first-child th,.card-table tfoot tr:first-child td,.card-table tfoot tr:first-child th{border-top:0}.card-body+.card-table{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color)}.card-code{padding:0}.card-code .highlight{margin:0;border:0}.card-code pre{margin:0!important;border:0!important}.card-chart{position:relative;z-index:1;height:3.5rem}.card-avatar{margin-left:auto;margin-right:auto;box-shadow:0 0 0 .25rem var(--tblr-card-bg, var(--tblr-bg-surface));margin-top:calc(-1 * var(--tblr-avatar-size) * .5)}.card-body+.card-list-group{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-list-group .list-group-item{padding-right:1.25rem;padding-left:1.25rem;border-right:0;border-left:0;border-radius:0}.card-list-group .list-group-item:last-child{border-bottom:0}.card-list-group .list-group-item:first-child{border-top:0}.card-tabs .nav-tabs{position:relative;z-index:1000;border-bottom:0}.card-tabs .nav-tabs .nav-link{background:var(--tblr-bg-surface-tertiary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.card-tabs .nav-tabs .nav-link.active,.card-tabs .nav-tabs .nav-link:active,.card-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color-translucent);color:var(--tblr-body-color)}.card-tabs .nav-tabs .nav-link.active{color:inherit;background:var(--tblr-card-bg, var(--tblr-bg-surface));border-bottom-color:transparent}.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link{border-top-left-radius:0}.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link{border-top-right-radius:0}.card-tabs .nav-tabs .nav-item+.nav-item{margin-left:calc(-1 * var(--tblr-border-width))}.card-tabs .nav-tabs-bottom,.card-tabs .nav-tabs-bottom .nav-link{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link.active{border-top-color:transparent}.card-tabs .nav-tabs-bottom .nav-item{margin-top:calc(-1 * var(--tblr-border-width));margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-item .nav-link{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:0 0 var(--tblr-border-radius-lg) var(--tblr-border-radius-lg)}.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link{border-bottom-left-radius:0}.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link{border-bottom-right-radius:0}.card-tabs .card{border-bottom-left-radius:0}.card-tabs .nav-tabs+.tab-content .card{border-bottom-left-radius:var(--tblr-card-border-radius);border-top-left-radius:0}.card-note{--tblr-card-bg: #fff7dd;--tblr-card-border-color: #fff1c9}.btn-close{--tblr-btn-close-color: currentColor;--tblr-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f2937'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--tblr-btn-close-opacity: .4;--tblr-btn-close-hover-opacity: .75;--tblr-btn-close-focus-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25);--tblr-btn-close-focus-opacity: 1;--tblr-btn-close-disabled-opacity: .25;--tblr-btn-close-size: 1em;width:var(--tblr-btn-close-size);height:var(--tblr-btn-close-size);padding:.25em;color:var(--tblr-btn-close-color);mask:var(--tblr-btn-close-bg) no-repeat center/calc(var(--tblr-btn-close-size) * .75);background-color:var(--tblr-btn-close-color);border:0;border-radius:var(--tblr-border-radius);opacity:var(--tblr-btn-close-opacity);cursor:pointer;display:block}.btn-close:hover{color:var(--tblr-btn-close-color);text-decoration:none;opacity:var(--tblr-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--tblr-btn-close-focus-shadow);opacity:var(--tblr-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:var(--tblr-btn-close-disabled-opacity)}.dropdown-menu{user-select:none;background-clip:border-box}.dropdown-menu.card{padding:0;min-width:25rem;display:none}.dropdown-menu.card.show{display:flex}.dropdown-item{min-width:11rem;display:flex;align-items:center;margin:0;line-height:1.4285714286;gap:.5rem}.dropdown-item-icon{width:1.25rem!important;height:1.25rem!important;margin-right:.5rem;color:var(--tblr-secondary);opacity:.7;text-align:center}.dropdown-item-indicator{margin-right:.5rem;margin-left:-.25rem;height:1.25rem;display:inline-flex;line-height:1;vertical-align:bottom;align-items:center}.dropdown-header{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);padding-bottom:.25rem;pointer-events:none}.dropdown-menu-scrollable{height:auto;max-height:13rem;overflow-x:hidden}.dropdown-menu-column{min-width:11rem}.dropdown-menu-column .dropdown-item{min-width:0}.dropdown-menu-columns{display:flex;flex:0 .25rem}.dropdown-menu-arrow:before{content:"";position:absolute;top:-.25rem;left:.75rem;display:block;background:inherit;width:14px;height:14px;transform:rotate(45deg);transform-origin:center;border:1px solid;border-color:inherit;z-index:-1;clip:rect(0px,9px,9px,0px)}.dropdown-menu-arrow.dropdown-menu-end:before{right:.75rem;left:auto}.dropend>.dropdown-menu{margin-top:calc(-.25rem - 1px);margin-left:-.25rem}.dropend .dropdown-toggle:after{margin-left:auto}.dropdown-menu-card{padding:0;min-width:20rem}.dropdown-menu-card>.card{margin:0;border:0;box-shadow:none}.datagrid{--tblr-datagrid-padding: 1.5rem;--tblr-datagrid-item-width: 15rem;display:grid;grid-gap:var(--tblr-datagrid-padding);grid-template-columns:repeat(auto-fit,minmax(var(--tblr-datagrid-item-width),1fr))}.datagrid-title{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);margin-bottom:.25rem}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;text-align:center}@media(min-width:768px){.empty{padding:3rem}}.empty-icon{margin:0 0 1rem;width:3rem;height:3rem;line-height:1;color:var(--tblr-secondary)}.empty-icon svg{width:100%;height:100%}.empty-img{margin:0 0 2rem;line-height:1}.empty-header{margin:0 0 1rem;font-size:4rem;font-weight:var(--tblr-font-weight-light);line-height:1;color:var(--tblr-secondary)}.empty-title{font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold)}.empty-title,.empty-subtitle{margin:0 0 .5rem}.empty-action{margin-top:1.5rem}.empty-bordered{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.row>*{min-width:0}.col-separator{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.container-slim{--tblr-gutter-x: calc(var(--tblr-page-padding) * 2);--tblr-gutter-y: 0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:16rem}.container-tight{--tblr-gutter-x: calc(var(--tblr-page-padding) * 2);--tblr-gutter-y: 0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:30rem}.container-narrow{--tblr-gutter-x: calc(var(--tblr-page-padding) * 2);--tblr-gutter-y: 0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:61.875rem}.row-0{margin-right:0;margin-left:0}.row-0>.col,.row-0>[class*=col-]{padding-right:0;padding-left:0}.row-0 .card{margin-bottom:0}.row-sm{margin-right:-.375rem;margin-left:-.375rem}.row-sm>.col,.row-sm>[class*=col-]{padding-right:.375rem;padding-left:.375rem}.row-sm .card{margin-bottom:.75rem}.row-md{margin-right:-1.5rem;margin-left:-1.5rem}.row-md>.col,.row-md>[class*=col-]{padding-right:1.5rem;padding-left:1.5rem}.row-md .card{margin-bottom:3rem}.row-lg{margin-right:-3rem;margin-left:-3rem}.row-lg>.col,.row-lg>[class*=col-]{padding-right:3rem;padding-left:3rem}.row-lg .card{margin-bottom:6rem}.row-deck>.col,.row-deck>[class*=col-]{display:flex;align-items:stretch}.row-deck>.col .card,.row-deck>[class*=col-] .card{flex:1 1 auto}.row-cards{--tblr-gutter-x: var(--tblr-page-padding);--tblr-gutter-y: var(--tblr-page-padding);min-width:0}.row-cards .row-cards{flex:1}.space-y{display:flex;flex-direction:column;gap:1rem}.space-x{display:flex;gap:1rem}.space-y-0{display:flex;flex-direction:column;gap:0}.space-x-0{display:flex;gap:0}.space-y-1{display:flex;flex-direction:column;gap:.25rem}.space-x-1{display:flex;gap:.25rem}.space-y-2{display:flex;flex-direction:column;gap:.5rem}.space-x-2{display:flex;gap:.5rem}.space-y-3{display:flex;flex-direction:column;gap:1rem}.space-x-3{display:flex;gap:1rem}.space-y-4{display:flex;flex-direction:column;gap:1.5rem}.space-x-4{display:flex;gap:1.5rem}.space-y-5{display:flex;flex-direction:column;gap:2rem}.space-x-5{display:flex;gap:2rem}.space-y-6{display:flex;flex-direction:column;gap:2.5rem}.space-x-6{display:flex;gap:2.5rem}.divide-y>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y>:not(template):not(:first-child){padding-top:1rem!important}.divide-y>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x>:not(template):not(:first-child){padding-left:1rem!important}.divide-x>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-0>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-0>:not(template):not(:first-child){padding-top:0!important}.divide-y-0>:not(template):not(:last-child){padding-bottom:0!important}.divide-x-0>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-0>:not(template):not(:first-child){padding-left:0!important}.divide-x-0>:not(template):not(:last-child){padding-right:0!important}.divide-y-1>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-1>:not(template):not(:first-child){padding-top:.25rem!important}.divide-y-1>:not(template):not(:last-child){padding-bottom:.25rem!important}.divide-x-1>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-1>:not(template):not(:first-child){padding-left:.25rem!important}.divide-x-1>:not(template):not(:last-child){padding-right:.25rem!important}.divide-y-2>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-2>:not(template):not(:first-child){padding-top:.5rem!important}.divide-y-2>:not(template):not(:last-child){padding-bottom:.5rem!important}.divide-x-2>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-2>:not(template):not(:first-child){padding-left:.5rem!important}.divide-x-2>:not(template):not(:last-child){padding-right:.5rem!important}.divide-y-3>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-3>:not(template):not(:first-child){padding-top:1rem!important}.divide-y-3>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x-3>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-3>:not(template):not(:first-child){padding-left:1rem!important}.divide-x-3>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-4>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-4>:not(template):not(:first-child){padding-top:1.5rem!important}.divide-y-4>:not(template):not(:last-child){padding-bottom:1.5rem!important}.divide-x-4>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-4>:not(template):not(:first-child){padding-left:1.5rem!important}.divide-x-4>:not(template):not(:last-child){padding-right:1.5rem!important}.divide-y-5>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-5>:not(template):not(:first-child){padding-top:2rem!important}.divide-y-5>:not(template):not(:last-child){padding-bottom:2rem!important}.divide-x-5>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-5>:not(template):not(:first-child){padding-left:2rem!important}.divide-x-5>:not(template):not(:last-child){padding-right:2rem!important}.divide-y-6>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-6>:not(template):not(:first-child){padding-top:2.5rem!important}.divide-y-6>:not(template):not(:last-child){padding-bottom:2.5rem!important}.divide-x-6>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-6>:not(template):not(:first-child){padding-left:2.5rem!important}.divide-x-6>:not(template):not(:last-child){padding-right:2.5rem!important}.divide-y-fill{display:flex;flex-direction:column;height:100%}.divide-y-fill>:not(template){flex:1;display:flex;justify-content:center;flex-direction:column}.icon{--tblr-icon-size: 1.25rem;width:var(--tblr-icon-size);height:var(--tblr-icon-size);font-size:var(--tblr-icon-size);vertical-align:bottom;stroke-width:1.5}.icon:hover{text-decoration:none}.icon-inline{--tblr-icon-size: 1rem;vertical-align:-.2rem}.icon-filled{fill:currentColor}.icon-sm{--tblr-icon-size: 1rem;stroke-width:1}.icon-md{--tblr-icon-size: 2.5rem;stroke-width:1}.icon-lg{--tblr-icon-size: 3.5rem;stroke-width:1}.icon-pulse{transition:all .15s ease 0s;animation:pulse 2s ease infinite;animation-fill-mode:both}.icon-tada{transition:all .15s ease 0s;animation:tada 3s ease infinite;animation-fill-mode:both}.icon-rotate{transition:all .15s ease 0s;animation:rotate-360 3s linear infinite;animation-fill-mode:both}.img-responsive{--tblr-img-responsive-ratio: 75%;background:no-repeat center/cover;padding-top:var(--tblr-img-responsive-ratio)}.img-responsive-grid{padding-top:calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y) / 2)}.img-responsive-1x1{--tblr-img-responsive-ratio: 100%}.img-responsive-2x1{--tblr-img-responsive-ratio: 50%}.img-responsive-1x2{--tblr-img-responsive-ratio: 200%}.img-responsive-3x1{--tblr-img-responsive-ratio: 33.3333333333%}.img-responsive-1x3{--tblr-img-responsive-ratio: 300%}.img-responsive-4x1{--tblr-img-responsive-ratio: 25%}.img-responsive-1x4{--tblr-img-responsive-ratio: 400%}.img-responsive-4x3{--tblr-img-responsive-ratio: 75%}.img-responsive-3x4{--tblr-img-responsive-ratio: 133.3333333333%}.img-responsive-16x9{--tblr-img-responsive-ratio: 56.25%}.img-responsive-9x16{--tblr-img-responsive-ratio: 177.7777777778%}.img-responsive-21x9{--tblr-img-responsive-ratio: 42.8571428571%}.img-responsive-9x21{--tblr-img-responsive-ratio: 233.3333333333%}.img-bg{background:no-repeat center/cover}textarea[cols]{height:auto}.col-form-label,.form-label{display:block;font-weight:var(--tblr-font-weight-medium)}.col-form-label.required:after,.form-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-label-description{float:right;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-secondary)}.form-hint{display:block;color:var(--tblr-secondary)}.form-hint:last-child{margin-bottom:0}.form-hint+.form-control{margin-top:.25rem}.form-label+.form-hint{margin-top:-.25rem}.input-group+.form-hint,.form-control+.form-hint,.form-select+.form-hint{margin-top:.5rem;color:var(--tblr-secondary)}.form-select:-moz-focusring{color:var(--tblr-body-color)}.form-control:-webkit-autofill{box-shadow:0 0 0 1000px var(--tblr-bg-surface-secondary) inset;color:var(--tblr-body-color);-webkit-text-fill-color:var(--tblr-body-color)}.form-control:disabled,.form-control.disabled{color:var(--tblr-secondary);user-select:none}.form-control[size]{width:auto}.form-control-light{background-color:var(--tblr-gray-100);border-color:transparent}.form-control-dark{background-color:#0000001a;color:#fff;border-color:transparent}.form-control-dark:focus{background-color:#0000001a;box-shadow:none;border-color:#ffffff3d}.form-control-dark::placeholder{color:#fff9}.form-control-rounded{border-radius:10rem}.form-control-flush{padding:0;background:none!important;border-color:transparent!important;resize:none;box-shadow:none!important;line-height:inherit}.form-footer{margin-top:2rem}.form-fieldset{padding:1rem;margin-bottom:1rem;background:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}fieldset:empty{display:none}.form-help{display:inline-flex;font-weight:var(--tblr-font-weight-bold);align-items:center;justify-content:center;width:1.125rem;height:1.125rem;font-size:.75rem;color:var(--tblr-secondary);text-align:center;text-decoration:none;cursor:pointer;user-select:none;background:var(--tblr-gray-100);border-radius:100rem;transition:background-color .3s,color .3s}@media(prefers-reduced-motion:reduce){.form-help{transition:none}}.form-help:hover,.form-help[aria-describedby]{color:#fff;background:var(--tblr-primary)}.input-group{box-shadow:var(--tblr-shadow-input);border-radius:var(--tblr-border-radius)}.input-group .form-control,.input-group .btn{box-shadow:none}.input-group-link{font-size:.75rem}.input-group-flat:focus-within{box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25);border-radius:var(--tblr-border-radius)}.input-group-flat:focus-within .form-control,.input-group-flat:focus-within .input-group-text{border-color:#80c2be!important}.input-group-flat .form-control:focus{border-color:var(--tblr-border-color);box-shadow:none}.input-group-flat .form-control:not(:last-child){border-right:0}.input-group-flat .form-control:not(:first-child){border-left:0}.input-group-flat .input-group-text{background:var(--tblr-bg-forms);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.input-group-flat .input-group-text{transition:none}}.input-group-flat .input-group-text:first-child{padding-right:0}.input-group-flat .input-group-text:last-child{padding-left:0}.form-file-button{margin-left:0;border-left:0}label[for=floating-input]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:575.98px){.form-control,.form-select{font-size:1rem}}.input-icon{position:relative}.input-icon .form-control:not(:last-child),.input-icon .form-select:not(:last-child){padding-right:2.5rem}.input-icon .form-control:not(:first-child),.input-icon .form-select:not(:last-child){padding-left:2.5rem}.input-icon-addon{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;color:var(--tblr-icon-color);pointer-events:none;font-size:1.2em}.input-icon-addon:last-child{right:0;left:auto}.form-colorinput{position:relative;display:inline-block;margin:0;line-height:1;cursor:pointer}.form-colorinput-input{position:absolute;z-index:-1;opacity:0}.form-colorinput-color{display:block;width:1.5rem;height:1.5rem;color:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:var(--tblr-border-radius);box-shadow:0 1px 2px #0000000d}.form-colorinput-color:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";background:no-repeat center center/1.25rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");opacity:0;transition:opacity .3s}@media(prefers-reduced-motion:reduce){.form-colorinput-color:before{transition:none}}.form-colorinput-input:checked~.form-colorinput-color:before{opacity:1}.form-colorinput-input:focus~.form-colorinput-color{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-colorinput-light .form-colorinput-color:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%231f2937' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-imagecheck{--tblr-form-imagecheck-radius: var(--tblr-border-radius);position:relative;margin:0;cursor:pointer}.form-imagecheck-input{position:absolute;z-index:-1;opacity:0}.form-imagecheck-figure{position:relative;display:block;margin:0;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-form-imagecheck-radius)}.form-imagecheck-input:focus~.form-imagecheck-figure{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-imagecheck-input:checked~.form-imagecheck-figure{border-color:var(--tblr-primary)}.form-imagecheck-figure:before{position:absolute;top:.25rem;left:.25rem;z-index:1;display:block;width:1.25rem;height:1.25rem;color:#fff;pointer-events:none;content:"";user-select:none;background:var(--tblr-bg-forms);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:opacity .3s}@media(prefers-reduced-motion:reduce){.form-imagecheck-figure:before{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure:before{background-color:var(--tblr-primary);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");background-repeat:repeat;background-position:center;background-size:1.25rem;border-color:var(--tblr-border-color-translucent)}.form-imagecheck-input[type=radio]~.form-imagecheck-figure:before{border-radius:50%}.form-imagecheck-input[type=radio]:checked~.form-imagecheck-figure:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-imagecheck-image{max-width:100%;display:block;opacity:.64;transition:opacity .3s}@media(prefers-reduced-motion:reduce){.form-imagecheck-image{transition:none}}.form-imagecheck-image:first-child{border-top-left-radius:calc(var(--tblr-form-imagecheck-radius) - 1px);border-top-right-radius:calc(var(--tblr-form-imagecheck-radius) - 1px)}.form-imagecheck-image:last-child{border-bottom-right-radius:calc(var(--tblr-form-imagecheck-radius) - 1px);border-bottom-left-radius:calc(var(--tblr-form-imagecheck-radius) - 1px)}.form-imagecheck:hover .form-imagecheck-image,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-image{opacity:1}.form-imagecheck-caption{padding:.25rem;font-size:.765625rem;color:var(--tblr-secondary);text-align:center;transition:color .3s}@media(prefers-reduced-motion:reduce){.form-imagecheck-caption{transition:none}}.form-imagecheck:hover .form-imagecheck-caption,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-caption{color:var(--tblr-body-color)}.form-selectgroup{display:inline-flex;margin:0 -.5rem -.5rem 0;flex-wrap:wrap}.form-selectgroup .form-selectgroup-item{margin:0 .5rem .5rem 0}.form-selectgroup-vertical{flex-direction:column}.form-selectgroup-item{display:block;position:relative}.form-selectgroup-input{position:absolute;top:0;left:0;z-index:-1;opacity:0}.form-selectgroup-label{position:relative;display:block;min-width:calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));margin:0;padding:.5625rem 1rem;font-size:.875rem;line-height:1.25rem;color:var(--tblr-secondary);background:var(--tblr-bg-forms);text-align:center;cursor:pointer;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-shadow-input);transition:border-color .3s,background .3s,color .3s}@media(prefers-reduced-motion:reduce){.form-selectgroup-label{transition:none}}.form-selectgroup-label .icon:only-child{margin:0 -.25rem}.form-selectgroup-label:hover{color:var(--tblr-body-color)}.form-selectgroup-check{display:inline-block;width:1.25rem;height:1.25rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);vertical-align:middle;box-shadow:var(--tblr-shadow-input)}.form-selectgroup-input[type=checkbox]+.form-selectgroup-label .form-selectgroup-check{border-radius:var(--tblr-border-radius)}.form-selectgroup-input[type=radio]+.form-selectgroup-label .form-selectgroup-check{border-radius:50%}.form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-check{background-color:var(--tblr-primary);background-repeat:repeat;background-position:center;background-size:1.25rem;border-color:var(--tblr-border-color-translucent)}.form-selectgroup-input[type=checkbox]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-selectgroup-input[type=radio]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-selectgroup-check-floated{position:absolute;top:.5625rem;right:.5625rem}.form-selectgroup-input:checked+.form-selectgroup-label{z-index:1;color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.04);border-color:var(--tblr-primary)}.form-selectgroup-input:focus+.form-selectgroup-label{z-index:2;color:var(--tblr-primary);border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-selectgroup-boxes .form-selectgroup-label{text-align:left;padding:1.25rem 1rem;color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label{color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-title{color:var(--tblr-primary)}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-label-content{opacity:1}.form-selectgroup-pills{flex-wrap:wrap;align-items:flex-start}.form-selectgroup-pills .form-selectgroup-item{flex-grow:0}.form-selectgroup-pills .form-selectgroup-label{border-radius:50px}.form-control-color::-webkit-color-swatch{border:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.form-control::file-selector-button{background-color:var(--tblr-btn-color, var(--tblr-tertiary-bg))}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-btn-color, var(--tblr-secondary-bg))}.form-check{user-select:none}.form-check.form-check-highlight .form-check-input:not(:checked)~.form-check-label{color:var(--tblr-secondary)}.form-check .form-check-label-off{color:var(--tblr-secondary)}.form-check .form-check-input:checked~.form-check-label-off{display:none}.form-check .form-check-input:not(:checked)~.form-check-label-on{display:none}.form-check-input{background-size:1.25rem;margin-top:0rem;box-shadow:var(--tblr-shadow-input)}.form-switch .form-check-input{transition:background-color .3s,background-position .3s}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-check-label{display:block}.form-check-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-check-description{display:block;color:var(--tblr-secondary);font-size:.75rem;margin-top:.25rem}.form-check-single,.form-check-single .form-check-input{margin:0}.form-switch .form-check-input{height:1.25rem;margin-top:0rem}.form-switch-lg{padding-left:3.5rem;min-height:1.5rem}.form-switch-lg .form-check-input{height:1.5rem;width:2.75rem;background-size:1.5rem;margin-left:-3.5rem}.form-switch-lg .form-check-label{padding-top:.125rem}.form-check-input:checked{border:none}.form-select.is-invalid-lite,.form-control.is-invalid-lite,.form-select.is-valid-lite,.form-control.is-valid-lite{border-color:var(--tblr-border-color)!important}.legend{--tblr-legend-size: .75em;display:inline-block;background:var(--tblr-border-color);width:var(--tblr-legend-size);height:var(--tblr-legend-size);border-radius:var(--tblr-border-radius-sm);border:1px solid var(--tblr-border-color-translucent)}.list-group{margin-left:0;margin-right:0}.list-group-header{background:var(--tblr-bg-surface-tertiary);padding:.5rem 1.25rem;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);line-height:1;text-transform:uppercase;color:var(--tblr-gray-500);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-group-flush>.list-group-header:last-child{border-bottom-width:0}.list-group-item{background-color:inherit}.list-group-item.active{background-color:rgba(var(--tblr-secondary-rgb),.08);border-left-color:#00857d;border-left-width:2px}.list-group-item.disabled,.list-group-item:disabled{color:#6b7280;background-color:rgba(var(--tblr-secondary-rgb),.08)}.list-bordered .list-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);margin-top:-1px}.list-bordered .list-item:first-child{border-top:none}.list-group-hoverable .list-group-item:active,.list-group-hoverable .list-group-item:focus,.list-group-hoverable .list-group-item:hover{background-color:rgba(var(--tblr-secondary-rgb),.08)}.list-group-hoverable .list-group-item-actions{opacity:0;transition:opacity .3s}@media(prefers-reduced-motion:reduce){.list-group-hoverable .list-group-item-actions{transition:none}}.list-group-hoverable .list-group-item:hover .list-group-item-actions,.list-group-hoverable .list-group-item-actions.show{opacity:1}.list-group-transparent{--tblr-list-group-border-radius: 0;margin:0 -1.25rem}.list-group-transparent .list-group-item{background:none;border:0}.list-group-transparent .list-group-item .icon{color:var(--tblr-secondary)}.list-group-transparent .list-group-item.active{font-weight:var(--tblr-font-weight-bold);color:inherit;background:var(--tblr-active-bg)}.list-group-transparent .list-group-item.active .icon{color:inherit}.list-separated{display:flex;flex-direction:column;gap:1rem}.list-inline{margin:0}.list-inline-item:not(:last-child){margin-right:auto;margin-inline-end:.5rem}.list-inline-dots .list-inline-item+.list-inline-item:before{content:" \b7 ";margin-inline-end:.5rem}.loader{position:relative;display:block;width:2.5rem;height:2.5rem;color:#066fd1;vertical-align:middle}.loader:after{position:absolute;top:0;left:0;width:100%;height:100%;content:"";border:1px var(--tblr-border-style);border-color:transparent;border-top-color:currentColor;border-left-color:currentColor;border-radius:100rem;animation:rotate-360 .6s linear;animation-iteration-count:infinite}.dimmer{position:relative}.dimmer .loader{position:absolute;top:50%;right:0;left:0;display:none;margin:0 auto;transform:translateY(-50%)}.dimmer.active .loader{display:block}.dimmer.active .dimmer-content{pointer-events:none;opacity:.1}@keyframes animated-dots{0%{transform:translate(-100%)}}.animated-dots{display:inline-block;overflow:hidden;vertical-align:bottom}.animated-dots:after{display:inline-block;content:"...";animation:animated-dots 1.2s steps(4,jump-none) infinite}.modal-content>.btn-close,.modal-header>.btn-close{position:absolute;top:0;right:0;width:3.5rem;height:3.5rem;margin:0;padding:0;z-index:10}.modal-body{scrollbar-color:color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent) transparent}.modal-body::-webkit-scrollbar{width:1rem;height:1rem;transition:background .3s}@media(prefers-reduced-motion:reduce){.modal-body::-webkit-scrollbar{transition:none}}.modal-body::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent)}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%,transparent)}.modal-body::-webkit-scrollbar-corner{background:transparent}.modal-body .modal-title{margin-bottom:1rem}.modal-body+.modal-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.modal-status{position:absolute;top:0;left:0;right:0;height:2px;background:var(--tblr-secondary);border-radius:var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0}.modal-header{align-items:center;min-height:3.5rem;background:transparent;padding:0 3.5rem 0 1.5rem}.modal-title{font-size:1rem;font-weight:var(--tblr-font-weight-bold);color:inherit;line-height:1.4285714286}.modal-footer{padding-top:.75rem;padding-bottom:.75rem}.modal-blur{backdrop-filter:blur(4px)}.modal-full-width{max-width:none;margin:0 .5rem}.nav{--tblr-nav-link-hover-bg: color-mix(in srgb, var(--tblr-nav-link-color) 4%, transparent)}.nav-vertical,.nav-vertical .nav{flex-direction:column;flex-wrap:nowrap}.nav-vertical .nav{margin-left:1.25rem;border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding-left:.5rem}.nav-vertical .nav-link.active,.nav-vertical .nav-item.show .nav-link{font-weight:var(--tblr-font-weight-bold);color:var(--tblr-nav-link-active-color)}.nav-vertical.nav-pills{margin:0 -.75rem}.nav-bordered{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.nav-bordered .nav-item+.nav-item{margin-left:1.25rem}.nav-bordered .nav-link{padding-left:0;padding-right:0;margin:0 0 calc(-1 * var(--tblr-border-width));border:0;border-bottom:2px var(--tblr-border-style) transparent}.nav-bordered .nav-link:hover{background-color:transparent}.nav-bordered .nav-link.active,.nav-bordered .nav-item.show .nav-link{color:var(--tblr-primary);border-color:var(--tblr-primary)}.nav-underline .nav-link{border-radius:0}.nav-link{display:flex;transition:color .3s,background-color .3s;align-items:center}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{background-color:var(--tblr-nav-link-hover-bg)}.nav-link-toggle{margin-left:auto;padding:0 .25rem;transition:transform .3s}@media(prefers-reduced-motion:reduce){.nav-link-toggle{transition:none}}.nav-link-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.nav-link-toggle:after{margin:0}.nav-link[aria-expanded=true] .nav-link-toggle{transform:rotate(180deg)}.nav-link-icon{width:1.25rem;height:1.25rem;margin-right:.5rem;color:inherit}.nav-link-icon svg{display:block;height:100%}.nav-fill .nav-item .nav-link{justify-content:center}.stars{display:inline-flex;color:#9ca3af;font-size:.75rem}.stars .star:not(:first-child){margin-left:.25rem}.pagination{margin:0;--tblr-pagination-gap: .25rem;user-select:none;gap:var(--tblr-pagination-gap);line-height:var(--tblr-body-line-height)}.page-link{min-width:2rem;border-radius:var(--tblr-pagination-border-radius)}.page-item:not(.active) .page-link:hover{background:var(--tblr-pagination-hover-bg)}.page-text{padding-left:.5rem;padding-right:.5rem}.page-item{text-align:center}.page-item.page-prev,.page-item.page-next{flex:0 0 50%;text-align:left}.page-item.page-next{margin-left:auto;text-align:right}.page-item-subtitle{margin-bottom:2px;font-size:12px;color:var(--tblr-secondary);text-transform:uppercase}.page-item.disabled .page-item-subtitle{color:var(--tblr-disabled-color)}.page-item-title{font-size:1rem;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-body-color)}.page-link:hover .page-item-title{color:#00857d}.page-item.disabled .page-item-title{color:var(--tblr-disabled-color)}.pagination-outline{--tblr-pagination-border-color: var(--tblr-border-color);--tblr-pagination-disabled-border-color: var(--tblr-border-color);--tblr-pagination-border-width: 1px}.pagination-circle{--tblr-pagination-border-radius: var(--tblr-border-radius-pill)}@keyframes progress-indeterminate{0%{right:100%;left:-35%}to,60%{right:-90%;left:100%}}.progress{position:relative;width:100%;line-height:.5rem;appearance:none}.progress::-webkit-progress-bar{background:var(--tblr-progress-bg)}.progress::-webkit-progress-value{background-color:var(--tblr-primary)}.progress::-moz-progress-bar{background-color:var(--tblr-primary)}.progress::-ms-fill{background-color:var(--tblr-primary);border:none}.progress-sm{height:.25rem}.progress-bar{height:100%}.progress-bar-indeterminate:after,.progress-bar-indeterminate:before{position:absolute;top:0;bottom:0;left:0;content:"";background-color:inherit;will-change:left,right}.progress-bar-indeterminate:before{animation:progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}.progress-separated .progress-bar{box-shadow:0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface))}.progressbg{position:relative;padding:.25rem .5rem;display:flex}.progressbg-text{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progressbg-progress{position:absolute;inset:0;z-index:0;height:100%;background:transparent;pointer-events:none}.progressbg-value{font-weight:var(--tblr-font-weight-medium);margin-left:auto;padding-left:2rem}.ribbon{--tblr-ribbon-margin: .25rem;--tblr-ribbon-border-radius: var(--tblr-border-radius);position:absolute;top:.75rem;right:calc(-1 * var(--tblr-ribbon-margin));z-index:1;padding:.25rem .75rem;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);line-height:1;color:#fff;text-align:center;text-transform:uppercase;background:var(--tblr-primary);border-color:var(--tblr-primary);border-radius:var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);display:inline-flex;align-items:center;justify-content:center;min-height:2rem;min-width:2rem}.ribbon:before{position:absolute;right:0;bottom:100%;width:0;height:0;content:"";filter:brightness(70%);border:calc(var(--tblr-ribbon-margin) * .5) var(--tblr-border-style);border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon.bg-blue{border-color:var(--tblr-blue)}.ribbon.bg-blue-lt{border-color:rgba(var(--tblr-blue-rgb),.1)!important}.ribbon.bg-azure{border-color:var(--tblr-azure)}.ribbon.bg-azure-lt{border-color:rgba(var(--tblr-azure-rgb),.1)!important}.ribbon.bg-indigo{border-color:var(--tblr-indigo)}.ribbon.bg-indigo-lt{border-color:rgba(var(--tblr-indigo-rgb),.1)!important}.ribbon.bg-purple{border-color:var(--tblr-purple)}.ribbon.bg-purple-lt{border-color:rgba(var(--tblr-purple-rgb),.1)!important}.ribbon.bg-pink{border-color:var(--tblr-pink)}.ribbon.bg-pink-lt{border-color:rgba(var(--tblr-pink-rgb),.1)!important}.ribbon.bg-red{border-color:var(--tblr-red)}.ribbon.bg-red-lt{border-color:rgba(var(--tblr-red-rgb),.1)!important}.ribbon.bg-orange{border-color:var(--tblr-orange)}.ribbon.bg-orange-lt{border-color:rgba(var(--tblr-orange-rgb),.1)!important}.ribbon.bg-yellow{border-color:var(--tblr-yellow)}.ribbon.bg-yellow-lt{border-color:rgba(var(--tblr-yellow-rgb),.1)!important}.ribbon.bg-lime{border-color:var(--tblr-lime)}.ribbon.bg-lime-lt{border-color:rgba(var(--tblr-lime-rgb),.1)!important}.ribbon.bg-green{border-color:var(--tblr-green)}.ribbon.bg-green-lt{border-color:rgba(var(--tblr-green-rgb),.1)!important}.ribbon.bg-teal{border-color:var(--tblr-teal)}.ribbon.bg-teal-lt{border-color:rgba(var(--tblr-teal-rgb),.1)!important}.ribbon.bg-cyan{border-color:var(--tblr-cyan)}.ribbon.bg-cyan-lt{border-color:rgba(var(--tblr-cyan-rgb),.1)!important}.ribbon .icon{width:1.25rem;height:1.25rem;font-size:1.25rem}.ribbon-top{top:calc(-1 * var(--tblr-ribbon-margin));right:.75rem;width:2rem;padding:.5rem 0;border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-top:before{top:0;right:100%;bottom:auto;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-top.ribbon-start{right:auto;left:.75rem}.ribbon-top.ribbon-start:before{top:0;right:100%;left:auto}.ribbon-start{right:auto;left:calc(-1 * var(--tblr-ribbon-margin));border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-start:before{top:auto;bottom:100%;left:0;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-bottom{top:auto;bottom:.75rem}.ribbon-bookmark{padding-left:.25rem;border-radius:0 0 var(--tblr-ribbon-border-radius) 0}.ribbon-bookmark:after{position:absolute;top:0;right:100%;display:block;width:0;height:0;content:"";border:1rem var(--tblr-border-style);border-color:inherit;border-right-width:0;border-left-color:transparent;border-left-width:.5rem}.ribbon-bookmark.ribbon-left{padding-right:.5rem}.ribbon-bookmark.ribbon-left:after{right:auto;left:100%;border-right-color:transparent;border-right-width:.5rem;border-left-width:0}.ribbon-bookmark.ribbon-top{padding-right:0;padding-bottom:.25rem;padding-left:0;border-radius:0 var(--tblr-ribbon-border-radius) 0 0}.ribbon-bookmark.ribbon-top:after{top:100%;right:0;left:0;border-color:inherit;border-width:1rem;border-top-width:0;border-bottom-color:transparent;border-bottom-width:.5rem}.markdown{line-height:2}.markdown>:first-child{margin-top:0}.markdown>:last-child,.markdown>:last-child .highlight{margin-bottom:0}@media(min-width:768px){.markdown>hr,.markdown>.hr{margin-top:3em;margin-bottom:3em}}.markdown>h1,.markdown>.h1,.markdown>h2,.markdown>.h2,.markdown>h3,.markdown>.h3,.markdown>h4,.markdown>.h4,.markdown>h5,.markdown>.h5,.markdown>h6,.markdown>.h6{font-weight:var(--tblr-font-weight-bold)}.markdown>h2,.markdown>.h2,.markdown>h3,.markdown>.h3,.markdown>h4,.markdown>.h4,.markdown>h5,.markdown>.h5,.markdown>h6,.markdown>.h6{margin-top:2.5rem}.markdown>table{font-size:var(--tblr-body-font-size)}.markdown>blockquote{font-size:1rem;margin:1.5rem 0;padding:.5rem 1.5rem}.markdown>img,.markdown>p>img{border-radius:var(--tblr-border-radius);border:1px solid var(--tblr-border-color)}.markdown pre{max-height:20rem}.placeholder:not(.btn):not([class*=bg-]){background-color:currentColor!important}.placeholder:not(.avatar):not([class*=card-img-]){border-radius:var(--tblr-border-radius)}.nav-segmented{--tblr-nav-bg: var(--tblr-bg-surface-tertiary);--tblr-nav-padding: 2px;--tblr-nav-height: 2.5rem;--tblr-nav-gap: .25rem;--tblr-nav-active-bg: var(--tblr-bg-surface);--tblr-nav-font-size: inherit;--tblr-nav-radius: 6px;--tblr-nav-link-disabled-color: var(--tblr-disabled-color);--tblr-nav-link-gap: .25rem;--tblr-nav-link-padding-x: .75rem;--tblr-nav-link-icon-size: 1.25rem;display:inline-flex;flex-wrap:wrap;gap:var(--tblr-nav-gap);padding:var(--tblr-nav-padding);list-style:none;background:var(--tblr-nav-bg);border-radius:calc(var(--tblr-nav-radius) + var(--tblr-nav-padding));box-shadow:inset 0 0 0 1px #0000000a}.nav-segmented .nav-link{display:inline-flex;gap:calc(.25rem + var(--tblr-nav-link-gap));align-items:center;margin:0;font-size:var(--tblr-nav-font-size);min-width:calc(var(--tblr-nav-height) - 2 * var(--tblr-nav-padding));height:calc(var(--tblr-nav-height) - 2 * var(--tblr-nav-padding));padding:0 calc(var(--tblr-nav-link-padding-x) - 2px);border:1px solid transparent;background:transparent;color:var(--tblr-secondary);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .3s,color .3s;border-radius:var(--tblr-nav-radius);flex-grow:1;justify-content:center}.nav-segmented .nav-link:hover,.nav-segmented .nav-link.hover{background:#0000000a;color:var(--tblr-body-color)}.nav-segmented .nav-link.disabled,.nav-segmented .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);cursor:not-allowed}.nav-segmented .nav-link-input:checked+.nav-link,.nav-segmented .nav-link.active{color:var(--tblr-body-color);background:var(--tblr-nav-active-bg);border-color:var(--tblr-border-color)}.nav-segmented .nav-link-input{display:none}.nav-segmented .nav-link-icon{width:var(--tblr-nav-link-icon-size);height:var(--tblr-nav-link-icon-size);margin:0 -.25rem;color:inherit}.nav-segmented-vertical{flex-direction:column}.nav-segmented-vertical .nav-link{justify-content:flex-start}.nav-sm{--tblr-nav-height: 2rem;--tblr-nav-font-size: var(--tblr-font-size-h5);--tblr-nav-radius: 4px;--tblr-nav-link-padding-x: .5rem;--tblr-nav-link-gap: .25rem;--tblr-nav-link-icon-size: 1rem}.nav-lg{--tblr-nav-height: 3rem;--tblr-nav-font-size: var(--tblr-font-size-h3);--tblr-nav-radius: 8px;--tblr-nav-link-padding-x: 1rem;--tblr-nav-link-gap: .5rem;--tblr-nav-link-icon-size: 1.5rem}.steps{--tblr-steps-color: var(--tblr-primary);--tblr-steps-inactive-color: var(--tblr-border-color);--tblr-steps-dot-size: .5rem;--tblr-steps-border-width: 2px;display:flex;flex-wrap:nowrap;width:100%;padding:0;margin:0;list-style:none}.steps-blue{--tblr-steps-color: var(--tblr-blue)}.steps-blue-lt{--tblr-steps-color: var(--tblr-blue-lt)}.steps-azure{--tblr-steps-color: var(--tblr-azure)}.steps-azure-lt{--tblr-steps-color: var(--tblr-azure-lt)}.steps-indigo{--tblr-steps-color: var(--tblr-indigo)}.steps-indigo-lt{--tblr-steps-color: var(--tblr-indigo-lt)}.steps-purple{--tblr-steps-color: var(--tblr-purple)}.steps-purple-lt{--tblr-steps-color: var(--tblr-purple-lt)}.steps-pink{--tblr-steps-color: var(--tblr-pink)}.steps-pink-lt{--tblr-steps-color: var(--tblr-pink-lt)}.steps-red{--tblr-steps-color: var(--tblr-red)}.steps-red-lt{--tblr-steps-color: var(--tblr-red-lt)}.steps-orange{--tblr-steps-color: var(--tblr-orange)}.steps-orange-lt{--tblr-steps-color: var(--tblr-orange-lt)}.steps-yellow{--tblr-steps-color: var(--tblr-yellow)}.steps-yellow-lt{--tblr-steps-color: var(--tblr-yellow-lt)}.steps-lime{--tblr-steps-color: var(--tblr-lime)}.steps-lime-lt{--tblr-steps-color: var(--tblr-lime-lt)}.steps-green{--tblr-steps-color: var(--tblr-green)}.steps-green-lt{--tblr-steps-color: var(--tblr-green-lt)}.steps-teal{--tblr-steps-color: var(--tblr-teal)}.steps-teal-lt{--tblr-steps-color: var(--tblr-teal-lt)}.steps-cyan{--tblr-steps-color: var(--tblr-cyan)}.steps-cyan-lt{--tblr-steps-color: var(--tblr-cyan-lt)}.step-item{position:relative;flex:1 1 0;min-height:1rem;margin-top:0;color:inherit;text-align:center;cursor:default;padding-top:calc(var(--tblr-steps-dot-size))}a.step-item{cursor:pointer}a.step-item:hover{color:inherit}.step-item:after,.step-item:before{background:var(--tblr-steps-color)}.step-item:not(:last-child):after{position:absolute;left:50%;width:100%;content:"";transform:translateY(-50%)}.step-item:after{top:calc(var(--tblr-steps-dot-size) * .5);height:var(--tblr-steps-border-width)}.step-item:before{content:"";position:absolute;top:0;left:50%;z-index:1;box-sizing:content-box;display:flex;align-items:center;justify-content:center;border-radius:100rem;transform:translate(-50%);color:var(--tblr-white);width:var(--tblr-steps-dot-size);height:var(--tblr-steps-dot-size)}.step-item.active{font-weight:var(--tblr-font-weight-bold)}.step-item.active:after{background:var(--tblr-steps-inactive-color)}.step-item.active~.step-item{color:var(--tblr-disabled-color)}.step-item.active~.step-item:after,.step-item.active~.step-item:before{background:var(--tblr-steps-inactive-color)}.steps-counter{--tblr-steps-dot-size: 1.5rem;counter-reset:steps}.steps-counter .step-item{counter-increment:steps}.steps-counter .step-item:before{content:counter(steps)}.steps-vertical{--tblr-steps-dot-offset: 6px;flex-direction:column}.steps-vertical.steps-counter{--tblr-steps-dot-offset: -2px}.steps-vertical .step-item{text-align:left;padding-top:0;padding-left:calc(var(--tblr-steps-dot-size) + 1rem);min-height:auto}.steps-vertical .step-item:not(:first-child){margin-top:1rem}.steps-vertical .step-item:before{top:var(--tblr-steps-dot-offset);left:0;transform:translate(0)}.steps-vertical .step-item:not(:last-child):after{position:absolute;content:"";transform:translate(-50%);top:var(--tblr-steps-dot-offset);left:calc(var(--tblr-steps-dot-size) * .5);width:var(--tblr-steps-border-width);height:calc(100% + 1rem)}@keyframes status-pulsate-main{40%{transform:scale(1.25)}60%{transform:scale(1.25)}}@keyframes status-pulsate-secondary{10%{transform:scale(1)}30%{transform:scale(3)}80%{transform:scale(3)}to{transform:scale(1)}}@keyframes status-pulsate-tertiary{25%{transform:scale(1)}80%{transform:scale(3);opacity:0}to{transform:scale(3);opacity:0}}.status{--tblr-status-height: 1.5rem;--tblr-status-color: #6b7280;--tblr-status-color-rgb: 107, 114, 128;display:inline-flex;align-items:center;height:var(--tblr-status-height);padding:.25rem .75rem;gap:.5rem;color:var(--tblr-status-color);background:rgba(var(--tblr-status-color-rgb),.1);font-size:.875rem;text-transform:none;letter-spacing:normal;border-radius:100rem;font-weight:var(--tblr-font-weight-medium);line-height:1;margin:0}.status .status-dot{background:var(--tblr-status-color)}.status .icon{font-size:1.25rem}.status-lite{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;background:transparent!important;color:var(--tblr-body-color)!important}.status-primary{--tblr-status-color: #00857D;--tblr-status-color-rgb: 0, 133, 125}.status-secondary{--tblr-status-color: #6b7280;--tblr-status-color-rgb: 107, 114, 128}.status-success{--tblr-status-color: #2fb344;--tblr-status-color-rgb: 47, 179, 68}.status-info{--tblr-status-color: #4299e1;--tblr-status-color-rgb: 66, 153, 225}.status-warning{--tblr-status-color: #f59f00;--tblr-status-color-rgb: 245, 159, 0}.status-danger{--tblr-status-color: #d63939;--tblr-status-color-rgb: 214, 57, 57}.status-light{--tblr-status-color: #f9fafb;--tblr-status-color-rgb: 249, 250, 251}.status-dark{--tblr-status-color: #1f2937;--tblr-status-color-rgb: 31, 41, 55}.status-muted{--tblr-status-color: #6b7280;--tblr-status-color-rgb: 107, 114, 128}.status-blue{--tblr-status-color: #066fd1;--tblr-status-color-rgb: 6, 111, 209}.status-azure{--tblr-status-color: #4299e1;--tblr-status-color-rgb: 66, 153, 225}.status-indigo{--tblr-status-color: #4263eb;--tblr-status-color-rgb: 66, 99, 235}.status-purple{--tblr-status-color: #ae3ec9;--tblr-status-color-rgb: 174, 62, 201}.status-pink{--tblr-status-color: #d6336c;--tblr-status-color-rgb: 214, 51, 108}.status-red{--tblr-status-color: #d63939;--tblr-status-color-rgb: 214, 57, 57}.status-orange{--tblr-status-color: #f76707;--tblr-status-color-rgb: 247, 103, 7}.status-yellow{--tblr-status-color: #f59f00;--tblr-status-color-rgb: 245, 159, 0}.status-lime{--tblr-status-color: #74b816;--tblr-status-color-rgb: 116, 184, 22}.status-green{--tblr-status-color: #2fb344;--tblr-status-color-rgb: 47, 179, 68}.status-teal{--tblr-status-color: #0ca678;--tblr-status-color-rgb: 12, 166, 120}.status-cyan{--tblr-status-color: #17a2b8;--tblr-status-color-rgb: 23, 162, 184}.status-dot{--tblr-status-dot-color: var(--tblr-status-color, #6b7280);--tblr-status-size: .5rem;position:relative;display:inline-block;width:var(--tblr-status-size);height:var(--tblr-status-size);background:var(--tblr-status-dot-color);border-radius:100rem}.status-dot-animated:before{content:"";position:absolute;inset:0;z-index:0;background:inherit;border-radius:inherit;opacity:.6;animation:1s linear 2s backwards infinite status-pulsate-tertiary}.status-indicator{--tblr-status-indicator-size: 2.5rem;--tblr-status-indicator-color: var(--tblr-status-color, #6b7280);display:block;position:relative;width:var(--tblr-status-indicator-size);height:var(--tblr-status-indicator-size)}.status-indicator-circle{--tblr-status-circle-size: .75rem;position:absolute;left:50%;top:50%;margin:calc(var(--tblr-status-circle-size) / -2) 0 0 calc(var(--tblr-status-circle-size) / -2);width:var(--tblr-status-circle-size);height:var(--tblr-status-circle-size);border-radius:100rem;background:var(--tblr-status-color)}.status-indicator-circle:nth-child(1){z-index:3}.status-indicator-circle:nth-child(2){z-index:2;opacity:.1}.status-indicator-circle:nth-child(3){z-index:1;opacity:.3}.status-indicator-animated .status-indicator-circle:nth-child(1){animation:2s linear 1s infinite backwards status-pulsate-main}.status-indicator-animated .status-indicator-circle:nth-child(2){animation:2s linear 1s infinite backwards status-pulsate-secondary}.status-indicator-animated .status-indicator-circle:nth-child(3){animation:2s linear 1s infinite backwards status-pulsate-tertiary}.switch-icon{display:inline-block;line-height:1;border:0;padding:0;background:transparent;width:1.25rem;height:1.25rem;vertical-align:bottom;position:relative;cursor:pointer}.switch-icon.disabled{pointer-events:none;opacity:.4}.switch-icon:focus{outline:none}.switch-icon svg{display:block;width:100%;height:100%}.switch-icon .switch-icon-a,.switch-icon .switch-icon-b{display:block;width:100%;height:100%}.switch-icon .switch-icon-a{opacity:1}.switch-icon .switch-icon-b{position:absolute;top:0;left:0;opacity:0}.switch-icon.active .switch-icon-a{opacity:0}.switch-icon.active .switch-icon-b{opacity:1}.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:opacity .5s}@media(prefers-reduced-motion:reduce){.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:opacity .5s,transform 0s .5s}@media(prefers-reduced-motion:reduce){.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-b{transform:scale(1.5)}.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:opacity 0s,transform .5s}@media(prefers-reduced-motion:reduce){.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:none}}.switch-icon-scale.active .switch-icon-b{transform:scale(1)}.switch-icon-flip{perspective:10em}.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{backface-visibility:hidden;transform-style:preserve-3d;transition:opacity 0s .2s,transform .4s ease-in-out}@media(prefers-reduced-motion:reduce){.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{transition:none}}.switch-icon-flip .switch-icon-a{opacity:1;transform:rotateY(0)}.switch-icon-flip .switch-icon-b{opacity:1;transform:rotateY(-180deg)}.switch-icon-flip.active .switch-icon-a{opacity:1;transform:rotateY(180deg)}.switch-icon-flip.active .switch-icon-b{opacity:1;transform:rotateY(0)}.switch-icon-slide-up,.switch-icon-slide-left,.switch-icon-slide-start,.switch-icon-slide-right,.switch-icon-slide-end,.switch-icon-slide-down{overflow:hidden}.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-start .switch-icon-a,.switch-icon-slide-start .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-end .switch-icon-a,.switch-icon-slide-end .switch-icon-b,.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b{transition:opacity .3s,transform .3s}@media(prefers-reduced-motion:reduce){.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-start .switch-icon-a,.switch-icon-slide-start .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-end .switch-icon-a,.switch-icon-slide-end .switch-icon-b,.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b{transition:none}}.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-start .switch-icon-a,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-end .switch-icon-a,.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-up .switch-icon-b,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-start .switch-icon-b,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-end .switch-icon-b,.switch-icon-slide-down .switch-icon-b{transform:translateY(100%)}.switch-icon-slide-up.active .switch-icon-a,.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-start.active .switch-icon-a,.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-end.active .switch-icon-a,.switch-icon-slide-down.active .switch-icon-a{transform:translateY(-100%)}.switch-icon-slide-up.active .switch-icon-b,.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-start.active .switch-icon-b,.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-end.active .switch-icon-b,.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-start .switch-icon-a{transform:translate(0)}.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-start .switch-icon-b{transform:translate(100%)}.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-start.active .switch-icon-a{transform:translate(-100%)}.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-start.active .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-end .switch-icon-a{transform:translate(0)}.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-end .switch-icon-b{transform:translate(-100%)}.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-end.active .switch-icon-a{transform:translate(100%)}.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-end.active .switch-icon-b{transform:translate(0)}.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-a{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}.table thead th,.markdown>table thead th{background:var(--tblr-bg-surface-tertiary);font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);padding-top:.5rem;padding-bottom:.5rem;white-space:nowrap}@media print{.table thead th,.markdown>table thead th{background:transparent}}.table-responsive .table,.table-responsive .markdown>table{margin-bottom:0}.table-responsive+.card-footer{border-top:0}.table-transparent thead th{background:transparent}.table-nowrap>:not(caption)>*>*{white-space:nowrap}.table-vcenter>:not(caption)>*>*{vertical-align:middle}.table-center>:not(caption)>*>*{text-align:center}.td-truncate{max-width:1px;width:100%}.table-mobile{display:block}.table-mobile thead{display:none}.table-mobile tbody,.table-mobile tr{display:flex;flex-direction:column}.table-mobile td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile .btn{display:block}@media(max-width:575.98px){.table-mobile-sm{display:block}.table-mobile-sm thead{display:none}.table-mobile-sm tbody,.table-mobile-sm tr{display:flex;flex-direction:column}.table-mobile-sm td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-sm td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-sm tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-sm .btn{display:block}}@media(max-width:767.98px){.table-mobile-md{display:block}.table-mobile-md thead{display:none}.table-mobile-md tbody,.table-mobile-md tr{display:flex;flex-direction:column}.table-mobile-md td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-md td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-md tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-md .btn{display:block}}@media(max-width:991.98px){.table-mobile-lg{display:block}.table-mobile-lg thead{display:none}.table-mobile-lg tbody,.table-mobile-lg tr{display:flex;flex-direction:column}.table-mobile-lg td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-lg td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-lg tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-lg .btn{display:block}}@media(max-width:1199.98px){.table-mobile-xl{display:block}.table-mobile-xl thead{display:none}.table-mobile-xl tbody,.table-mobile-xl tr{display:flex;flex-direction:column}.table-mobile-xl td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xl td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-xl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xl .btn{display:block}}@media(max-width:1399.98px){.table-mobile-xxl{display:block}.table-mobile-xxl thead{display:none}.table-mobile-xxl tbody,.table-mobile-xxl tr{display:flex;flex-direction:column}.table-mobile-xxl td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xxl td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-xxl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xxl .btn{display:block}}.table-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;border:0;background:inherit;display:block;width:100%;text-align:inherit;transition:color .3s;margin:-.5rem;padding:.5rem}@media(prefers-reduced-motion:reduce){.table-sort{transition:none}}.table-sort:hover,.table-sort.asc,.table-sort.desc{color:var(--tblr-body-color)}.table-sort:after{content:"";display:inline-flex;width:1rem;height:1rem;vertical-align:bottom;mask-image:url("data:image/svg+xml,");background:currentColor;margin-left:.25rem}.table-sort.asc:after{mask-image:url("data:image/svg+xml,")}.table-sort.desc:after{mask-image:url("data:image/svg+xml,")}.table-borderless thead th{background:transparent}.table-selectable tbody tr .on-checked{display:none}.table-selectable tbody tr .on-unchecked{display:initial}.table-selectable tbody tr:has(.table-selectable-check:checked){background-color:var(--tblr-active-bg)}.table-selectable tbody tr:has(.table-selectable-check:checked) .on-checked{display:initial}.table-selectable tbody tr:has(.table-selectable-check:checked) .on-unchecked{display:none}.tag{--tblr-tag-height: 1.5rem;border:1px solid var(--tblr-border-color);display:inline-flex;align-items:center;height:var(--tblr-tag-height);border-radius:var(--tblr-border-radius);padding:0 .5rem;background:var(--tblr-bg-surface);box-shadow:var(--tblr-shadow-input);gap:.5rem}.tag .btn-close{margin-right:-.25rem;margin-left:-.125rem;padding:0;width:1rem;height:1rem;font-size:.5rem}.tag-badge{--tblr-badge-font-size: .625rem;--tblr-badge-padding-x: .25rem;--tblr-badge-padding-y: .125rem;margin-right:-.25rem}.tag-avatar,.tag-flag,.tag-payment,.tag-icon,.tag-check{margin-left:-.25rem}.tag-icon{color:var(--tblr-secondary);margin-right:-.125rem;width:1rem;height:1rem}.tag-check{width:1rem;height:1rem;background-size:1rem}.tags-list{--tblr-list-gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.toast{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);box-shadow:#1f29370a 0 2px 4px}.toast .toast-header{user-select:none}.toast button[data-bs-dismiss=toast]{outline:none}.toast-primary{--tblr-toast-color: #00857D}.toast-secondary{--tblr-toast-color: #6b7280}.toast-success{--tblr-toast-color: #2fb344}.toast-info{--tblr-toast-color: #4299e1}.toast-warning{--tblr-toast-color: #f59f00}.toast-danger{--tblr-toast-color: #d63939}.toast-light{--tblr-toast-color: #f9fafb}.toast-dark{--tblr-toast-color: #1f2937}.toast-muted{--tblr-toast-color: #6b7280}.toast-blue{--tblr-toast-color: #066fd1}.toast-azure{--tblr-toast-color: #4299e1}.toast-indigo{--tblr-toast-color: #4263eb}.toast-purple{--tblr-toast-color: #ae3ec9}.toast-pink{--tblr-toast-color: #d6336c}.toast-red{--tblr-toast-color: #d63939}.toast-orange{--tblr-toast-color: #f76707}.toast-yellow{--tblr-toast-color: #f59f00}.toast-lime{--tblr-toast-color: #74b816}.toast-green{--tblr-toast-color: #2fb344}.toast-teal{--tblr-toast-color: #0ca678}.toast-cyan{--tblr-toast-color: #17a2b8}.toolbar{display:flex;flex-wrap:nowrap;flex-shrink:0;margin:0 -.5rem}.toolbar>*{margin:0 .5rem}.tracking{--tblr-tracking-height: 1.5rem;--tblr-tracking-gap-width: .125rem;--tblr-tracking-block-border-radius: var(--tblr-border-radius);display:flex;gap:var(--tblr-tracking-gap-width)}.tracking-squares{--tblr-tracking-block-border-radius: var(--tblr-border-radius-sm)}.tracking-squares .tracking-block{height:auto}.tracking-squares .tracking-block:before{content:"";display:block;padding-top:100%}.tracking-block{flex:1;border-radius:var(--tblr-tracking-block-border-radius);height:var(--tblr-tracking-height);min-width:.25rem;background:var(--tblr-border-color)}.timeline{--tblr-timeline-icon-size: 2.5rem;position:relative;list-style:none;padding:0}.timeline-event{position:relative}.timeline-event:not(:last-child){margin-bottom:var(--tblr-page-padding)}.timeline-event:not(:last-child):before{content:"";position:absolute;top:var(--tblr-timeline-icon-size);left:calc(var(--tblr-timeline-icon-size) / 2);bottom:calc(-1 * var(--tblr-page-padding));width:var(--tblr-border-width);background-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.timeline-event-icon{position:absolute;display:flex;align-items:center;justify-content:center;width:var(--tblr-timeline-icon-size, 2.5rem);height:var(--tblr-timeline-icon-size, 2.5rem);background:var(--tblr-bg-surface-secondary);color:var(--tblr-secondary);border-radius:var(--tblr-border-radius);z-index:5}.timeline-event-card{margin-left:calc(var(--tblr-timeline-icon-size, 2.5rem) + var(--tblr-page-padding))}.timeline-simple .timeline-event-icon{display:none}.timeline-simple .timeline-event-card{margin-left:0}.hr-text{display:flex;align-items:center;margin:2rem 0;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);height:1px}.hr-text:after,.hr-text:before{flex:1 1 auto;height:1px;background-color:var(--tblr-border-color)}.hr-text:before{content:"";margin-right:.5rem}.hr-text:after{content:"";margin-left:.5rem}.hr-text>*:first-child{padding-right:.5rem;padding-left:0;color:var(--tblr-secondary)}.hr-text.hr-text-left:before,.hr-text.hr-text-start:before{content:none}.hr-text.hr-text-left>*:first-child,.hr-text.hr-text-start>*:first-child{padding-right:.5rem;padding-left:.5rem}.hr-text.hr-text-right:before,.hr-text.hr-text-end:before{content:""}.hr-text.hr-text-right:after,.hr-text.hr-text-end:after{content:none}.hr-text.hr-text-right>*:first-child,.hr-text.hr-text-end>*:first-child{padding-right:0;padding-left:.5rem}.card>.hr-text{margin:0}.hr-text-spaceless{margin:-.5rem 0}.lead{color:var(--tblr-secondary);font-size:inherit}a{text-decoration-skip-ink:auto;color:color-mix(in srgb,transparent,var(--tblr-link-color) var(--tblr-link-opacity, 100%))}a:hover{color:color-mix(in srgb,transparent,var(--tblr-link-hover-color) var(--tblr-link-opacity, 100%))}h1 a,h2 a,h3 a,.field-group h2 a,h4 a,h5 a,h6 a,.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover,.h1 a:hover,.h2 a:hover,.h3 a:hover,.h4 a:hover,.h5 a:hover,.h6 a:hover{color:inherit}h1,.h1{font-size:var(--tblr-font-size-h1);line-height:var(--tblr-line-height-h1)}h2,.h2{font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2)}h3,.field-group h2,.field-group .h2,.h3{font-size:var(--tblr-font-size-h3);line-height:var(--tblr-line-height-h3)}h4,.h4{font-size:var(--tblr-font-size-h4);line-height:var(--tblr-line-height-h4)}h5,.h5{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5)}h6,.h6{font-size:var(--tblr-font-size-h6);line-height:var(--tblr-line-height-h6)}.fs-base{font-size:var(--tblr-body-font-size)}strong,.strong,b{font-weight:var(--tblr-font-weight-bold)}blockquote{padding:1rem;border-left:2px var(--tblr-border-style) var(--tblr-border-color)}blockquote p{margin-bottom:1rem}blockquote cite{display:block;text-align:right}blockquote cite:before{content:"\2014 "}ul,ol{padding-left:1.5rem}hr,.hr{margin:2rem 0}dl dd:last-child{margin-bottom:0}pre{--tblr-scrollbar-color: var(--tblr-light);padding:1rem;background:var(--tblr-bg-surface-dark);color:var(--tblr-light);border-radius:var(--tblr-border-radius);line-height:1.4285714286}pre{scrollbar-color:color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent) transparent}pre::-webkit-scrollbar{width:1rem;height:1rem;transition:background .3s}@media(prefers-reduced-motion:reduce){pre::-webkit-scrollbar{transition:none}}pre::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent)}pre::-webkit-scrollbar-track{background:transparent}pre:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%,transparent)}pre::-webkit-scrollbar-corner{background:transparent}pre code{background:transparent;padding:0}code{background:var(--tblr-code-bg);padding:2px 4px;border-radius:var(--tblr-border-radius)}abbr{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}kbd,.kbd{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);display:inline-block;box-sizing:border-box;max-width:100%;font-size:var(--tblr-font-size-h5);font-weight:var(--tblr-font-weight-medium);line-height:1;vertical-align:baseline;border-radius:var(--tblr-border-radius)}img{max-width:100%;height:auto}.list-unstyled{margin-left:0}::selection,.text-selected{background-color:color-mix(in srgb,var(--tblr-primary) 10%,transparent)}.text-selected{display:inline-block}[class^=link-].disabled,[class*=" link-"].disabled{color:var(--tblr-disabled-color)!important;pointer-events:none}a:hover:has(.icon){text-decoration:none}.link-hoverable{border-radius:var(--tblr-border-radius);transition:background-color .15s ease-in-out}.link-hoverable:hover{text-decoration:none;color:var(--tblr-primary);background:color-mix(in srgb,var(--tblr-secondary) 4%,transparent)}.subheader{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary)}.mention{display:inline-block;box-shadow:var(--tblr-shadow-border);border-radius:var(--tblr-border-radius-pill);line-height:1.3333333333em;font-size:.8571428571em;color:var(--tblr-body-color);background:var(--tblr-bg-surface-tertiary);padding:.1666666667em .6666666667em;font-weight:var(--tblr-font-weight-medium)}a.mention{cursor:pointer}a.mention:hover,a.mention.hover{background:var(--tblr-bg-surface-secondary);text-decoration:underline}.mention-avatar,.mention-app,.mention-color{width:1.1666666667em;height:1.1666666667em;border-radius:var(--tblr-border-radius-pill);margin:-.1666666667em .3333333333em 0 -.3333333333em;display:inline-flex;background:no-repeat center center/cover;box-shadow:var(--tblr-shadow-border);vertical-align:middle;text-align:center}.mention-app{box-shadow:none;background:none;border-radius:0}.mention-count{color:var(--tblr-secondary);margin-left:.6666666667em}.text-incorrect{background:color-mix(in srgb,var(--tblr-red) 4%,transparent);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--tblr-red)}.text-correct{background:color-mix(in srgb,var(--tblr-green) 4%,transparent);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--tblr-green)}.steps{--tblr-steps-padding: 2rem;--tblr-steps-item-size: 1.5rem;margin-left:1rem;padding-left:var(--tblr-steps-padding);counter-reset:step;border-left:1px solid var(--tblr-border-color);margin-bottom:2rem}.steps h3,.steps .field-group h2,.field-group .steps h2,.steps .field-group .h2,.field-group .steps .h2,.steps .h3{counter-increment:step}.steps h3:not(:first-child),.steps .field-group h2:not(:first-child),.field-group .steps h2:not(:first-child),.steps .field-group .h2:not(:first-child),.field-group .steps .h2:not(:first-child),.steps .h3:not(:first-child){margin-top:2.5rem!important}.steps h3:before,.steps .field-group h2:before,.field-group .steps h2:before,.steps .field-group .h2:before,.field-group .steps .h2:before,.steps .h3:before{content:counter(step);display:inline-block;position:absolute;margin-top:1px;margin-left:calc(-1 * var(--tblr-steps-padding) - var(--tblr-steps-item-size) / 2);width:var(--tblr-steps-item-size);height:var(--tblr-steps-item-size);text-align:center;color:var(--tblr-body-color);border:1px solid var(--tblr-border-color);background:var(--tblr-bg-surface);border-radius:var(--tblr-border-radius);line-height:calc(var(--tblr-steps-item-size) - 2px);font-size:var(--tblr-font-size-h4);font-weight:var(--tblr-font-weight-bold)}.steps>:last-child{margin-bottom:0}.callout{margin-bottom:1.5rem;border:1px solid var(--tblr-primary-200);border-radius:var(--tblr-border-radius);padding:.5rem 1rem;background:var(--tblr-primary-lt)}.callout>:last-child{margin-bottom:0}.chart{display:block;min-height:10rem}.chart text{font-family:inherit}.chart-sm{height:2.5rem}.chart-lg{height:15rem}.chart-square{height:5.75rem}.chart-sparkline{position:relative;width:4rem;height:2.5rem;line-height:1;min-height:0!important}.chart-sparkline-sm{height:1.5rem}.chart-sparkline-square{width:2.5rem}.chart-sparkline-wide{width:6rem}.chart-sparkline-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.625rem}.chart-sparkline-label .icon{width:1rem;height:1rem;font-size:1rem}.offcanvas-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.offcanvas-footer{padding:1.5rem}.offcanvas-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}.offcanvas-narrow{width:20rem}.chat-bubbles{display:flex;flex-direction:column;gap:1rem}.chat-bubble{background:var(--tblr-bg-surface-secondary);border-radius:var(--tblr-border-radius-lg);padding:1rem;position:relative}.chat-bubble-me{background-color:var(--tblr-primary-lt);box-shadow:none}.chat-bubble-title{margin-bottom:.25rem}.chat-bubble-author{font-weight:600}.chat-bubble-date{color:var(--tblr-secondary)}.chat-bubble-body>*:last-child{margin-bottom:0}.signature{--tblr-signature-padding: var(--tblr-spacer-1);--tblr-signature-border-radius: var(--tblr-border-radius);border:var(--tblr-border-width) solid var(--tblr-border-color);padding:var(--tblr-signature-padding);border-radius:var(--tblr-border-radius)}.signature-canvas{border:var(--tblr-border-width) dashed var(--tblr-border-color);border-radius:calc(var(--tblr-signature-border-radius) - var(--tblr-signature-padding));display:block;cursor:crosshair;width:100%}.clearfix:after{display:block;clear:both;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--tblr-border-width);min-height:1em;background-color:currentcolor;opacity:.16}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--tblr-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--tblr-aspect-ratio: 100%}.ratio-2x1{--tblr-aspect-ratio: 50%}.ratio-1x2{--tblr-aspect-ratio: 200%}.ratio-3x1{--tblr-aspect-ratio: 33.3333333333%}.ratio-1x3{--tblr-aspect-ratio: 300%}.ratio-4x1{--tblr-aspect-ratio: 25%}.ratio-1x4{--tblr-aspect-ratio: 400%}.ratio-4x3{--tblr-aspect-ratio: 75%}.ratio-3x4{--tblr-aspect-ratio: 133.3333333333%}.ratio-16x9{--tblr-aspect-ratio: 56.25%}.ratio-9x16{--tblr-aspect-ratio: 177.7777777778%}.ratio-21x9{--tblr-aspect-ratio: 42.8571428571%}.ratio-9x21{--tblr-aspect-ratio: 233.3333333333%}.focus-ring:focus{outline:0;box-shadow:var(--tblr-focus-ring-x, 0) var(--tblr-focus-ring-y, 0) var(--tblr-focus-ring-blur, 0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color)}.bg-white-overlay{color:#fff;background-color:#f9fafb3d}.bg-dark-overlay{color:#fff;background-color:#1f29373d}.bg-cover{background-repeat:no-repeat;background-size:cover;background-position:center}.bg-primary{background-color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-primary-lt{color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-primary-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-primary{border-color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-primary{--tblr-gradient-from: var(--tblr-primary)}.bg-gradient-to-primary{--tblr-gradient-to: var(--tblr-primary)}.bg-gradient-via-primary{--tblr-gradient-via: var(--tblr-primary);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-primary{color:#f9fafb!important;background-color:RGBA(var(--tblr-primary-rgb),var(--tblr-bg-opacity, 1))!important}.link-primary{color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,106,100,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(0,106,100,var(--tblr-link-underline-opacity, 1))!important}.bg-secondary{background-color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-secondary-lt{color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-secondary-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-secondary{border-color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-secondary{--tblr-gradient-from: var(--tblr-secondary)}.bg-gradient-to-secondary{--tblr-gradient-to: var(--tblr-secondary)}.bg-gradient-via-secondary{--tblr-gradient-via: var(--tblr-secondary);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-secondary,.text-bg-gray{color:#f9fafb!important;background-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-bg-opacity, 1))!important}.link-secondary{color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86,91,102,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(86,91,102,var(--tblr-link-underline-opacity, 1))!important}.bg-success{background-color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-success-lt{color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-success-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-success{border-color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-success{--tblr-gradient-from: var(--tblr-success)}.bg-gradient-to-success{--tblr-gradient-to: var(--tblr-success)}.bg-gradient-via-success{--tblr-gradient-via: var(--tblr-success);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-success{color:#f9fafb!important;background-color:RGBA(var(--tblr-success-rgb),var(--tblr-bg-opacity, 1))!important}.link-success{color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-success:hover,.link-success:focus{color:RGBA(38,143,54,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity, 1))!important}.bg-info{background-color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-info-lt{color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-info-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-info{border-color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-info{--tblr-gradient-from: var(--tblr-info)}.bg-gradient-to-info{--tblr-gradient-to: var(--tblr-info)}.bg-gradient-via-info{--tblr-gradient-via: var(--tblr-info);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-info{color:#f9fafb!important;background-color:RGBA(var(--tblr-info-rgb),var(--tblr-bg-opacity, 1))!important}.link-info{color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-info:hover,.link-info:focus{color:RGBA(53,122,180,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity, 1))!important}.bg-warning{background-color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-warning-lt{color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-warning-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-warning{border-color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-warning{--tblr-gradient-from: var(--tblr-warning)}.bg-gradient-to-warning{--tblr-gradient-to: var(--tblr-warning)}.bg-gradient-via-warning{--tblr-gradient-via: var(--tblr-warning);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-warning{color:#f9fafb!important;background-color:RGBA(var(--tblr-warning-rgb),var(--tblr-bg-opacity, 1))!important}.link-warning{color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-warning:hover,.link-warning:focus{color:RGBA(196,127,0,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity, 1))!important}.bg-danger{background-color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-danger-lt{color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-danger-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-danger{border-color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-danger{--tblr-gradient-from: var(--tblr-danger)}.bg-gradient-to-danger{--tblr-gradient-to: var(--tblr-danger)}.bg-gradient-via-danger{--tblr-gradient-via: var(--tblr-danger);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-danger{color:#f9fafb!important;background-color:RGBA(var(--tblr-danger-rgb),var(--tblr-bg-opacity, 1))!important}.link-danger{color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-danger:hover,.link-danger:focus{color:RGBA(171,46,46,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity, 1))!important}.bg-light{background-color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-light-lt{color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-light-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-light{border-color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-light{--tblr-gradient-from: var(--tblr-light)}.bg-gradient-to-light{--tblr-gradient-to: var(--tblr-light)}.bg-gradient-via-light{--tblr-gradient-via: var(--tblr-light);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-light,.text-bg-white{color:#1f2937!important;background-color:RGBA(var(--tblr-light-rgb),var(--tblr-bg-opacity, 1))!important}.link-light{color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-light:hover,.link-light:focus{color:RGBA(250,251,252,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(250,251,252,var(--tblr-link-underline-opacity, 1))!important}.bg-dark{background-color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-dark-lt{color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-dark-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-dark{border-color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-dark{--tblr-gradient-from: var(--tblr-dark)}.bg-gradient-to-dark{--tblr-gradient-to: var(--tblr-dark)}.bg-gradient-via-dark{--tblr-gradient-via: var(--tblr-dark);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-dark,.text-bg-black{color:#f9fafb!important;background-color:RGBA(var(--tblr-dark-rgb),var(--tblr-bg-opacity, 1))!important}.link-dark{color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-dark:hover,.link-dark:focus{color:RGBA(25,33,44,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(25,33,44,var(--tblr-link-underline-opacity, 1))!important}.bg-muted{background-color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-muted-lt{color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-muted-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-muted{border-color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-muted{--tblr-gradient-from: var(--tblr-muted)}.bg-gradient-to-muted{--tblr-gradient-to: var(--tblr-muted)}.bg-gradient-via-muted{--tblr-gradient-via: var(--tblr-muted);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-muted{color:#f9fafb!important;background-color:RGBA(var(--tblr-muted-rgb),var(--tblr-bg-opacity, 1))!important}.link-muted{color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-muted:hover,.link-muted:focus{color:RGBA(86,91,102,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(86,91,102,var(--tblr-link-underline-opacity, 1))!important}.bg-blue{background-color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-blue-lt{color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-blue-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-blue{border-color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-blue{--tblr-gradient-from: var(--tblr-blue)}.bg-gradient-to-blue{--tblr-gradient-to: var(--tblr-blue)}.bg-gradient-via-blue{--tblr-gradient-via: var(--tblr-blue);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-blue{color:#f9fafb!important;background-color:RGBA(var(--tblr-blue-rgb),var(--tblr-bg-opacity, 1))!important}.link-blue{color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-blue:hover,.link-blue:focus{color:RGBA(5,89,167,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(5,89,167,var(--tblr-link-underline-opacity, 1))!important}.bg-azure{background-color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-azure-lt{color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-azure-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-azure{border-color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-azure{--tblr-gradient-from: var(--tblr-azure)}.bg-gradient-to-azure{--tblr-gradient-to: var(--tblr-azure)}.bg-gradient-via-azure{--tblr-gradient-via: var(--tblr-azure);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-azure{color:#f9fafb!important;background-color:RGBA(var(--tblr-azure-rgb),var(--tblr-bg-opacity, 1))!important}.link-azure{color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-azure:hover,.link-azure:focus{color:RGBA(53,122,180,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity, 1))!important}.bg-indigo{background-color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-indigo-lt{color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-indigo-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-indigo{border-color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-indigo{--tblr-gradient-from: var(--tblr-indigo)}.bg-gradient-to-indigo{--tblr-gradient-to: var(--tblr-indigo)}.bg-gradient-via-indigo{--tblr-gradient-via: var(--tblr-indigo);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-indigo{color:#f9fafb!important;background-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-bg-opacity, 1))!important}.link-indigo{color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-indigo:hover,.link-indigo:focus{color:RGBA(53,79,188,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(53,79,188,var(--tblr-link-underline-opacity, 1))!important}.bg-purple{background-color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-purple-lt{color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-purple-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-purple{border-color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-purple{--tblr-gradient-from: var(--tblr-purple)}.bg-gradient-to-purple{--tblr-gradient-to: var(--tblr-purple)}.bg-gradient-via-purple{--tblr-gradient-via: var(--tblr-purple);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-purple{color:#f9fafb!important;background-color:RGBA(var(--tblr-purple-rgb),var(--tblr-bg-opacity, 1))!important}.link-purple{color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-purple:hover,.link-purple:focus{color:RGBA(139,50,161,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(139,50,161,var(--tblr-link-underline-opacity, 1))!important}.bg-pink{background-color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-pink-lt{color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-pink-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-pink{border-color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-pink{--tblr-gradient-from: var(--tblr-pink)}.bg-gradient-to-pink{--tblr-gradient-to: var(--tblr-pink)}.bg-gradient-via-pink{--tblr-gradient-via: var(--tblr-pink);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-pink{color:#f9fafb!important;background-color:RGBA(var(--tblr-pink-rgb),var(--tblr-bg-opacity, 1))!important}.link-pink{color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-pink:hover,.link-pink:focus{color:RGBA(171,41,86,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(171,41,86,var(--tblr-link-underline-opacity, 1))!important}.bg-red{background-color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-red-lt{color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-red-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-red{border-color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-red{--tblr-gradient-from: var(--tblr-red)}.bg-gradient-to-red{--tblr-gradient-to: var(--tblr-red)}.bg-gradient-via-red{--tblr-gradient-via: var(--tblr-red);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-red{color:#f9fafb!important;background-color:RGBA(var(--tblr-red-rgb),var(--tblr-bg-opacity, 1))!important}.link-red{color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-red:hover,.link-red:focus{color:RGBA(171,46,46,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity, 1))!important}.bg-orange{background-color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-orange-lt{color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-orange-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-orange{border-color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-orange{--tblr-gradient-from: var(--tblr-orange)}.bg-gradient-to-orange{--tblr-gradient-to: var(--tblr-orange)}.bg-gradient-via-orange{--tblr-gradient-via: var(--tblr-orange);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-orange{color:#f9fafb!important;background-color:RGBA(var(--tblr-orange-rgb),var(--tblr-bg-opacity, 1))!important}.link-orange{color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-orange:hover,.link-orange:focus{color:RGBA(198,82,6,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity, 1))!important}.bg-yellow{background-color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-yellow-lt{color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-yellow-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-yellow{border-color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-yellow{--tblr-gradient-from: var(--tblr-yellow)}.bg-gradient-to-yellow{--tblr-gradient-to: var(--tblr-yellow)}.bg-gradient-via-yellow{--tblr-gradient-via: var(--tblr-yellow);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-yellow{color:#f9fafb!important;background-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-bg-opacity, 1))!important}.link-yellow{color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-yellow:hover,.link-yellow:focus{color:RGBA(196,127,0,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity, 1))!important}.bg-lime{background-color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-lime-lt{color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-lime-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-lime{border-color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-lime{--tblr-gradient-from: var(--tblr-lime)}.bg-gradient-to-lime{--tblr-gradient-to: var(--tblr-lime)}.bg-gradient-via-lime{--tblr-gradient-via: var(--tblr-lime);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-lime{color:#f9fafb!important;background-color:RGBA(var(--tblr-lime-rgb),var(--tblr-bg-opacity, 1))!important}.link-lime{color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-lime:hover,.link-lime:focus{color:RGBA(93,147,18,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(93,147,18,var(--tblr-link-underline-opacity, 1))!important}.bg-green{background-color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-green-lt{color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-green-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-green{border-color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-green{--tblr-gradient-from: var(--tblr-green)}.bg-gradient-to-green{--tblr-gradient-to: var(--tblr-green)}.bg-gradient-via-green{--tblr-gradient-via: var(--tblr-green);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-green{color:#f9fafb!important;background-color:RGBA(var(--tblr-green-rgb),var(--tblr-bg-opacity, 1))!important}.link-green{color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-green:hover,.link-green:focus{color:RGBA(38,143,54,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity, 1))!important}.bg-teal{background-color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-teal-lt{color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-teal-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-teal{border-color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-teal{--tblr-gradient-from: var(--tblr-teal)}.bg-gradient-to-teal{--tblr-gradient-to: var(--tblr-teal)}.bg-gradient-via-teal{--tblr-gradient-via: var(--tblr-teal);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-teal{color:#f9fafb!important;background-color:RGBA(var(--tblr-teal-rgb),var(--tblr-bg-opacity, 1))!important}.link-teal{color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-teal:hover,.link-teal:focus{color:RGBA(10,133,96,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(10,133,96,var(--tblr-link-underline-opacity, 1))!important}.bg-cyan{background-color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-cyan-lt{color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-cyan-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-cyan{border-color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-cyan{--tblr-gradient-from: var(--tblr-cyan)}.bg-gradient-to-cyan{--tblr-gradient-to: var(--tblr-cyan)}.bg-gradient-via-cyan{--tblr-gradient-via: var(--tblr-cyan);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-cyan{color:#f9fafb!important;background-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-bg-opacity, 1))!important}.link-cyan{color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-cyan:hover,.link-cyan:focus{color:RGBA(18,130,147,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(18,130,147,var(--tblr-link-underline-opacity, 1))!important}.bg-white{background-color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-white-lt{color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-white-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-white{border-color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-white{--tblr-gradient-from: var(--tblr-white)}.bg-gradient-to-white{--tblr-gradient-to: var(--tblr-white)}.bg-gradient-via-white{--tblr-gradient-via: var(--tblr-white);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-white{color:#1f2937!important;background-color:RGBA(var(--tblr-white-rgb),var(--tblr-bg-opacity, 1))!important}.link-white{color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-white:hover,.link-white:focus{color:RGBA(255,255,255,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(255,255,255,var(--tblr-link-underline-opacity, 1))!important}.text-primary{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-primary-fg{color:var(--tblr-primary-fg)!important}.text-secondary{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-secondary-fg{color:var(--tblr-secondary-fg)!important}.text-success{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-success-fg{color:var(--tblr-success-fg)!important}.text-info{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-info-fg{color:var(--tblr-info-fg)!important}.text-warning{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-warning-fg{color:var(--tblr-warning-fg)!important}.text-danger{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-danger-fg{color:var(--tblr-danger-fg)!important}.text-light{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-light-fg{color:var(--tblr-light-fg)!important}.text-dark{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-dark-fg{color:var(--tblr-dark-fg)!important}.text-muted{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-muted-fg{color:var(--tblr-muted-fg)!important}.text-blue{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-blue-fg{color:var(--tblr-blue-fg)!important}.text-azure{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-azure-fg{color:var(--tblr-azure-fg)!important}.text-indigo{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-indigo-fg{color:var(--tblr-indigo-fg)!important}.text-purple{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-purple-fg{color:var(--tblr-purple-fg)!important}.text-pink{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-pink-fg{color:var(--tblr-pink-fg)!important}.text-red{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-red-fg{color:var(--tblr-red-fg)!important}.text-orange{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-orange-fg{color:var(--tblr-orange-fg)!important}.text-yellow{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-yellow-fg{color:var(--tblr-yellow-fg)!important}.text-lime{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-lime-fg{color:var(--tblr-lime-fg)!important}.text-green{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-green-fg{color:var(--tblr-green-fg)!important}.text-teal{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-teal-fg{color:var(--tblr-teal-fg)!important}.text-cyan{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-cyan-fg{color:var(--tblr-cyan-fg)!important}.bg-gray-50{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-50) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-50-fg{color:var(--tblr-gray-50-fg)!important}.bg-gray-100{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-100) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-100-fg{color:var(--tblr-gray-100-fg)!important}.bg-gray-200{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-200) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-200-fg{color:var(--tblr-gray-200-fg)!important}.bg-gray-300{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-300) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-300-fg{color:var(--tblr-gray-300-fg)!important}.bg-gray-400{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-400) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-400-fg{color:var(--tblr-gray-400-fg)!important}.bg-gray-500{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-500) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-500-fg{color:var(--tblr-gray-500-fg)!important}.bg-gray-600{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-600) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-600-fg{color:var(--tblr-gray-600-fg)!important}.bg-gray-700{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-700) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-700-fg{color:var(--tblr-gray-700-fg)!important}.bg-gray-800{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-800) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-800-fg{color:var(--tblr-gray-800-fg)!important}.bg-gray-900{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-900) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-900-fg{color:var(--tblr-gray-900-fg)!important}.bg-gray-950{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-950) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-950-fg{color:var(--tblr-gray-950-fg)!important}.bg-x{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-x) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-x-fg{color:var(--tblr-x-fg)!important}.bg-facebook{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-facebook) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-facebook-fg{color:var(--tblr-facebook-fg)!important}.bg-twitter{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-twitter) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-twitter-fg{color:var(--tblr-twitter-fg)!important}.bg-linkedin{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-linkedin) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-linkedin-fg{color:var(--tblr-linkedin-fg)!important}.bg-google{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-google) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-google-fg{color:var(--tblr-google-fg)!important}.bg-youtube{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-youtube) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-youtube-fg{color:var(--tblr-youtube-fg)!important}.bg-vimeo{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-vimeo) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-vimeo-fg{color:var(--tblr-vimeo-fg)!important}.bg-dribbble{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-dribbble) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-dribbble-fg{color:var(--tblr-dribbble-fg)!important}.bg-github{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-github) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-github-fg{color:var(--tblr-github-fg)!important}.bg-instagram{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-instagram) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-instagram-fg{color:var(--tblr-instagram-fg)!important}.bg-pinterest{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-pinterest) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-pinterest-fg{color:var(--tblr-pinterest-fg)!important}.bg-vk{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-vk) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-vk-fg{color:var(--tblr-vk-fg)!important}.bg-rss{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-rss) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-rss-fg{color:var(--tblr-rss-fg)!important}.bg-flickr{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-flickr) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-flickr-fg{color:var(--tblr-flickr-fg)!important}.bg-bitbucket{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-bitbucket) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-bitbucket-fg{color:var(--tblr-bitbucket-fg)!important}.bg-tabler{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-tabler) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-tabler-fg{color:var(--tblr-tabler-fg)!important}.bg-inverted{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-bg-surface-inverted) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.bg-surface{background-color:var(--tblr-bg-surface)!important}.bg-surface-secondary{background-color:var(--tblr-bg-surface-secondary)!important}.bg-surface-tertiary{background-color:var(--tblr-bg-surface-tertiary)!important}.bg-surface-backdrop{background-color:color-mix(in srgb,var(--tblr-gray-800) 24%,transparent)!important}.scrollable{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scrollable.hover{overflow-y:hidden}.scrollable.hover>*{margin-top:-1px}.scrollable.hover:hover,.scrollable.hover:focus,.scrollable.hover:active{overflow:visible;overflow-y:auto}.touch .scrollable{overflow-y:auto!important}.scroll-x,.scroll-y{overflow:hidden;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.no-scroll{overflow:hidden}.w-0{width:0!important}.h-0{height:0!important}.w-1{width:.25rem!important}.h-1{height:.25rem!important}.w-2{width:.5rem!important}.h-2{height:.5rem!important}.w-3{width:1rem!important}.h-3{height:1rem!important}.w-4{width:1.5rem!important}.h-4{height:1.5rem!important}.w-5{width:2rem!important}.h-5{height:2rem!important}.w-6{width:2.5rem!important}.h-6{height:2.5rem!important}.w-auto{width:auto!important}.h-auto{height:auto!important}.w-px{width:1px!important}.h-px{height:1px!important}.w-full{width:100%!important}.h-full{height:100%!important}.opacity-0{opacity:0!important}.opacity-5{opacity:.05!important}.opacity-10{opacity:.1!important}.opacity-15{opacity:.15!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-30{opacity:.3!important}.opacity-35{opacity:calc(35 / 100)!important}.opacity-40{opacity:.4!important}.opacity-45{opacity:.45!important}.opacity-50{opacity:.5!important}.opacity-55{opacity:.55!important}.opacity-60{opacity:.6!important}.opacity-65{opacity:.65!important}.opacity-70{opacity:calc(70 / 100)!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-85{opacity:.85!important}.opacity-90{opacity:.9!important}.opacity-95{opacity:calc(95 / 100)!important}.opacity-100{opacity:1!important}.hover-shadow-sm:hover{box-shadow:0 .125rem .25rem #00000013!important}.hover-shadow:hover{box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px!important}.hover-shadow-lg:hover{box-shadow:0 1rem 3rem #0000002d!important}.hover-shadow-none:hover{box-shadow:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.hover-rotate-start,.hover-rotate-end,.hover-scale,.hover-elevate-down,.hover-elevate-up{transition:transform .3s ease}.hover-rotate-start:hover,.hover-rotate-end:hover,.hover-scale:hover,.hover-elevate-down:hover,.hover-elevate-up:hover{will-change:transform}.hover-elevate-up:hover{transform:translateY(-4px)}.hover-elevate-down:hover{transform:translateY(4px)}.hover-scale:hover{transform:scale(1.1)}.hover-rotate-end:hover{transform:rotate(4deg)}.hover-rotate-start:hover{transform:rotate(-4deg)}.ts-control{border:1px solid var(--tblr-border-color);padding:.5625rem 1rem;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:var(--tblr-border-radius);display:flex;flex-wrap:wrap}.ts-wrapper.multi.has-items .ts-control{padding:calc(.5625rem - 1px + -0) 1rem calc(.5625rem - 4px + -0)}.full .ts-control{background-color:var(--tblr-bg-forms)}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{vertical-align:baseline;display:inline-block}.ts-wrapper.multi .ts-control>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 5px;background:#efefef;color:#1f2937;border:0 solid #e5e7eb}.ts-wrapper.multi .ts-control>div.active{background:#00857d;color:#fff;border:0 solid rgba(0,0,0,0)}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{color:#787878;background:#fff;border:0 solid white}.ts-control>input{flex:1 1 auto;min-width:7rem;display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0!important;text-indent:0!important;border:0 none!important;background:none!important;line-height:inherit!important;user-select:auto!important;box-shadow:none!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:none!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:right}.ts-control.rtl.single .ts-control:after{left:calc(1rem + 5px);right:auto}.ts-control.rtl .ts-control>input{margin:0 4px 0 -2px!important}.disabled .ts-control{opacity:.5;background-color:var(--tblr-bg-surface-secondary)}.input-hidden .ts-control>input{opacity:0;position:absolute;left:-10000px}.ts-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:var(--tblr-bg-surface);margin:.25rem 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px #0000001a;border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:#ffed2866;border-radius:1px}.ts-dropdown .option,.ts-dropdown .optgroup-header,.ts-dropdown .no-results,.ts-dropdown .create{padding:3px 1rem}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{opacity:1;cursor:pointer}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.ts-dropdown .optgroup-header{color:#4b5563;background:var(--tblr-bg-surface);cursor:default}.ts-dropdown .active{background-color:rgba(var(--tblr-secondary-rgb),.08);color:inherit}.ts-dropdown .active.create{color:inherit}.ts-dropdown .create{color:#1f293780}.ts-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px 1rem}.ts-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ts-dropdown-content{overflow:hidden auto;max-height:200px;scroll-behavior:smooth}.ts-wrapper.plugin-drag_drop .ts-dragging{color:transparent!important}.ts-wrapper.plugin-drag_drop .ts-dragging>*{visibility:hidden!important}.plugin-checkbox_options:not(.rtl) .option input{margin-right:.5rem}.plugin-checkbox_options.rtl .option input{margin-left:.5rem}.plugin-clear_button{--ts-pr-clear-button: 1em}.plugin-clear_button .clear-button{opacity:0;position:absolute;top:50%;transform:translateY(-50%);right:calc(1rem - 5px);margin-right:0!important;background:transparent!important;transition:opacity .5s;cursor:pointer}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{right:max(var(--ts-pr-caret),1rem)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{position:relative;padding:6px 1rem;border-bottom:1px solid #d0d0d0;background:color-mix(var(--tblr-bg-surface),#d0d0d0,85%);border-radius:var(--tblr-border-radius) var(--tblr-border-radius) 0 0}.ts-wrapper .dropdown-header-close{position:absolute;right:1rem;top:50%;color:#1f2937;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{box-shadow:none;border:1px solid var(--tblr-border-color);box-shadow:var(--tblr-shadow-input)}.plugin-dropdown_input .dropdown-input{border:1px solid #d0d0d0;border-width:0 0 1px;display:block;padding:.5625rem 1rem;box-shadow:none;width:100%;background:transparent}.plugin-dropdown_input.focus .ts-dropdown .dropdown-input{border-color:#80c2be;outline:0;box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.plugin-dropdown_input .items-placeholder{border:0 none!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.has-items .items-placeholder,.plugin-dropdown_input.dropdown-active .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.ts-wrapper.plugin-remove_button .item{display:inline-flex;align-items:center}.ts-wrapper.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:0 5px;border-radius:0 2px 2px 0;box-sizing:border-box}.ts-wrapper.plugin-remove_button .item .remove:hover{background:#0000000d}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:none}.ts-wrapper.plugin-remove_button .remove-single{position:absolute;right:0;top:0;font-size:23px}.ts-wrapper.plugin-remove_button:not(.rtl) .item{padding-right:0!important}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-left:1px solid #e5e7eb;margin-left:5px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-left-color:#0000}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-left-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item{padding-left:0!important}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-right:1px solid #e5e7eb;margin-right:5px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-right-color:#0000}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-right-color:#fff}:root{--ts-pr-clear-button: 0px;--ts-pr-caret: 0px;--ts-pr-min: .75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control:not(.rtl){padding-right:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-control.rtl{padding-left:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper{position:relative}.ts-dropdown,.ts-control,.ts-control input{color:#1f2937;font-family:inherit;font-size:inherit;line-height:1.25rem}.ts-control,.ts-wrapper.single.input-active .ts-control{background:var(--tblr-bg-forms);cursor:text}.ts-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.ts-dropdown,.ts-dropdown.form-control,.ts-dropdown.form-select{height:auto;padding:0;z-index:1000;background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color-translucent);border-radius:6px;box-shadow:0 6px 12px #0000002d}.ts-dropdown .optgroup-header{font-size:.765625rem;line-height:1.4285714286}.ts-dropdown .optgroup:first-child:before{display:none}.ts-dropdown .optgroup:before{content:" ";display:block;height:0;margin:var(--tblr-spacer-2) 0;overflow:hidden;border-top:1px solid var(--tblr-border-color-translucent);margin-left:-1rem;margin-right:-1rem}.ts-dropdown .create{padding-left:1rem}.ts-dropdown-content{padding:5px 0}.ts-control{box-shadow:var(--tblr-shadow-input);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;align-items:center}@media(prefers-reduced-motion:reduce){.ts-control{transition:none}}.focus .ts-control{border-color:#80c2be;outline:0;box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.ts-control .item{display:flex;align-items:center}.ts-wrapper.is-invalid,select.tomselected.is-invalid+div.ts-wrapper,.was-validated .invalid,.was-validated :invalid+.ts-wrapper{border-color:var(--tblr-form-invalid-color)}.ts-wrapper.is-invalid:not(.single),select.tomselected.is-invalid+div.ts-wrapper:not(.single),.was-validated .invalid:not(.single),.was-validated :invalid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right 1.53125rem center;background-size:1.8125rem 1.8125rem;background-repeat:no-repeat}.ts-wrapper.is-invalid.single,select.tomselected.is-invalid+div.ts-wrapper.single,.was-validated .invalid.single,.was-validated :invalid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right 1rem center,center right 3rem;background-size:16px 12px,1.8125rem 1.8125rem;background-repeat:no-repeat}.ts-wrapper.is-invalid.focus .ts-control,select.tomselected.is-invalid+div.ts-wrapper.focus .ts-control,.was-validated .invalid.focus .ts-control,.was-validated :invalid+.ts-wrapper.focus .ts-control{border-color:var(--tblr-form-invalid-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-form-invalid-color),.25)}.ts-wrapper.is-valid,.was-validated .valid,.was-validated :valid+.ts-wrapper{border-color:var(--tblr-form-valid-color)}.ts-wrapper.is-valid:not(.single),.was-validated .valid:not(.single),.was-validated :valid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1.53125rem center;background-size:1.8125rem 1.8125rem;background-repeat:no-repeat}.ts-wrapper.is-valid.single,.was-validated .valid.single,.was-validated :valid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center,center right 3rem;background-size:16px 12px,1.8125rem 1.8125rem;background-repeat:no-repeat}.ts-wrapper.is-valid.focus .ts-control,.was-validated .valid.focus .ts-control,.was-validated :valid+.ts-wrapper.focus .ts-control{border-color:var(--tblr-form-valid-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-form-valid-color),.25)}.ts-wrapper{min-height:calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));display:flex}.input-group-sm>.ts-wrapper,.ts-wrapper.form-select-sm,.ts-wrapper.form-control-sm{min-height:calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2))}.input-group-sm>.ts-wrapper .ts-control,.ts-wrapper.form-select-sm .ts-control,.ts-wrapper.form-control-sm .ts-control{border-radius:var(--tblr-border-radius-sm);font-size:.75rem}.input-group-sm>.ts-wrapper.has-items .ts-control,.ts-wrapper.form-select-sm.has-items .ts-control,.ts-wrapper.form-control-sm.has-items .ts-control{font-size:.75rem;padding-bottom:0}.input-group-sm>.ts-wrapper.multi.has-items .ts-control,.ts-wrapper.form-select-sm.multi.has-items .ts-control,.ts-wrapper.form-control-sm.multi.has-items .ts-control{padding-top:calc((calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2)) - 1.25rem * .75rem - calc((var(--tblr-border-width) + 1px) * 2)) / 2)!important}.ts-wrapper.multi.has-items .ts-control{padding-left:calc(1rem - 5px);--ts-pr-min: calc(1rem - 5px) }.ts-wrapper.multi .ts-control>div{border-radius:calc(var(--tblr-border-radius) - 1px)}.input-group-lg>.ts-wrapper,.ts-wrapper.form-control-lg,.ts-wrapper.form-select-lg{min-height:calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2))}.input-group-lg>.ts-wrapper .ts-control,.ts-wrapper.form-control-lg .ts-control,.ts-wrapper.form-select-lg .ts-control{border-radius:var(--tblr-border-radius-lg);font-size:1rem}.ts-wrapper:not(.form-control,.form-select){padding:0;border:none;height:auto;box-shadow:none;background:none}.ts-wrapper:not(.form-control,.form-select).single .ts-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 12px}.ts-wrapper.form-select,.ts-wrapper.single{--ts-pr-caret: 3rem}.ts-wrapper.form-control,.ts-wrapper.form-select{padding:0!important;height:auto;box-shadow:none;display:flex}.ts-wrapper.form-control .ts-control,.ts-wrapper.form-control.single.input-active .ts-control,.ts-wrapper.form-select .ts-control,.ts-wrapper.form-select.single.input-active .ts-control{border:none!important}.ts-wrapper.form-control:not(.disabled) .ts-control,.ts-wrapper.form-control:not(.disabled).single.input-active .ts-control,.ts-wrapper.form-select:not(.disabled) .ts-control,.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control{background:transparent!important}.input-group>.ts-wrapper{flex-grow:1;width:1%}.input-group>.ts-wrapper:not(:nth-child(2))>.ts-control{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.ts-wrapper:not(:last-child)>.ts-control{border-top-right-radius:0;border-bottom-right-radius:0}:root{--ts-pr-clear-button: 0rem;--ts-pr-caret: 0rem}.ts-input{color:inherit}.focus .ts-control{border-radius:var(--tblr-border-radius)}.ts-control{color:inherit}.ts-control .dropdown-menu{width:100%;height:auto}.ts-wrapper .form-control,.ts-wrapper .form-select,.ts-wrapper.form-control,.ts-wrapper.form-select{box-shadow:var(--tblr-shadow-input)}.ts-wrapper.is-invalid .ts-control,select.tomselected.is-invalid+div.ts-wrapper .ts-control,.ts-wrapper.is-valid .ts-control{--ts-pr-clear-button: 1.5rem}.ts-dropdown{background:var(--tblr-bg-surface);color:var(--tblr-body-color);box-shadow:var(--tblr-shadow-dropdown);z-index:1000}.ts-dropdown .option{padding:.5rem .75rem}.ts-control,.ts-control input{color:var(--tblr-body-color)}.ts-control input::placeholder{color:var(--tblr-tertiary)}.ts-wrapper.multi .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div{background:var(--tblr-bg-surface-secondary);border:1px solid var(--tblr-border-color);color:var(--tblr-body-color)}.ts-wrapper.disabled .ts-control{opacity:1}.ts-wrapper.disabled .ts-control>div.item{color:var(--tblr-gray-500)}html{scroll-behavior:auto!important}mark,.mark{padding-left:0;padding-right:0}.table-responsive .dropdown,.table-responsive .btn-group,.table-responsive .btn-group-vertical{position:static}.progress{min-width:80px}hr.dropdown-divider,.dropdown-divider.hr{margin-bottom:.25rem;margin-top:.25rem}.dropdown-item{font-weight:400}*{font-feature-settings:"liga" 0;font-variant-ligatures:none}pre{background-color:transparent;color:inherit}.alert{background:var(--tblr-bg-surface)}.badge{user-select:text}.btn{display:inline-block}.btn:focus{border:1px solid var(--tblr-primary-fg);outline:2px solid var(--tblr-primary)!important}.btn-sm,.btn-group-sm>.btn{border-radius:6px}.dropdown-item{display:inline-block}.footer .text-primary{color:#001423!important}.nav-tabs .nav-link{display:inline-block}.page,.page-tabs .nav-tabs .nav-link.active{background-color:var(--tblr-bg-surface-tertiary)!important}.navbar{--tblr-navbar-active-bg: rgba(0, 0, 0, .06)}[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{--tblr-alert-color: darken(var(--tblr-warning),10%);--tblr-link-color: #00F2D4;--tblr-link-color-rgb: 0,242,212;--tblr-link-hover-color-rgb: 0,242,212;--tblr-secondary: #9ca3af;--tblr-primary: #00F2D4;--tblr-primary-fg: #001423;--tblr-primary-rgb: 0,242,212;--tblr-btn-active-color: #001423}body[data-bs-theme=dark],body[data-bs-theme=dark] body[data-bs-theme=light]{background-color:#001423}body[data-bs-theme=dark] ::selection,body[data-bs-theme=dark] body[data-bs-theme=light] ::selection{background-color:rgba(var(--tblr-primary-rgb),.48)}body[data-bs-theme=dark] .btn-primary,body[data-bs-theme=dark] .bg-primary .card-title,body[data-bs-theme=dark] .bg-primary a,body[data-bs-theme=dark] .bg-primary i,body[data-bs-theme=dark] .text-bg-primary{color:#001423!important}body[data-bs-theme=dark] .card{background:#001423!important}body[data-bs-theme=dark] .navbar,body[data-bs-theme=dark] .page-header{background-color:#001423}body[data-bs-theme=dark] .page,body[data-bs-theme=dark] .page-tabs .nav-tabs .nav-link.active{background-color:#081b2a!important}body[data-bs-theme=dark] .page-link.active,body[data-bs-theme=dark] .active>.page-link{color:#001423}body[data-bs-theme=dark] .text-bg-primary{color:#001423!important}body[data-bs-theme=dark] .text-muted{color:var(--tblr-secondary-color)!important}body[data-bs-theme=dark] .text-secondary{color:#9ca3af!important}body[data-bs-theme=dark] .footer .text-primary{color:#fff!important}body[data-bs-theme=dark] .toast{color:var(--tblr-body-color)}body[data-bs-theme=dark] .table-primary{--tblr-table-bg: rgba(var(--tblr-secondary-rgb), .48);--tblr-table-hover-bg: inherit;--tblr-table-hover-color: inherit}pre code{padding:unset}.dropdown-toggle:after{font-family:Material Design Icons;content:"\f0140";padding-right:9px;border-bottom:none;border-left:none;transform:none;vertical-align:.05em;height:auto}:root:not(.dummy) body[data-bs-theme=light] .hide-theme-light,:root:not(.dummy) body[data-bs-theme=dark] .hide-theme-dark{display:none!important}:root:not(.dummy) body[data-bs-theme=dark] .hide-theme-light,:root:not(.dummy) body[data-bs-theme=light] .hide-theme-dark{display:inline-flex!important}.ts-wrapper.multi .ts-control{padding:7px 7px 3px}.ts-wrapper.multi .ts-control div{margin:0 4px 4px 0}.badge a{color:inherit;text-decoration:none}.page-body .card{margin-bottom:1rem}.page-body .card .card-header,.page-body .card .card-body,.page-body .card .card-footer{padding:.75rem}.page-body .card .card-header{background:var(--tblr-bg-surface-tertiary)}.page-body .card h2.card-header,.page-body .card .card-header.h2{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5);margin-bottom:0}.page-body .card .list-group-item{padding:.5rem .75rem}.page-body .card .table,.page-body .card .markdown>table{margin-bottom:0}form.object-edit{margin:auto;max-width:800px}.col-form-label.required{font-weight:700}.col-form-label.required:after{position:absolute;display:inline-block;margin-left:0;font-family:Material Design Icons;font-size:8px;content:"\f06c4"}.has-errors input,.has-errors select,.has-errors textarea{border:1px solid #d63939}select[multiple] optgroup{position:sticky;top:0;background-color:var(--bs-body-bg);font-style:normal;font-weight:700}select[multiple] option{padding-left:.5rem}.page{background-color:var(--tblr-bg-surface-secondary)}.page-header{background-color:var(--tblr-bg-surface);min-height:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-link-icon,.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-link-title{color:#001423}.navbar-vertical.navbar-expand-lg .navbar-collapse .text-secondary{color:#00857d!important}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item a{color:#001423}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item .btn-group{visibility:hidden}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:hover,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active{background-color:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:hover a,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active a{text-decoration:none}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:hover .btn-group,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active .btn-group{visibility:visible}.navbar-vertical.navbar-expand-lg .navbar-nav{z-index:1}@media(max-width:991.98px){.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.2rem 0}}.navbar-vertical.navbar-expand-lg .navbar-brand a:hover{text-decoration:none}.navbar-vertical.navbar-expand-lg img.motif{bottom:0;display:none;left:0;mask-image:linear-gradient(180deg,#0000,#0000004d);opacity:.5;position:fixed;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none;width:18rem}@media(min-width:992px){.navbar-vertical.navbar-expand-lg img.motif{display:block}}body[data-bs-theme=light] .navbar-vertical.navbar-expand-lg{background:linear-gradient(180deg,#00857d00,#00857d1a),#fff}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg{background:linear-gradient(180deg,#00f2d400,#00f2d41a),#001423}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .nav-item.dropdown.active:after{border-color:#00f2d4!important}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .nav-link-title,body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .nav-link-icon,body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .dropdown-item a{color:#fff!important}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .dropdown-item.active,body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .dropdown-item:hover{background-color:#ffffff0f!important}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .text-secondary{color:#00f2d4!important}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg img.motif{opacity:.25}.progress{height:20px}.progress .progress-label{display:flex;flex-direction:column;justify-content:center;padding-left:.25rem}.table thead th,.markdown>table thead th{font-size:.625rem}table.object-list tbody>tr:last-child>td{border-bottom-width:0}table.object-list th.asc>a:after{content:"\f0140";font-family:Material Design Icons}table.object-list th.desc>a:after{content:"\f0143";font-family:Material Design Icons}table.attr-table th{font-weight:400;width:min-content}table.attr-table th,table.attr-table td{border-bottom-style:dashed}table.attr-table tr:last-child{border-bottom-style:hidden}table.attr-table td{overflow-wrap:anywhere}td pre{margin-bottom:0}table th.orderable a{color:var(--tblr-body-color)}body[data-bs-theme=dark] .table thead th,body[data-bs-theme=dark] .markdown>table thead th{background:#001423!important}.page-tabs{border-bottom:1px solid var(--tblr-border-color-translucent)}.page-tabs .nav-tabs{position:relative;border:none}.page-tabs .nav-tabs .nav-link.active,.page-tabs .nav-tabs .nav-link:active,.page-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color-translucent);border-bottom-color:transparent}.page-tabs .nav-tabs .nav-link.active{color:inherit;background:var(--tblr-bg-surface-secondary);border-bottom-color:transparent}pre.change-data{border-radius:0;padding:0}pre.change-data>span{display:block;padding-right:1rem;padding-left:1rem;width:100%;min-width:fit-content}pre.change-data>span.added{color:var(--tblr-dark);background-color:#82d18f}pre.change-data>span.removed{color:var(--tblr-dark);background-color:#e68888}pre.change-diff{border-color:transparent}pre.change-diff.change-added{color:var(--tblr-dark);background-color:#82d18f}pre.change-diff.change-removed{color:var(--tblr-dark);background-color:#e68888}pre.block{padding:1rem;border:1px solid #e5e7eb;border-radius:6px}.grid-stack .card-header.bg-default{background:var(--tblr-bg-surface-secondary)!important}.grid-stack .card-header a{color:inherit!important}tr[data-cable-status=connected]{background-color:#2fb34426}tr[data-cable-status=planned]{background-color:#066fd126}tr[data-cable-status=decommissioning]{background-color:#f59f0026}tr[data-mark-connected=true]{background-color:#2fb34426}tr[data-virtual=true]{background-color:#00857d26}tr[data-enabled=disabled]{background-color:#9ca3af26}tr[data-cable-status=connected] button.mark-installed{display:none}tr:not([data-cable-status=connected]) button.mark-planned{display:none}.rendered-markdown table{width:100%}.rendered-markdown table th{border-bottom:2px solid #dddddd;padding:8px}.rendered-markdown table td{border-top:1px solid #dddddd;padding:8px}.rendered-markdown table th[align=left]{text-align:left}.rendered-markdown table th[align=center]{text-align:center}.rendered-markdown table th[align=right]{text-align:right}.rendered-markdown p:last-child{margin-bottom:0}td>.rendered-markdown{max-height:200px;overflow-y:scroll}.markdown-widget .preview{border:1px solid #e5e7eb;border-radius:6px;min-height:200px}span.color-label{display:inline-block;width:5rem;height:1rem;padding:.25em .5em;border:1px solid #303030;border-radius:6px}.record-depth{display:inline;user-select:none;opacity:33%}.record-depth span:only-of-type,.record-depth span:last-of-type{margin-right:.25rem}.hide-last-child :last-child{visibility:hidden;opacity:0}.netbox-edition{letter-spacing:.15rem}.btn-float-group,.btn-float-group-right,.btn-float-group-left{position:sticky;bottom:10px;z-index:4}.btn-float-group-left{float:left}.btn-float-group-right{float:right}.btn-float{--tblr-btn-bg: var(--tblr-bg-surface-tertiary) !important}.logo{height:80px}.sso-icon{height:24px}img.plugin-icon{max-width:1.4285em;height:auto}.thumbnail{max-width:200px}.thumbnail img{border:1px solid #606060}body[data-bs-theme=dark] img.plugin-icon{filter:grayscale(100%) invert(100%) brightness(80%)}tr[data-read=True] td{background-color:var(--tblr-bg-surface-secondary);color:#6b7280}.rack-loading-container{min-height:200px;margin-left:30px} +@charset "UTF-8";:root,[data-bs-theme=light]{--tblr-black: #000000;--tblr-white: #ffffff;--tblr-gray: #4b5563;--tblr-gray-dark: #1f2937;--tblr-gray-100: #f3f4f6;--tblr-gray-200: #e5e7eb;--tblr-gray-300: #d1d5db;--tblr-gray-400: #9ca3af;--tblr-gray-500: #6b7280;--tblr-gray-600: #4b5563;--tblr-gray-700: #374151;--tblr-gray-800: #1f2937;--tblr-gray-900: #111827;--tblr-primary: #00857D;--tblr-secondary: #6b7280;--tblr-success: #2fb344;--tblr-info: #4299e1;--tblr-warning: #f59f00;--tblr-danger: #d63939;--tblr-light: #f9fafb;--tblr-dark: #1f2937;--tblr-muted: #6b7280;--tblr-blue: #066fd1;--tblr-azure: #4299e1;--tblr-indigo: #4263eb;--tblr-purple: #ae3ec9;--tblr-pink: #d6336c;--tblr-red: #d63939;--tblr-orange: #f76707;--tblr-yellow: #f59f00;--tblr-lime: #74b816;--tblr-green: #2fb344;--tblr-teal: #0ca678;--tblr-cyan: #17a2b8;--tblr-primary-rgb: 0, 133, 125;--tblr-secondary-rgb: 107, 114, 128;--tblr-success-rgb: 47, 179, 68;--tblr-info-rgb: 66, 153, 225;--tblr-warning-rgb: 245, 159, 0;--tblr-danger-rgb: 214, 57, 57;--tblr-light-rgb: 249, 250, 251;--tblr-dark-rgb: 31, 41, 55;--tblr-muted-rgb: 107, 114, 128;--tblr-blue-rgb: 6, 111, 209;--tblr-azure-rgb: 66, 153, 225;--tblr-indigo-rgb: 66, 99, 235;--tblr-purple-rgb: 174, 62, 201;--tblr-pink-rgb: 214, 51, 108;--tblr-red-rgb: 214, 57, 57;--tblr-orange-rgb: 247, 103, 7;--tblr-yellow-rgb: 245, 159, 0;--tblr-lime-rgb: 116, 184, 22;--tblr-green-rgb: 47, 179, 68;--tblr-teal-rgb: 12, 166, 120;--tblr-cyan-rgb: 23, 162, 184;--tblr-primary-text-emphasis: #003532;--tblr-secondary-text-emphasis: #2b2e33;--tblr-success-text-emphasis: #13481b;--tblr-info-text-emphasis: #1a3d5a;--tblr-warning-text-emphasis: #624000;--tblr-danger-text-emphasis: #561717;--tblr-light-text-emphasis: #374151;--tblr-dark-text-emphasis: #374151;--tblr-primary-bg-subtle: #cce7e5;--tblr-secondary-bg-subtle: #e1e3e6;--tblr-success-bg-subtle: #d5f0da;--tblr-info-bg-subtle: #d9ebf9;--tblr-warning-bg-subtle: #fdeccc;--tblr-danger-bg-subtle: #f7d7d7;--tblr-light-bg-subtle: #f9fafb;--tblr-dark-bg-subtle: #9ca3af;--tblr-primary-border-subtle: #99cecb;--tblr-secondary-border-subtle: #c4c7cc;--tblr-success-border-subtle: #ace1b4;--tblr-info-border-subtle: #b3d6f3;--tblr-warning-border-subtle: #fbd999;--tblr-danger-border-subtle: #efb0b0;--tblr-light-border-subtle: #e5e7eb;--tblr-dark-border-subtle: #6b7280;--tblr-white-rgb: 255, 255, 255;--tblr-black-rgb: 0, 0, 0;--tblr-font-sans-serif: "Inter", system-ui, sans-serif;--tblr-font-monospace: "Roboto Mono";--tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--tblr-body-font-family: var(--tblr-font-sans-serif);--tblr-body-font-size: .875rem;--tblr-body-font-weight: 400;--tblr-body-line-height: 1.4285714286;--tblr-body-color: #1f2937;--tblr-body-color-rgb: 31, 41, 55;--tblr-body-bg: #f9fafb;--tblr-body-bg-rgb: 249, 250, 251;--tblr-emphasis-color: #374151;--tblr-emphasis-color-rgb: 55, 65, 81;--tblr-secondary-color: rgba(31, 41, 55, .75);--tblr-secondary-color-rgb: 31, 41, 55;--tblr-secondary-bg: #e5e7eb;--tblr-secondary-bg-rgb: 229, 231, 235;--tblr-tertiary-color: rgba(31, 41, 55, .5);--tblr-tertiary-color-rgb: 31, 41, 55;--tblr-tertiary-bg: #f3f4f6;--tblr-tertiary-bg-rgb: 243, 244, 246;--tblr-heading-color: inherit;--tblr-link-color: #00857D;--tblr-link-color-rgb: 0, 133, 125;--tblr-link-decoration: none;--tblr-link-hover-color: #006a64;--tblr-link-hover-color-rgb: 0, 106, 100;--tblr-link-hover-decoration: underline;--tblr-code-color: light-dark(var(--tblr-gray-600), var(--tblr-gray-400));--tblr-highlight-color: #1f2937;--tblr-highlight-bg: #fdeccc;--tblr-border-width: 1px;--tblr-border-style: solid;--tblr-border-color: #e5e7eb;--tblr-border-color-translucent: rgba(4, 32, 69, .1);--tblr-border-radius: 6px;--tblr-border-radius-sm: 4px;--tblr-border-radius-lg: 8px;--tblr-border-radius-xl: 1rem;--tblr-border-radius-xxl: 2rem;--tblr-border-radius-2xl: var(--tblr-border-radius-xxl);--tblr-border-radius-pill: 100rem;--tblr-box-shadow: rgba(var(--tblr-body-color-rgb), .04) 0 2px 4px 0;--tblr-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--tblr-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--tblr-box-shadow-inset: 0 0 transparent;--tblr-focus-ring-width: .25rem;--tblr-focus-ring-opacity: .25;--tblr-focus-ring-color: rgba(var(--tblr-primary-rgb), .25);--tblr-form-valid-color: #2fb344;--tblr-form-valid-border-color: #2fb344;--tblr-form-invalid-color: #d63939;--tblr-form-invalid-border-color: #d63939}[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{color-scheme:dark;--tblr-body-color: #e5e7eb;--tblr-body-color-rgb: 229, 231, 235;--tblr-body-bg: #111827;--tblr-body-bg-rgb: 17, 24, 39;--tblr-emphasis-color: #ffffff;--tblr-emphasis-color-rgb: 255, 255, 255;--tblr-secondary-color: rgba(229, 231, 235, .75);--tblr-secondary-color-rgb: 229, 231, 235;--tblr-secondary-bg: #1f2937;--tblr-secondary-bg-rgb: 31, 41, 55;--tblr-tertiary-color: rgba(229, 231, 235, .5);--tblr-tertiary-color-rgb: 229, 231, 235;--tblr-tertiary-bg: #18212f;--tblr-tertiary-bg-rgb: 24, 33, 47;--tblr-primary-text-emphasis: #66b6b1;--tblr-secondary-text-emphasis: #a6aab3;--tblr-success-text-emphasis: #82d18f;--tblr-info-text-emphasis: #8ec2ed;--tblr-warning-text-emphasis: #f9c566;--tblr-danger-text-emphasis: #e68888;--tblr-light-text-emphasis: #f3f4f6;--tblr-dark-text-emphasis: #d1d5db;--tblr-primary-bg-subtle: #001b19;--tblr-secondary-bg-subtle: #15171a;--tblr-success-bg-subtle: #09240e;--tblr-info-bg-subtle: #0d1f2d;--tblr-warning-bg-subtle: #312000;--tblr-danger-bg-subtle: #2b0b0b;--tblr-light-bg-subtle: #1f2937;--tblr-dark-bg-subtle: #10151c;--tblr-primary-border-subtle: #00504b;--tblr-secondary-border-subtle: #40444d;--tblr-success-border-subtle: #1c6b29;--tblr-info-border-subtle: #285c87;--tblr-warning-border-subtle: #935f00;--tblr-danger-border-subtle: #802222;--tblr-light-border-subtle: #374151;--tblr-dark-border-subtle: #1f2937;--tblr-heading-color: inherit;--tblr-link-color: #66b6b1;--tblr-link-hover-color: #85c5c1;--tblr-link-color-rgb: 102, 182, 177;--tblr-link-hover-color-rgb: 133, 197, 193;--tblr-code-color: var(--tblr-gray-300);--tblr-highlight-color: #e5e7eb;--tblr-highlight-bg: #624000;--tblr-border-color: #2e3c51;--tblr-border-color-translucent: rgba(72, 110, 149, .14);--tblr-form-valid-color: #82d18f;--tblr-form-valid-border-color: #82d18f;--tblr-form-invalid-color: #e68888;--tblr-form-invalid-border-color: #e68888}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--tblr-body-font-family);font-size:var(--tblr-body-font-size);font-weight:var(--tblr-body-font-weight);line-height:var(--tblr-body-line-height);color:var(--tblr-body-color);text-align:var(--tblr-body-text-align);background-color:var(--tblr-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr,.hr{margin:2rem 0;color:inherit;border:0;border-top:var(--tblr-border-width) solid;opacity:.16}h6,.h6,h5,.h5,h4,.h4,h3,.field-group h2,.field-group .h2,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:var(--tblr-spacer);font-weight:var(--tblr-font-weight-bold);line-height:1.2;color:var(--tblr-heading-color)}h1,.h1{font-size:1.5rem}h2,.h2{font-size:1.25rem}h3,.field-group h2,.field-group .h2,.h3{font-size:1rem}h4,.h4{font-size:.875rem}h5,.h5{font-size:.75rem}h6,.h6{font-size:.625rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--tblr-highlight-color);background-color:var(--tblr-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-opacity, 1));text-decoration:none}a:hover{--tblr-link-color-rgb: var(--tblr-link-hover-color-rgb);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--tblr-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.85714285em;color:var(--tblr-light)}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.85714285em;color:var(--tblr-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.25rem .5rem;font-size:var(--tblr-font-size-h5);color:var(--tblr-text-secondary-dark);background-color:var(--tblr-code-bg);border-radius:4px}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:1.5rem}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:.875rem;font-weight:var(--tblr-font-weight-normal)}.display-1{font-weight:300;line-height:1.2;font-size:5rem}.display-2{font-weight:300;line-height:1.2;font-size:4.5rem}.display-3{font-weight:300;line-height:1.2;font-size:4rem}.display-4{font-weight:300;line-height:1.2;font-size:3.5rem}.display-5{font-weight:300;line-height:1.2;font-size:3rem}.display-6{font-weight:300;line-height:1.2;font-size:2rem}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:.875rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#4b5563}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--tblr-body-bg);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-box-shadow-sm);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--tblr-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--tblr-gutter-x: calc(var(--tblr-page-padding) * 2);--tblr-gutter-y: 0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto}@media(min-width:576px){.container-sm,.container{max-width:540px}}@media(min-width:768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width:992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width:1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width:1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--tblr-breakpoint-xs: 0;--tblr-breakpoint-sm: 576px;--tblr-breakpoint-md: 768px;--tblr-breakpoint-lg: 992px;--tblr-breakpoint-xl: 1200px;--tblr-breakpoint-xxl: 1400px}.row{--tblr-gutter-x: var(--tblr-page-padding);--tblr-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--tblr-gutter-y));margin-right:calc(-.5 * var(--tblr-gutter-x));margin-left:calc(-.5 * var(--tblr-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-top:var(--tblr-gutter-y)}.grid{display:grid;grid-template-rows:repeat(var(--tblr-rows, 1),1fr);grid-template-columns:repeat(var(--tblr-columns, 12),1fr);gap:var(--tblr-gap, var(--tblr-page-padding))}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width:576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width:768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width:992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width:1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width:1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--tblr-gutter-x: 0}.g-0,.gy-0{--tblr-gutter-y: 0}.g-1,.gx-1{--tblr-gutter-x: .25rem}.g-1,.gy-1{--tblr-gutter-y: .25rem}.g-2,.gx-2{--tblr-gutter-x: .5rem}.g-2,.gy-2{--tblr-gutter-y: .5rem}.g-3,.gx-3{--tblr-gutter-x: 1rem}.g-3,.gy-3{--tblr-gutter-y: 1rem}.g-4,.gx-4{--tblr-gutter-x: 1.5rem}.g-4,.gy-4{--tblr-gutter-y: 1.5rem}.g-5,.gx-5{--tblr-gutter-x: 2rem}.g-5,.gy-5{--tblr-gutter-y: 2rem}.g-6,.gx-6{--tblr-gutter-x: 2.5rem}.g-6,.gy-6{--tblr-gutter-y: 2.5rem}@media(min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--tblr-gutter-x: 0}.g-sm-0,.gy-sm-0{--tblr-gutter-y: 0}.g-sm-1,.gx-sm-1{--tblr-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--tblr-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--tblr-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--tblr-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--tblr-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--tblr-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--tblr-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--tblr-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--tblr-gutter-x: 2rem}.g-sm-5,.gy-sm-5{--tblr-gutter-y: 2rem}.g-sm-6,.gx-sm-6{--tblr-gutter-x: 2.5rem}.g-sm-6,.gy-sm-6{--tblr-gutter-y: 2.5rem}}@media(min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--tblr-gutter-x: 0}.g-md-0,.gy-md-0{--tblr-gutter-y: 0}.g-md-1,.gx-md-1{--tblr-gutter-x: .25rem}.g-md-1,.gy-md-1{--tblr-gutter-y: .25rem}.g-md-2,.gx-md-2{--tblr-gutter-x: .5rem}.g-md-2,.gy-md-2{--tblr-gutter-y: .5rem}.g-md-3,.gx-md-3{--tblr-gutter-x: 1rem}.g-md-3,.gy-md-3{--tblr-gutter-y: 1rem}.g-md-4,.gx-md-4{--tblr-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--tblr-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--tblr-gutter-x: 2rem}.g-md-5,.gy-md-5{--tblr-gutter-y: 2rem}.g-md-6,.gx-md-6{--tblr-gutter-x: 2.5rem}.g-md-6,.gy-md-6{--tblr-gutter-y: 2.5rem}}@media(min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--tblr-gutter-x: 0}.g-lg-0,.gy-lg-0{--tblr-gutter-y: 0}.g-lg-1,.gx-lg-1{--tblr-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--tblr-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--tblr-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--tblr-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--tblr-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--tblr-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--tblr-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--tblr-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--tblr-gutter-x: 2rem}.g-lg-5,.gy-lg-5{--tblr-gutter-y: 2rem}.g-lg-6,.gx-lg-6{--tblr-gutter-x: 2.5rem}.g-lg-6,.gy-lg-6{--tblr-gutter-y: 2.5rem}}@media(min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--tblr-gutter-x: 0}.g-xl-0,.gy-xl-0{--tblr-gutter-y: 0}.g-xl-1,.gx-xl-1{--tblr-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--tblr-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--tblr-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--tblr-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--tblr-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--tblr-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--tblr-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--tblr-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--tblr-gutter-x: 2rem}.g-xl-5,.gy-xl-5{--tblr-gutter-y: 2rem}.g-xl-6,.gx-xl-6{--tblr-gutter-x: 2.5rem}.g-xl-6,.gy-xl-6{--tblr-gutter-y: 2.5rem}}@media(min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--tblr-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--tblr-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--tblr-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--tblr-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--tblr-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--tblr-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--tblr-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--tblr-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--tblr-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--tblr-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--tblr-gutter-x: 2rem}.g-xxl-5,.gy-xxl-5{--tblr-gutter-y: 2rem}.g-xxl-6,.gx-xxl-6{--tblr-gutter-x: 2.5rem}.g-xxl-6,.gy-xxl-6{--tblr-gutter-y: 2.5rem}}.table,.markdown>table{--tblr-table-color-type: initial;--tblr-table-bg-type: initial;--tblr-table-color-state: initial;--tblr-table-bg-state: initial;--tblr-table-color: inherit;--tblr-table-bg: transparent;--tblr-table-border-color: var(--tblr-border-color-translucent);--tblr-table-accent-bg: transparent;--tblr-table-striped-color: inherit;--tblr-table-striped-bg: var(--tblr-bg-surface-tertiary);--tblr-table-active-color: inherit;--tblr-table-active-bg: var(--tblr-active-bg);--tblr-table-hover-color: inherit;--tblr-table-hover-bg: rgba(var(--tblr-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--tblr-table-border-color)}.table>:not(caption)>*>*,.markdown>table>:not(caption)>*>*{padding:.5rem;color:var(--tblr-table-color-state, var(--tblr-table-color-type, var(--tblr-table-color)));background-color:var(--tblr-table-bg);border-bottom-width:var(--tblr-border-width);box-shadow:inset 0 0 0 9999px var(--tblr-table-bg-state, var(--tblr-table-bg-type, var(--tblr-table-accent-bg)))}.table>tbody,.markdown>table>tbody{vertical-align:inherit}.table>thead,.markdown>table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*,.markdown>table>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*,.markdown>table>:not(caption)>*{border-width:var(--tblr-border-width) 0}.table-bordered>:not(caption)>*>*,.markdown>table>:not(caption)>*>*{border-width:0 var(--tblr-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(2n)>*{--tblr-table-color-type: var(--tblr-table-striped-color);--tblr-table-bg-type: var(--tblr-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--tblr-table-color-type: var(--tblr-table-striped-color);--tblr-table-bg-type: var(--tblr-table-striped-bg)}.table-active{--tblr-table-color-state: var(--tblr-table-active-color);--tblr-table-bg-state: var(--tblr-table-active-bg)}.table-hover>tbody>tr:hover>*{--tblr-table-color-state: var(--tblr-table-hover-color);--tblr-table-bg-state: var(--tblr-table-hover-bg)}.table-primary{--tblr-table-color: #1f2937;--tblr-table-bg: #cce7e5;--tblr-table-border-color: #a9c1c2;--tblr-table-striped-bg: #c3dedc;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #bbd4d4;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #bfd9d8;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-secondary{--tblr-table-color: #1f2937;--tblr-table-bg: #e1e3e6;--tblr-table-border-color: #babec3;--tblr-table-striped-bg: #d7dadd;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #ced0d5;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #d2d5d9;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-success{--tblr-table-color: #1f2937;--tblr-table-bg: #d5f0da;--tblr-table-border-color: #b1c8b9;--tblr-table-striped-bg: #cce6d2;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #c3dcca;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #c7e1ce;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-info{--tblr-table-color: #1f2937;--tblr-table-bg: #d9ebf9;--tblr-table-border-color: #b4c4d2;--tblr-table-striped-bg: #d0e1ef;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #c6d8e6;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #cbdcea;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-warning{--tblr-table-color: #1f2937;--tblr-table-bg: #fdeccc;--tblr-table-border-color: #d1c5ae;--tblr-table-striped-bg: #f2e2c5;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #e7d9bd;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #ecddc1;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-danger{--tblr-table-color: #1f2937;--tblr-table-bg: #f7d7d7;--tblr-table-border-color: #ccb4b7;--tblr-table-striped-bg: #eccecf;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #e1c6c7;--tblr-table-active-color: #f9fafb;--tblr-table-hover-bg: #e7cacb;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-light{--tblr-table-color: #1f2937;--tblr-table-bg: #f9fafb;--tblr-table-border-color: #cdd0d4;--tblr-table-striped-bg: #eef0f1;--tblr-table-striped-color: #1f2937;--tblr-table-active-bg: #e3e5e7;--tblr-table-active-color: #1f2937;--tblr-table-hover-bg: #e9eaec;--tblr-table-hover-color: #1f2937;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-dark{--tblr-table-color: #f9fafb;--tblr-table-bg: #1f2937;--tblr-table-border-color: #4b535e;--tblr-table-striped-bg: #2a3341;--tblr-table-striped-color: #f9fafb;--tblr-table-active-bg: #353e4b;--tblr-table-active-color: #f9fafb;--tblr-table-hover-bg: #2f3946;--tblr-table-hover-color: #f9fafb;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-size:.875rem;font-weight:var(--tblr-font-weight-medium)}.col-form-label{padding-top:calc(.5625rem + var(--tblr-border-width));padding-bottom:calc(.5625rem + var(--tblr-border-width));margin-bottom:0;font-size:inherit;font-weight:var(--tblr-font-weight-medium);line-height:1.25rem}.col-form-label-lg{padding-top:calc(.6875rem + var(--tblr-border-width));padding-bottom:calc(.6875rem + var(--tblr-border-width));font-size:1rem}.col-form-label-sm{padding-top:calc(.3125rem + var(--tblr-border-width));padding-bottom:calc(.3125rem + var(--tblr-border-width));font-size:.75rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--tblr-secondary-color)}.form-control{display:block;width:100%;padding:.5625rem 1rem;font-family:var(--tblr-body-font-family);font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--tblr-body-color);appearance:none;background-color:var(--tblr-bg-forms);background-clip:padding-box;border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-shadow-input);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--tblr-body-color);background-color:var(--tblr-bg-forms);border-color:#80c2be;outline:0;box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.25rem;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--tblr-tertiary);opacity:1}.form-control:disabled{background-color:var(--tblr-bg-surface-secondary);opacity:1}.form-control::file-selector-button{padding:.5625rem 1rem;margin:-.5625rem -1rem;margin-inline-end:1rem;color:var(--tblr-body-color);background-color:var(--tblr-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--tblr-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.5625rem 0;margin-bottom:0;line-height:1.25rem;color:var(--tblr-body-color);background-color:transparent;border:solid transparent;border-width:var(--tblr-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2));padding:.3125rem .5rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-control-sm::file-selector-button{padding:.3125rem .5rem;margin:-.3125rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2));padding:.6875rem 1.5rem;font-size:1rem;border-radius:var(--tblr-border-radius-lg)}.form-control-lg::file-selector-button{padding:.6875rem 1.5rem;margin:-.6875rem -1.5rem;margin-inline-end:1.5rem}textarea.form-control{min-height:calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));padding:.5625rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color.form-control-sm{height:calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2))}.form-select{--tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.5625rem 3rem .5625rem 1rem;font-family:var(--tblr-body-font-family);font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--tblr-body-color);appearance:none;background-color:var(--tblr-bg-forms);background-image:var(--tblr-form-select-bg-img),var(--tblr-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 12px;border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-shadow-input);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#80c2be;outline:0;box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:1rem;background-image:none}.form-select:disabled{background-color:var(--tblr-bg-surface-secondary)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--tblr-body-color)}.form-select-sm{padding-top:.3125rem;padding-bottom:.3125rem;padding-left:.5rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.form-select-lg{padding-top:.6875rem;padding-bottom:.6875rem;padding-left:1.5rem;font-size:1rem;border-radius:var(--tblr-border-radius-lg)}[data-bs-theme=dark] .form-select,body[data-bs-theme=dark] [data-bs-theme=light] .form-select{--tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e5e7eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.25rem;padding-left:2rem;margin-bottom:.75rem}.form-check .form-check-input{float:left;margin-left:-2rem}.form-check-reverse{padding-right:2rem;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-2rem;margin-left:0}.form-check-input{--tblr-form-check-bg: var(--tblr-bg-forms);flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.0892857143rem;vertical-align:top;appearance:none;background-color:var(--tblr-form-check-bg);background-image:var(--tblr-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--tblr-border-radius)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80c2be;outline:0;box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-check-input:checked{background-color:var(--tblr-primary);border-color:var(--tblr-border-color-translucent)}.form-check-input:checked[type=checkbox]{--tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:var(--tblr-primary);border-color:var(--tblr-primary);--tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.7}.form-switch{padding-left:2.5rem}.form-switch .form-check-input{--tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23e5e7eb'/%3e%3c/svg%3e");width:2rem;margin-left:-2.5rem;background-image:var(--tblr-form-switch-bg);background-position:left center;border-radius:2rem;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{--tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380c2be'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5rem;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5rem;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.4}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.25rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f9fafb,0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f9fafb,0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.375rem;appearance:none;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #ffffff;border-radius:1rem;box-shadow:0 .1rem .25rem #0000001a;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3dad8}.form-range::-webkit-slider-runnable-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:var(--tblr-box-shadow-inset)}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #ffffff;border-radius:1rem;box-shadow:0 .1rem .25rem #0000001a;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3dad8}.form-range::-moz-range-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem;box-shadow:var(--tblr-box-shadow-inset)}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--tblr-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--tblr-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--tblr-border-width) * 2));min-height:calc(3.5rem + calc(var(--tblr-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem;overflow:hidden;color:rgba(var(--tblr-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--tblr-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:1rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{position:absolute;inset:1rem .5rem;z-index:-1;height:1.5em;content:"";background-color:var(--tblr-bg-forms);border-radius:var(--tblr-border-radius)}.form-floating>textarea:disabled~label:after{background-color:var(--tblr-bg-surface-secondary)}.form-floating>.form-control-plaintext~label{border-width:var(--tblr-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#4b5563}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.5625rem 1rem;font-size:.875rem;font-weight:400;line-height:1.25rem;color:var(--tblr-gray-500);text-align:center;white-space:nowrap;background-color:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.6875rem 1.5rem;font-size:1rem;border-radius:var(--tblr-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.3125rem .5rem;font-size:.75rem;border-radius:var(--tblr-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--tblr-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--tblr-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-1) var(--tblr-spacer-3);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-success);border-radius:var(--tblr-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--tblr-form-valid-border-color);padding-right:2.375rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.53125rem center;background-size:1.8125rem 1.8125rem}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:2.375rem;background-position:top 1.53125rem right 1.53125rem}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--tblr-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");padding-right:5.5rem;background-position:right 1rem center,center right 3rem;background-size:16px 12px,1.8125rem 1.8125rem}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--tblr-form-valid-border-color);box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:5.375rem}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--tblr-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--tblr-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--tblr-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--tblr-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:var(--tblr-spacer-1) var(--tblr-spacer-3);margin-top:.1rem;font-size:.765625rem;color:#fff;background-color:var(--tblr-danger);border-radius:var(--tblr-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,select.tomselected.is-invalid+div.ts-wrapper~.invalid-feedback,.is-invalid~.invalid-tooltip,select.tomselected.is-invalid+div.ts-wrapper~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid,select.tomselected.is-invalid+div.form-control.ts-wrapper{border-color:var(--tblr-form-invalid-border-color);padding-right:2.375rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1.53125rem center;background-size:1.8125rem 1.8125rem}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus,select.tomselected.is-invalid+div.form-control.ts-wrapper:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:2.375rem;background-position:top 1.53125rem right 1.53125rem}.was-validated .form-select:invalid,.form-select.is-invalid,select.tomselected.is-invalid+div.form-select.ts-wrapper{border-color:var(--tblr-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),select.tomselected.is-invalid+div.form-select.ts-wrapper:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],select.tomselected.is-invalid+div.form-select.ts-wrapper:not([multiple])[size="1"]{--tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");padding-right:5.5rem;background-position:right 1rem center,center right 3rem;background-size:16px 12px,1.8125rem 1.8125rem}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus,select.tomselected.is-invalid+div.form-select.ts-wrapper:focus{border-color:var(--tblr-form-invalid-border-color);box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid,select.tomselected.is-invalid+div.form-control-color.ts-wrapper{width:5.375rem}.was-validated .form-check-input:invalid,.form-check-input.is-invalid,select.tomselected.is-invalid+div.form-check-input.ts-wrapper{border-color:var(--tblr-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked,select.tomselected.is-invalid+div.form-check-input.ts-wrapper:checked{background-color:var(--tblr-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus,select.tomselected.is-invalid+div.form-check-input.ts-wrapper:focus{box-shadow:0 0 0 .25rem rgba(var(--tblr-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label,select.tomselected.is-invalid+div.form-check-input.ts-wrapper~.form-check-label{color:var(--tblr-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.input-group>select.tomselected.is-invalid+div.form-control.ts-wrapper:not(:focus),.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.input-group>select.tomselected.is-invalid+div.form-select.ts-wrapper:not(:focus),.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>select.tomselected.is-invalid+div.form-floating.ts-wrapper:not(:focus-within){z-index:4}.btn{--tblr-btn-padding-x: .5rem;--tblr-btn-padding-y: .25rem;--tblr-btn-font-family: var(--tblr-body-font-family);--tblr-btn-font-size: .875rem;--tblr-btn-font-weight: var(--tblr-font-weight-medium);--tblr-btn-line-height: 1.25rem;--tblr-btn-color: var(--tblr-body-color);--tblr-btn-bg: transparent;--tblr-btn-border-width: var(--tblr-border-width);--tblr-btn-border-color: transparent;--tblr-btn-border-radius: var(--tblr-border-radius);--tblr-btn-hover-border-color: transparent;--tblr-btn-box-shadow: var(--tblr-shadow-input);--tblr-btn-disabled-opacity: .4;--tblr-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);font-family:var(--tblr-btn-font-family);font-size:var(--tblr-btn-font-size);font-weight:var(--tblr-btn-font-weight);line-height:var(--tblr-btn-line-height);color:var(--tblr-btn-color);text-align:center;vertical-align:middle;cursor:pointer;user-select:none;border:var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);border-radius:var(--tblr-btn-border-radius);background-color:var(--tblr-btn-bg);box-shadow:var(--tblr-btn-box-shadow);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--tblr-btn-hover-color);text-decoration:none;background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--tblr-btn-color);background-color:var(--tblr-btn-bg);border-color:var(--tblr-btn-border-color)}.btn:focus-visible{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-box-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--tblr-btn-active-color);background-color:var(--tblr-btn-active-bg);border-color:var(--tblr-btn-active-border-color);box-shadow:var(--tblr-btn-active-shadow)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--tblr-btn-active-shadow),var(--tblr-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--tblr-btn-active-shadow),var(--tblr-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--tblr-btn-disabled-color);pointer-events:none;background-color:var(--tblr-btn-disabled-bg);border-color:var(--tblr-btn-disabled-border-color);opacity:var(--tblr-btn-disabled-opacity);box-shadow:none}.btn-link{--tblr-btn-font-weight: 400;--tblr-btn-color: var(--tblr-link-color);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-link-hover-color);--tblr-btn-hover-border-color: transparent;--tblr-btn-active-color: var(--tblr-link-hover-color);--tblr-btn-active-border-color: transparent;--tblr-btn-disabled-color: #4b5563;--tblr-btn-disabled-border-color: transparent;--tblr-btn-box-shadow: 0 0 0 #000;--tblr-btn-focus-shadow-rgb: 37, 151, 144;text-decoration:none}.btn-link:hover,.btn-link:focus-visible{text-decoration:underline}.btn-link:focus-visible{color:var(--tblr-btn-color)}.btn-link:hover{color:var(--tblr-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--tblr-btn-padding-y: .6875rem;--tblr-btn-padding-x: 1.5rem;--tblr-btn-font-size: 1rem;--tblr-btn-border-radius: var(--tblr-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--tblr-btn-padding-y: .3125rem;--tblr-btn-padding-x: .5rem;--tblr-btn-font-size: .75rem;--tblr-btn-border-radius: var(--tblr-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.dropdown-menu{--tblr-dropdown-zindex: 1000;--tblr-dropdown-min-width: 11rem;--tblr-dropdown-padding-x: 0;--tblr-dropdown-padding-y: .25rem;--tblr-dropdown-spacer: 1px;--tblr-dropdown-font-size: .875rem;--tblr-dropdown-color: var(--tblr-body-color);--tblr-dropdown-bg: var(--tblr-bg-surface);--tblr-dropdown-border-color: var(--tblr-border-color-translucent);--tblr-dropdown-border-radius: var(--tblr-border-radius);--tblr-dropdown-border-width: var(--tblr-border-width);--tblr-dropdown-inner-border-radius: calc(var(--tblr-border-radius) - var(--tblr-border-width));--tblr-dropdown-divider-bg: var(--tblr-border-color-translucent);--tblr-dropdown-divider-margin-y: var(--tblr-spacer-2);--tblr-dropdown-box-shadow: var(--tblr-shadow-dropdown);--tblr-dropdown-link-color: inherit;--tblr-dropdown-link-hover-color: inherit;--tblr-dropdown-link-hover-bg: rgba(var(--tblr-secondary-rgb), .08);--tblr-dropdown-link-active-color: var(--tblr-primary);--tblr-dropdown-link-active-bg: var(--tblr-active-bg);--tblr-dropdown-link-disabled-color: var(--tblr-tertiary-color);--tblr-dropdown-item-padding-x: .75rem;--tblr-dropdown-item-padding-y: .5rem;--tblr-dropdown-header-color: #4b5563;--tblr-dropdown-header-padding-x: .75rem;--tblr-dropdown-header-padding-y: .25rem;position:absolute;z-index:var(--tblr-dropdown-zindex);display:none;min-width:var(--tblr-dropdown-min-width);padding:var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x);margin:0;font-size:var(--tblr-dropdown-font-size);color:var(--tblr-dropdown-color);text-align:left;list-style:none;background-color:var(--tblr-dropdown-bg);background-clip:padding-box;border:var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color);border-radius:var(--tblr-dropdown-border-radius);box-shadow:var(--tblr-dropdown-box-shadow)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--tblr-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--tblr-dropdown-spacer)}.dropup .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(135deg)}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--tblr-dropdown-spacer)}.dropend .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-135deg)}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--tblr-dropdown-spacer)}.dropstart .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(45deg)}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--tblr-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--tblr-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--tblr-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--tblr-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--tblr-dropdown-link-hover-color);text-decoration:none;background-color:var(--tblr-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--tblr-dropdown-link-active-color);text-decoration:none;background-color:var(--tblr-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--tblr-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x);margin-bottom:0;font-size:.765625rem;color:var(--tblr-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);color:var(--tblr-dropdown-link-color)}.dropdown-menu-dark{--tblr-dropdown-color: #d1d5db;--tblr-dropdown-bg: #1f2937;--tblr-dropdown-border-color: var(--tblr-border-color-translucent);--tblr-dropdown-box-shadow: ;--tblr-dropdown-link-color: #d1d5db;--tblr-dropdown-link-hover-color: #ffffff;--tblr-dropdown-divider-bg: var(--tblr-border-color-translucent);--tblr-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--tblr-dropdown-link-active-color: var(--tblr-primary);--tblr-dropdown-link-active-bg: var(--tblr-active-bg);--tblr-dropdown-link-disabled-color: #6b7280;--tblr-dropdown-header-color: #6b7280}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--tblr-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(-1 * var(--tblr-border-width))}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group.show .dropdown-toggle{box-shadow:inset 0 3px 5px #00000020}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(-1 * var(--tblr-border-width))}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--tblr-nav-link-padding-x: .75rem;--tblr-nav-link-padding-y: .5rem;--tblr-nav-link-font-weight: ;--tblr-nav-link-color: var(--tblr-gray-500);--tblr-nav-link-hover-color: var(--tblr-link-hover-color);--tblr-nav-link-disabled-color: var(--tblr-disabled-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x);font-size:var(--tblr-nav-link-font-size);font-weight:var(--tblr-nav-link-font-weight);color:var(--tblr-nav-link-color);background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.nav-link:hover,.nav-link:focus{color:var(--tblr-nav-link-hover-color);text-decoration:none}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.nav-link.disabled,.nav-link:disabled{color:var(--tblr-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--tblr-nav-tabs-border-width: var(--tblr-border-width);--tblr-nav-tabs-border-color: var(--tblr-border-color);--tblr-nav-tabs-border-radius: var(--tblr-border-radius);--tblr-nav-tabs-link-hover-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);--tblr-nav-tabs-link-active-color: var(--tblr-body-color);--tblr-nav-tabs-link-active-bg: var(--tblr-body-bg);--tblr-nav-tabs-link-active-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);border-bottom:var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--tblr-nav-tabs-border-width));border:var(--tblr-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--tblr-nav-tabs-border-radius);border-top-right-radius:var(--tblr-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--tblr-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--tblr-nav-tabs-link-active-color);background-color:var(--tblr-nav-tabs-link-active-bg);border-color:var(--tblr-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--tblr-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--tblr-nav-pills-border-radius: var(--tblr-border-radius);--tblr-nav-pills-link-active-color: var(--tblr-primary);--tblr-nav-pills-link-active-bg: rgba(var(--tblr-secondary-rgb), .15)}.nav-pills .nav-link{border-radius:var(--tblr-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--tblr-nav-pills-link-active-color);background-color:var(--tblr-nav-pills-link-active-bg)}.nav-underline{--tblr-nav-underline-gap: 1rem;--tblr-nav-underline-border-width: .125rem;--tblr-nav-underline-link-active-color: var(--tblr-emphasis-color);gap:var(--tblr-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--tblr-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:600;color:var(--tblr-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--tblr-navbar-padding-x: 0;--tblr-navbar-padding-y: .25rem;--tblr-navbar-color: var(--tblr-secondary);--tblr-navbar-hover-color: var(--tblr-body-color);--tblr-navbar-disabled-color: var(--tblr-disabled-color);--tblr-navbar-active-color: var(--tblr-body-color);--tblr-navbar-brand-padding-y: .5rem;--tblr-navbar-brand-margin-end: 1rem;--tblr-navbar-brand-font-size: 1.25rem;--tblr-navbar-brand-color: var(--tblr-body-color);--tblr-navbar-brand-hover-color: var(--tblr-body-color);--tblr-navbar-nav-link-padding-x: .75rem;--tblr-navbar-toggler-padding-y: 0;--tblr-navbar-toggler-padding-x: 0;--tblr-navbar-toggler-font-size: 1rem;--tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2831, 41, 55, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--tblr-navbar-toggler-border-color: rgba(var(--tblr-emphasis-color-rgb), .15);--tblr-navbar-toggler-border-radius: var(--tblr-border-radius);--tblr-navbar-toggler-focus-width: 0;--tblr-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--tblr-navbar-brand-padding-y);padding-bottom:var(--tblr-navbar-brand-padding-y);margin-right:var(--tblr-navbar-brand-margin-end);font-size:var(--tblr-navbar-brand-font-size);color:var(--tblr-navbar-brand-color);white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--tblr-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--tblr-nav-link-padding-x: 0;--tblr-nav-link-padding-y: .5rem;--tblr-nav-link-font-weight: ;--tblr-nav-link-color: var(--tblr-navbar-color);--tblr-nav-link-hover-color: var(--tblr-navbar-hover-color);--tblr-nav-link-disabled-color: var(--tblr-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--tblr-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--tblr-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x);font-size:var(--tblr-navbar-toggler-font-size);line-height:1;color:var(--tblr-navbar-color);background-color:transparent;border:var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color);border-radius:var(--tblr-navbar-toggler-border-radius);transition:var(--tblr-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--tblr-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--tblr-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--tblr-scroll-height, 75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;box-shadow:none;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark],body[data-bs-theme=dark] .navbar[data-bs-theme=light]{--tblr-navbar-color: rgba(255, 255, 255, .7);--tblr-navbar-hover-color: rgba(255, 255, 255, .75);--tblr-navbar-disabled-color: var(--tblr-disabled-color);--tblr-navbar-active-color: #ffffff;--tblr-navbar-brand-color: #ffffff;--tblr-navbar-brand-hover-color: #ffffff;--tblr-navbar-toggler-border-color: rgba(255, 255, 255, .1);--tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon,body[data-bs-theme=dark] [data-bs-theme=light] .navbar-toggler-icon{--tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--tblr-card-spacer-y: 1rem;--tblr-card-spacer-x: 1.25rem;--tblr-card-title-spacer-y: 1.25rem;--tblr-card-title-color: ;--tblr-card-subtitle-color: ;--tblr-card-border-width: var(--tblr-border-width);--tblr-card-border-color: var(--tblr-border-color-translucent);--tblr-card-border-radius: var(--tblr-border-radius-lg);--tblr-card-box-shadow: var(--tblr-shadow-card);--tblr-card-inner-border-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));--tblr-card-cap-padding-y: 1rem;--tblr-card-cap-padding-x: 1.25rem;--tblr-card-cap-bg: var(--tblr-bg-surface-tertiary);--tblr-card-cap-color: inherit;--tblr-card-height: ;--tblr-card-color: inherit;--tblr-card-bg: var(--tblr-bg-surface);--tblr-card-img-overlay-padding: 1rem;--tblr-card-group-margin: 1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--tblr-card-height);color:var(--tblr-body-color);word-wrap:break-word;background-color:var(--tblr-card-bg);background-clip:border-box;border:var(--tblr-card-border-width) solid var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius);box-shadow:var(--tblr-card-box-shadow)}.card>hr,.card>.hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--tblr-card-spacer-y) var(--tblr-card-spacer-x);color:var(--tblr-card-color)}.card-title{margin-bottom:var(--tblr-card-title-spacer-y);color:var(--tblr-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--tblr-card-title-spacer-y));margin-bottom:0;color:var(--tblr-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:var(--tblr-card-spacer-x)}.card-header{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);margin-bottom:0;color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-bottom:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-header:first-child{border-radius:var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0}.card-footer{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-top:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-bottom:calc(-1 * var(--tblr-card-cap-padding-y));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--tblr-card-bg);border-bottom-color:var(--tblr-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--tblr-card-img-overlay-padding);border-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--tblr-card-group-margin)}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-bottom-left-radius:0}}.pagination{--tblr-pagination-padding-x: .25rem;--tblr-pagination-padding-y: calc(.25rem + 1px) ;--tblr-pagination-font-size: .875rem;--tblr-pagination-color: var(--tblr-body-color);--tblr-pagination-bg: transparent;--tblr-pagination-border-width: 1px;--tblr-pagination-border-color: transparent;--tblr-pagination-border-radius: var(--tblr-border-radius);--tblr-pagination-hover-color: var(--tblr-link-hover-color);--tblr-pagination-hover-bg: var(--tblr-active-bg);--tblr-pagination-hover-border-color: var(--tblr-pagination-border-color);--tblr-pagination-focus-color: var(--tblr-link-hover-color);--tblr-pagination-focus-bg: var(--tblr-secondary-bg);--tblr-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25);--tblr-pagination-active-color: #ffffff;--tblr-pagination-active-bg: var(--tblr-primary);--tblr-pagination-active-border-color: var(--tblr-primary);--tblr-pagination-disabled-color: var(--tblr-disabled-color);--tblr-pagination-disabled-bg: transparent;--tblr-pagination-disabled-border-color: var(--tblr-pagination-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x);font-size:var(--tblr-pagination-font-size);color:var(--tblr-pagination-color);background-color:var(--tblr-pagination-bg);border:var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--tblr-pagination-hover-color);text-decoration:none;background-color:var(--tblr-pagination-hover-bg);border-color:var(--tblr-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--tblr-pagination-focus-color);background-color:var(--tblr-pagination-focus-bg);outline:0;box-shadow:var(--tblr-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--tblr-pagination-active-color);background-color:var(--tblr-pagination-active-bg);border-color:var(--tblr-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--tblr-pagination-disabled-color);pointer-events:none;background-color:var(--tblr-pagination-disabled-bg);border-color:var(--tblr-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--tblr-pagination-border-radius);border-bottom-left-radius:var(--tblr-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--tblr-pagination-border-radius);border-bottom-right-radius:var(--tblr-pagination-border-radius)}.pagination-lg{--tblr-pagination-padding-x: 1.5rem;--tblr-pagination-padding-y: .75rem;--tblr-pagination-font-size: 1.09375rem;--tblr-pagination-border-radius: var(--tblr-border-radius-lg)}.pagination-sm{--tblr-pagination-padding-x: .5rem;--tblr-pagination-padding-y: .25rem;--tblr-pagination-font-size: .765625rem;--tblr-pagination-border-radius: var(--tblr-border-radius-sm)}@keyframes progress-bar-stripes{0%{background-position-x:var(--tblr-progress-height)}}.progress,.progress-stacked{--tblr-progress-height: .5rem;--tblr-progress-font-size: .65625rem;--tblr-progress-bg: var(--tblr-border-color);--tblr-progress-border-radius: var(--tblr-border-radius);--tblr-progress-box-shadow: var(--tblr-box-shadow-inset);--tblr-progress-bar-color: #ffffff;--tblr-progress-bar-bg: var(--tblr-primary);--tblr-progress-bar-transition: width .6s ease;display:flex;height:var(--tblr-progress-height);overflow:hidden;font-size:var(--tblr-progress-font-size);background-color:var(--tblr-progress-bg);border-radius:var(--tblr-progress-border-radius);box-shadow:var(--tblr-progress-box-shadow)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--tblr-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--tblr-progress-bar-bg);transition:var(--tblr-progress-bar-transition)}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--tblr-progress-height) var(--tblr-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--tblr-list-group-color: var(--tblr-body-color);--tblr-list-group-bg: inherit;--tblr-list-group-border-color: var(--tblr-border-color);--tblr-list-group-border-width: var(--tblr-border-width);--tblr-list-group-border-radius: var(--tblr-border-radius);--tblr-list-group-item-padding-x: 1.25rem;--tblr-list-group-item-padding-y: 1rem;--tblr-list-group-action-color: inherit;--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: rgba(var(--tblr-secondary-rgb), .08);--tblr-list-group-action-active-color: var(--tblr-body-color);--tblr-list-group-action-active-bg: var(--tblr-secondary-bg);--tblr-list-group-disabled-color: var(--tblr-secondary-color);--tblr-list-group-disabled-bg: inherit;--tblr-list-group-active-color: inherit;--tblr-list-group-active-bg: var(--tblr-active-bg);--tblr-list-group-active-border-color: var(--tblr-border-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--tblr-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x);color:var(--tblr-list-group-color);background-color:var(--tblr-list-group-bg);border:var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--tblr-list-group-disabled-color);pointer-events:none;background-color:var(--tblr-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--tblr-list-group-active-color);background-color:var(--tblr-list-group-active-bg);border-color:var(--tblr-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--tblr-list-group-border-width));border-top-width:var(--tblr-list-group-border-width)}.list-group-item-action{width:100%;color:var(--tblr-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--tblr-list-group-action-hover-color);text-decoration:none;background-color:var(--tblr-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--tblr-list-group-action-active-color);background-color:var(--tblr-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}@media(min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media(min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media(min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media(min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media(min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--tblr-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--tblr-list-group-color: var(--tblr-primary-text-emphasis);--tblr-list-group-bg: var(--tblr-primary-bg-subtle);--tblr-list-group-border-color: var(--tblr-primary-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-primary-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-primary-border-subtle);--tblr-list-group-active-color: var(--tblr-primary-bg-subtle);--tblr-list-group-active-bg: var(--tblr-primary-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-primary-text-emphasis)}.list-group-item-secondary{--tblr-list-group-color: var(--tblr-secondary-text-emphasis);--tblr-list-group-bg: var(--tblr-secondary-bg-subtle);--tblr-list-group-border-color: var(--tblr-secondary-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-secondary-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-secondary-border-subtle);--tblr-list-group-active-color: var(--tblr-secondary-bg-subtle);--tblr-list-group-active-bg: var(--tblr-secondary-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-secondary-text-emphasis)}.list-group-item-success{--tblr-list-group-color: var(--tblr-success-text-emphasis);--tblr-list-group-bg: var(--tblr-success-bg-subtle);--tblr-list-group-border-color: var(--tblr-success-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-success-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-success-border-subtle);--tblr-list-group-active-color: var(--tblr-success-bg-subtle);--tblr-list-group-active-bg: var(--tblr-success-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-success-text-emphasis)}.list-group-item-info{--tblr-list-group-color: var(--tblr-info-text-emphasis);--tblr-list-group-bg: var(--tblr-info-bg-subtle);--tblr-list-group-border-color: var(--tblr-info-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-info-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-info-border-subtle);--tblr-list-group-active-color: var(--tblr-info-bg-subtle);--tblr-list-group-active-bg: var(--tblr-info-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-info-text-emphasis)}.list-group-item-warning{--tblr-list-group-color: var(--tblr-warning-text-emphasis);--tblr-list-group-bg: var(--tblr-warning-bg-subtle);--tblr-list-group-border-color: var(--tblr-warning-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-warning-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-warning-border-subtle);--tblr-list-group-active-color: var(--tblr-warning-bg-subtle);--tblr-list-group-active-bg: var(--tblr-warning-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-warning-text-emphasis)}.list-group-item-danger{--tblr-list-group-color: var(--tblr-danger-text-emphasis);--tblr-list-group-bg: var(--tblr-danger-bg-subtle);--tblr-list-group-border-color: var(--tblr-danger-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-danger-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-danger-border-subtle);--tblr-list-group-active-color: var(--tblr-danger-bg-subtle);--tblr-list-group-active-bg: var(--tblr-danger-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-danger-text-emphasis)}.list-group-item-light{--tblr-list-group-color: var(--tblr-light-text-emphasis);--tblr-list-group-bg: var(--tblr-light-bg-subtle);--tblr-list-group-border-color: var(--tblr-light-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-light-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-light-border-subtle);--tblr-list-group-active-color: var(--tblr-light-bg-subtle);--tblr-list-group-active-bg: var(--tblr-light-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-light-text-emphasis)}.list-group-item-dark{--tblr-list-group-color: var(--tblr-dark-text-emphasis);--tblr-list-group-bg: var(--tblr-dark-bg-subtle);--tblr-list-group-border-color: var(--tblr-dark-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-dark-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-dark-border-subtle);--tblr-list-group-active-color: var(--tblr-dark-bg-subtle);--tblr-list-group-active-bg: var(--tblr-dark-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-dark-text-emphasis)}.list-group-item-muted{--tblr-list-group-color: var(--tblr-muted-text-emphasis);--tblr-list-group-bg: var(--tblr-muted-bg-subtle);--tblr-list-group-border-color: var(--tblr-muted-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-muted-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-muted-border-subtle);--tblr-list-group-active-color: var(--tblr-muted-bg-subtle);--tblr-list-group-active-bg: var(--tblr-muted-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-muted-text-emphasis)}.list-group-item-blue{--tblr-list-group-color: var(--tblr-blue-text-emphasis);--tblr-list-group-bg: var(--tblr-blue-bg-subtle);--tblr-list-group-border-color: var(--tblr-blue-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-blue-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-blue-border-subtle);--tblr-list-group-active-color: var(--tblr-blue-bg-subtle);--tblr-list-group-active-bg: var(--tblr-blue-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-blue-text-emphasis)}.list-group-item-azure{--tblr-list-group-color: var(--tblr-azure-text-emphasis);--tblr-list-group-bg: var(--tblr-azure-bg-subtle);--tblr-list-group-border-color: var(--tblr-azure-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-azure-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-azure-border-subtle);--tblr-list-group-active-color: var(--tblr-azure-bg-subtle);--tblr-list-group-active-bg: var(--tblr-azure-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-azure-text-emphasis)}.list-group-item-indigo{--tblr-list-group-color: var(--tblr-indigo-text-emphasis);--tblr-list-group-bg: var(--tblr-indigo-bg-subtle);--tblr-list-group-border-color: var(--tblr-indigo-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-indigo-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-indigo-border-subtle);--tblr-list-group-active-color: var(--tblr-indigo-bg-subtle);--tblr-list-group-active-bg: var(--tblr-indigo-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-indigo-text-emphasis)}.list-group-item-purple{--tblr-list-group-color: var(--tblr-purple-text-emphasis);--tblr-list-group-bg: var(--tblr-purple-bg-subtle);--tblr-list-group-border-color: var(--tblr-purple-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-purple-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-purple-border-subtle);--tblr-list-group-active-color: var(--tblr-purple-bg-subtle);--tblr-list-group-active-bg: var(--tblr-purple-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-purple-text-emphasis)}.list-group-item-pink{--tblr-list-group-color: var(--tblr-pink-text-emphasis);--tblr-list-group-bg: var(--tblr-pink-bg-subtle);--tblr-list-group-border-color: var(--tblr-pink-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-pink-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-pink-border-subtle);--tblr-list-group-active-color: var(--tblr-pink-bg-subtle);--tblr-list-group-active-bg: var(--tblr-pink-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-pink-text-emphasis)}.list-group-item-red{--tblr-list-group-color: var(--tblr-red-text-emphasis);--tblr-list-group-bg: var(--tblr-red-bg-subtle);--tblr-list-group-border-color: var(--tblr-red-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-red-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-red-border-subtle);--tblr-list-group-active-color: var(--tblr-red-bg-subtle);--tblr-list-group-active-bg: var(--tblr-red-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-red-text-emphasis)}.list-group-item-orange{--tblr-list-group-color: var(--tblr-orange-text-emphasis);--tblr-list-group-bg: var(--tblr-orange-bg-subtle);--tblr-list-group-border-color: var(--tblr-orange-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-orange-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-orange-border-subtle);--tblr-list-group-active-color: var(--tblr-orange-bg-subtle);--tblr-list-group-active-bg: var(--tblr-orange-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-orange-text-emphasis)}.list-group-item-yellow{--tblr-list-group-color: var(--tblr-yellow-text-emphasis);--tblr-list-group-bg: var(--tblr-yellow-bg-subtle);--tblr-list-group-border-color: var(--tblr-yellow-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-yellow-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-yellow-border-subtle);--tblr-list-group-active-color: var(--tblr-yellow-bg-subtle);--tblr-list-group-active-bg: var(--tblr-yellow-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-yellow-text-emphasis)}.list-group-item-lime{--tblr-list-group-color: var(--tblr-lime-text-emphasis);--tblr-list-group-bg: var(--tblr-lime-bg-subtle);--tblr-list-group-border-color: var(--tblr-lime-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-lime-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-lime-border-subtle);--tblr-list-group-active-color: var(--tblr-lime-bg-subtle);--tblr-list-group-active-bg: var(--tblr-lime-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-lime-text-emphasis)}.list-group-item-green{--tblr-list-group-color: var(--tblr-green-text-emphasis);--tblr-list-group-bg: var(--tblr-green-bg-subtle);--tblr-list-group-border-color: var(--tblr-green-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-green-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-green-border-subtle);--tblr-list-group-active-color: var(--tblr-green-bg-subtle);--tblr-list-group-active-bg: var(--tblr-green-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-green-text-emphasis)}.list-group-item-teal{--tblr-list-group-color: var(--tblr-teal-text-emphasis);--tblr-list-group-bg: var(--tblr-teal-bg-subtle);--tblr-list-group-border-color: var(--tblr-teal-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-teal-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-teal-border-subtle);--tblr-list-group-active-color: var(--tblr-teal-bg-subtle);--tblr-list-group-active-bg: var(--tblr-teal-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-teal-text-emphasis)}.list-group-item-cyan{--tblr-list-group-color: var(--tblr-cyan-text-emphasis);--tblr-list-group-bg: var(--tblr-cyan-bg-subtle);--tblr-list-group-border-color: var(--tblr-cyan-border-subtle);--tblr-list-group-action-hover-color: var(--tblr-emphasis-color);--tblr-list-group-action-hover-bg: var(--tblr-cyan-border-subtle);--tblr-list-group-action-active-color: var(--tblr-emphasis-color);--tblr-list-group-action-active-bg: var(--tblr-cyan-border-subtle);--tblr-list-group-active-color: var(--tblr-cyan-bg-subtle);--tblr-list-group-active-bg: var(--tblr-cyan-text-emphasis);--tblr-list-group-active-border-color: var(--tblr-cyan-text-emphasis)}.toast{--tblr-toast-zindex: 1090;--tblr-toast-padding-x: .75rem;--tblr-toast-padding-y: .5rem;--tblr-toast-spacing: calc(var(--tblr-page-padding) * 2);--tblr-toast-max-width: 350px;--tblr-toast-font-size: .875rem;--tblr-toast-color: ;--tblr-toast-bg: var(--tblr-bg-surface);--tblr-toast-border-width: var(--tblr-border-width);--tblr-toast-border-color: var(--tblr-border-color);--tblr-toast-border-radius: var(--tblr-border-radius);--tblr-toast-box-shadow: var(--tblr-box-shadow);--tblr-toast-header-color: var(--tblr-gray-500);--tblr-toast-header-bg: rgba(var(--tblr-body-bg-rgb), .85);--tblr-toast-header-border-color: var(--tblr-border-color);width:var(--tblr-toast-max-width);max-width:100%;font-size:var(--tblr-toast-font-size);color:var(--tblr-toast-color);pointer-events:auto;background-color:var(--tblr-toast-bg);background-clip:padding-box;border:var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);box-shadow:var(--tblr-toast-box-shadow);border-radius:var(--tblr-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--tblr-toast-zindex: 1090;position:absolute;z-index:var(--tblr-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--tblr-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);color:var(--tblr-toast-header-color);background-color:var(--tblr-toast-header-bg);background-clip:padding-box;border-bottom:var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);border-top-left-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));border-top-right-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--tblr-toast-padding-x));margin-left:var(--tblr-toast-padding-x)}.toast-body{padding:var(--tblr-toast-padding-x);word-wrap:break-word}.modal{--tblr-modal-zindex: 1055;--tblr-modal-width: 540px;--tblr-modal-padding: 1.5rem;--tblr-modal-margin: .5rem;--tblr-modal-color: var(--tblr-body-color);--tblr-modal-bg: var(--tblr-bg-surface);--tblr-modal-border-color: transparent;--tblr-modal-border-width: var(--tblr-border-width);--tblr-modal-border-radius: var(--tblr-border-radius-lg);--tblr-modal-box-shadow: var(--tblr-box-shadow-sm);--tblr-modal-inner-border-radius: calc(var(--tblr-modal-border-radius) - 1px);--tblr-modal-header-padding-x: 1.5rem;--tblr-modal-header-padding-y: 1.5rem;--tblr-modal-header-padding: 1.5rem;--tblr-modal-header-border-color: var(--tblr-border-color);--tblr-modal-header-border-width: var(--tblr-border-width);--tblr-modal-title-line-height: 1.4285714286;--tblr-modal-footer-gap: .75rem;--tblr-modal-footer-bg: var(--tblr-bg-surface-tertiary);--tblr-modal-footer-border-color: var(--tblr-border-color);--tblr-modal-footer-border-width: var(--tblr-border-width);position:fixed;top:0;left:0;z-index:var(--tblr-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--tblr-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translateY(-1rem);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--tblr-modal-color);pointer-events:auto;background-color:var(--tblr-modal-bg);background-clip:padding-box;border:var(--tblr-modal-border-width) solid var(--tblr-modal-border-color);border-radius:var(--tblr-modal-border-radius);box-shadow:var(--tblr-modal-box-shadow);outline:0}.modal-backdrop{--tblr-backdrop-zindex: 1050;--tblr-backdrop-bg: var(--tblr-gray-800);--tblr-backdrop-opacity: .24;position:fixed;top:0;left:0;z-index:var(--tblr-backdrop-zindex);width:100vw;height:100vh;background-color:var(--tblr-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--tblr-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--tblr-modal-header-padding);border-bottom:var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color);border-top-left-radius:var(--tblr-modal-inner-border-radius);border-top-right-radius:var(--tblr-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--tblr-modal-header-padding-y) * .5) calc(var(--tblr-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-modal-header-padding-y));margin-right:calc(-.5 * var(--tblr-modal-header-padding-x));margin-bottom:calc(-.5 * var(--tblr-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--tblr-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--tblr-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * .5);background-color:var(--tblr-modal-footer-bg);border-top:var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color);border-bottom-right-radius:var(--tblr-modal-inner-border-radius);border-bottom-left-radius:var(--tblr-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--tblr-modal-footer-gap) * .5)}@media(min-width:576px){.modal{--tblr-modal-margin: 1.75rem;--tblr-modal-box-shadow: var(--tblr-box-shadow)}.modal-dialog{max-width:var(--tblr-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--tblr-modal-width: 380px}}@media(min-width:992px){.modal-lg,.modal-xl{--tblr-modal-width: 720px}}@media(min-width:1200px){.modal-xl{--tblr-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--tblr-tooltip-zindex: 1080;--tblr-tooltip-max-width: 200px;--tblr-tooltip-padding-x: var(--tblr-spacer-3);--tblr-tooltip-padding-y: var(--tblr-spacer-1);--tblr-tooltip-margin: ;--tblr-tooltip-font-size: .765625rem;--tblr-tooltip-color: var(--tblr-text-inverted);--tblr-tooltip-bg: var(--tblr-bg-surface-inverted);--tblr-tooltip-border-radius: var(--tblr-border-radius);--tblr-tooltip-opacity: .9;--tblr-tooltip-arrow-width: .8rem;--tblr-tooltip-arrow-height: .4rem;z-index:var(--tblr-tooltip-zindex);display:block;margin:var(--tblr-tooltip-margin);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--tblr-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--tblr-tooltip-arrow-width);height:var(--tblr-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-top-color:var(--tblr-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-right-color:var(--tblr-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--tblr-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-bottom-color:var(--tblr-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--tblr-tooltip-arrow-height));width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) 0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-left-color:var(--tblr-tooltip-bg)}.tooltip-inner{max-width:var(--tblr-tooltip-max-width);padding:var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x);color:var(--tblr-tooltip-color);text-align:center;background-color:var(--tblr-tooltip-bg);border-radius:var(--tblr-tooltip-border-radius)}.popover{--tblr-popover-zindex: 1070;--tblr-popover-max-width: 276px;--tblr-popover-font-size: .765625rem;--tblr-popover-bg: var(--tblr-bg-surface);--tblr-popover-border-width: var(--tblr-border-width);--tblr-popover-border-color: var(--tblr-border-color);--tblr-popover-border-radius: var(--tblr-border-radius-lg);--tblr-popover-inner-border-radius: calc(var(--tblr-border-radius-lg) - var(--tblr-border-width));--tblr-popover-box-shadow: var(--tblr-shadow-lg);--tblr-popover-header-padding-x: 1rem;--tblr-popover-header-padding-y: .5rem;--tblr-popover-header-font-size: .875rem;--tblr-popover-header-color: inherit;--tblr-popover-header-bg: transparent;--tblr-popover-body-padding-x: .5rem;--tblr-popover-body-padding-y: .5rem;--tblr-popover-body-color: inherit;--tblr-popover-arrow-width: 1rem;--tblr-popover-arrow-height: .5rem;--tblr-popover-arrow-border: var(--tblr-popover-border-color);z-index:var(--tblr-popover-zindex);display:block;max-width:var(--tblr-popover-max-width);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-popover-font-size);word-wrap:break-word;background-color:var(--tblr-popover-bg);background-clip:padding-box;border:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-radius:var(--tblr-popover-border-radius);box-shadow:var(--tblr-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--tblr-popover-arrow-width);height:var(--tblr-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--tblr-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--tblr-popover-border-width);border-top-color:var(--tblr-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--tblr-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--tblr-popover-border-width);border-right-color:var(--tblr-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--tblr-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--tblr-popover-border-width);border-bottom-color:var(--tblr-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--tblr-popover-arrow-width);margin-left:calc(-.5 * var(--tblr-popover-arrow-width));content:"";border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--tblr-popover-arrow-width) * .5) 0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--tblr-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--tblr-popover-border-width);border-left-color:var(--tblr-popover-bg)}.popover-header{padding:var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x);margin-bottom:0;font-size:var(--tblr-popover-header-font-size);color:var(--tblr-popover-header-color);background-color:var(--tblr-popover-header-bg);border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-top-left-radius:var(--tblr-popover-inner-border-radius);border-top-right-radius:var(--tblr-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x);color:var(--tblr-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;filter:var(--tblr-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion:reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--tblr-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--tblr-carousel-caption-color);text-align:center}.carousel-dark{--tblr-carousel-indicator-active-bg: #000000;--tblr-carousel-caption-color: #000000;--tblr-carousel-control-icon-filter: invert(1) grayscale(100)}:root,[data-bs-theme=light]{--tblr-carousel-indicator-active-bg: #ffffff;--tblr-carousel-caption-color: #ffffff;--tblr-carousel-control-icon-filter: }[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{--tblr-carousel-indicator-active-bg: #000000;--tblr-carousel-caption-color: #000000;--tblr-carousel-control-icon-filter: invert(1) grayscale(100)}.spinner-grow,.spinner-border{display:inline-block;flex-shrink:0;width:var(--tblr-spinner-width);height:var(--tblr-spinner-height);vertical-align:var(--tblr-spinner-vertical-align);border-radius:50%;animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--tblr-spinner-width: 1.5rem;--tblr-spinner-height: 1.5rem;--tblr-spinner-vertical-align: -.125em;--tblr-spinner-border-width: 2px;--tblr-spinner-animation-speed: .75s;--tblr-spinner-animation-name: spinner-border;border:var(--tblr-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--tblr-spinner-width: 1rem;--tblr-spinner-height: 1rem;--tblr-spinner-border-width: 1px}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--tblr-spinner-width: 1.5rem;--tblr-spinner-height: 1.5rem;--tblr-spinner-vertical-align: -.125em;--tblr-spinner-animation-speed: .75s;--tblr-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--tblr-spinner-width: 1rem;--tblr-spinner-height: 1rem}@media(prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--tblr-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--tblr-offcanvas-zindex: 1045;--tblr-offcanvas-width: 400px;--tblr-offcanvas-height: 30vh;--tblr-offcanvas-padding-x: 1.5rem;--tblr-offcanvas-padding-y: 1.5rem;--tblr-offcanvas-color: var(--tblr-body-color);--tblr-offcanvas-bg: var(--tblr-bg-surface);--tblr-offcanvas-border-width: var(--tblr-border-width);--tblr-offcanvas-border-color: var(--tblr-border-color);--tblr-offcanvas-box-shadow: var(--tblr-box-shadow-sm);--tblr-offcanvas-transition: transform .3s ease-in-out;--tblr-offcanvas-title-line-height: 1.4285714286}@media(max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:575.98px)and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media(max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width:576px){.offcanvas-sm{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:767.98px)and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media(max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width:768px){.offcanvas-md{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:991.98px)and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media(max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width:992px){.offcanvas-lg{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:1199.98px)and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media(max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width:1200px){.offcanvas-xl{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}}@media(max-width:1399.98px)and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media(max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width:1400px){.offcanvas-xxl{--tblr-offcanvas-height: auto;--tblr-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--tblr-offcanvas-box-shadow);transition:var(--tblr-offcanvas-transition)}@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:var(--tblr-gray-800)}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.24}.offcanvas-header{display:flex;align-items:center;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--tblr-offcanvas-padding-y) * .5) calc(var(--tblr-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-right:calc(-.5 * var(--tblr-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--tblr-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.2}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.1}}.placeholder-wave{mask-image:linear-gradient(130deg,#000 55%,#000000e6,#000 95%);mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{mask-position:-200% 0%}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--tblr-box-shadow)!important}.shadow-sm{box-shadow:var(--tblr-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--tblr-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--tblr-focus-ring-color: rgba(var(--tblr-primary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-secondary{--tblr-focus-ring-color: rgba(var(--tblr-secondary-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-success{--tblr-focus-ring-color: rgba(var(--tblr-success-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-info{--tblr-focus-ring-color: rgba(var(--tblr-info-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-warning{--tblr-focus-ring-color: rgba(var(--tblr-warning-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-danger{--tblr-focus-ring-color: rgba(var(--tblr-danger-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-light{--tblr-focus-ring-color: rgba(var(--tblr-light-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-dark{--tblr-focus-ring-color: rgba(var(--tblr-dark-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-muted{--tblr-focus-ring-color: rgba(var(--tblr-muted-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-blue{--tblr-focus-ring-color: rgba(var(--tblr-blue-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-azure{--tblr-focus-ring-color: rgba(var(--tblr-azure-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-indigo{--tblr-focus-ring-color: rgba(var(--tblr-indigo-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-purple{--tblr-focus-ring-color: rgba(var(--tblr-purple-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-pink{--tblr-focus-ring-color: rgba(var(--tblr-pink-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-red{--tblr-focus-ring-color: rgba(var(--tblr-red-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-orange{--tblr-focus-ring-color: rgba(var(--tblr-orange-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-yellow{--tblr-focus-ring-color: rgba(var(--tblr-yellow-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-lime{--tblr-focus-ring-color: rgba(var(--tblr-lime-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-green{--tblr-focus-ring-color: rgba(var(--tblr-green-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-teal{--tblr-focus-ring-color: rgba(var(--tblr-teal-rgb), var(--tblr-focus-ring-opacity))}.focus-ring-cyan{--tblr-focus-ring-color: rgba(var(--tblr-cyan-rgb), var(--tblr-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-wide{border:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-0{border:0!important}.border-top{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-top-wide{border-top:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-end-wide{border-right:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-bottom-wide{border-bottom:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-start-wide{border-left:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-start-0{border-left:0!important}.border-red{--tblr-border-opacity: 1;border-color:rgba(var(--tblr-red-rgb),var(--tblr-border-opacity))!important}.border-green{--tblr-border-opacity: 1;border-color:rgba(var(--tblr-green-rgb),var(--tblr-border-opacity))!important}.border-primary-subtle{border-color:var(--tblr-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--tblr-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--tblr-success-border-subtle)!important}.border-info-subtle{border-color:var(--tblr-info-border-subtle)!important}.border-warning-subtle{border-color:var(--tblr-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--tblr-danger-border-subtle)!important}.border-light-subtle{border-color:var(--tblr-light-border-subtle)!important}.border-dark-subtle{border-color:var(--tblr-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--tblr-border-opacity: .1}.border-opacity-25{--tblr-border-opacity: .25}.border-opacity-50{--tblr-border-opacity: .5}.border-opacity-75{--tblr-border-opacity: .75}.border-opacity-100{--tblr-border-opacity: 1}.w-25{width:25%!important}.w-33{width:33.33333%!important}.w-50{width:50%!important}.w-66{width:66.66666%!important}.w-75{width:75%!important}.w-100{width:100%!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-33{height:33.33333%!important}.h-50{height:50%!important}.h-66{height:66.66666%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:2rem!important}.m-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-6{margin-top:2.5rem!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:2rem!important}.me-6{margin-right:2.5rem!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:2rem!important}.mb-6{margin-bottom:2.5rem!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:2rem!important}.ms-6{margin-left:2.5rem!important}.ms-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-2rem!important}.m-n6{margin:-2.5rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-2rem!important}.mt-n6{margin-top:-2.5rem!important}.me-n1{margin-right:-.25rem!important}.me-n2{margin-right:-.5rem!important}.me-n3{margin-right:-1rem!important}.me-n4{margin-right:-1.5rem!important}.me-n5{margin-right:-2rem!important}.me-n6{margin-right:-2.5rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-2rem!important}.mb-n6{margin-bottom:-2.5rem!important}.ms-n1{margin-left:-.25rem!important}.ms-n2{margin-left:-.5rem!important}.ms-n3{margin-left:-1rem!important}.ms-n4{margin-left:-1.5rem!important}.ms-n5{margin-left:-2rem!important}.ms-n6{margin-left:-2.5rem!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:2rem!important}.p-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-6{padding-top:2.5rem!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:2rem!important}.pe-6{padding-right:2.5rem!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:2rem!important}.pb-6{padding-bottom:2.5rem!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:2rem!important}.ps-6{padding-left:2.5rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:2rem!important}.gap-6{gap:2.5rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:2rem!important}.row-gap-6{row-gap:2.5rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:2rem!important}.column-gap-6{column-gap:2.5rem!important}.font-monospace{font-family:var(--tblr-font-monospace)!important}.fs-1{font-size:1.5rem!important}.fs-2{font-size:1.25rem!important}.fs-3{font-size:1rem!important}.fs-4{font-size:.875rem!important}.fs-5{font-size:.75rem!important}.fs-6{font-size:.625rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold,.fw-bold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.1428571429!important}.lh-base{line-height:1.4285714286!important}.lh-lg{line-height:1.7142857143!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--tblr-text-opacity: 1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-secondary{--tblr-text-opacity: 1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-success{--tblr-text-opacity: 1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-info{--tblr-text-opacity: 1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-warning{--tblr-text-opacity: 1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-danger{--tblr-text-opacity: 1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-light{--tblr-text-opacity: 1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-dark{--tblr-text-opacity: 1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-muted{--tblr-text-opacity: 1;color:var(--tblr-secondary-color)!important}.text-blue{--tblr-text-opacity: 1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-azure{--tblr-text-opacity: 1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-indigo{--tblr-text-opacity: 1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-purple{--tblr-text-opacity: 1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-pink{--tblr-text-opacity: 1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-red{--tblr-text-opacity: 1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-orange{--tblr-text-opacity: 1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-yellow{--tblr-text-opacity: 1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-lime{--tblr-text-opacity: 1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-green{--tblr-text-opacity: 1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-teal{--tblr-text-opacity: 1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-cyan{--tblr-text-opacity: 1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-black{--tblr-text-opacity: 1;color:rgba(var(--tblr-black-rgb),var(--tblr-text-opacity))!important}.text-white{--tblr-text-opacity: 1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important}.text-body{--tblr-text-opacity: 1;color:rgba(var(--tblr-body-color-rgb),var(--tblr-text-opacity))!important}.text-black-50{--tblr-text-opacity: 1;color:#00000080!important}.text-white-50{--tblr-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--tblr-text-opacity: 1;color:var(--tblr-secondary-color)!important}.text-body-tertiary{--tblr-text-opacity: 1;color:var(--tblr-tertiary-color)!important}.text-body-emphasis{--tblr-text-opacity: 1;color:var(--tblr-emphasis-color)!important}.text-reset{--tblr-text-opacity: 1;color:inherit!important}.text-opacity-25{--tblr-text-opacity: .25}.text-opacity-50{--tblr-text-opacity: .5}.text-opacity-75{--tblr-text-opacity: .75}.text-opacity-100{--tblr-text-opacity: 1}.text-primary-emphasis{color:var(--tblr-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--tblr-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--tblr-success-text-emphasis)!important}.text-info-emphasis{color:var(--tblr-info-text-emphasis)!important}.text-warning-emphasis{color:var(--tblr-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--tblr-danger-text-emphasis)!important}.text-light-emphasis{color:var(--tblr-light-text-emphasis)!important}.text-dark-emphasis{color:var(--tblr-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--tblr-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--tblr-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--tblr-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--tblr-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--tblr-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-primary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-secondary{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-secondary-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-success{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-success-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-info{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-info-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-warning{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-warning-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-danger{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-danger-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-light{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-light-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-dark{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-dark-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-muted{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-muted-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-blue{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-blue-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-azure{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-azure-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-indigo{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-indigo-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-purple{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-purple-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-pink{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-pink-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-red{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-red-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-orange{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-orange-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-yellow{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-yellow-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-lime{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-lime-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-green{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-green-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-teal{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-teal-rgb),var(--tblr-link-underline-opacity))!important}.link-underline-cyan{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-cyan-rgb),var(--tblr-link-underline-opacity))!important}.link-underline{--tblr-link-underline-opacity: 1;text-decoration-color:rgba(var(--tblr-link-color-rgb),var(--tblr-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--tblr-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--tblr-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--tblr-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--tblr-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--tblr-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--tblr-link-underline-opacity: 1}.bg-primary{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-success{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-info{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-warning{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-danger{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-light{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-dark{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-muted{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-blue{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-azure{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-indigo{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-purple{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-pink{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-red{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-orange{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-yellow{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-lime{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-green{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-teal{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-cyan{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-black{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-black-rgb),var(--tblr-bg-opacity))!important}.bg-white{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-body{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-body-bg-rgb),var(--tblr-bg-opacity))!important}.bg-transparent{--tblr-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-secondary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-body-tertiary{--tblr-bg-opacity: 1;background-color:rgba(var(--tblr-tertiary-bg-rgb),var(--tblr-bg-opacity))!important}.bg-opacity-10{--tblr-bg-opacity: .1}.bg-opacity-25{--tblr-bg-opacity: .25}.bg-opacity-50{--tblr-bg-opacity: .5}.bg-opacity-75{--tblr-bg-opacity: .75}.bg-opacity-100{--tblr-bg-opacity: 1}.bg-primary-subtle{background-color:var(--tblr-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--tblr-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--tblr-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--tblr-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--tblr-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--tblr-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--tblr-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--tblr-dark-bg-subtle)!important}.bg-gradient{background-image:var(--tblr-gradient)!important}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--tblr-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--tblr-border-radius-sm)!important}.rounded-2{border-radius:var(--tblr-border-radius)!important}.rounded-3{border-radius:var(--tblr-border-radius-lg)!important}.rounded-4{border-radius:var(--tblr-border-radius-xl)!important}.rounded-5{border-radius:var(--tblr-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--tblr-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--tblr-border-radius-sm)!important;border-top-right-radius:var(--tblr-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--tblr-border-radius-lg)!important;border-top-right-radius:var(--tblr-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--tblr-border-radius-xl)!important;border-top-right-radius:var(--tblr-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--tblr-border-radius-xxl)!important;border-top-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--tblr-border-radius-pill)!important;border-top-right-radius:var(--tblr-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--tblr-border-radius-sm)!important;border-bottom-right-radius:var(--tblr-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--tblr-border-radius-lg)!important;border-bottom-right-radius:var(--tblr-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--tblr-border-radius-xl)!important;border-bottom-right-radius:var(--tblr-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--tblr-border-radius-xxl)!important;border-bottom-right-radius:var(--tblr-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--tblr-border-radius-pill)!important;border-bottom-right-radius:var(--tblr-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--tblr-border-radius-sm)!important;border-bottom-left-radius:var(--tblr-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--tblr-border-radius-lg)!important;border-bottom-left-radius:var(--tblr-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--tblr-border-radius-xl)!important;border-bottom-left-radius:var(--tblr-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--tblr-border-radius-xxl)!important;border-bottom-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--tblr-border-radius-pill)!important;border-bottom-left-radius:var(--tblr-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--tblr-border-radius-sm)!important;border-top-left-radius:var(--tblr-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--tblr-border-radius-lg)!important;border-top-left-radius:var(--tblr-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--tblr-border-radius-xl)!important;border-top-left-radius:var(--tblr-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--tblr-border-radius-xxl)!important;border-top-left-radius:var(--tblr-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--tblr-border-radius-pill)!important;border-top-left-radius:var(--tblr-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}.object-contain{object-fit:contain!important}.object-cover{object-fit:cover!important}.object-fill{object-fit:fill!important}.object-scale-down{object-fit:scale-down!important}.object-none{object-fit:none!important}.cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-zoom-in{cursor:zoom-in!important}.cursor-zoom-out{cursor:zoom-out!important}.cursor-default{cursor:default!important}.cursor-none{cursor:none!important}.cursor-help{cursor:help!important}.cursor-progress{cursor:progress!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-v-text{cursor:vertical-text!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-crosshair{cursor:crosshair!important}.border-x{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important;border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-x-wide{border-left:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important;border-right:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-x-0{border-left:0!important;border-right:0!important}.border-y{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important;border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-y-wide{border-top:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important;border-bottom:2px var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.border-y-0{border-top:0!important;border-bottom:0!important}.columns-2{columns:2!important}.columns-3{columns:3!important}.columns-4{columns:4!important}.bg-pattern-transparent{background:url('data:image/svg+xml;charset=UTF-8,') repeat center/16px 16px!important}.bg-gradient{background:linear-gradient(var(--tblr-gradient-direction, to right),var(--tblr-gradient-stops, var(--tblr-gradient-from, transparent), var(--tblr-gradient-to, transparent))) no-repeat!important}.bg-gradient-to-t{--tblr-gradient-direction: to top !important}.bg-gradient-to-te{--tblr-gradient-direction: to top right !important}.bg-gradient-to-e{--tblr-gradient-direction: to right !important}.bg-gradient-to-be{--tblr-gradient-direction: to bottom right !important}.bg-gradient-to-b{--tblr-gradient-direction: to bottom !important}.bg-gradient-to-bs{--tblr-gradient-direction: to bottom left !important}.bg-gradient-to-s{--tblr-gradient-direction: to left !important}.bg-gradient-to-ts{--tblr-gradient-direction: to top left !important}.table-auto{table-layout:auto!important}.table-fixed{table-layout:fixed!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:2rem!important}.m-sm-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-sm-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-sm-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-sm-6{margin-top:2.5rem!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:2rem!important}.me-sm-6{margin-right:2.5rem!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:2rem!important}.mb-sm-6{margin-bottom:2.5rem!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:2rem!important}.ms-sm-6{margin-left:2.5rem!important}.ms-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-2rem!important}.m-sm-n6{margin:-2.5rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-sm-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-sm-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-2rem!important}.mt-sm-n6{margin-top:-2.5rem!important}.me-sm-n1{margin-right:-.25rem!important}.me-sm-n2{margin-right:-.5rem!important}.me-sm-n3{margin-right:-1rem!important}.me-sm-n4{margin-right:-1.5rem!important}.me-sm-n5{margin-right:-2rem!important}.me-sm-n6{margin-right:-2.5rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-2rem!important}.mb-sm-n6{margin-bottom:-2.5rem!important}.ms-sm-n1{margin-left:-.25rem!important}.ms-sm-n2{margin-left:-.5rem!important}.ms-sm-n3{margin-left:-1rem!important}.ms-sm-n4{margin-left:-1.5rem!important}.ms-sm-n5{margin-left:-2rem!important}.ms-sm-n6{margin-left:-2.5rem!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:2rem!important}.p-sm-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-sm-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-sm-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-sm-6{padding-top:2.5rem!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:2rem!important}.pe-sm-6{padding-right:2.5rem!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:2rem!important}.pb-sm-6{padding-bottom:2.5rem!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:2rem!important}.ps-sm-6{padding-left:2.5rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:2rem!important}.gap-sm-6{gap:2.5rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:2rem!important}.row-gap-sm-6{row-gap:2.5rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:2rem!important}.column-gap-sm-6{column-gap:2.5rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}.columns-sm-2{columns:2!important}.columns-sm-3{columns:3!important}.columns-sm-4{columns:4!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:2rem!important}.m-md-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-md-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-md-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-md-6{margin-top:2.5rem!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:2rem!important}.me-md-6{margin-right:2.5rem!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:2rem!important}.mb-md-6{margin-bottom:2.5rem!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:2rem!important}.ms-md-6{margin-left:2.5rem!important}.ms-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-2rem!important}.m-md-n6{margin:-2.5rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-md-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-md-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-2rem!important}.mt-md-n6{margin-top:-2.5rem!important}.me-md-n1{margin-right:-.25rem!important}.me-md-n2{margin-right:-.5rem!important}.me-md-n3{margin-right:-1rem!important}.me-md-n4{margin-right:-1.5rem!important}.me-md-n5{margin-right:-2rem!important}.me-md-n6{margin-right:-2.5rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-2rem!important}.mb-md-n6{margin-bottom:-2.5rem!important}.ms-md-n1{margin-left:-.25rem!important}.ms-md-n2{margin-left:-.5rem!important}.ms-md-n3{margin-left:-1rem!important}.ms-md-n4{margin-left:-1.5rem!important}.ms-md-n5{margin-left:-2rem!important}.ms-md-n6{margin-left:-2.5rem!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:2rem!important}.p-md-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-md-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-md-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-md-6{padding-top:2.5rem!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:2rem!important}.pe-md-6{padding-right:2.5rem!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:2rem!important}.pb-md-6{padding-bottom:2.5rem!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:2rem!important}.ps-md-6{padding-left:2.5rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:2rem!important}.gap-md-6{gap:2.5rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:2rem!important}.row-gap-md-6{row-gap:2.5rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:2rem!important}.column-gap-md-6{column-gap:2.5rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}.columns-md-2{columns:2!important}.columns-md-3{columns:3!important}.columns-md-4{columns:4!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:2rem!important}.m-lg-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-lg-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-lg-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-lg-6{margin-top:2.5rem!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:2rem!important}.me-lg-6{margin-right:2.5rem!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:2rem!important}.mb-lg-6{margin-bottom:2.5rem!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:2rem!important}.ms-lg-6{margin-left:2.5rem!important}.ms-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-2rem!important}.m-lg-n6{margin:-2.5rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-lg-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-lg-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-2rem!important}.mt-lg-n6{margin-top:-2.5rem!important}.me-lg-n1{margin-right:-.25rem!important}.me-lg-n2{margin-right:-.5rem!important}.me-lg-n3{margin-right:-1rem!important}.me-lg-n4{margin-right:-1.5rem!important}.me-lg-n5{margin-right:-2rem!important}.me-lg-n6{margin-right:-2.5rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-2rem!important}.mb-lg-n6{margin-bottom:-2.5rem!important}.ms-lg-n1{margin-left:-.25rem!important}.ms-lg-n2{margin-left:-.5rem!important}.ms-lg-n3{margin-left:-1rem!important}.ms-lg-n4{margin-left:-1.5rem!important}.ms-lg-n5{margin-left:-2rem!important}.ms-lg-n6{margin-left:-2.5rem!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:2rem!important}.p-lg-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-lg-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-lg-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-lg-6{padding-top:2.5rem!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:2rem!important}.pe-lg-6{padding-right:2.5rem!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:2rem!important}.pb-lg-6{padding-bottom:2.5rem!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:2rem!important}.ps-lg-6{padding-left:2.5rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:2rem!important}.gap-lg-6{gap:2.5rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:2rem!important}.row-gap-lg-6{row-gap:2.5rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:2rem!important}.column-gap-lg-6{column-gap:2.5rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}.columns-lg-2{columns:2!important}.columns-lg-3{columns:3!important}.columns-lg-4{columns:4!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:2rem!important}.m-xl-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-xl-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-xl-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-xl-6{margin-top:2.5rem!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:2rem!important}.me-xl-6{margin-right:2.5rem!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:2rem!important}.mb-xl-6{margin-bottom:2.5rem!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:2rem!important}.ms-xl-6{margin-left:2.5rem!important}.ms-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-2rem!important}.m-xl-n6{margin:-2.5rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-xl-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-xl-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-2rem!important}.mt-xl-n6{margin-top:-2.5rem!important}.me-xl-n1{margin-right:-.25rem!important}.me-xl-n2{margin-right:-.5rem!important}.me-xl-n3{margin-right:-1rem!important}.me-xl-n4{margin-right:-1.5rem!important}.me-xl-n5{margin-right:-2rem!important}.me-xl-n6{margin-right:-2.5rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-2rem!important}.mb-xl-n6{margin-bottom:-2.5rem!important}.ms-xl-n1{margin-left:-.25rem!important}.ms-xl-n2{margin-left:-.5rem!important}.ms-xl-n3{margin-left:-1rem!important}.ms-xl-n4{margin-left:-1.5rem!important}.ms-xl-n5{margin-left:-2rem!important}.ms-xl-n6{margin-left:-2.5rem!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:2rem!important}.p-xl-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-xl-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-xl-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-xl-6{padding-top:2.5rem!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:2rem!important}.pe-xl-6{padding-right:2.5rem!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:2rem!important}.pb-xl-6{padding-bottom:2.5rem!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:2rem!important}.ps-xl-6{padding-left:2.5rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:2rem!important}.gap-xl-6{gap:2.5rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:2rem!important}.row-gap-xl-6{row-gap:2.5rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:2rem!important}.column-gap-xl-6{column-gap:2.5rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}.columns-xl-2{columns:2!important}.columns-xl-3{columns:3!important}.columns-xl-4{columns:4!important}}@media(min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:2rem!important}.m-xxl-6{margin:2.5rem!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:2rem!important;margin-left:2rem!important}.mx-xxl-6{margin-right:2.5rem!important;margin-left:2.5rem!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:2rem!important;margin-bottom:2rem!important}.my-xxl-6{margin-top:2.5rem!important;margin-bottom:2.5rem!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:2rem!important}.mt-xxl-6{margin-top:2.5rem!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:2rem!important}.me-xxl-6{margin-right:2.5rem!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:2rem!important}.mb-xxl-6{margin-bottom:2.5rem!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:2rem!important}.ms-xxl-6{margin-left:2.5rem!important}.ms-xxl-auto{margin-left:auto!important}.m-xxl-n1{margin:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.m-xxl-n3{margin:-1rem!important}.m-xxl-n4{margin:-1.5rem!important}.m-xxl-n5{margin:-2rem!important}.m-xxl-n6{margin:-2.5rem!important}.mx-xxl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xxl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xxl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xxl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xxl-n5{margin-right:-2rem!important;margin-left:-2rem!important}.mx-xxl-n6{margin-right:-2.5rem!important;margin-left:-2.5rem!important}.my-xxl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xxl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xxl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xxl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xxl-n5{margin-top:-2rem!important;margin-bottom:-2rem!important}.my-xxl-n6{margin-top:-2.5rem!important;margin-bottom:-2.5rem!important}.mt-xxl-n1{margin-top:-.25rem!important}.mt-xxl-n2{margin-top:-.5rem!important}.mt-xxl-n3{margin-top:-1rem!important}.mt-xxl-n4{margin-top:-1.5rem!important}.mt-xxl-n5{margin-top:-2rem!important}.mt-xxl-n6{margin-top:-2.5rem!important}.me-xxl-n1{margin-right:-.25rem!important}.me-xxl-n2{margin-right:-.5rem!important}.me-xxl-n3{margin-right:-1rem!important}.me-xxl-n4{margin-right:-1.5rem!important}.me-xxl-n5{margin-right:-2rem!important}.me-xxl-n6{margin-right:-2.5rem!important}.mb-xxl-n1{margin-bottom:-.25rem!important}.mb-xxl-n2{margin-bottom:-.5rem!important}.mb-xxl-n3{margin-bottom:-1rem!important}.mb-xxl-n4{margin-bottom:-1.5rem!important}.mb-xxl-n5{margin-bottom:-2rem!important}.mb-xxl-n6{margin-bottom:-2.5rem!important}.ms-xxl-n1{margin-left:-.25rem!important}.ms-xxl-n2{margin-left:-.5rem!important}.ms-xxl-n3{margin-left:-1rem!important}.ms-xxl-n4{margin-left:-1.5rem!important}.ms-xxl-n5{margin-left:-2rem!important}.ms-xxl-n6{margin-left:-2.5rem!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:2rem!important}.p-xxl-6{padding:2.5rem!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:2rem!important;padding-left:2rem!important}.px-xxl-6{padding-right:2.5rem!important;padding-left:2.5rem!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:2rem!important;padding-bottom:2rem!important}.py-xxl-6{padding-top:2.5rem!important;padding-bottom:2.5rem!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:2rem!important}.pt-xxl-6{padding-top:2.5rem!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:2rem!important}.pe-xxl-6{padding-right:2.5rem!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:2rem!important}.pb-xxl-6{padding-bottom:2.5rem!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:2rem!important}.ps-xxl-6{padding-left:2.5rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:2rem!important}.gap-xxl-6{gap:2.5rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:2rem!important}.row-gap-xxl-6{row-gap:2.5rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:2rem!important}.column-gap-xxl-6{column-gap:2.5rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}.columns-xxl-2{columns:2!important}.columns-xxl-3{columns:3!important}.columns-xxl-4{columns:4!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}:root,:host{--tblr-font-monospace: Roboto Mono;--tblr-font-sans-serif: Inter, system-ui, sans-serif;--tblr-font-serif: Georgia, Times New Roman, times, serif;--tblr-font-comic: Comic Sans MS, Comic Sans, Chalkboard SE, Comic Neue, sans-serif, cursive;--tblr-gray-50: #f9fafb;--tblr-gray-100: #f3f4f6;--tblr-gray-200: #e5e7eb;--tblr-gray-300: #d1d5db;--tblr-gray-400: #9ca3af;--tblr-gray-500: #6b7280;--tblr-gray-600: #4b5563;--tblr-gray-700: #374151;--tblr-gray-800: #1f2937;--tblr-gray-900: #111827;--tblr-gray-950: #030712;--tblr-white: #ffffff;--tblr-black: #000000;--tblr-brand: #00857D;--tblr-primary: #00857D;--tblr-primary-rgb: 0, 133, 125;--tblr-primary-fg: var(--tblr-light);--tblr-primary-darken: #007871;--tblr-primary-darken: color-mix(in oklab, var(--tblr-primary), transparent 20%);--tblr-primary-lt: #e6f3f2;--tblr-primary-lt: color-mix(in oklab, var(--tblr-primary) 10%, transparent);--tblr-primary-200: color-mix(in oklab, var(--tblr-primary) 20%, transparent);--tblr-primary-lt-rgb: 230, 243, 242;--tblr-secondary: #6b7280;--tblr-secondary-rgb: 107, 114, 128;--tblr-secondary-fg: var(--tblr-light);--tblr-secondary-darken: #606773;--tblr-secondary-darken: color-mix(in oklab, var(--tblr-secondary), transparent 20%);--tblr-secondary-lt: #f0f1f2;--tblr-secondary-lt: color-mix(in oklab, var(--tblr-secondary) 10%, transparent);--tblr-secondary-200: color-mix(in oklab, var(--tblr-secondary) 20%, transparent);--tblr-secondary-lt-rgb: 240, 241, 242;--tblr-success: #2fb344;--tblr-success-rgb: 47, 179, 68;--tblr-success-fg: var(--tblr-light);--tblr-success-darken: #2aa13d;--tblr-success-darken: color-mix(in oklab, var(--tblr-success), transparent 20%);--tblr-success-lt: #eaf7ec;--tblr-success-lt: color-mix(in oklab, var(--tblr-success) 10%, transparent);--tblr-success-200: color-mix(in oklab, var(--tblr-success) 20%, transparent);--tblr-success-lt-rgb: 234, 247, 236;--tblr-info: #4299e1;--tblr-info-rgb: 66, 153, 225;--tblr-info-fg: var(--tblr-light);--tblr-info-darken: #3b8acb;--tblr-info-darken: color-mix(in oklab, var(--tblr-info), transparent 20%);--tblr-info-lt: #ecf5fc;--tblr-info-lt: color-mix(in oklab, var(--tblr-info) 10%, transparent);--tblr-info-200: color-mix(in oklab, var(--tblr-info) 20%, transparent);--tblr-info-lt-rgb: 236, 245, 252;--tblr-warning: #f59f00;--tblr-warning-rgb: 245, 159, 0;--tblr-warning-fg: var(--tblr-light);--tblr-warning-darken: #dd8f00;--tblr-warning-darken: color-mix(in oklab, var(--tblr-warning), transparent 20%);--tblr-warning-lt: #fef5e6;--tblr-warning-lt: color-mix(in oklab, var(--tblr-warning) 10%, transparent);--tblr-warning-200: color-mix(in oklab, var(--tblr-warning) 20%, transparent);--tblr-warning-lt-rgb: 254, 245, 230;--tblr-danger: #d63939;--tblr-danger-rgb: 214, 57, 57;--tblr-danger-fg: var(--tblr-light);--tblr-danger-darken: #c13333;--tblr-danger-darken: color-mix(in oklab, var(--tblr-danger), transparent 20%);--tblr-danger-lt: #fbebeb;--tblr-danger-lt: color-mix(in oklab, var(--tblr-danger) 10%, transparent);--tblr-danger-200: color-mix(in oklab, var(--tblr-danger) 20%, transparent);--tblr-danger-lt-rgb: 251, 235, 235;--tblr-light: #f9fafb;--tblr-light-rgb: 249, 250, 251;--tblr-light-fg: var(--tblr-dark);--tblr-light-darken: #e0e1e2;--tblr-light-darken: color-mix(in oklab, var(--tblr-light), transparent 20%);--tblr-light-lt: #feffff;--tblr-light-lt: color-mix(in oklab, var(--tblr-light) 10%, transparent);--tblr-light-200: color-mix(in oklab, var(--tblr-light) 20%, transparent);--tblr-light-lt-rgb: 254, 255, 255;--tblr-dark: #1f2937;--tblr-dark-rgb: 31, 41, 55;--tblr-dark-fg: var(--tblr-light);--tblr-dark-darken: #1c2532;--tblr-dark-darken: color-mix(in oklab, var(--tblr-dark), transparent 20%);--tblr-dark-lt: #e9eaeb;--tblr-dark-lt: color-mix(in oklab, var(--tblr-dark) 10%, transparent);--tblr-dark-200: color-mix(in oklab, var(--tblr-dark) 20%, transparent);--tblr-dark-lt-rgb: 233, 234, 235;--tblr-muted: #6b7280;--tblr-muted-rgb: 107, 114, 128;--tblr-muted-fg: var(--tblr-light);--tblr-muted-darken: #606773;--tblr-muted-darken: color-mix(in oklab, var(--tblr-muted), transparent 20%);--tblr-muted-lt: #f0f1f2;--tblr-muted-lt: color-mix(in oklab, var(--tblr-muted) 10%, transparent);--tblr-muted-200: color-mix(in oklab, var(--tblr-muted) 20%, transparent);--tblr-muted-lt-rgb: 240, 241, 242;--tblr-blue: #066fd1;--tblr-blue-rgb: 6, 111, 209;--tblr-blue-fg: var(--tblr-light);--tblr-blue-darken: #0564bc;--tblr-blue-darken: color-mix(in oklab, var(--tblr-blue), transparent 20%);--tblr-blue-lt: #e6f1fa;--tblr-blue-lt: color-mix(in oklab, var(--tblr-blue) 10%, transparent);--tblr-blue-200: color-mix(in oklab, var(--tblr-blue) 20%, transparent);--tblr-blue-lt-rgb: 230, 241, 250;--tblr-azure: #4299e1;--tblr-azure-rgb: 66, 153, 225;--tblr-azure-fg: var(--tblr-light);--tblr-azure-darken: #3b8acb;--tblr-azure-darken: color-mix(in oklab, var(--tblr-azure), transparent 20%);--tblr-azure-lt: #ecf5fc;--tblr-azure-lt: color-mix(in oklab, var(--tblr-azure) 10%, transparent);--tblr-azure-200: color-mix(in oklab, var(--tblr-azure) 20%, transparent);--tblr-azure-lt-rgb: 236, 245, 252;--tblr-indigo: #4263eb;--tblr-indigo-rgb: 66, 99, 235;--tblr-indigo-fg: var(--tblr-light);--tblr-indigo-darken: #3b59d4;--tblr-indigo-darken: color-mix(in oklab, var(--tblr-indigo), transparent 20%);--tblr-indigo-lt: #eceffd;--tblr-indigo-lt: color-mix(in oklab, var(--tblr-indigo) 10%, transparent);--tblr-indigo-200: color-mix(in oklab, var(--tblr-indigo) 20%, transparent);--tblr-indigo-lt-rgb: 236, 239, 253;--tblr-purple: #ae3ec9;--tblr-purple-rgb: 174, 62, 201;--tblr-purple-fg: var(--tblr-light);--tblr-purple-darken: #9d38b5;--tblr-purple-darken: color-mix(in oklab, var(--tblr-purple), transparent 20%);--tblr-purple-lt: #f7ecfa;--tblr-purple-lt: color-mix(in oklab, var(--tblr-purple) 10%, transparent);--tblr-purple-200: color-mix(in oklab, var(--tblr-purple) 20%, transparent);--tblr-purple-lt-rgb: 247, 236, 250;--tblr-pink: #d6336c;--tblr-pink-rgb: 214, 51, 108;--tblr-pink-fg: var(--tblr-light);--tblr-pink-darken: #c12e61;--tblr-pink-darken: color-mix(in oklab, var(--tblr-pink), transparent 20%);--tblr-pink-lt: #fbebf0;--tblr-pink-lt: color-mix(in oklab, var(--tblr-pink) 10%, transparent);--tblr-pink-200: color-mix(in oklab, var(--tblr-pink) 20%, transparent);--tblr-pink-lt-rgb: 251, 235, 240;--tblr-red: #d63939;--tblr-red-rgb: 214, 57, 57;--tblr-red-fg: var(--tblr-light);--tblr-red-darken: #c13333;--tblr-red-darken: color-mix(in oklab, var(--tblr-red), transparent 20%);--tblr-red-lt: #fbebeb;--tblr-red-lt: color-mix(in oklab, var(--tblr-red) 10%, transparent);--tblr-red-200: color-mix(in oklab, var(--tblr-red) 20%, transparent);--tblr-red-lt-rgb: 251, 235, 235;--tblr-orange: #f76707;--tblr-orange-rgb: 247, 103, 7;--tblr-orange-fg: var(--tblr-light);--tblr-orange-darken: #de5d06;--tblr-orange-darken: color-mix(in oklab, var(--tblr-orange), transparent 20%);--tblr-orange-lt: #fef0e6;--tblr-orange-lt: color-mix(in oklab, var(--tblr-orange) 10%, transparent);--tblr-orange-200: color-mix(in oklab, var(--tblr-orange) 20%, transparent);--tblr-orange-lt-rgb: 254, 240, 230;--tblr-yellow: #f59f00;--tblr-yellow-rgb: 245, 159, 0;--tblr-yellow-fg: var(--tblr-light);--tblr-yellow-darken: #dd8f00;--tblr-yellow-darken: color-mix(in oklab, var(--tblr-yellow), transparent 20%);--tblr-yellow-lt: #fef5e6;--tblr-yellow-lt: color-mix(in oklab, var(--tblr-yellow) 10%, transparent);--tblr-yellow-200: color-mix(in oklab, var(--tblr-yellow) 20%, transparent);--tblr-yellow-lt-rgb: 254, 245, 230;--tblr-lime: #74b816;--tblr-lime-rgb: 116, 184, 22;--tblr-lime-fg: var(--tblr-light);--tblr-lime-darken: #68a614;--tblr-lime-darken: color-mix(in oklab, var(--tblr-lime), transparent 20%);--tblr-lime-lt: #f1f8e8;--tblr-lime-lt: color-mix(in oklab, var(--tblr-lime) 10%, transparent);--tblr-lime-200: color-mix(in oklab, var(--tblr-lime) 20%, transparent);--tblr-lime-lt-rgb: 241, 248, 232;--tblr-green: #2fb344;--tblr-green-rgb: 47, 179, 68;--tblr-green-fg: var(--tblr-light);--tblr-green-darken: #2aa13d;--tblr-green-darken: color-mix(in oklab, var(--tblr-green), transparent 20%);--tblr-green-lt: #eaf7ec;--tblr-green-lt: color-mix(in oklab, var(--tblr-green) 10%, transparent);--tblr-green-200: color-mix(in oklab, var(--tblr-green) 20%, transparent);--tblr-green-lt-rgb: 234, 247, 236;--tblr-teal: #0ca678;--tblr-teal-rgb: 12, 166, 120;--tblr-teal-fg: var(--tblr-light);--tblr-teal-darken: #0b956c;--tblr-teal-darken: color-mix(in oklab, var(--tblr-teal), transparent 20%);--tblr-teal-lt: #e7f6f2;--tblr-teal-lt: color-mix(in oklab, var(--tblr-teal) 10%, transparent);--tblr-teal-200: color-mix(in oklab, var(--tblr-teal) 20%, transparent);--tblr-teal-lt-rgb: 231, 246, 242;--tblr-cyan: #17a2b8;--tblr-cyan-rgb: 23, 162, 184;--tblr-cyan-fg: var(--tblr-light);--tblr-cyan-darken: #1592a6;--tblr-cyan-darken: color-mix(in oklab, var(--tblr-cyan), transparent 20%);--tblr-cyan-lt: #e8f6f8;--tblr-cyan-lt: color-mix(in oklab, var(--tblr-cyan) 10%, transparent);--tblr-cyan-200: color-mix(in oklab, var(--tblr-cyan) 20%, transparent);--tblr-cyan-lt-rgb: 232, 246, 248;--tblr-x: #000000;--tblr-x-rgb: 0, 0, 0;--tblr-x-fg: var(--tblr-light);--tblr-x-darken: black;--tblr-x-darken: color-mix(in oklab, var(--tblr-x), transparent 20%);--tblr-x-lt: #e6e6e6;--tblr-x-lt: color-mix(in oklab, var(--tblr-x) 10%, transparent);--tblr-x-200: color-mix(in oklab, var(--tblr-x) 20%, transparent);--tblr-x-lt-rgb: 230, 230, 230;--tblr-facebook: #1877f2;--tblr-facebook-rgb: 24, 119, 242;--tblr-facebook-fg: var(--tblr-light);--tblr-facebook-darken: #166bda;--tblr-facebook-darken: color-mix(in oklab, var(--tblr-facebook), transparent 20%);--tblr-facebook-lt: #e8f1fe;--tblr-facebook-lt: color-mix(in oklab, var(--tblr-facebook) 10%, transparent);--tblr-facebook-200: color-mix(in oklab, var(--tblr-facebook) 20%, transparent);--tblr-facebook-lt-rgb: 232, 241, 254;--tblr-twitter: #1da1f2;--tblr-twitter-rgb: 29, 161, 242;--tblr-twitter-fg: var(--tblr-light);--tblr-twitter-darken: #1a91da;--tblr-twitter-darken: color-mix(in oklab, var(--tblr-twitter), transparent 20%);--tblr-twitter-lt: #e8f6fe;--tblr-twitter-lt: color-mix(in oklab, var(--tblr-twitter) 10%, transparent);--tblr-twitter-200: color-mix(in oklab, var(--tblr-twitter) 20%, transparent);--tblr-twitter-lt-rgb: 232, 246, 254;--tblr-linkedin: #0a66c2;--tblr-linkedin-rgb: 10, 102, 194;--tblr-linkedin-fg: var(--tblr-light);--tblr-linkedin-darken: #095caf;--tblr-linkedin-darken: color-mix(in oklab, var(--tblr-linkedin), transparent 20%);--tblr-linkedin-lt: #e7f0f9;--tblr-linkedin-lt: color-mix(in oklab, var(--tblr-linkedin) 10%, transparent);--tblr-linkedin-200: color-mix(in oklab, var(--tblr-linkedin) 20%, transparent);--tblr-linkedin-lt-rgb: 231, 240, 249;--tblr-google: #dc4e41;--tblr-google-rgb: 220, 78, 65;--tblr-google-fg: var(--tblr-light);--tblr-google-darken: #c6463b;--tblr-google-darken: color-mix(in oklab, var(--tblr-google), transparent 20%);--tblr-google-lt: #fcedec;--tblr-google-lt: color-mix(in oklab, var(--tblr-google) 10%, transparent);--tblr-google-200: color-mix(in oklab, var(--tblr-google) 20%, transparent);--tblr-google-lt-rgb: 252, 237, 236;--tblr-youtube: #ff0000;--tblr-youtube-rgb: 255, 0, 0;--tblr-youtube-fg: var(--tblr-light);--tblr-youtube-darken: #e60000;--tblr-youtube-darken: color-mix(in oklab, var(--tblr-youtube), transparent 20%);--tblr-youtube-lt: #ffe6e6;--tblr-youtube-lt: color-mix(in oklab, var(--tblr-youtube) 10%, transparent);--tblr-youtube-200: color-mix(in oklab, var(--tblr-youtube) 20%, transparent);--tblr-youtube-lt-rgb: 255, 230, 230;--tblr-vimeo: #1ab7ea;--tblr-vimeo-rgb: 26, 183, 234;--tblr-vimeo-fg: var(--tblr-light);--tblr-vimeo-darken: #17a5d3;--tblr-vimeo-darken: color-mix(in oklab, var(--tblr-vimeo), transparent 20%);--tblr-vimeo-lt: #e8f8fd;--tblr-vimeo-lt: color-mix(in oklab, var(--tblr-vimeo) 10%, transparent);--tblr-vimeo-200: color-mix(in oklab, var(--tblr-vimeo) 20%, transparent);--tblr-vimeo-lt-rgb: 232, 248, 253;--tblr-dribbble: #ea4c89;--tblr-dribbble-rgb: 234, 76, 137;--tblr-dribbble-fg: var(--tblr-light);--tblr-dribbble-darken: #d3447b;--tblr-dribbble-darken: color-mix(in oklab, var(--tblr-dribbble), transparent 20%);--tblr-dribbble-lt: #fdedf3;--tblr-dribbble-lt: color-mix(in oklab, var(--tblr-dribbble) 10%, transparent);--tblr-dribbble-200: color-mix(in oklab, var(--tblr-dribbble) 20%, transparent);--tblr-dribbble-lt-rgb: 253, 237, 243;--tblr-github: #181717;--tblr-github-rgb: 24, 23, 23;--tblr-github-fg: var(--tblr-light);--tblr-github-darken: #161515;--tblr-github-darken: color-mix(in oklab, var(--tblr-github), transparent 20%);--tblr-github-lt: #e8e8e8;--tblr-github-lt: color-mix(in oklab, var(--tblr-github) 10%, transparent);--tblr-github-200: color-mix(in oklab, var(--tblr-github) 20%, transparent);--tblr-github-lt-rgb: 232, 232, 232;--tblr-instagram: #e4405f;--tblr-instagram-rgb: 228, 64, 95;--tblr-instagram-fg: var(--tblr-light);--tblr-instagram-darken: #cd3a56;--tblr-instagram-darken: color-mix(in oklab, var(--tblr-instagram), transparent 20%);--tblr-instagram-lt: #fcecef;--tblr-instagram-lt: color-mix(in oklab, var(--tblr-instagram) 10%, transparent);--tblr-instagram-200: color-mix(in oklab, var(--tblr-instagram) 20%, transparent);--tblr-instagram-lt-rgb: 252, 236, 239;--tblr-pinterest: #bd081c;--tblr-pinterest-rgb: 189, 8, 28;--tblr-pinterest-fg: var(--tblr-light);--tblr-pinterest-darken: #aa0719;--tblr-pinterest-darken: color-mix(in oklab, var(--tblr-pinterest), transparent 20%);--tblr-pinterest-lt: #f8e6e8;--tblr-pinterest-lt: color-mix(in oklab, var(--tblr-pinterest) 10%, transparent);--tblr-pinterest-200: color-mix(in oklab, var(--tblr-pinterest) 20%, transparent);--tblr-pinterest-lt-rgb: 248, 230, 232;--tblr-vk: #6383a8;--tblr-vk-rgb: 99, 131, 168;--tblr-vk-fg: var(--tblr-light);--tblr-vk-darken: #597697;--tblr-vk-darken: color-mix(in oklab, var(--tblr-vk), transparent 20%);--tblr-vk-lt: #eff3f6;--tblr-vk-lt: color-mix(in oklab, var(--tblr-vk) 10%, transparent);--tblr-vk-200: color-mix(in oklab, var(--tblr-vk) 20%, transparent);--tblr-vk-lt-rgb: 239, 243, 246;--tblr-rss: #ffa500;--tblr-rss-rgb: 255, 165, 0;--tblr-rss-fg: var(--tblr-light);--tblr-rss-darken: #e69500;--tblr-rss-darken: color-mix(in oklab, var(--tblr-rss), transparent 20%);--tblr-rss-lt: #fff6e6;--tblr-rss-lt: color-mix(in oklab, var(--tblr-rss) 10%, transparent);--tblr-rss-200: color-mix(in oklab, var(--tblr-rss) 20%, transparent);--tblr-rss-lt-rgb: 255, 246, 230;--tblr-flickr: #0063dc;--tblr-flickr-rgb: 0, 99, 220;--tblr-flickr-fg: var(--tblr-light);--tblr-flickr-darken: #0059c6;--tblr-flickr-darken: color-mix(in oklab, var(--tblr-flickr), transparent 20%);--tblr-flickr-lt: #e6effc;--tblr-flickr-lt: color-mix(in oklab, var(--tblr-flickr) 10%, transparent);--tblr-flickr-200: color-mix(in oklab, var(--tblr-flickr) 20%, transparent);--tblr-flickr-lt-rgb: 230, 239, 252;--tblr-bitbucket: #0052cc;--tblr-bitbucket-rgb: 0, 82, 204;--tblr-bitbucket-fg: var(--tblr-light);--tblr-bitbucket-darken: #004ab8;--tblr-bitbucket-darken: color-mix(in oklab, var(--tblr-bitbucket), transparent 20%);--tblr-bitbucket-lt: #e6eefa;--tblr-bitbucket-lt: color-mix(in oklab, var(--tblr-bitbucket) 10%, transparent);--tblr-bitbucket-200: color-mix(in oklab, var(--tblr-bitbucket) 20%, transparent);--tblr-bitbucket-lt-rgb: 230, 238, 250;--tblr-tabler: #066fd1;--tblr-tabler-rgb: 6, 111, 209;--tblr-tabler-fg: var(--tblr-light);--tblr-tabler-darken: #0564bc;--tblr-tabler-darken: color-mix(in oklab, var(--tblr-tabler), transparent 20%);--tblr-tabler-lt: #e6f1fa;--tblr-tabler-lt: color-mix(in oklab, var(--tblr-tabler) 10%, transparent);--tblr-tabler-200: color-mix(in oklab, var(--tblr-tabler) 20%, transparent);--tblr-tabler-lt-rgb: 230, 241, 250;--tblr-gray-50-fg: var(--tblr-body-color);--tblr-gray-100-fg: var(--tblr-body-color);--tblr-gray-200-fg: var(--tblr-body-color);--tblr-gray-300-fg: var(--tblr-body-color);--tblr-gray-400-fg: var(--tblr-white);--tblr-gray-500-fg: var(--tblr-white);--tblr-gray-600-fg: var(--tblr-white);--tblr-gray-700-fg: var(--tblr-white);--tblr-gray-800-fg: var(--tblr-white);--tblr-gray-900-fg: var(--tblr-white);--tblr-gray-950-fg: var(--tblr-white);--tblr-spacer-0: 0;--tblr-spacer-1: .25rem;--tblr-spacer-2: .5rem;--tblr-spacer-3: 1rem;--tblr-spacer-4: 1.5rem;--tblr-spacer-5: 2rem;--tblr-spacer-6: 2.5rem;--tblr-font-weight-light: 300;--tblr-font-weight-normal: 400;--tblr-font-weight-medium: 500;--tblr-font-weight-bold: 600;--tblr-font-weight-black: 700;--tblr-font-weight-headings: var(--tblr-font-weight-bold);--tblr-font-size-h1: 1.5rem;--tblr-font-size-h2: 1.25rem;--tblr-font-size-h3: 1rem;--tblr-font-size-h4: .875rem;--tblr-font-size-h5: .75rem;--tblr-font-size-h6: .625rem;--tblr-line-height-h1: 2rem;--tblr-line-height-h2: 1.75rem;--tblr-line-height-h3: 1.5rem;--tblr-line-height-h4: 1.25rem;--tblr-line-height-h5: 1rem;--tblr-line-height-h6: 1rem;--tblr-shadow: rgba(var(--tblr-body-color-rgb), .04) 0 2px 4px 0;--tblr-shadow-border: inset 0 0 0 1px var(--tblr-border-color-translucent);--tblr-shadow-transparent: 0 0 0 0 transparent;--tblr-shadow-input: 0 1px 1px rgba(var(--tblr-body-color-rgb), .06);--tblr-shadow-card: 0 0 4px rgba(var(--tblr-body-color-rgb), .04);--tblr-shadow-card-hover: rgba(var(--tblr-body-color-rgb), .16) 0 2px 16px 0;--tblr-shadow-dropdown: 0 16px 24px 2px rgba(0, 0, 0, .07), 0 6px 30px 5px rgba(0, 0, 0, .06), 0 8px 10px -5px rgba(0, 0, 0, .1);--tblr-border-radius-scale: 1;--tblr-border-radius-0: calc(0 * var(--tblr-border-radius-scale, 1));--tblr-border-radius-sm: calc(4px * var(--tblr-border-radius-scale, 1));--tblr-border-radius-md: calc(6px * var(--tblr-border-radius-scale, 1));--tblr-border-radius-lg: calc(8px * var(--tblr-border-radius-scale, 1));--tblr-border-radius-pill: calc(100rem * var(--tblr-border-radius-scale, 1));--tblr-border-radius: var(--tblr-border-radius-md);--tblr-backdrop-opacity: 24%;--tblr-backdrop-bg: var(--tblr-bg-surface-dark);--tblr-backdrop-bg-dark: color-mix(in srgb, var(--tblr-color-dark), transparent var(--tblr-backdrop-opacity));--tblr-backdrop-bg-light: color-mix(in srgb, var(--tblr-color-light), transparent var(--tblr-backdrop-opacity));--tblr-backdrop-blur: 4px;--tblr-backdrop-filter: blur(var(--tblr-backdrop-blur))}:root,:host{font-size:16px;height:100%}@media(min-width:992px){:root,:host{margin-left:calc(100vw - 100%);margin-right:0}}:root,:host,[data-bs-theme=light]{color-scheme:light;--tblr-spacer: var(--tblr-spacer-2);--tblr-bg-surface: var(--tblr-bg-surface-primary);--tblr-bg-surface-primary: var(--tblr-white);--tblr-bg-surface-secondary: var(--tblr-gray-50);--tblr-bg-surface-tertiary: var(--tblr-gray-50);--tblr-bg-surface-dark: var(--tblr-gray-900);--tblr-bg-surface-inverted: var(--tblr-gray-900);--tblr-bg-forms: var(--tblr-bg-surface);--tblr-text-inverted: var(--tblr-gray-100);--tblr-body-color: var(--tblr-gray-700);--tblr-body-bg: var(--tblr-bg-surface-secondary);--tblr-link-color: var(--tblr-primary);--tblr-link-hover-color: color-mix(in srgb, var(--tblr-primary), #000 20%);--tblr-secondary: var(--tblr-gray-500);--tblr-tertiary: var(--tblr-gray-400);--tblr-border-color: #e5e7eb;--tblr-border-color-translucent: rgba(4, 32, 69, .1);--tblr-border-dark-color: #9ca3af;--tblr-border-dark-color-translucent: rgba(4, 32, 69, .27);--tblr-border-active-color: #a9adb5;--tblr-icon-color: var(--tblr-gray-400);--tblr-active-bg: rgba(var(--tblr-primary-rgb), .04);--tblr-disabled-bg: var(--tblr-bg-surface-secondary);--tblr-disabled-color: color-mix(in srgb, var(--tblr-body-color) 40%, transparent);--tblr-code-color: light-dark(var(--tblr-gray-600), var(--tblr-gray-400));--tblr-code-bg: light-dark(var(--tblr-gray-100), var(--tblr-gray-900));--tblr-dark-mode-border-color: #2e3c51;--tblr-dark-mode-border-color-translucent: rgba(72, 110, 149, .14);--tblr-dark-mode-border-active-color: #35465e;--tblr-dark-mode-border-dark-color: #263344;--tblr-page-padding: var(--tblr-spacer-3);--tblr-page-padding-y: var(--tblr-spacer-4)}@media(max-width:991.98px){:root,:host,[data-bs-theme=light]{--tblr-page-padding: var(--tblr-spacer-2)}}@keyframes pulse{0%{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.25)}70%{transform:scale(1)}}@keyframes tada{0%{transform:scaleZ(1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}50%{transform:scaleZ(1)}}@keyframes rotate-360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes shake{0%{transform:scaleX(1)}20%{transform:scale3d(.9,.9,.9) rotate(-5deg)}50%,70%,90%{transform:scale3d(1.25,1.25,1.25) rotate(5deg)}60%,80%{transform:scale3d(1.25,1.25,1.25) rotate(-5deg)}to{transform:scaleX(1)}}body{letter-spacing:0;touch-action:manipulation;text-rendering:optimizeLegibility;font-feature-settings:"liga" 0,"cv03","cv04","cv11";position:relative;min-height:100%;height:100%;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media print{body{background:transparent}}*{scrollbar-color:color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent) transparent}*::-webkit-scrollbar{width:1rem;height:1rem;transition:background .3s}@media(prefers-reduced-motion:reduce){*::-webkit-scrollbar{transition:none}}*::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent)}*::-webkit-scrollbar-track{background:transparent}*:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%,transparent)}*::-webkit-scrollbar-corner{background:transparent}.layout-fluid .container,.layout-fluid [class^=container-],.layout-fluid [class*=" container-"]{max-width:100%}.layout-boxed{--tblr-theme-boxed-border-radius: 0;--tblr-theme-boxed-width: 1320px}@media(min-width:768px){.layout-boxed{background:#1f2937 linear-gradient(to right,rgba(255,255,255,.1),transparent) fixed;padding:1rem;--tblr-theme-boxed-border-radius: 6px}}.layout-boxed .page{margin:0 auto;max-width:var(--tblr-theme-boxed-width);border-radius:var(--tblr-theme-boxed-border-radius);color:var(--tblr-body-color)}@media(min-width:768px){.layout-boxed .page{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-body-bg)}}.layout-boxed .page>.navbar:first-child{border-top-left-radius:var(--tblr-theme-boxed-border-radius);border-top-right-radius:var(--tblr-theme-boxed-border-radius)}.navbar{--tblr-navbar-bg: var(--tblr-bg-surface);--tblr-navbar-border-width: var(--tblr-border-width);--tblr-navbar-active-border-color: #00857D;--tblr-navbar-active-bg: rgba(0, 0, 0, .2);--tblr-navbar-border-color: var(--tblr-border-color);--tblr-navbar-hover-color: var(--tblr-body-color);align-items:stretch;min-height:3.5rem;box-shadow:inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color);background:var(--tblr-navbar-bg);color:var(--tblr-navbar-color)}.navbar-collapse .navbar{flex-grow:1}.navbar.collapsing{min-height:0}.navbar .dropdown-menu{position:absolute;z-index:1030}.navbar .navbar-nav{min-height:3rem}.navbar .navbar-nav .nav-link{position:relative;min-width:2.5rem;min-height:2.5rem;justify-content:center;border-radius:var(--tblr-border-radius)}.navbar .navbar-nav .nav-link .badge{position:absolute;top:.375rem;right:.375rem;transform:translate(50%,-50%)}@media(max-width:575.98px){.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:576px){.navbar-expand-sm .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-sm .nav-item.active{position:relative}.navbar-expand-sm .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-sm .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-sm.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical.navbar-right,.navbar-expand-sm.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical~.navbar,.navbar-expand-sm.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-sm.navbar-vertical.navbar-right~.navbar,.navbar-expand-sm.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-sm.navbar-vertical.navbar-end~.navbar,.navbar-expand-sm.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}@media(max-width:767.98px){.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:768px){.navbar-expand-md .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-md .nav-item.active{position:relative}.navbar-expand-md .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-md .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-md.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical.navbar-right,.navbar-expand-md.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical~.navbar,.navbar-expand-md.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-md.navbar-vertical.navbar-right~.navbar,.navbar-expand-md.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-md.navbar-vertical.navbar-end~.navbar,.navbar-expand-md.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}@media(max-width:991.98px){.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:992px){.navbar-expand-lg .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-lg .nav-item.active{position:relative}.navbar-expand-lg .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-lg .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-lg.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical.navbar-right,.navbar-expand-lg.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical~.navbar,.navbar-expand-lg.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-lg.navbar-vertical.navbar-right~.navbar,.navbar-expand-lg.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-lg.navbar-vertical.navbar-end~.navbar,.navbar-expand-lg.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}@media(max-width:1199.98px){.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:1200px){.navbar-expand-xl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xl .nav-item.active{position:relative}.navbar-expand-xl .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-xl .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical.navbar-right,.navbar-expand-xl.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical~.navbar,.navbar-expand-xl.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-xl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xl.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-xl.navbar-vertical.navbar-end~.navbar,.navbar-expand-xl.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}@media(max-width:1399.98px){.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:1400px){.navbar-expand-xxl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xxl .nav-item.active{position:relative}.navbar-expand-xxl .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand-xxl .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xxl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical.navbar-right,.navbar-expand-xxl.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical~.navbar,.navbar-expand-xxl.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand-xxl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand-xxl.navbar-vertical.navbar-end~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}}.navbar-expand .navbar-collapse{flex-direction:column}.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-expand .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand .nav-item.active{position:relative}.navbar-expand .nav-item.active .nav-link{color:var(--tblr-navbar-active-color)}.navbar-expand .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical.navbar-right,.navbar-expand.navbar-vertical.navbar-end{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical~.navbar,.navbar-expand.navbar-vertical~.page-wrapper{margin-left:18rem}.navbar-expand.navbar-vertical.navbar-right~.navbar,.navbar-expand.navbar-vertical.navbar-right~.page-wrapper,.navbar-expand.navbar-vertical.navbar-end~.navbar,.navbar-expand.navbar-vertical.navbar-end~.page-wrapper{margin-left:0;margin-right:18rem}.navbar-brand{display:inline-flex;align-items:center;font-weight:var(--tblr-font-weight-bold);margin:0;line-height:1;gap:.5rem}.navbar-brand-image{height:2rem;width:auto}.navbar-toggler{border:0;width:2rem;height:2rem;position:relative;display:flex;align-items:center;justify-content:center}.navbar-toggler-icon{height:2px;width:1.25em;background:currentColor;border-radius:10px;transition:top .2s .2s,bottom .2s .2s,transform .2s,opacity 0s .2s;position:relative}@media(prefers-reduced-motion:reduce){.navbar-toggler-icon{transition:none}}.navbar-toggler-icon:before,.navbar-toggler-icon:after{content:"";display:block;height:inherit;width:inherit;border-radius:inherit;background:inherit;position:absolute;left:0;transition:inherit}@media(prefers-reduced-motion:reduce){.navbar-toggler-icon:before,.navbar-toggler-icon:after{transition:none}}.navbar-toggler-icon:before{top:-.45em}.navbar-toggler-icon:after{bottom:-.45em}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transform:rotate(45deg);transition:top .3s,bottom .3s,transform .3s .3s,opacity 0s .3s}@media(prefers-reduced-motion:reduce){.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transition:none}}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{top:0;transform:rotate(-90deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{bottom:0;opacity:0}.navbar-transparent{--tblr-navbar-border-color: transparent !important;background:transparent!important}.navbar-nav{--tblr-nav-link-hover-bg: color-mix(in srgb, var(--tblr-nav-link-color) 4%, transparent);margin:0;padding:0;align-items:stretch}.navbar-nav .nav-item{display:flex;flex-direction:column;justify-content:center}.navbar-side{margin:0;display:flex;flex-direction:row;align-items:center;justify-content:space-around}@media(min-width:576px){.navbar-vertical.navbar-expand-sm{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:576px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-sm{transition:none}}@media(min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right,.navbar-vertical.navbar-expand-sm.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-sm .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-sm .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-sm .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-sm>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-sm~.page{padding-left:18rem}.navbar-vertical.navbar-expand-sm~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-sm.navbar-right~.page,.navbar-vertical.navbar-expand-sm.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:768px){.navbar-vertical.navbar-expand-md{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:768px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-md{transition:none}}@media(min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right,.navbar-vertical.navbar-expand-md.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-md .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-md .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-md .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-md>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-md~.page{padding-left:18rem}.navbar-vertical.navbar-expand-md~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-md.navbar-right~.page,.navbar-vertical.navbar-expand-md.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:992px){.navbar-vertical.navbar-expand-lg{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:992px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-lg{transition:none}}@media(min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right,.navbar-vertical.navbar-expand-lg.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-lg .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-lg .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-lg>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-lg~.page{padding-left:18rem}.navbar-vertical.navbar-expand-lg~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-lg.navbar-right~.page,.navbar-vertical.navbar-expand-lg.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:1200px){.navbar-vertical.navbar-expand-xl{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:1200px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xl{transition:none}}@media(min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right,.navbar-vertical.navbar-expand-xl.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-xl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xl~.page{padding-left:18rem}.navbar-vertical.navbar-expand-xl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xl.navbar-right~.page,.navbar-vertical.navbar-expand-xl.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media(min-width:1400px){.navbar-vertical.navbar-expand-xxl{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}}@media(min-width:1400px)and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xxl{transition:none}}@media(min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right,.navbar-vertical.navbar-expand-xxl.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand-xxl .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand-xxl .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand-xxl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand-xxl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand-xxl~.page{padding-left:18rem}.navbar-vertical.navbar-expand-xxl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand-xxl.navbar-right~.page,.navbar-vertical.navbar-expand-xxl.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}.navbar-vertical.navbar-expand{width:18rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-y:scroll;padding:0}@media(prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand{transition:none}}.navbar-vertical.navbar-expand.navbar-right,.navbar-vertical.navbar-expand.navbar-end{left:auto;right:0}.navbar-vertical.navbar-expand .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand~.page{padding-left:18rem}.navbar-vertical.navbar-expand~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand.navbar-right~.page,.navbar-vertical.navbar-expand.navbar-end~.page{padding-left:0;padding-right:18rem}.navbar-vertical.navbar-expand .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);justify-content:flex-start}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:transparent;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);color:inherit}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.disabled{color:var(--tblr-disabled-color);pointer-events:none;background-color:transparent}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-overlap:after{content:"";height:9rem;position:absolute;top:100%;left:0;right:0;background:inherit;z-index:-1;box-shadow:inherit}.page{display:flex;flex-direction:column;position:relative;min-height:100%}.page-center{justify-content:center}.page-wrapper{flex:1;display:flex;flex-direction:column}@media print{.page-wrapper{margin:0!important}}.page-wrapper-full .page-body:first-child{margin:0;border-top:0}.page-body{margin-top:var(--tblr-page-padding-y);margin-bottom:var(--tblr-page-padding-y);display:flex;flex-direction:column;flex:1}.page-body-card{background:var(--tblr-bg-surface);border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);padding:var(--tblr-page-padding) 0;margin-bottom:0;flex:1}.page-body~.page-body-card{margin-top:0}.page-cover{background:no-repeat center/cover;min-height:9rem}@media(min-width:768px){.page-cover{min-height:12rem}}@media(min-width:992px){.page-cover{min-height:15rem}}.page-cover-overlay{position:relative}.page-cover-overlay:after{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,#0000,#0009)}.page-header{display:flex;flex-wrap:wrap;min-height:2.25rem;flex-direction:column;justify-content:center;max-width:100%}.page-wrapper .page-header{margin:var(--tblr-page-padding-y) 0 0}.page-header-border{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:var(--tblr-page-padding-y) 0;margin:0!important;background-color:var(--tblr-bg-surface)}.page-pretitle{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary)}.page-title{margin:0;font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2);font-weight:var(--tblr-font-weight-headings);color:inherit;display:flex;align-items:center}.page-title svg{width:1.5rem;height:1.5rem;margin-right:.25rem}.page-title-lg{font-size:1.5rem;line-height:2rem}.page-subtitle{margin-top:.25rem;color:var(--tblr-secondary)}.page-cover{--tblr-page-cover-blur: 20px;--tblr-page-cover-padding: 1rem;min-height:6rem;padding:var(--tblr-page-cover-padding) 0;position:relative;overflow:hidden}.page-cover-img{position:absolute;top:calc(-2 * var(--tblr-page-cover-blur, 0));left:calc(-2 * var(--tblr-page-cover-blur, 0));right:calc(-2 * var(--tblr-page-cover-blur, 0));bottom:calc(-2 * var(--tblr-page-cover-blur, 0));pointer-events:none;filter:blur(var(--tblr-page-cover-blur));object-fit:cover;background-size:cover;background-position:center;z-index:-1}.page-tabs{margin-top:.5rem;position:relative}.page-header-tabs .nav-bordered{border:0}.page-header-tabs+.page-body-card{margin-top:0}.footer{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background-color:var(--tblr-bg-surface);padding:2rem 0;color:var(--tblr-gray-500);margin-top:auto}.footer-transparent{background-color:transparent;border-top:0}:root:not(.theme-dark):not([data-bs-theme=dark]) .hide-theme-light{display:none!important}:root:not(.theme-dark):not([data-bs-theme=dark]) .img-dark{display:none!important}:root.theme-dark .hide-theme-dark,:root[data-bs-theme=dark] .hide-theme-dark,body[data-bs-theme=dark] [data-bs-theme=light]:root .hide-theme-dark{display:none!important}:root.theme-dark .img-light,:root[data-bs-theme=dark] .img-light,body[data-bs-theme=dark] [data-bs-theme=light]:root .img-light{display:none!important}[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{color-scheme:dark;--tblr-body-color: var(--tblr-gray-200);--tblr-secondary: var(--tblr-gray-400);--tblr-body-bg: var(--tblr-gray-900);--tblr-emphasis-color: #ffffff;--tblr-emphasis-color-rgb: 255, 255, 255;--tblr-bg-forms: var(--tblr-gray-900);--tblr-bg-surface: var(--tblr-gray-800);--tblr-bg-surface-inverted: var(--tblr-gray-100);--tblr-bg-surface-secondary: var(--tblr-gray-900);--tblr-bg-surface-tertiary: var(--tblr-gray-800);--tblr-text-inverted: var(--tblr-gray-800);--tblr-link-color: var(--tblr-primary);--tblr-link-hover-color: color-mix(in srgb, var(--tblr-primary), black 20%);--tblr-active-bg: #232e3e;--tblr-disabled-color: color-mix(in srgb, var(--tblr-body-color) 40%, transparent);--tblr-border-color: var(--tblr-gray-700);--tblr-border-color-translucent: var( --tblr-dark-mode-border-color-translucent );--tblr-border-dark-color: var(--tblr-dark-mode-border-dark-color);--tblr-border-active-color: var( --tblr-dark-mode-border-active-color );--tblr-btn-color: #1b2430}[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image{filter:brightness(0) invert(1)}.accordion{--tblr-accordion-color: var(--tblr-body-color);--tblr-accordion-border-color: var(--tblr-border-color);--tblr-accordion-border-radius: var(--tblr-border-radius);--tblr-accordion-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-accordion-padding-x: 1.25rem;--tblr-accordion-gap: 0;--tblr-accordion-active-color: inherit;--tblr-accordion-btn-color: var(--tblr-accordion-color);--tblr-accordion-btn-bg: transparent;--tblr-accordion-btn-toggle-width: 1.25rem;--tblr-accordion-btn-padding-x: var(--tblr-accordion-padding-x);--tblr-accordion-btn-padding-y: 1rem;--tblr-accordion-btn-font-weight: var(--tblr-font-weight-medium);--tblr-accordion-body-padding-x: var(--tblr-accordion-padding-x);--tblr-accordion-body-padding-y: 1rem;display:flex;flex-direction:column;gap:var(--tblr-accordion-gap)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-padding-x);color:inherit;text-align:inherit;background-color:transparent;border:0;font-size:inherit;font-weight:var(--tblr-accordion-btn-font-weight);gap:.75rem}.accordion-button:not(.collapsed){border-bottom-color:transparent;box-shadow:none;color:var(--tblr-accordion-active-color)}.accordion-header{margin:0;position:relative;display:flex;gap:1rem;align-items:center;width:100%;color:var(--tblr-accordion-btn-color);text-align:left;background-color:transparent;border:0;overflow-anchor:none;transition:transform .3s}.accordion-header:hover{z-index:2}.accordion-header:focus{z-index:3;outline:0;box-shadow:var(--tblr-accordion-btn-focus-box-shadow)}.accordion-header:focus:not(:focus-visible){outline:none;box-shadow:none}.accordion-button-icon{color:var(--tblr-secondary)}.accordion-button-toggle{display:flex;line-height:1;transition:.3s transform;margin-left:auto;margin-right:0;color:var(--tblr-secondary);width:var(--tblr-accordion-btn-toggle-width);height:var(--tblr-accordion-btn-toggle-width)}.accordion-button:not(.collapsed) .accordion-button-toggle{transform:rotate(-180deg);color:var(--tblr-accordion-active-color)}.accordion-button-toggle path{transition:.3s opacity}.accordion-button:not(.collapsed) .accordion-button-toggle-plus path:first-child{opacity:0}.accordion-item{color:var(--tblr-accordion-color);border:var(--tblr-border-width) solid var(--tblr-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--tblr-accordion-border-radius);border-top-right-radius:var(--tblr-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header{border-top-left-radius:var(--tblr-accordion-inner-border-radius);border-top-right-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header.collapsed{border-bottom-right-radius:var(--tblr-accordion-inner-border-radius);border-bottom-left-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-body{color:var(--tblr-secondary);padding:0 var(--tblr-accordion-body-padding-x) var(--tblr-accordion-body-padding-y)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-tabs{--tblr-accordion-gap: .75rem}.accordion-tabs>.accordion-item{border:var(--tblr-border-width) solid var(--tblr-accordion-border-color);border-radius:var(--tblr-accordion-border-radius)}.accordion-inverted .accordion-button-toggle{order:-1;margin-left:0}.alert{--tblr-alert-color: var(--tblr-body-color);--tblr-alert-bg: color-mix(in srgb, var(--tblr-alert-color) 10%, transparent);--tblr-alert-padding-x: 1rem;--tblr-alert-padding-y: .75rem;--tblr-alert-margin-bottom: 1rem;--tblr-alert-border-color: color-mix(in srgb, var(--tblr-alert-color) 20%, transparent);--tblr-alert-border: var(--tblr-border-width) solid var(--tblr-alert-border-color);--tblr-alert-border-radius: var(--tblr-border-radius);--tblr-alert-link-color: inherit;--tblr-alert-heading-font-weight: var(--tblr-font-weight-medium);position:relative;padding:var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);margin-bottom:var(--tblr-alert-margin-bottom);background-color:color-mix(in srgb,var(--tblr-alert-bg),var(--tblr-bg-surface));border-radius:var(--tblr-alert-border-radius);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-alert-border-color);display:flex;flex-direction:row;gap:1rem}.alert-heading{color:inherit;margin-bottom:.25rem;font-weight:var(--tblr-alert-heading-font-weight)}.alert-description{color:var(--tblr-secondary)}.alert-icon{color:var(--tblr-alert-color);width:1.25rem!important;height:1.25rem!important}.alert-action{color:var(--tblr-alert-color);text-decoration:underline}.alert-action:hover{text-decoration:none}.alert-list{margin:0}.alert-link{font-weight:var(--tblr-font-weight-bold);color:var(--tblr-alert-link-color)}.alert-link,.alert-link:hover{color:var(--tblr-alert-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:calc(var(--tblr-alert-padding-x) / 2 - 1px);right:calc(var(--tblr-alert-padding-y) / 2 - 1px);z-index:1;padding:calc(var(--tblr-alert-padding-y) * 1.25) var(--tblr-alert-padding-x)}.alert-important{border-color:var(--tblr-alert-color);background-color:var(--tblr-alert-color);color:var(--tblr-white)}.alert-important .alert-description,.alert-important .alert-icon{color:inherit}.alert-minor{background:transparent;border-color:var(--tblr-border-color)}.alert-primary{--tblr-alert-color: var(--tblr-primary)}.alert-secondary{--tblr-alert-color: var(--tblr-secondary)}.alert-success{--tblr-alert-color: var(--tblr-success)}.alert-info{--tblr-alert-color: var(--tblr-info)}.alert-warning{--tblr-alert-color: var(--tblr-warning)}.alert-danger{--tblr-alert-color: var(--tblr-danger)}.alert-light{--tblr-alert-color: var(--tblr-light)}.alert-dark{--tblr-alert-color: var(--tblr-dark)}.alert-muted{--tblr-alert-color: var(--tblr-muted)}.alert-blue{--tblr-alert-color: var(--tblr-blue)}.alert-azure{--tblr-alert-color: var(--tblr-azure)}.alert-indigo{--tblr-alert-color: var(--tblr-indigo)}.alert-purple{--tblr-alert-color: var(--tblr-purple)}.alert-pink{--tblr-alert-color: var(--tblr-pink)}.alert-red{--tblr-alert-color: var(--tblr-red)}.alert-orange{--tblr-alert-color: var(--tblr-orange)}.alert-yellow{--tblr-alert-color: var(--tblr-yellow)}.alert-lime{--tblr-alert-color: var(--tblr-lime)}.alert-green{--tblr-alert-color: var(--tblr-green)}.alert-teal{--tblr-alert-color: var(--tblr-teal)}.alert-cyan{--tblr-alert-color: var(--tblr-cyan)}.avatar{--tblr-avatar-size: var(--tblr-avatar-list-size, 2.5rem);--tblr-avatar-status-size: .75rem;--tblr-avatar-bg: var(--tblr-bg-surface-secondary);--tblr-avatar-box-shadow-color: var(--tblr-border-color-translucent);--tblr-avatar-box-shadow: inset 0 0 0 1px var(--tblr-avatar-box-shadow-color);--tblr-avatar-font-size: 1rem;--tblr-avatar-icon-size: 1.5rem;--tblr-avatar-brand-size: 1.25rem;position:relative;width:var(--tblr-avatar-size);height:var(--tblr-avatar-size);font-size:var(--tblr-avatar-font-size);font-weight:var(--tblr-font-weight-medium);line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--tblr-secondary);text-align:center;text-transform:uppercase;vertical-align:bottom;user-select:none;background:var(--tblr-avatar-bg) no-repeat center/cover;border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-avatar-box-shadow);transition:color .3s,background-color .3s,box-shadow .3s}.avatar .icon{width:var(--tblr-avatar-icon-size);height:var(--tblr-avatar-icon-size)}.avatar .badge{position:absolute;right:0;bottom:0;border-radius:100rem;box-shadow:0 0 0 calc(var(--tblr-avatar-status-size) / 4) var(--tblr-bg-surface)}a.avatar{cursor:pointer}a.avatar:hover{color:var(--tblr-primary);--tblr-avatar-box-shadow-color: var(--tblr-primary)}.avatar-rounded{border-radius:100rem}.avatar-xxs{--tblr-avatar-size: 1rem;--tblr-avatar-status-size: .25rem;--tblr-avatar-font-size: .5rem;--tblr-avatar-icon-size: .5rem;--tblr-avatar-brand-size: .5rem}.avatar-xxs .badge:empty{width:.25rem;height:.25rem}.avatar-xs{--tblr-avatar-size: 1.25rem;--tblr-avatar-status-size: .375rem;--tblr-avatar-font-size: .625rem;--tblr-avatar-icon-size: .75rem;--tblr-avatar-brand-size: .75rem}.avatar-xs .badge:empty{width:.375rem;height:.375rem}.avatar-sm{--tblr-avatar-size: 2rem;--tblr-avatar-status-size: .5rem;--tblr-avatar-font-size: .75rem;--tblr-avatar-icon-size: 1.5rem;--tblr-avatar-brand-size: 1rem}.avatar-sm .badge:empty{width:.5rem;height:.5rem}.avatar-md{--tblr-avatar-size: 2.5rem;--tblr-avatar-status-size: .75rem;--tblr-avatar-font-size: .875rem;--tblr-avatar-icon-size: 1.5rem;--tblr-avatar-brand-size: 1.25rem}.avatar-md .badge:empty{width:.75rem;height:.75rem}.avatar-lg{--tblr-avatar-size: 3rem;--tblr-avatar-status-size: .75rem;--tblr-avatar-font-size: 1.25rem;--tblr-avatar-icon-size: 2rem;--tblr-avatar-brand-size: 1.25rem}.avatar-lg .badge:empty{width:.75rem;height:.75rem}.avatar-xl{--tblr-avatar-size: 5rem;--tblr-avatar-status-size: 1rem;--tblr-avatar-font-size: 2rem;--tblr-avatar-icon-size: 3rem;--tblr-avatar-brand-size: 1.25rem}.avatar-xl .badge:empty{width:1rem;height:1rem}.avatar-2xl{--tblr-avatar-size: 7rem;--tblr-avatar-status-size: 1rem;--tblr-avatar-font-size: 3rem;--tblr-avatar-icon-size: 5rem;--tblr-avatar-brand-size: 2rem}.avatar-2xl .badge:empty{width:1rem;height:1rem}.avatar-list{--tblr-avatar-list-size: 2.5rem;--tblr-list-gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.avatar-list a.avatar:hover{z-index:1}.avatar-list-stacked{display:block;--tblr-list-gap: 0}.avatar-list-stacked .avatar{margin-right:calc(-.5 * var(--tblr-avatar-size))!important;box-shadow:var(--tblr-avatar-box-shadow),0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface))}.avatar-list-xxs{--tblr-avatar-list-size: 1rem}.avatar-list-xs{--tblr-avatar-list-size: 1.25rem}.avatar-list-sm{--tblr-avatar-list-size: 2rem}.avatar-list-md{--tblr-avatar-list-size: 2.5rem}.avatar-list-lg{--tblr-avatar-list-size: 3rem}.avatar-list-xl{--tblr-avatar-list-size: 5rem}.avatar-list-2xl{--tblr-avatar-list-size: 7rem}.avatar-upload{border:var(--tblr-border-width) dashed var(--tblr-border-color);background:var(--tblr-bg-forms);box-shadow:none;flex-direction:column;transition:color .3s,background-color .3s}@media(prefers-reduced-motion:reduce){.avatar-upload{transition:none}}.avatar-upload svg{width:1.5rem;height:1.5rem;stroke-width:1}.avatar-upload:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);text-decoration:none}.avatar-upload-text{font-size:.625rem;line-height:1;margin-top:.25rem}.avatar-cover{margin-top:calc(-.5 * var(--tblr-avatar-size));box-shadow:0 0 0 .25rem var(--tblr-card-bg, var(--tblr-body-bg))}.avatar-brand{width:var(--tblr-avatar-brand-size);height:var(--tblr-avatar-brand-size);position:absolute;right:-2px;bottom:-2px;z-index:1000;background:var(--tblr-bg-surface);border-radius:var(--tblr-border-radius);border:1px solid var(--tblr-border-color)}.badge{--tblr-badge-padding-x: .5em;--tblr-badge-padding-y: .25em;--tblr-badge-font-size: .85714285em;--tblr-badge-font-weight: var(--tblr-font-weight-medium);--tblr-badge-color: var(--tblr-secondary);--tblr-badge-border-radius: var(--tblr-border-radius);--tblr-badge-icon-size: 1em;--tblr-badge-line-height: 1;display:inline-flex;padding:var(--tblr-badge-padding-y) var(--tblr-badge-padding-x);font-weight:var(--tblr-badge-font-weight);font-size:var(--tblr-badge-font-size);color:var(--tblr-badge-color);text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:.25rem;background:var(--tblr-bg-surface-secondary);overflow:hidden;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:var(--tblr-badge-border-radius);min-width:calc(1em + var(--tblr-badge-padding-y) * 2 + 2px);letter-spacing:.04em;vertical-align:bottom;line-height:var(--tblr-badge-line-height)}a.badge{background:var(--tblr-bg-surface-secondary)}.badge .icon{width:1em;height:1em;font-size:var(--tblr-badge-icon-size);stroke-width:2}.badge:empty,.badge-dot{display:inline-block;width:10px;height:10px;min-width:0;min-height:auto;padding:0;border-radius:100rem;vertical-align:baseline}.badge-outline{background-color:transparent;border:var(--tblr-border-width) var(--tblr-border-style) currentColor}.badge-pill{border-radius:100rem}.badges-list{--tblr-list-gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.badge-notification{position:absolute!important;top:0!important;right:0!important;transform:translate(50%,-50%);z-index:1}.badge-blink{animation:blink 2s infinite}.badge-sm{--tblr-badge-font-size: .71428571em;--tblr-badge-icon-size: 1em;--tblr-badge-padding-y: 2px;--tblr-badge-padding-x: .25rem}.badge-lg{--tblr-badge-font-size: 1em;--tblr-badge-icon-size: 1em;--tblr-badge-padding-y: .25rem;--tblr-badge-padding-x: .5rem}.badge-icononly{--tblr-badge-padding-x: 0}.breadcrumb{--tblr-breadcrumb-padding-x: 0;--tblr-breadcrumb-padding-y: 0;--tblr-breadcrumb-margin-bottom: 1rem;--tblr-breadcrumb-font-size: ;--tblr-breadcrumb-bg: ;--tblr-breadcrumb-border-radius: ;--tblr-breadcrumb-divider-color: var(--tblr-gray-500);--tblr-breadcrumb-item-padding-x: .5rem;--tblr-breadcrumb-item-active-color: inherit;--tblr-breadcrumb-item-active-font-weight: var(--tblr-font-weight-bold);--tblr-breadcrumb-item-disabled-color: var(--tblr-disabled-color);--tblr-breadcrumb-link-color: var(--tblr-link-color);display:flex;flex-wrap:wrap;font-size:var(--tblr-breadcrumb-font-size);list-style:none;background-color:var(--tblr-breadcrumb-bg);border-radius:var(--tblr-breadcrumb-border-radius);padding:0;margin:0;background:transparent}.breadcrumb a{color:var(--tblr-breadcrumb-link-color)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-muted{--tblr-breadcrumb-link-color: var(--tblr-secondary)}.breadcrumb-item.active{color:var(--tblr-breadcrumb-item-active-color);font-weight:var(--tblr-breadcrumb-item-active-font-weight)}.breadcrumb-item.active a{color:inherit;pointer-events:none}.breadcrumb-item.disabled{color:var(--tblr-breadcrumb-item-disabled-color)}.breadcrumb-item.disabled:before{color:inherit}.breadcrumb-item.disabled a{color:inherit;pointer-events:none}.breadcrumb-item+.breadcrumb-item{padding-left:var(--tblr-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--tblr-breadcrumb-item-padding-x);color:var(--tblr-breadcrumb-divider-color);content:var(--tblr-breadcrumb-divider, "/")}.breadcrumb-dots{--tblr-breadcrumb-divider: "\b7"}.breadcrumb-arrows{--tblr-breadcrumb-divider: "\203a"}.breadcrumb-bullets{--tblr-breadcrumb-divider: "\2022"}.btn{--tblr-btn-icon-size: 1.25rem;--tblr-btn-icon-color: inherit;--tblr-btn-bg: var(--tblr-bg-surface);--tblr-btn-color: var(--tblr-body-color);--tblr-btn-border-color: var(--tblr-border-color);--tblr-btn-hover-bg: var(--tblr-btn-bg);--tblr-btn-hover-border-color: var(--tblr-border-active-color);--tblr-btn-active-color: var(--tblr-primary);--tblr-btn-active-bg: rgba(var(--tblr-primary-rgb), .04);--tblr-btn-active-border-color: var(--tblr-primary);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:var(--tblr-btn-box-shadow);position:relative;min-width:calc(var(--tblr-btn-line-height) * 1 + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);min-height:calc(var(--tblr-btn-line-height) * 1 + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2)}.btn .icon{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);min-width:var(--tblr-btn-icon-size);font-size:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4);vertical-align:bottom;color:var(--tblr-btn-icon-color)}.btn .avatar{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4)}.btn .icon-right,.btn .icon-end{margin:0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2)}.btn .badge{top:auto}.btn-check+.btn:hover{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-link{color:#009f95;background-color:transparent;border-color:transparent;box-shadow:none}.btn-link .icon{color:inherit}.btn-link:hover{color:#006a64;border-color:transparent}.btn-primary{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-primary-fg, #ffffff);--tblr-btn-bg: var(--tblr-primary);--tblr-btn-hover-color: var(--tblr-primary-fg);--tblr-btn-hover-bg: var(--tblr-primary-darken);--tblr-btn-active-color: var(--tblr-primary-fg);--tblr-btn-active-bg: var(--tblr-primary-darken);--tblr-btn-disabled-bg: var(--tblr-primary);--tblr-btn-disabled-color: var(--tblr-primary-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-primary,.btn-outline.btn-primary{--tblr-btn-color: var(--tblr-primary);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-primary);--tblr-btn-hover-color: var(--tblr-primary-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-primary);--tblr-btn-active-color: var(--tblr-primary-fg);--tblr-btn-active-bg: var(--tblr-primary);--tblr-btn-active-border-color: var(--tblr-primary);--tblr-btn-disabled-color: var(--tblr-primary);--tblr-btn-disabled-border-color: var(--tblr-primary)}.btn-ghost-primary,.btn-ghost.btn-primary{--tblr-btn-color: var(--tblr-primary);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-primary-fg);--tblr-btn-hover-bg: var(--tblr-primary);--tblr-btn-hover-border-color: var(--tblr-primary);--tblr-btn-active-color: var(--tblr-primary-fg);--tblr-btn-active-bg: var(--tblr-primary);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-primary);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-secondary,.btn-grey,.btn-gray{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-secondary-fg, #ffffff);--tblr-btn-bg: var(--tblr-secondary);--tblr-btn-hover-color: var(--tblr-secondary-fg);--tblr-btn-hover-bg: var(--tblr-secondary-darken);--tblr-btn-active-color: var(--tblr-secondary-fg);--tblr-btn-active-bg: var(--tblr-secondary-darken);--tblr-btn-disabled-bg: var(--tblr-secondary);--tblr-btn-disabled-color: var(--tblr-secondary-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-secondary,.btn-outline.btn-secondary,.btn-outline.btn-grey,.btn-outline.btn-gray{--tblr-btn-color: var(--tblr-secondary);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-secondary);--tblr-btn-hover-color: var(--tblr-secondary-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-secondary);--tblr-btn-active-color: var(--tblr-secondary-fg);--tblr-btn-active-bg: var(--tblr-secondary);--tblr-btn-active-border-color: var(--tblr-secondary);--tblr-btn-disabled-color: var(--tblr-secondary);--tblr-btn-disabled-border-color: var(--tblr-secondary)}.btn-ghost-secondary,.btn-ghost.btn-secondary,.btn-ghost.btn-grey,.btn-ghost.btn-gray{--tblr-btn-color: var(--tblr-secondary);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-secondary-fg);--tblr-btn-hover-bg: var(--tblr-secondary);--tblr-btn-hover-border-color: var(--tblr-secondary);--tblr-btn-active-color: var(--tblr-secondary-fg);--tblr-btn-active-bg: var(--tblr-secondary);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-secondary);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-success{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-success-fg, #ffffff);--tblr-btn-bg: var(--tblr-success);--tblr-btn-hover-color: var(--tblr-success-fg);--tblr-btn-hover-bg: var(--tblr-success-darken);--tblr-btn-active-color: var(--tblr-success-fg);--tblr-btn-active-bg: var(--tblr-success-darken);--tblr-btn-disabled-bg: var(--tblr-success);--tblr-btn-disabled-color: var(--tblr-success-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-success,.btn-outline.btn-success{--tblr-btn-color: var(--tblr-success);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-success);--tblr-btn-hover-color: var(--tblr-success-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-success);--tblr-btn-active-color: var(--tblr-success-fg);--tblr-btn-active-bg: var(--tblr-success);--tblr-btn-active-border-color: var(--tblr-success);--tblr-btn-disabled-color: var(--tblr-success);--tblr-btn-disabled-border-color: var(--tblr-success)}.btn-ghost-success,.btn-ghost.btn-success{--tblr-btn-color: var(--tblr-success);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-success-fg);--tblr-btn-hover-bg: var(--tblr-success);--tblr-btn-hover-border-color: var(--tblr-success);--tblr-btn-active-color: var(--tblr-success-fg);--tblr-btn-active-bg: var(--tblr-success);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-success);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-info{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-info-fg, #ffffff);--tblr-btn-bg: var(--tblr-info);--tblr-btn-hover-color: var(--tblr-info-fg);--tblr-btn-hover-bg: var(--tblr-info-darken);--tblr-btn-active-color: var(--tblr-info-fg);--tblr-btn-active-bg: var(--tblr-info-darken);--tblr-btn-disabled-bg: var(--tblr-info);--tblr-btn-disabled-color: var(--tblr-info-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-info,.btn-outline.btn-info{--tblr-btn-color: var(--tblr-info);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-info);--tblr-btn-hover-color: var(--tblr-info-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-info);--tblr-btn-active-color: var(--tblr-info-fg);--tblr-btn-active-bg: var(--tblr-info);--tblr-btn-active-border-color: var(--tblr-info);--tblr-btn-disabled-color: var(--tblr-info);--tblr-btn-disabled-border-color: var(--tblr-info)}.btn-ghost-info,.btn-ghost.btn-info{--tblr-btn-color: var(--tblr-info);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-info-fg);--tblr-btn-hover-bg: var(--tblr-info);--tblr-btn-hover-border-color: var(--tblr-info);--tblr-btn-active-color: var(--tblr-info-fg);--tblr-btn-active-bg: var(--tblr-info);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-info);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-warning{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-warning-fg, #ffffff);--tblr-btn-bg: var(--tblr-warning);--tblr-btn-hover-color: var(--tblr-warning-fg);--tblr-btn-hover-bg: var(--tblr-warning-darken);--tblr-btn-active-color: var(--tblr-warning-fg);--tblr-btn-active-bg: var(--tblr-warning-darken);--tblr-btn-disabled-bg: var(--tblr-warning);--tblr-btn-disabled-color: var(--tblr-warning-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-warning,.btn-outline.btn-warning{--tblr-btn-color: var(--tblr-warning);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-warning);--tblr-btn-hover-color: var(--tblr-warning-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-warning);--tblr-btn-active-color: var(--tblr-warning-fg);--tblr-btn-active-bg: var(--tblr-warning);--tblr-btn-active-border-color: var(--tblr-warning);--tblr-btn-disabled-color: var(--tblr-warning);--tblr-btn-disabled-border-color: var(--tblr-warning)}.btn-ghost-warning,.btn-ghost.btn-warning{--tblr-btn-color: var(--tblr-warning);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-warning-fg);--tblr-btn-hover-bg: var(--tblr-warning);--tblr-btn-hover-border-color: var(--tblr-warning);--tblr-btn-active-color: var(--tblr-warning-fg);--tblr-btn-active-bg: var(--tblr-warning);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-warning);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-danger{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-danger-fg, #ffffff);--tblr-btn-bg: var(--tblr-danger);--tblr-btn-hover-color: var(--tblr-danger-fg);--tblr-btn-hover-bg: var(--tblr-danger-darken);--tblr-btn-active-color: var(--tblr-danger-fg);--tblr-btn-active-bg: var(--tblr-danger-darken);--tblr-btn-disabled-bg: var(--tblr-danger);--tblr-btn-disabled-color: var(--tblr-danger-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-danger,.btn-outline.btn-danger{--tblr-btn-color: var(--tblr-danger);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-danger);--tblr-btn-hover-color: var(--tblr-danger-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-danger);--tblr-btn-active-color: var(--tblr-danger-fg);--tblr-btn-active-bg: var(--tblr-danger);--tblr-btn-active-border-color: var(--tblr-danger);--tblr-btn-disabled-color: var(--tblr-danger);--tblr-btn-disabled-border-color: var(--tblr-danger)}.btn-ghost-danger,.btn-ghost.btn-danger{--tblr-btn-color: var(--tblr-danger);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-danger-fg);--tblr-btn-hover-bg: var(--tblr-danger);--tblr-btn-hover-border-color: var(--tblr-danger);--tblr-btn-active-color: var(--tblr-danger-fg);--tblr-btn-active-bg: var(--tblr-danger);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-danger);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-light,.btn-white{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-light-fg, #ffffff);--tblr-btn-bg: var(--tblr-light);--tblr-btn-hover-color: var(--tblr-light-fg);--tblr-btn-hover-bg: var(--tblr-light-darken);--tblr-btn-active-color: var(--tblr-light-fg);--tblr-btn-active-bg: var(--tblr-light-darken);--tblr-btn-disabled-bg: var(--tblr-light);--tblr-btn-disabled-color: var(--tblr-light-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-light,.btn-outline.btn-light,.btn-outline.btn-white{--tblr-btn-color: var(--tblr-light);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-light);--tblr-btn-hover-color: var(--tblr-light-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-light);--tblr-btn-active-color: var(--tblr-light-fg);--tblr-btn-active-bg: var(--tblr-light);--tblr-btn-active-border-color: var(--tblr-light);--tblr-btn-disabled-color: var(--tblr-light);--tblr-btn-disabled-border-color: var(--tblr-light)}.btn-ghost-light,.btn-ghost.btn-light,.btn-ghost.btn-white{--tblr-btn-color: var(--tblr-light);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-light-fg);--tblr-btn-hover-bg: var(--tblr-light);--tblr-btn-hover-border-color: var(--tblr-light);--tblr-btn-active-color: var(--tblr-light-fg);--tblr-btn-active-bg: var(--tblr-light);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-light);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-dark,.btn-black{--tblr-btn-border-color: var(--tblr-dark-mode-border-color);--tblr-btn-hover-border-color: var(--tblr-dark-mode-border-active-color);--tblr-btn-active-border-color: var(--tblr-dark-mode-border-active-color);--tblr-btn-color: var(--tblr-dark-fg, #ffffff);--tblr-btn-bg: var(--tblr-dark);--tblr-btn-hover-color: var(--tblr-dark-fg);--tblr-btn-hover-bg: var(--tblr-dark-darken);--tblr-btn-active-color: var(--tblr-dark-fg);--tblr-btn-active-bg: var(--tblr-dark-darken);--tblr-btn-disabled-bg: var(--tblr-dark);--tblr-btn-disabled-color: var(--tblr-dark-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-dark,.btn-outline.btn-dark,.btn-outline.btn-black{--tblr-btn-color: var(--tblr-dark);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-dark);--tblr-btn-hover-color: var(--tblr-dark-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-dark);--tblr-btn-active-color: var(--tblr-dark-fg);--tblr-btn-active-bg: var(--tblr-dark);--tblr-btn-active-border-color: var(--tblr-dark);--tblr-btn-disabled-color: var(--tblr-dark);--tblr-btn-disabled-border-color: var(--tblr-dark)}.btn-ghost-dark,.btn-ghost.btn-dark,.btn-ghost.btn-black{--tblr-btn-color: var(--tblr-dark);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-dark-fg);--tblr-btn-hover-bg: var(--tblr-dark);--tblr-btn-hover-border-color: var(--tblr-dark);--tblr-btn-active-color: var(--tblr-dark-fg);--tblr-btn-active-bg: var(--tblr-dark);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-dark);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-muted{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-muted-fg, #ffffff);--tblr-btn-bg: var(--tblr-muted);--tblr-btn-hover-color: var(--tblr-muted-fg);--tblr-btn-hover-bg: var(--tblr-muted-darken);--tblr-btn-active-color: var(--tblr-muted-fg);--tblr-btn-active-bg: var(--tblr-muted-darken);--tblr-btn-disabled-bg: var(--tblr-muted);--tblr-btn-disabled-color: var(--tblr-muted-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-muted,.btn-outline.btn-muted{--tblr-btn-color: var(--tblr-muted);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-muted);--tblr-btn-hover-color: var(--tblr-muted-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-muted);--tblr-btn-active-color: var(--tblr-muted-fg);--tblr-btn-active-bg: var(--tblr-muted);--tblr-btn-active-border-color: var(--tblr-muted);--tblr-btn-disabled-color: var(--tblr-muted);--tblr-btn-disabled-border-color: var(--tblr-muted)}.btn-ghost-muted,.btn-ghost.btn-muted{--tblr-btn-color: var(--tblr-muted);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-muted-fg);--tblr-btn-hover-bg: var(--tblr-muted);--tblr-btn-hover-border-color: var(--tblr-muted);--tblr-btn-active-color: var(--tblr-muted-fg);--tblr-btn-active-bg: var(--tblr-muted);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-muted);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-blue{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-blue-fg, #ffffff);--tblr-btn-bg: var(--tblr-blue);--tblr-btn-hover-color: var(--tblr-blue-fg);--tblr-btn-hover-bg: var(--tblr-blue-darken);--tblr-btn-active-color: var(--tblr-blue-fg);--tblr-btn-active-bg: var(--tblr-blue-darken);--tblr-btn-disabled-bg: var(--tblr-blue);--tblr-btn-disabled-color: var(--tblr-blue-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-blue,.btn-outline.btn-blue{--tblr-btn-color: var(--tblr-blue);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-blue);--tblr-btn-hover-color: var(--tblr-blue-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-blue);--tblr-btn-active-color: var(--tblr-blue-fg);--tblr-btn-active-bg: var(--tblr-blue);--tblr-btn-active-border-color: var(--tblr-blue);--tblr-btn-disabled-color: var(--tblr-blue);--tblr-btn-disabled-border-color: var(--tblr-blue)}.btn-ghost-blue,.btn-ghost.btn-blue{--tblr-btn-color: var(--tblr-blue);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-blue-fg);--tblr-btn-hover-bg: var(--tblr-blue);--tblr-btn-hover-border-color: var(--tblr-blue);--tblr-btn-active-color: var(--tblr-blue-fg);--tblr-btn-active-bg: var(--tblr-blue);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-blue);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-azure{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-azure-fg, #ffffff);--tblr-btn-bg: var(--tblr-azure);--tblr-btn-hover-color: var(--tblr-azure-fg);--tblr-btn-hover-bg: var(--tblr-azure-darken);--tblr-btn-active-color: var(--tblr-azure-fg);--tblr-btn-active-bg: var(--tblr-azure-darken);--tblr-btn-disabled-bg: var(--tblr-azure);--tblr-btn-disabled-color: var(--tblr-azure-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-azure,.btn-outline.btn-azure{--tblr-btn-color: var(--tblr-azure);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-azure);--tblr-btn-hover-color: var(--tblr-azure-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-azure);--tblr-btn-active-color: var(--tblr-azure-fg);--tblr-btn-active-bg: var(--tblr-azure);--tblr-btn-active-border-color: var(--tblr-azure);--tblr-btn-disabled-color: var(--tblr-azure);--tblr-btn-disabled-border-color: var(--tblr-azure)}.btn-ghost-azure,.btn-ghost.btn-azure{--tblr-btn-color: var(--tblr-azure);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-azure-fg);--tblr-btn-hover-bg: var(--tblr-azure);--tblr-btn-hover-border-color: var(--tblr-azure);--tblr-btn-active-color: var(--tblr-azure-fg);--tblr-btn-active-bg: var(--tblr-azure);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-azure);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-indigo{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-indigo-fg, #ffffff);--tblr-btn-bg: var(--tblr-indigo);--tblr-btn-hover-color: var(--tblr-indigo-fg);--tblr-btn-hover-bg: var(--tblr-indigo-darken);--tblr-btn-active-color: var(--tblr-indigo-fg);--tblr-btn-active-bg: var(--tblr-indigo-darken);--tblr-btn-disabled-bg: var(--tblr-indigo);--tblr-btn-disabled-color: var(--tblr-indigo-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-indigo,.btn-outline.btn-indigo{--tblr-btn-color: var(--tblr-indigo);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-indigo);--tblr-btn-hover-color: var(--tblr-indigo-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-indigo);--tblr-btn-active-color: var(--tblr-indigo-fg);--tblr-btn-active-bg: var(--tblr-indigo);--tblr-btn-active-border-color: var(--tblr-indigo);--tblr-btn-disabled-color: var(--tblr-indigo);--tblr-btn-disabled-border-color: var(--tblr-indigo)}.btn-ghost-indigo,.btn-ghost.btn-indigo{--tblr-btn-color: var(--tblr-indigo);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-indigo-fg);--tblr-btn-hover-bg: var(--tblr-indigo);--tblr-btn-hover-border-color: var(--tblr-indigo);--tblr-btn-active-color: var(--tblr-indigo-fg);--tblr-btn-active-bg: var(--tblr-indigo);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-indigo);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-purple{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-purple-fg, #ffffff);--tblr-btn-bg: var(--tblr-purple);--tblr-btn-hover-color: var(--tblr-purple-fg);--tblr-btn-hover-bg: var(--tblr-purple-darken);--tblr-btn-active-color: var(--tblr-purple-fg);--tblr-btn-active-bg: var(--tblr-purple-darken);--tblr-btn-disabled-bg: var(--tblr-purple);--tblr-btn-disabled-color: var(--tblr-purple-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-purple,.btn-outline.btn-purple{--tblr-btn-color: var(--tblr-purple);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-purple);--tblr-btn-hover-color: var(--tblr-purple-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-purple);--tblr-btn-active-color: var(--tblr-purple-fg);--tblr-btn-active-bg: var(--tblr-purple);--tblr-btn-active-border-color: var(--tblr-purple);--tblr-btn-disabled-color: var(--tblr-purple);--tblr-btn-disabled-border-color: var(--tblr-purple)}.btn-ghost-purple,.btn-ghost.btn-purple{--tblr-btn-color: var(--tblr-purple);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-purple-fg);--tblr-btn-hover-bg: var(--tblr-purple);--tblr-btn-hover-border-color: var(--tblr-purple);--tblr-btn-active-color: var(--tblr-purple-fg);--tblr-btn-active-bg: var(--tblr-purple);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-purple);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-pink{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-pink-fg, #ffffff);--tblr-btn-bg: var(--tblr-pink);--tblr-btn-hover-color: var(--tblr-pink-fg);--tblr-btn-hover-bg: var(--tblr-pink-darken);--tblr-btn-active-color: var(--tblr-pink-fg);--tblr-btn-active-bg: var(--tblr-pink-darken);--tblr-btn-disabled-bg: var(--tblr-pink);--tblr-btn-disabled-color: var(--tblr-pink-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-pink,.btn-outline.btn-pink{--tblr-btn-color: var(--tblr-pink);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-pink);--tblr-btn-hover-color: var(--tblr-pink-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-pink);--tblr-btn-active-color: var(--tblr-pink-fg);--tblr-btn-active-bg: var(--tblr-pink);--tblr-btn-active-border-color: var(--tblr-pink);--tblr-btn-disabled-color: var(--tblr-pink);--tblr-btn-disabled-border-color: var(--tblr-pink)}.btn-ghost-pink,.btn-ghost.btn-pink{--tblr-btn-color: var(--tblr-pink);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-pink-fg);--tblr-btn-hover-bg: var(--tblr-pink);--tblr-btn-hover-border-color: var(--tblr-pink);--tblr-btn-active-color: var(--tblr-pink-fg);--tblr-btn-active-bg: var(--tblr-pink);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-pink);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-red{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-red-fg, #ffffff);--tblr-btn-bg: var(--tblr-red);--tblr-btn-hover-color: var(--tblr-red-fg);--tblr-btn-hover-bg: var(--tblr-red-darken);--tblr-btn-active-color: var(--tblr-red-fg);--tblr-btn-active-bg: var(--tblr-red-darken);--tblr-btn-disabled-bg: var(--tblr-red);--tblr-btn-disabled-color: var(--tblr-red-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-red,.btn-outline.btn-red{--tblr-btn-color: var(--tblr-red);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-red);--tblr-btn-hover-color: var(--tblr-red-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-red);--tblr-btn-active-color: var(--tblr-red-fg);--tblr-btn-active-bg: var(--tblr-red);--tblr-btn-active-border-color: var(--tblr-red);--tblr-btn-disabled-color: var(--tblr-red);--tblr-btn-disabled-border-color: var(--tblr-red)}.btn-ghost-red,.btn-ghost.btn-red{--tblr-btn-color: var(--tblr-red);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-red-fg);--tblr-btn-hover-bg: var(--tblr-red);--tblr-btn-hover-border-color: var(--tblr-red);--tblr-btn-active-color: var(--tblr-red-fg);--tblr-btn-active-bg: var(--tblr-red);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-red);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-orange{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-orange-fg, #ffffff);--tblr-btn-bg: var(--tblr-orange);--tblr-btn-hover-color: var(--tblr-orange-fg);--tblr-btn-hover-bg: var(--tblr-orange-darken);--tblr-btn-active-color: var(--tblr-orange-fg);--tblr-btn-active-bg: var(--tblr-orange-darken);--tblr-btn-disabled-bg: var(--tblr-orange);--tblr-btn-disabled-color: var(--tblr-orange-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-orange,.btn-outline.btn-orange{--tblr-btn-color: var(--tblr-orange);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-orange);--tblr-btn-hover-color: var(--tblr-orange-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-orange);--tblr-btn-active-color: var(--tblr-orange-fg);--tblr-btn-active-bg: var(--tblr-orange);--tblr-btn-active-border-color: var(--tblr-orange);--tblr-btn-disabled-color: var(--tblr-orange);--tblr-btn-disabled-border-color: var(--tblr-orange)}.btn-ghost-orange,.btn-ghost.btn-orange{--tblr-btn-color: var(--tblr-orange);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-orange-fg);--tblr-btn-hover-bg: var(--tblr-orange);--tblr-btn-hover-border-color: var(--tblr-orange);--tblr-btn-active-color: var(--tblr-orange-fg);--tblr-btn-active-bg: var(--tblr-orange);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-orange);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-yellow{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-yellow-fg, #ffffff);--tblr-btn-bg: var(--tblr-yellow);--tblr-btn-hover-color: var(--tblr-yellow-fg);--tblr-btn-hover-bg: var(--tblr-yellow-darken);--tblr-btn-active-color: var(--tblr-yellow-fg);--tblr-btn-active-bg: var(--tblr-yellow-darken);--tblr-btn-disabled-bg: var(--tblr-yellow);--tblr-btn-disabled-color: var(--tblr-yellow-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-yellow,.btn-outline.btn-yellow{--tblr-btn-color: var(--tblr-yellow);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-yellow);--tblr-btn-hover-color: var(--tblr-yellow-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-yellow);--tblr-btn-active-color: var(--tblr-yellow-fg);--tblr-btn-active-bg: var(--tblr-yellow);--tblr-btn-active-border-color: var(--tblr-yellow);--tblr-btn-disabled-color: var(--tblr-yellow);--tblr-btn-disabled-border-color: var(--tblr-yellow)}.btn-ghost-yellow,.btn-ghost.btn-yellow{--tblr-btn-color: var(--tblr-yellow);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-yellow-fg);--tblr-btn-hover-bg: var(--tblr-yellow);--tblr-btn-hover-border-color: var(--tblr-yellow);--tblr-btn-active-color: var(--tblr-yellow-fg);--tblr-btn-active-bg: var(--tblr-yellow);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-yellow);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-lime{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-lime-fg, #ffffff);--tblr-btn-bg: var(--tblr-lime);--tblr-btn-hover-color: var(--tblr-lime-fg);--tblr-btn-hover-bg: var(--tblr-lime-darken);--tblr-btn-active-color: var(--tblr-lime-fg);--tblr-btn-active-bg: var(--tblr-lime-darken);--tblr-btn-disabled-bg: var(--tblr-lime);--tblr-btn-disabled-color: var(--tblr-lime-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-lime,.btn-outline.btn-lime{--tblr-btn-color: var(--tblr-lime);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-lime);--tblr-btn-hover-color: var(--tblr-lime-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-lime);--tblr-btn-active-color: var(--tblr-lime-fg);--tblr-btn-active-bg: var(--tblr-lime);--tblr-btn-active-border-color: var(--tblr-lime);--tblr-btn-disabled-color: var(--tblr-lime);--tblr-btn-disabled-border-color: var(--tblr-lime)}.btn-ghost-lime,.btn-ghost.btn-lime{--tblr-btn-color: var(--tblr-lime);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-lime-fg);--tblr-btn-hover-bg: var(--tblr-lime);--tblr-btn-hover-border-color: var(--tblr-lime);--tblr-btn-active-color: var(--tblr-lime-fg);--tblr-btn-active-bg: var(--tblr-lime);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-lime);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-green{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-green-fg, #ffffff);--tblr-btn-bg: var(--tblr-green);--tblr-btn-hover-color: var(--tblr-green-fg);--tblr-btn-hover-bg: var(--tblr-green-darken);--tblr-btn-active-color: var(--tblr-green-fg);--tblr-btn-active-bg: var(--tblr-green-darken);--tblr-btn-disabled-bg: var(--tblr-green);--tblr-btn-disabled-color: var(--tblr-green-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-green,.btn-outline.btn-green{--tblr-btn-color: var(--tblr-green);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-green);--tblr-btn-hover-color: var(--tblr-green-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-green);--tblr-btn-active-color: var(--tblr-green-fg);--tblr-btn-active-bg: var(--tblr-green);--tblr-btn-active-border-color: var(--tblr-green);--tblr-btn-disabled-color: var(--tblr-green);--tblr-btn-disabled-border-color: var(--tblr-green)}.btn-ghost-green,.btn-ghost.btn-green{--tblr-btn-color: var(--tblr-green);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-green-fg);--tblr-btn-hover-bg: var(--tblr-green);--tblr-btn-hover-border-color: var(--tblr-green);--tblr-btn-active-color: var(--tblr-green-fg);--tblr-btn-active-bg: var(--tblr-green);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-green);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-teal{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-teal-fg, #ffffff);--tblr-btn-bg: var(--tblr-teal);--tblr-btn-hover-color: var(--tblr-teal-fg);--tblr-btn-hover-bg: var(--tblr-teal-darken);--tblr-btn-active-color: var(--tblr-teal-fg);--tblr-btn-active-bg: var(--tblr-teal-darken);--tblr-btn-disabled-bg: var(--tblr-teal);--tblr-btn-disabled-color: var(--tblr-teal-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-teal,.btn-outline.btn-teal{--tblr-btn-color: var(--tblr-teal);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-teal);--tblr-btn-hover-color: var(--tblr-teal-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-teal);--tblr-btn-active-color: var(--tblr-teal-fg);--tblr-btn-active-bg: var(--tblr-teal);--tblr-btn-active-border-color: var(--tblr-teal);--tblr-btn-disabled-color: var(--tblr-teal);--tblr-btn-disabled-border-color: var(--tblr-teal)}.btn-ghost-teal,.btn-ghost.btn-teal{--tblr-btn-color: var(--tblr-teal);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-teal-fg);--tblr-btn-hover-bg: var(--tblr-teal);--tblr-btn-hover-border-color: var(--tblr-teal);--tblr-btn-active-color: var(--tblr-teal-fg);--tblr-btn-active-bg: var(--tblr-teal);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-teal);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-cyan{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-cyan-fg, #ffffff);--tblr-btn-bg: var(--tblr-cyan);--tblr-btn-hover-color: var(--tblr-cyan-fg);--tblr-btn-hover-bg: var(--tblr-cyan-darken);--tblr-btn-active-color: var(--tblr-cyan-fg);--tblr-btn-active-bg: var(--tblr-cyan-darken);--tblr-btn-disabled-bg: var(--tblr-cyan);--tblr-btn-disabled-color: var(--tblr-cyan-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-cyan,.btn-outline.btn-cyan{--tblr-btn-color: var(--tblr-cyan);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-cyan);--tblr-btn-hover-color: var(--tblr-cyan-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-cyan);--tblr-btn-active-color: var(--tblr-cyan-fg);--tblr-btn-active-bg: var(--tblr-cyan);--tblr-btn-active-border-color: var(--tblr-cyan);--tblr-btn-disabled-color: var(--tblr-cyan);--tblr-btn-disabled-border-color: var(--tblr-cyan)}.btn-ghost-cyan,.btn-ghost.btn-cyan{--tblr-btn-color: var(--tblr-cyan);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-cyan-fg);--tblr-btn-hover-bg: var(--tblr-cyan);--tblr-btn-hover-border-color: var(--tblr-cyan);--tblr-btn-active-color: var(--tblr-cyan-fg);--tblr-btn-active-bg: var(--tblr-cyan);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-cyan);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-x{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-x-fg, #ffffff);--tblr-btn-bg: var(--tblr-x);--tblr-btn-hover-color: var(--tblr-x-fg);--tblr-btn-hover-bg: var(--tblr-x-darken);--tblr-btn-active-color: var(--tblr-x-fg);--tblr-btn-active-bg: var(--tblr-x-darken);--tblr-btn-disabled-bg: var(--tblr-x);--tblr-btn-disabled-color: var(--tblr-x-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-x,.btn-outline.btn-x{--tblr-btn-color: var(--tblr-x);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-x);--tblr-btn-hover-color: var(--tblr-x-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-x);--tblr-btn-active-color: var(--tblr-x-fg);--tblr-btn-active-bg: var(--tblr-x);--tblr-btn-active-border-color: var(--tblr-x);--tblr-btn-disabled-color: var(--tblr-x);--tblr-btn-disabled-border-color: var(--tblr-x)}.btn-ghost-x,.btn-ghost.btn-x{--tblr-btn-color: var(--tblr-x);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-x-fg);--tblr-btn-hover-bg: var(--tblr-x);--tblr-btn-hover-border-color: var(--tblr-x);--tblr-btn-active-color: var(--tblr-x-fg);--tblr-btn-active-bg: var(--tblr-x);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-x);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-facebook{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-facebook-fg, #ffffff);--tblr-btn-bg: var(--tblr-facebook);--tblr-btn-hover-color: var(--tblr-facebook-fg);--tblr-btn-hover-bg: var(--tblr-facebook-darken);--tblr-btn-active-color: var(--tblr-facebook-fg);--tblr-btn-active-bg: var(--tblr-facebook-darken);--tblr-btn-disabled-bg: var(--tblr-facebook);--tblr-btn-disabled-color: var(--tblr-facebook-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-facebook,.btn-outline.btn-facebook{--tblr-btn-color: var(--tblr-facebook);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-facebook);--tblr-btn-hover-color: var(--tblr-facebook-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-facebook);--tblr-btn-active-color: var(--tblr-facebook-fg);--tblr-btn-active-bg: var(--tblr-facebook);--tblr-btn-active-border-color: var(--tblr-facebook);--tblr-btn-disabled-color: var(--tblr-facebook);--tblr-btn-disabled-border-color: var(--tblr-facebook)}.btn-ghost-facebook,.btn-ghost.btn-facebook{--tblr-btn-color: var(--tblr-facebook);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-facebook-fg);--tblr-btn-hover-bg: var(--tblr-facebook);--tblr-btn-hover-border-color: var(--tblr-facebook);--tblr-btn-active-color: var(--tblr-facebook-fg);--tblr-btn-active-bg: var(--tblr-facebook);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-facebook);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-twitter{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-twitter-fg, #ffffff);--tblr-btn-bg: var(--tblr-twitter);--tblr-btn-hover-color: var(--tblr-twitter-fg);--tblr-btn-hover-bg: var(--tblr-twitter-darken);--tblr-btn-active-color: var(--tblr-twitter-fg);--tblr-btn-active-bg: var(--tblr-twitter-darken);--tblr-btn-disabled-bg: var(--tblr-twitter);--tblr-btn-disabled-color: var(--tblr-twitter-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-twitter,.btn-outline.btn-twitter{--tblr-btn-color: var(--tblr-twitter);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-twitter);--tblr-btn-hover-color: var(--tblr-twitter-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-twitter);--tblr-btn-active-color: var(--tblr-twitter-fg);--tblr-btn-active-bg: var(--tblr-twitter);--tblr-btn-active-border-color: var(--tblr-twitter);--tblr-btn-disabled-color: var(--tblr-twitter);--tblr-btn-disabled-border-color: var(--tblr-twitter)}.btn-ghost-twitter,.btn-ghost.btn-twitter{--tblr-btn-color: var(--tblr-twitter);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-twitter-fg);--tblr-btn-hover-bg: var(--tblr-twitter);--tblr-btn-hover-border-color: var(--tblr-twitter);--tblr-btn-active-color: var(--tblr-twitter-fg);--tblr-btn-active-bg: var(--tblr-twitter);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-twitter);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-linkedin{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-linkedin-fg, #ffffff);--tblr-btn-bg: var(--tblr-linkedin);--tblr-btn-hover-color: var(--tblr-linkedin-fg);--tblr-btn-hover-bg: var(--tblr-linkedin-darken);--tblr-btn-active-color: var(--tblr-linkedin-fg);--tblr-btn-active-bg: var(--tblr-linkedin-darken);--tblr-btn-disabled-bg: var(--tblr-linkedin);--tblr-btn-disabled-color: var(--tblr-linkedin-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-linkedin,.btn-outline.btn-linkedin{--tblr-btn-color: var(--tblr-linkedin);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-linkedin);--tblr-btn-hover-color: var(--tblr-linkedin-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-linkedin);--tblr-btn-active-color: var(--tblr-linkedin-fg);--tblr-btn-active-bg: var(--tblr-linkedin);--tblr-btn-active-border-color: var(--tblr-linkedin);--tblr-btn-disabled-color: var(--tblr-linkedin);--tblr-btn-disabled-border-color: var(--tblr-linkedin)}.btn-ghost-linkedin,.btn-ghost.btn-linkedin{--tblr-btn-color: var(--tblr-linkedin);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-linkedin-fg);--tblr-btn-hover-bg: var(--tblr-linkedin);--tblr-btn-hover-border-color: var(--tblr-linkedin);--tblr-btn-active-color: var(--tblr-linkedin-fg);--tblr-btn-active-bg: var(--tblr-linkedin);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-linkedin);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-google{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-google-fg, #ffffff);--tblr-btn-bg: var(--tblr-google);--tblr-btn-hover-color: var(--tblr-google-fg);--tblr-btn-hover-bg: var(--tblr-google-darken);--tblr-btn-active-color: var(--tblr-google-fg);--tblr-btn-active-bg: var(--tblr-google-darken);--tblr-btn-disabled-bg: var(--tblr-google);--tblr-btn-disabled-color: var(--tblr-google-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-google,.btn-outline.btn-google{--tblr-btn-color: var(--tblr-google);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-google);--tblr-btn-hover-color: var(--tblr-google-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-google);--tblr-btn-active-color: var(--tblr-google-fg);--tblr-btn-active-bg: var(--tblr-google);--tblr-btn-active-border-color: var(--tblr-google);--tblr-btn-disabled-color: var(--tblr-google);--tblr-btn-disabled-border-color: var(--tblr-google)}.btn-ghost-google,.btn-ghost.btn-google{--tblr-btn-color: var(--tblr-google);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-google-fg);--tblr-btn-hover-bg: var(--tblr-google);--tblr-btn-hover-border-color: var(--tblr-google);--tblr-btn-active-color: var(--tblr-google-fg);--tblr-btn-active-bg: var(--tblr-google);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-google);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-youtube{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-youtube-fg, #ffffff);--tblr-btn-bg: var(--tblr-youtube);--tblr-btn-hover-color: var(--tblr-youtube-fg);--tblr-btn-hover-bg: var(--tblr-youtube-darken);--tblr-btn-active-color: var(--tblr-youtube-fg);--tblr-btn-active-bg: var(--tblr-youtube-darken);--tblr-btn-disabled-bg: var(--tblr-youtube);--tblr-btn-disabled-color: var(--tblr-youtube-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-youtube,.btn-outline.btn-youtube{--tblr-btn-color: var(--tblr-youtube);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-youtube);--tblr-btn-hover-color: var(--tblr-youtube-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-youtube);--tblr-btn-active-color: var(--tblr-youtube-fg);--tblr-btn-active-bg: var(--tblr-youtube);--tblr-btn-active-border-color: var(--tblr-youtube);--tblr-btn-disabled-color: var(--tblr-youtube);--tblr-btn-disabled-border-color: var(--tblr-youtube)}.btn-ghost-youtube,.btn-ghost.btn-youtube{--tblr-btn-color: var(--tblr-youtube);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-youtube-fg);--tblr-btn-hover-bg: var(--tblr-youtube);--tblr-btn-hover-border-color: var(--tblr-youtube);--tblr-btn-active-color: var(--tblr-youtube-fg);--tblr-btn-active-bg: var(--tblr-youtube);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-youtube);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-vimeo{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-vimeo-fg, #ffffff);--tblr-btn-bg: var(--tblr-vimeo);--tblr-btn-hover-color: var(--tblr-vimeo-fg);--tblr-btn-hover-bg: var(--tblr-vimeo-darken);--tblr-btn-active-color: var(--tblr-vimeo-fg);--tblr-btn-active-bg: var(--tblr-vimeo-darken);--tblr-btn-disabled-bg: var(--tblr-vimeo);--tblr-btn-disabled-color: var(--tblr-vimeo-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-vimeo,.btn-outline.btn-vimeo{--tblr-btn-color: var(--tblr-vimeo);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-vimeo);--tblr-btn-hover-color: var(--tblr-vimeo-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-vimeo);--tblr-btn-active-color: var(--tblr-vimeo-fg);--tblr-btn-active-bg: var(--tblr-vimeo);--tblr-btn-active-border-color: var(--tblr-vimeo);--tblr-btn-disabled-color: var(--tblr-vimeo);--tblr-btn-disabled-border-color: var(--tblr-vimeo)}.btn-ghost-vimeo,.btn-ghost.btn-vimeo{--tblr-btn-color: var(--tblr-vimeo);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-vimeo-fg);--tblr-btn-hover-bg: var(--tblr-vimeo);--tblr-btn-hover-border-color: var(--tblr-vimeo);--tblr-btn-active-color: var(--tblr-vimeo-fg);--tblr-btn-active-bg: var(--tblr-vimeo);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-vimeo);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-dribbble{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-dribbble-fg, #ffffff);--tblr-btn-bg: var(--tblr-dribbble);--tblr-btn-hover-color: var(--tblr-dribbble-fg);--tblr-btn-hover-bg: var(--tblr-dribbble-darken);--tblr-btn-active-color: var(--tblr-dribbble-fg);--tblr-btn-active-bg: var(--tblr-dribbble-darken);--tblr-btn-disabled-bg: var(--tblr-dribbble);--tblr-btn-disabled-color: var(--tblr-dribbble-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-dribbble,.btn-outline.btn-dribbble{--tblr-btn-color: var(--tblr-dribbble);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-dribbble);--tblr-btn-hover-color: var(--tblr-dribbble-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-dribbble);--tblr-btn-active-color: var(--tblr-dribbble-fg);--tblr-btn-active-bg: var(--tblr-dribbble);--tblr-btn-active-border-color: var(--tblr-dribbble);--tblr-btn-disabled-color: var(--tblr-dribbble);--tblr-btn-disabled-border-color: var(--tblr-dribbble)}.btn-ghost-dribbble,.btn-ghost.btn-dribbble{--tblr-btn-color: var(--tblr-dribbble);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-dribbble-fg);--tblr-btn-hover-bg: var(--tblr-dribbble);--tblr-btn-hover-border-color: var(--tblr-dribbble);--tblr-btn-active-color: var(--tblr-dribbble-fg);--tblr-btn-active-bg: var(--tblr-dribbble);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-dribbble);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-github{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-github-fg, #ffffff);--tblr-btn-bg: var(--tblr-github);--tblr-btn-hover-color: var(--tblr-github-fg);--tblr-btn-hover-bg: var(--tblr-github-darken);--tblr-btn-active-color: var(--tblr-github-fg);--tblr-btn-active-bg: var(--tblr-github-darken);--tblr-btn-disabled-bg: var(--tblr-github);--tblr-btn-disabled-color: var(--tblr-github-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-github,.btn-outline.btn-github{--tblr-btn-color: var(--tblr-github);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-github);--tblr-btn-hover-color: var(--tblr-github-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-github);--tblr-btn-active-color: var(--tblr-github-fg);--tblr-btn-active-bg: var(--tblr-github);--tblr-btn-active-border-color: var(--tblr-github);--tblr-btn-disabled-color: var(--tblr-github);--tblr-btn-disabled-border-color: var(--tblr-github)}.btn-ghost-github,.btn-ghost.btn-github{--tblr-btn-color: var(--tblr-github);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-github-fg);--tblr-btn-hover-bg: var(--tblr-github);--tblr-btn-hover-border-color: var(--tblr-github);--tblr-btn-active-color: var(--tblr-github-fg);--tblr-btn-active-bg: var(--tblr-github);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-github);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-instagram{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-instagram-fg, #ffffff);--tblr-btn-bg: var(--tblr-instagram);--tblr-btn-hover-color: var(--tblr-instagram-fg);--tblr-btn-hover-bg: var(--tblr-instagram-darken);--tblr-btn-active-color: var(--tblr-instagram-fg);--tblr-btn-active-bg: var(--tblr-instagram-darken);--tblr-btn-disabled-bg: var(--tblr-instagram);--tblr-btn-disabled-color: var(--tblr-instagram-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-instagram,.btn-outline.btn-instagram{--tblr-btn-color: var(--tblr-instagram);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-instagram);--tblr-btn-hover-color: var(--tblr-instagram-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-instagram);--tblr-btn-active-color: var(--tblr-instagram-fg);--tblr-btn-active-bg: var(--tblr-instagram);--tblr-btn-active-border-color: var(--tblr-instagram);--tblr-btn-disabled-color: var(--tblr-instagram);--tblr-btn-disabled-border-color: var(--tblr-instagram)}.btn-ghost-instagram,.btn-ghost.btn-instagram{--tblr-btn-color: var(--tblr-instagram);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-instagram-fg);--tblr-btn-hover-bg: var(--tblr-instagram);--tblr-btn-hover-border-color: var(--tblr-instagram);--tblr-btn-active-color: var(--tblr-instagram-fg);--tblr-btn-active-bg: var(--tblr-instagram);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-instagram);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-pinterest{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-pinterest-fg, #ffffff);--tblr-btn-bg: var(--tblr-pinterest);--tblr-btn-hover-color: var(--tblr-pinterest-fg);--tblr-btn-hover-bg: var(--tblr-pinterest-darken);--tblr-btn-active-color: var(--tblr-pinterest-fg);--tblr-btn-active-bg: var(--tblr-pinterest-darken);--tblr-btn-disabled-bg: var(--tblr-pinterest);--tblr-btn-disabled-color: var(--tblr-pinterest-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-pinterest,.btn-outline.btn-pinterest{--tblr-btn-color: var(--tblr-pinterest);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-pinterest);--tblr-btn-hover-color: var(--tblr-pinterest-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-pinterest);--tblr-btn-active-color: var(--tblr-pinterest-fg);--tblr-btn-active-bg: var(--tblr-pinterest);--tblr-btn-active-border-color: var(--tblr-pinterest);--tblr-btn-disabled-color: var(--tblr-pinterest);--tblr-btn-disabled-border-color: var(--tblr-pinterest)}.btn-ghost-pinterest,.btn-ghost.btn-pinterest{--tblr-btn-color: var(--tblr-pinterest);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-pinterest-fg);--tblr-btn-hover-bg: var(--tblr-pinterest);--tblr-btn-hover-border-color: var(--tblr-pinterest);--tblr-btn-active-color: var(--tblr-pinterest-fg);--tblr-btn-active-bg: var(--tblr-pinterest);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-pinterest);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-vk{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-vk-fg, #ffffff);--tblr-btn-bg: var(--tblr-vk);--tblr-btn-hover-color: var(--tblr-vk-fg);--tblr-btn-hover-bg: var(--tblr-vk-darken);--tblr-btn-active-color: var(--tblr-vk-fg);--tblr-btn-active-bg: var(--tblr-vk-darken);--tblr-btn-disabled-bg: var(--tblr-vk);--tblr-btn-disabled-color: var(--tblr-vk-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-vk,.btn-outline.btn-vk{--tblr-btn-color: var(--tblr-vk);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-vk);--tblr-btn-hover-color: var(--tblr-vk-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-vk);--tblr-btn-active-color: var(--tblr-vk-fg);--tblr-btn-active-bg: var(--tblr-vk);--tblr-btn-active-border-color: var(--tblr-vk);--tblr-btn-disabled-color: var(--tblr-vk);--tblr-btn-disabled-border-color: var(--tblr-vk)}.btn-ghost-vk,.btn-ghost.btn-vk{--tblr-btn-color: var(--tblr-vk);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-vk-fg);--tblr-btn-hover-bg: var(--tblr-vk);--tblr-btn-hover-border-color: var(--tblr-vk);--tblr-btn-active-color: var(--tblr-vk-fg);--tblr-btn-active-bg: var(--tblr-vk);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-vk);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-rss{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-rss-fg, #ffffff);--tblr-btn-bg: var(--tblr-rss);--tblr-btn-hover-color: var(--tblr-rss-fg);--tblr-btn-hover-bg: var(--tblr-rss-darken);--tblr-btn-active-color: var(--tblr-rss-fg);--tblr-btn-active-bg: var(--tblr-rss-darken);--tblr-btn-disabled-bg: var(--tblr-rss);--tblr-btn-disabled-color: var(--tblr-rss-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-rss,.btn-outline.btn-rss{--tblr-btn-color: var(--tblr-rss);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-rss);--tblr-btn-hover-color: var(--tblr-rss-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-rss);--tblr-btn-active-color: var(--tblr-rss-fg);--tblr-btn-active-bg: var(--tblr-rss);--tblr-btn-active-border-color: var(--tblr-rss);--tblr-btn-disabled-color: var(--tblr-rss);--tblr-btn-disabled-border-color: var(--tblr-rss)}.btn-ghost-rss,.btn-ghost.btn-rss{--tblr-btn-color: var(--tblr-rss);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-rss-fg);--tblr-btn-hover-bg: var(--tblr-rss);--tblr-btn-hover-border-color: var(--tblr-rss);--tblr-btn-active-color: var(--tblr-rss-fg);--tblr-btn-active-bg: var(--tblr-rss);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-rss);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-flickr{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-flickr-fg, #ffffff);--tblr-btn-bg: var(--tblr-flickr);--tblr-btn-hover-color: var(--tblr-flickr-fg);--tblr-btn-hover-bg: var(--tblr-flickr-darken);--tblr-btn-active-color: var(--tblr-flickr-fg);--tblr-btn-active-bg: var(--tblr-flickr-darken);--tblr-btn-disabled-bg: var(--tblr-flickr);--tblr-btn-disabled-color: var(--tblr-flickr-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-flickr,.btn-outline.btn-flickr{--tblr-btn-color: var(--tblr-flickr);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-flickr);--tblr-btn-hover-color: var(--tblr-flickr-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-flickr);--tblr-btn-active-color: var(--tblr-flickr-fg);--tblr-btn-active-bg: var(--tblr-flickr);--tblr-btn-active-border-color: var(--tblr-flickr);--tblr-btn-disabled-color: var(--tblr-flickr);--tblr-btn-disabled-border-color: var(--tblr-flickr)}.btn-ghost-flickr,.btn-ghost.btn-flickr{--tblr-btn-color: var(--tblr-flickr);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-flickr-fg);--tblr-btn-hover-bg: var(--tblr-flickr);--tblr-btn-hover-border-color: var(--tblr-flickr);--tblr-btn-active-color: var(--tblr-flickr-fg);--tblr-btn-active-bg: var(--tblr-flickr);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-flickr);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-bitbucket{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-bitbucket-fg, #ffffff);--tblr-btn-bg: var(--tblr-bitbucket);--tblr-btn-hover-color: var(--tblr-bitbucket-fg);--tblr-btn-hover-bg: var(--tblr-bitbucket-darken);--tblr-btn-active-color: var(--tblr-bitbucket-fg);--tblr-btn-active-bg: var(--tblr-bitbucket-darken);--tblr-btn-disabled-bg: var(--tblr-bitbucket);--tblr-btn-disabled-color: var(--tblr-bitbucket-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-bitbucket,.btn-outline.btn-bitbucket{--tblr-btn-color: var(--tblr-bitbucket);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-bitbucket);--tblr-btn-hover-color: var(--tblr-bitbucket-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-bitbucket);--tblr-btn-active-color: var(--tblr-bitbucket-fg);--tblr-btn-active-bg: var(--tblr-bitbucket);--tblr-btn-active-border-color: var(--tblr-bitbucket);--tblr-btn-disabled-color: var(--tblr-bitbucket);--tblr-btn-disabled-border-color: var(--tblr-bitbucket)}.btn-ghost-bitbucket,.btn-ghost.btn-bitbucket{--tblr-btn-color: var(--tblr-bitbucket);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-bitbucket-fg);--tblr-btn-hover-bg: var(--tblr-bitbucket);--tblr-btn-hover-border-color: var(--tblr-bitbucket);--tblr-btn-active-color: var(--tblr-bitbucket-fg);--tblr-btn-active-bg: var(--tblr-bitbucket);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-bitbucket);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-tabler{--tblr-btn-border-color: transparent;--tblr-btn-hover-border-color: transparent;--tblr-btn-active-border-color: transparent;--tblr-btn-color: var(--tblr-tabler-fg, #ffffff);--tblr-btn-bg: var(--tblr-tabler);--tblr-btn-hover-color: var(--tblr-tabler-fg);--tblr-btn-hover-bg: var(--tblr-tabler-darken);--tblr-btn-active-color: var(--tblr-tabler-fg);--tblr-btn-active-bg: var(--tblr-tabler-darken);--tblr-btn-disabled-bg: var(--tblr-tabler);--tblr-btn-disabled-color: var(--tblr-tabler-fg);--tblr-btn-box-shadow: var(--tblr-shadow-input)}.btn-outline-tabler,.btn-outline.btn-tabler{--tblr-btn-color: var(--tblr-tabler);--tblr-btn-bg: transparent;--tblr-btn-border-color: var(--tblr-tabler);--tblr-btn-hover-color: var(--tblr-tabler-fg);--tblr-btn-hover-border-color: transparent;--tblr-btn-hover-bg: var(--tblr-tabler);--tblr-btn-active-color: var(--tblr-tabler-fg);--tblr-btn-active-bg: var(--tblr-tabler);--tblr-btn-active-border-color: var(--tblr-tabler);--tblr-btn-disabled-color: var(--tblr-tabler);--tblr-btn-disabled-border-color: var(--tblr-tabler)}.btn-ghost-tabler,.btn-ghost.btn-tabler{--tblr-btn-color: var(--tblr-tabler);--tblr-btn-bg: transparent;--tblr-btn-border-color: transparent;--tblr-btn-hover-color: var(--tblr-tabler-fg);--tblr-btn-hover-bg: var(--tblr-tabler);--tblr-btn-hover-border-color: var(--tblr-tabler);--tblr-btn-active-color: var(--tblr-tabler-fg);--tblr-btn-active-bg: var(--tblr-tabler);--tblr-btn-active-border-color: transparent;--tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--tblr-btn-disabled-color: var(--tblr-tabler);--tblr-btn-disabled-bg: transparent;--tblr-btn-disabled-border-color: transparent;--tblr-gradient: none;--tblr-btn-box-shadow: none}.btn-sm,.btn-group-sm>.btn{--tblr-btn-line-height: 1.3333333333;--tblr-btn-icon-size: 1rem}.btn-lg,.btn-group-lg>.btn{--tblr-btn-line-height: 1.5rem;--tblr-btn-icon-size: 1.5rem}.btn-xl,.btn-group-xl>.btn{--tblr-btn-line-height: 2;--tblr-btn-icon-size: 2rem;--tblr-btn-padding-y: .6875rem;--tblr-btn-padding-x: 2rem;--tblr-btn-font-size: 1.5rem}.btn-pill{padding-right:1.5em;padding-left:1.5em;border-radius:10rem}.btn-pill[class*=btn-icon]{padding:.375rem 15px}.btn-square{border-radius:0}.btn-icon,.btn-action{padding-left:0;padding-right:0}.btn-icon .icon,.btn-action .icon{margin:calc(-1 * var(--tblr-btn-padding-x))}.btn-list{--tblr-list-gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.btn-floating{position:fixed;z-index:1030;bottom:1rem;left:1rem;box-shadow:var(--tblr-shadow-dropdown)}.btn-loading{position:relative;color:transparent!important;text-shadow:none!important;pointer-events:none}.btn-loading>*{opacity:0}.btn-loading:after{content:"";display:inline-block;vertical-align:text-bottom;border:2px var(--tblr-border-style) currentColor;border-right-color:transparent;border-radius:100rem;color:var(--tblr-btn-color);position:absolute;width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);left:calc(50% - var(--tblr-btn-icon-size) / 2);top:calc(50% - var(--tblr-btn-icon-size) / 2);animation:spinner-border .75s linear infinite}.btn-action{--tblr-border-color: transparent;color:var(--tblr-secondary);border-radius:var(--tblr-border-radius);background:transparent;box-shadow:none}.btn-action:after{content:none}.btn-action:focus{outline:none;box-shadow:none}.btn-action:hover,.btn-action.show{color:var(--tblr-body-color);background:var(--tblr-active-bg);border-color:transparent}.btn-action.show{color:var(--tblr-primary)}.btn-actions{display:flex}.btn-animate-icon .icon{transition:transform .3s ease}.btn-animate-icon:hover .icon,.btn-animate-icon:focus-visible .icon{transform:translate(4px)}.btn-animate-icon.btn-animate-icon-rotate:hover .icon,.btn-animate-icon.btn-animate-icon-rotate:focus-visible .icon{transform:rotate(90deg)}.btn-animate-icon.btn-animate-icon-move-start:hover .icon,.btn-animate-icon.btn-animate-icon-move-start:focus-visible .icon{transform:translate(-4px)}.btn-animate-icon.btn-animate-icon-pulse:hover .icon,.btn-animate-icon.btn-animate-icon-pulse:focus-visible .icon{transform:none;animation:pulse .9s}.btn-animate-icon.btn-animate-icon-shake:hover .icon,.btn-animate-icon.btn-animate-icon-shake:focus-visible .icon{transform:none;animation:shake .9s}.btn-animate-icon.btn-animate-icon-tada:hover .icon,.btn-animate-icon.btn-animate-icon-tada:focus-visible .icon{transform:none;animation:tada .9s}.btn-group,.btn-group-vertical{box-shadow:var(--tblr-shadow-input)}.btn-group>.btn-check:checked+.btn,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:5}.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus{z-index:1}.calendar{display:block;font-size:.765625rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.calendar-nav{display:flex;align-items:center}.calendar-title{flex:1;text-align:center}.calendar-body,.calendar-header{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:.5rem 0}.calendar-header{color:var(--tblr-secondary)}.calendar-date{flex:0 0 14.2857142857%;max-width:14.2857142857%;padding:.2rem;text-align:center;border:0}.calendar-date.prev-month,.calendar-date.next-month{opacity:.25}.calendar-date .date-item{position:relative;display:inline-block;width:1.4rem;height:1.4rem;line-height:1.4rem;color:#66758c;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;background:0 0;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:100rem;outline:0;transition:background .3s,border .3s,box-shadow .32s,color .3s}@media(prefers-reduced-motion:reduce){.calendar-date .date-item{transition:none}}.calendar-date .date-item:hover{color:var(--tblr-primary);text-decoration:none;background:#fefeff;border-color:var(--tblr-border-color)}.calendar-date .date-today{color:var(--tblr-primary);border-color:var(--tblr-border-color)}.calendar-range{position:relative}.calendar-range:before{position:absolute;top:50%;right:0;left:0;height:1.4rem;content:"";background:rgba(var(--tblr-primary-rgb),.1);transform:translateY(-50%)}.calendar-range.range-start .date-item,.calendar-range.range-end .date-item{color:#fff;background:var(--tblr-primary);border-color:var(--tblr-primary)}.calendar-range.range-start:before{left:50%}.calendar-range.range-end:before{right:50%}.carousel-indicators-vertical{left:auto;top:0;margin:0 1rem 0 0;flex-direction:column}.carousel-indicators-vertical [data-bs-target]{margin:3px 0;width:3px;height:30px;border:0;border-left:10px var(--tblr-border-style) transparent;border-right:10px var(--tblr-border-style) transparent}.carousel-indicators-dot [data-bs-target]{width:.5rem;height:.5rem;border-radius:100rem;border:10px var(--tblr-border-style) transparent;margin:0}.carousel-indicators-thumb [data-bs-target]{width:2rem;height:auto;background:no-repeat center/cover;border:0;border-radius:var(--tblr-border-radius);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px;margin:0 3px;opacity:.75}@media(min-width:992px){.carousel-indicators-thumb [data-bs-target]{width:4rem}}.carousel-indicators-thumb [data-bs-target]:before{content:"";padding-top:var(--tblr-aspect-ratio, 100%);display:block}.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target]{margin:3px 0}.carousel-caption-background{background:red;position:absolute;left:0;right:0;bottom:0;height:90%;background:linear-gradient(0deg,#1f2937e6,#1f293700)}.card{transition:transform .3s ease-out,opacity .3s ease-out,box-shadow .3s ease-out}@media(prefers-reduced-motion:reduce){.card{transition:none}}@media print{.card{border:none;box-shadow:none}}a.card{color:inherit}a.card:hover{text-decoration:none;box-shadow:rgba(var(--tblr-body-color-rgb),.16) 0 2px 16px}.card .card{box-shadow:none}.card-borderless,.card-borderless .card-header,.card-borderless .card-footer{border-color:transparent}.card-stamp{--tblr-stamp-size: 7rem;position:absolute;top:0;right:0;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);max-height:100%;border-top-right-radius:6px;opacity:.2;overflow:hidden;pointer-events:none}.card-stamp-lg{--tblr-stamp-size: 13rem}.card-stamp-icon{background:var(--tblr-secondary);color:var(--tblr-card-bg, var(--tblr-bg-surface));display:flex;align-items:center;justify-content:center;border-radius:100rem;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);position:relative;top:calc(var(--tblr-stamp-size) * -.25);right:calc(var(--tblr-stamp-size) * -.25);font-size:calc(var(--tblr-stamp-size) * .75);transform:rotate(10deg)}.card-stamp-icon .icon{stroke-width:2;width:calc(var(--tblr-stamp-size) * .75);height:calc(var(--tblr-stamp-size) * .75)}.card-img,.card-img-start{border-top-left-radius:calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));border-bottom-left-radius:calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)))}.card-img,.card-img-end{border-top-right-radius:calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));border-bottom-right-radius:calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)))}.card-img-overlay{display:flex;flex-direction:column;justify-content:flex-end}.card-img-overlay-dark{background-image:linear-gradient(180deg,#0000,#0009)}.card-inactive{pointer-events:none;box-shadow:none}.card-inactive .card-body{opacity:.64}.card-active{--tblr-card-border-color: var(--tblr-primary);--tblr-card-bg: var(--tblr-active-bg)}.card-btn{display:flex;align-items:center;justify-content:center;padding:1rem 1.25rem;text-align:center;transition:background .3s;border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);flex:1;color:inherit;font-weight:var(--tblr-font-weight-medium)}@media(prefers-reduced-motion:reduce){.card-btn{transition:none}}.card-btn:hover{text-decoration:none;background:rgba(var(--tblr-primary-rgb),.04)}.card-btn+.card-btn{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-stacked{--tblr-card-stacked-offset: .25rem;position:relative}.card-stacked:after{position:absolute;top:calc(-1 * var(--tblr-card-stacked-offset));right:var(--tblr-card-stacked-offset);left:var(--tblr-card-stacked-offset);height:var(--tblr-card-stacked-offset);content:"";background:var(--tblr-card-bg, var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-cover{position:relative;padding:1rem 1.25rem;background:#666 no-repeat center/cover}.card-cover:before{position:absolute;inset:0;content:"";background:#1f29377a}.card-cover:first-child,.card-cover:first-child:before{border-radius:6px 6px 0 0}.card-cover-blurred:before{backdrop-filter:blur(2px)}.card-actions{margin:-.5rem -.5rem -.5rem auto;padding-left:.5rem}.card-actions a{text-decoration:none}.card-header{color:inherit;display:flex;align-items:center;background:transparent}.card-header:first-child{border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-light{border-bottom-color:transparent;background:var(--tblr-bg-surface-tertiary)}.card-header-tabs{background:var(--tblr-bg-surface-tertiary);flex:1;margin:calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1);padding:calc(var(--tblr-card-cap-padding-y) * .5) calc(var(--tblr-card-cap-padding-x) * .5) 0;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-pills{flex:1;margin-top:-.5rem;margin-bottom:-.5rem}.card-rotate-left,.card-rotate-start{transform:rotate(-1.5deg)}.card-rotate-right,.card-rotate-end{transform:rotate(1.5deg)}.card-link{color:inherit}.card-link:hover{color:inherit;text-decoration:none;box-shadow:0 1px 6px #00000014}.card-link-rotate:hover{transform:rotate(1.5deg);opacity:1}.card-link-pop:hover{transform:translateY(-2px);opacity:1}.card-footer{margin-top:auto}.card-footer:last-child{border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-footer-transparent{background:transparent;border-color:transparent;padding-top:0}.card-footer-borderless{border-top:none}.card-progress{height:.25rem}.card-progress:last-child{border-radius:0 0 2px 2px}.card-progress:first-child{border-radius:2px 2px 0 0}.card-meta{color:var(--tblr-secondary)}.card-title{display:block;margin:0 0 1rem;font-size:1rem;font-weight:var(--tblr-font-weight-medium);color:inherit;line-height:1.5rem}a.card-title:hover{color:inherit}.card-header .card-title{margin:0}.card-subtitle{margin-bottom:1.25rem;color:var(--tblr-secondary);font-weight:400}.card-header .card-subtitle{margin:0}.card-title .card-subtitle{margin:0 0 0 .25rem;font-size:.875rem}.card-body{position:relative}.card-body>:last-child{margin-bottom:0}.card-sm>.card-body{padding:1rem}@media(min-width:768px){.card-md>.card-body{padding:2.5rem}}@media(min-width:768px){.card-lg>.card-body{padding:2rem}}@media(min-width:992px){.card-lg>.card-body{padding:4rem}}@media print{.card-body{padding:0}}.card-body+.card-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-body-scrollable{overflow:auto}.card-options{top:1.5rem;right:.75rem;display:flex;margin-left:auto}.card-options-link{display:inline-block;min-width:1rem;margin-left:.25rem;color:var(--tblr-secondary)}.card-status-top{position:absolute;top:0;right:0;left:0;height:2px;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-status-start{position:absolute;right:auto;bottom:0;width:2px;height:100%;border-radius:var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius)}.card-status-bottom{position:absolute;top:initial;bottom:0;width:100%;height:2px;border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-table{margin-bottom:0!important}.card-table tr td:first-child,.card-table tr th:first-child{padding-left:1.25rem;border-left:0}.card-table tr td:last-child,.card-table tr th:last-child{padding-right:1.25rem;border-right:0}.card-table thead tr:first-child,.card-table tbody tr:first-child,.card-table tfoot tr:first-child,.card-table thead tr:first-child td,.card-table thead tr:first-child th,.card-table tbody tr:first-child td,.card-table tbody tr:first-child th,.card-table tfoot tr:first-child td,.card-table tfoot tr:first-child th{border-top:0}.card-body+.card-table{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color)}.card-code{padding:0}.card-code .highlight{margin:0;border:0}.card-code pre{margin:0!important;border:0!important}.card-chart{position:relative;z-index:1;height:3.5rem}.card-avatar{margin-left:auto;margin-right:auto;box-shadow:0 0 0 .25rem var(--tblr-card-bg, var(--tblr-bg-surface));margin-top:calc(-1 * var(--tblr-avatar-size) * .5)}.card-body+.card-list-group{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-list-group .list-group-item{padding-right:1.25rem;padding-left:1.25rem;border-right:0;border-left:0;border-radius:0}.card-list-group .list-group-item:last-child{border-bottom:0}.card-list-group .list-group-item:first-child{border-top:0}.card-tabs .nav-tabs{position:relative;z-index:1000;border-bottom:0}.card-tabs .nav-tabs .nav-link{background:var(--tblr-bg-surface-tertiary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.card-tabs .nav-tabs .nav-link.active,.card-tabs .nav-tabs .nav-link:active,.card-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color-translucent);color:var(--tblr-body-color)}.card-tabs .nav-tabs .nav-link.active{color:inherit;background:var(--tblr-card-bg, var(--tblr-bg-surface));border-bottom-color:transparent}.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link{border-top-left-radius:0}.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link{border-top-right-radius:0}.card-tabs .nav-tabs .nav-item+.nav-item{margin-left:calc(-1 * var(--tblr-border-width))}.card-tabs .nav-tabs-bottom,.card-tabs .nav-tabs-bottom .nav-link{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link.active{border-top-color:transparent}.card-tabs .nav-tabs-bottom .nav-item{margin-top:calc(-1 * var(--tblr-border-width));margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-item .nav-link{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:0 0 var(--tblr-border-radius-lg) var(--tblr-border-radius-lg)}.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link{border-bottom-left-radius:0}.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link{border-bottom-right-radius:0}.card-tabs .card{border-bottom-left-radius:0}.card-tabs .nav-tabs+.tab-content .card{border-bottom-left-radius:var(--tblr-card-border-radius);border-top-left-radius:0}.card-note{--tblr-card-bg: #fff7dd;--tblr-card-border-color: #fff1c9}.btn-close{--tblr-btn-close-color: currentColor;--tblr-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f2937'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--tblr-btn-close-opacity: .4;--tblr-btn-close-hover-opacity: .75;--tblr-btn-close-focus-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25);--tblr-btn-close-focus-opacity: 1;--tblr-btn-close-disabled-opacity: .25;--tblr-btn-close-size: 1em;width:var(--tblr-btn-close-size);height:var(--tblr-btn-close-size);padding:.25em;color:var(--tblr-btn-close-color);mask:var(--tblr-btn-close-bg) no-repeat center/calc(var(--tblr-btn-close-size) * .75);background-color:var(--tblr-btn-close-color);border:0;border-radius:var(--tblr-border-radius);opacity:var(--tblr-btn-close-opacity);cursor:pointer;display:block}.btn-close:hover{color:var(--tblr-btn-close-color);text-decoration:none;opacity:var(--tblr-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--tblr-btn-close-focus-shadow);opacity:var(--tblr-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:var(--tblr-btn-close-disabled-opacity)}.dropdown-menu{user-select:none;background-clip:border-box}.dropdown-menu.card{padding:0;min-width:25rem;display:none}.dropdown-menu.card.show{display:flex}.dropdown-item{min-width:11rem;display:flex;align-items:center;margin:0;line-height:1.4285714286;gap:.5rem}.dropdown-item-icon{width:1.25rem!important;height:1.25rem!important;margin-right:.5rem;color:var(--tblr-secondary);opacity:.7;text-align:center}.dropdown-item-indicator{margin-right:.5rem;margin-left:-.25rem;height:1.25rem;display:inline-flex;line-height:1;vertical-align:bottom;align-items:center}.dropdown-header{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);padding-bottom:.25rem;pointer-events:none}.dropdown-menu-scrollable{height:auto;max-height:13rem;overflow-x:hidden}.dropdown-menu-column{min-width:11rem}.dropdown-menu-column .dropdown-item{min-width:0}.dropdown-menu-columns{display:flex;flex:0 .25rem}.dropdown-menu-arrow:before{content:"";position:absolute;top:-.25rem;left:.75rem;display:block;background:inherit;width:14px;height:14px;transform:rotate(45deg);transform-origin:center;border:1px solid;border-color:inherit;z-index:-1;clip:rect(0px,9px,9px,0px)}.dropdown-menu-arrow.dropdown-menu-end:before{right:.75rem;left:auto}.dropend>.dropdown-menu{margin-top:calc(-.25rem - 1px);margin-left:-.25rem}.dropend .dropdown-toggle:after{margin-left:auto}.dropdown-menu-card{padding:0;min-width:20rem}.dropdown-menu-card>.card{margin:0;border:0;box-shadow:none}.datagrid{--tblr-datagrid-padding: 1.5rem;--tblr-datagrid-item-width: 15rem;display:grid;grid-gap:var(--tblr-datagrid-padding);grid-template-columns:repeat(auto-fit,minmax(var(--tblr-datagrid-item-width),1fr))}.datagrid-title{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);margin-bottom:.25rem}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;text-align:center}@media(min-width:768px){.empty{padding:3rem}}.empty-icon{margin:0 0 1rem;width:3rem;height:3rem;line-height:1;color:var(--tblr-secondary)}.empty-icon svg{width:100%;height:100%}.empty-img{margin:0 0 2rem;line-height:1}.empty-header{margin:0 0 1rem;font-size:4rem;font-weight:var(--tblr-font-weight-light);line-height:1;color:var(--tblr-secondary)}.empty-title{font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold)}.empty-title,.empty-subtitle{margin:0 0 .5rem}.empty-action{margin-top:1.5rem}.empty-bordered{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.row>*{min-width:0}.col-separator{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.container-slim{--tblr-gutter-x: calc(var(--tblr-page-padding) * 2);--tblr-gutter-y: 0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:16rem}.container-tight{--tblr-gutter-x: calc(var(--tblr-page-padding) * 2);--tblr-gutter-y: 0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:30rem}.container-narrow{--tblr-gutter-x: calc(var(--tblr-page-padding) * 2);--tblr-gutter-y: 0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:61.875rem}.row-0{margin-right:0;margin-left:0}.row-0>.col,.row-0>[class*=col-]{padding-right:0;padding-left:0}.row-0 .card{margin-bottom:0}.row-sm{margin-right:-.375rem;margin-left:-.375rem}.row-sm>.col,.row-sm>[class*=col-]{padding-right:.375rem;padding-left:.375rem}.row-sm .card{margin-bottom:.75rem}.row-md{margin-right:-1.5rem;margin-left:-1.5rem}.row-md>.col,.row-md>[class*=col-]{padding-right:1.5rem;padding-left:1.5rem}.row-md .card{margin-bottom:3rem}.row-lg{margin-right:-3rem;margin-left:-3rem}.row-lg>.col,.row-lg>[class*=col-]{padding-right:3rem;padding-left:3rem}.row-lg .card{margin-bottom:6rem}.row-deck>.col,.row-deck>[class*=col-]{display:flex;align-items:stretch}.row-deck>.col .card,.row-deck>[class*=col-] .card{flex:1 1 auto}.row-cards{--tblr-gutter-x: var(--tblr-page-padding);--tblr-gutter-y: var(--tblr-page-padding);min-width:0}.row-cards .row-cards{flex:1}.space-y{display:flex;flex-direction:column;gap:1rem}.space-x{display:flex;gap:1rem}.space-y-0{display:flex;flex-direction:column;gap:0}.space-x-0{display:flex;gap:0}.space-y-1{display:flex;flex-direction:column;gap:.25rem}.space-x-1{display:flex;gap:.25rem}.space-y-2{display:flex;flex-direction:column;gap:.5rem}.space-x-2{display:flex;gap:.5rem}.space-y-3{display:flex;flex-direction:column;gap:1rem}.space-x-3{display:flex;gap:1rem}.space-y-4{display:flex;flex-direction:column;gap:1.5rem}.space-x-4{display:flex;gap:1.5rem}.space-y-5{display:flex;flex-direction:column;gap:2rem}.space-x-5{display:flex;gap:2rem}.space-y-6{display:flex;flex-direction:column;gap:2.5rem}.space-x-6{display:flex;gap:2.5rem}.divide-y>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y>:not(template):not(:first-child){padding-top:1rem!important}.divide-y>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x>:not(template):not(:first-child){padding-left:1rem!important}.divide-x>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-0>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-0>:not(template):not(:first-child){padding-top:0!important}.divide-y-0>:not(template):not(:last-child){padding-bottom:0!important}.divide-x-0>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-0>:not(template):not(:first-child){padding-left:0!important}.divide-x-0>:not(template):not(:last-child){padding-right:0!important}.divide-y-1>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-1>:not(template):not(:first-child){padding-top:.25rem!important}.divide-y-1>:not(template):not(:last-child){padding-bottom:.25rem!important}.divide-x-1>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-1>:not(template):not(:first-child){padding-left:.25rem!important}.divide-x-1>:not(template):not(:last-child){padding-right:.25rem!important}.divide-y-2>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-2>:not(template):not(:first-child){padding-top:.5rem!important}.divide-y-2>:not(template):not(:last-child){padding-bottom:.5rem!important}.divide-x-2>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-2>:not(template):not(:first-child){padding-left:.5rem!important}.divide-x-2>:not(template):not(:last-child){padding-right:.5rem!important}.divide-y-3>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-3>:not(template):not(:first-child){padding-top:1rem!important}.divide-y-3>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x-3>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-3>:not(template):not(:first-child){padding-left:1rem!important}.divide-x-3>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-4>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-4>:not(template):not(:first-child){padding-top:1.5rem!important}.divide-y-4>:not(template):not(:last-child){padding-bottom:1.5rem!important}.divide-x-4>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-4>:not(template):not(:first-child){padding-left:1.5rem!important}.divide-x-4>:not(template):not(:last-child){padding-right:1.5rem!important}.divide-y-5>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-5>:not(template):not(:first-child){padding-top:2rem!important}.divide-y-5>:not(template):not(:last-child){padding-bottom:2rem!important}.divide-x-5>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-5>:not(template):not(:first-child){padding-left:2rem!important}.divide-x-5>:not(template):not(:last-child){padding-right:2rem!important}.divide-y-6>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-y-6>:not(template):not(:first-child){padding-top:2.5rem!important}.divide-y-6>:not(template):not(:last-child){padding-bottom:2.5rem!important}.divide-x-6>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)!important}.divide-x-6>:not(template):not(:first-child){padding-left:2.5rem!important}.divide-x-6>:not(template):not(:last-child){padding-right:2.5rem!important}.divide-y-fill{display:flex;flex-direction:column;height:100%}.divide-y-fill>:not(template){flex:1;display:flex;justify-content:center;flex-direction:column}.icon{--tblr-icon-size: 1.25rem;width:var(--tblr-icon-size);height:var(--tblr-icon-size);font-size:var(--tblr-icon-size);vertical-align:bottom;stroke-width:1.5}.icon:hover{text-decoration:none}.icon-inline{--tblr-icon-size: 1rem;vertical-align:-.2rem}.icon-filled{fill:currentColor}.icon-sm{--tblr-icon-size: 1rem;stroke-width:1}.icon-md{--tblr-icon-size: 2.5rem;stroke-width:1}.icon-lg{--tblr-icon-size: 3.5rem;stroke-width:1}.icon-pulse{transition:all .15s ease 0s;animation:pulse 2s ease infinite;animation-fill-mode:both}.icon-tada{transition:all .15s ease 0s;animation:tada 3s ease infinite;animation-fill-mode:both}.icon-rotate{transition:all .15s ease 0s;animation:rotate-360 3s linear infinite;animation-fill-mode:both}.img-responsive{--tblr-img-responsive-ratio: 75%;background:no-repeat center/cover;padding-top:var(--tblr-img-responsive-ratio)}.img-responsive-grid{padding-top:calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y) / 2)}.img-responsive-1x1{--tblr-img-responsive-ratio: 100%}.img-responsive-2x1{--tblr-img-responsive-ratio: 50%}.img-responsive-1x2{--tblr-img-responsive-ratio: 200%}.img-responsive-3x1{--tblr-img-responsive-ratio: 33.3333333333%}.img-responsive-1x3{--tblr-img-responsive-ratio: 300%}.img-responsive-4x1{--tblr-img-responsive-ratio: 25%}.img-responsive-1x4{--tblr-img-responsive-ratio: 400%}.img-responsive-4x3{--tblr-img-responsive-ratio: 75%}.img-responsive-3x4{--tblr-img-responsive-ratio: 133.3333333333%}.img-responsive-16x9{--tblr-img-responsive-ratio: 56.25%}.img-responsive-9x16{--tblr-img-responsive-ratio: 177.7777777778%}.img-responsive-21x9{--tblr-img-responsive-ratio: 42.8571428571%}.img-responsive-9x21{--tblr-img-responsive-ratio: 233.3333333333%}.img-bg{background:no-repeat center/cover}textarea[cols]{height:auto}.col-form-label,.form-label{display:block;font-weight:var(--tblr-font-weight-medium)}.col-form-label.required:after,.form-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-label-description{float:right;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-secondary)}.form-hint{display:block;color:var(--tblr-secondary)}.form-hint:last-child{margin-bottom:0}.form-hint+.form-control{margin-top:.25rem}.form-label+.form-hint{margin-top:-.25rem}.input-group+.form-hint,.form-control+.form-hint,.form-select+.form-hint{margin-top:.5rem;color:var(--tblr-secondary)}.form-select:-moz-focusring{color:var(--tblr-body-color)}.form-control:-webkit-autofill{box-shadow:0 0 0 1000px var(--tblr-bg-surface-secondary) inset;color:var(--tblr-body-color);-webkit-text-fill-color:var(--tblr-body-color)}.form-control:disabled,.form-control.disabled{color:var(--tblr-secondary);user-select:none}.form-control[size]{width:auto}.form-control-light{background-color:var(--tblr-gray-100);border-color:transparent}.form-control-dark{background-color:#0000001a;color:#fff;border-color:transparent}.form-control-dark:focus{background-color:#0000001a;box-shadow:none;border-color:#ffffff3d}.form-control-dark::placeholder{color:#fff9}.form-control-rounded{border-radius:10rem}.form-control-flush{padding:0;background:none!important;border-color:transparent!important;resize:none;box-shadow:none!important;line-height:inherit}.form-footer{margin-top:2rem}.form-fieldset{padding:1rem;margin-bottom:1rem;background:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}fieldset:empty{display:none}.form-help{display:inline-flex;font-weight:var(--tblr-font-weight-bold);align-items:center;justify-content:center;width:1.125rem;height:1.125rem;font-size:.75rem;color:var(--tblr-secondary);text-align:center;text-decoration:none;cursor:pointer;user-select:none;background:var(--tblr-gray-100);border-radius:100rem;transition:background-color .3s,color .3s}@media(prefers-reduced-motion:reduce){.form-help{transition:none}}.form-help:hover,.form-help[aria-describedby]{color:#fff;background:var(--tblr-primary)}.input-group{box-shadow:var(--tblr-shadow-input);border-radius:var(--tblr-border-radius)}.input-group .form-control,.input-group .btn{box-shadow:none}.input-group-link{font-size:.75rem}.input-group-flat:focus-within{box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25);border-radius:var(--tblr-border-radius)}.input-group-flat:focus-within .form-control,.input-group-flat:focus-within .input-group-text{border-color:#80c2be!important}.input-group-flat .form-control:focus{border-color:var(--tblr-border-color);box-shadow:none}.input-group-flat .form-control:not(:last-child){border-right:0}.input-group-flat .form-control:not(:first-child){border-left:0}.input-group-flat .input-group-text{background:var(--tblr-bg-forms);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.input-group-flat .input-group-text{transition:none}}.input-group-flat .input-group-text:first-child{padding-right:0}.input-group-flat .input-group-text:last-child{padding-left:0}.form-file-button{margin-left:0;border-left:0}label[for=floating-input]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:575.98px){.form-control,.form-select{font-size:1rem}}.input-icon{position:relative}.input-icon .form-control:not(:last-child),.input-icon .form-select:not(:last-child){padding-right:2.5rem}.input-icon .form-control:not(:first-child),.input-icon .form-select:not(:last-child){padding-left:2.5rem}.input-icon-addon{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;color:var(--tblr-icon-color);pointer-events:none;font-size:1.2em}.input-icon-addon:last-child{right:0;left:auto}.form-colorinput{position:relative;display:inline-block;margin:0;line-height:1;cursor:pointer}.form-colorinput-input{position:absolute;z-index:-1;opacity:0}.form-colorinput-color{display:block;width:1.5rem;height:1.5rem;color:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:var(--tblr-border-radius);box-shadow:0 1px 2px #0000000d}.form-colorinput-color:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";background:no-repeat center center/1.25rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");opacity:0;transition:opacity .3s}@media(prefers-reduced-motion:reduce){.form-colorinput-color:before{transition:none}}.form-colorinput-input:checked~.form-colorinput-color:before{opacity:1}.form-colorinput-input:focus~.form-colorinput-color{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-colorinput-light .form-colorinput-color:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%231f2937' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-imagecheck{--tblr-form-imagecheck-radius: var(--tblr-border-radius);position:relative;margin:0;cursor:pointer}.form-imagecheck-input{position:absolute;z-index:-1;opacity:0}.form-imagecheck-figure{position:relative;display:block;margin:0;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-form-imagecheck-radius)}.form-imagecheck-input:focus~.form-imagecheck-figure{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-imagecheck-input:checked~.form-imagecheck-figure{border-color:var(--tblr-primary)}.form-imagecheck-figure:before{position:absolute;top:.25rem;left:.25rem;z-index:1;display:block;width:1.25rem;height:1.25rem;color:#fff;pointer-events:none;content:"";user-select:none;background:var(--tblr-bg-forms);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:opacity .3s}@media(prefers-reduced-motion:reduce){.form-imagecheck-figure:before{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure:before{background-color:var(--tblr-primary);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");background-repeat:repeat;background-position:center;background-size:1.25rem;border-color:var(--tblr-border-color-translucent)}.form-imagecheck-input[type=radio]~.form-imagecheck-figure:before{border-radius:50%}.form-imagecheck-input[type=radio]:checked~.form-imagecheck-figure:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-imagecheck-image{max-width:100%;display:block;opacity:.64;transition:opacity .3s}@media(prefers-reduced-motion:reduce){.form-imagecheck-image{transition:none}}.form-imagecheck-image:first-child{border-top-left-radius:calc(var(--tblr-form-imagecheck-radius) - 1px);border-top-right-radius:calc(var(--tblr-form-imagecheck-radius) - 1px)}.form-imagecheck-image:last-child{border-bottom-right-radius:calc(var(--tblr-form-imagecheck-radius) - 1px);border-bottom-left-radius:calc(var(--tblr-form-imagecheck-radius) - 1px)}.form-imagecheck:hover .form-imagecheck-image,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-image{opacity:1}.form-imagecheck-caption{padding:.25rem;font-size:.765625rem;color:var(--tblr-secondary);text-align:center;transition:color .3s}@media(prefers-reduced-motion:reduce){.form-imagecheck-caption{transition:none}}.form-imagecheck:hover .form-imagecheck-caption,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-caption{color:var(--tblr-body-color)}.form-selectgroup{display:inline-flex;margin:0 -.5rem -.5rem 0;flex-wrap:wrap}.form-selectgroup .form-selectgroup-item{margin:0 .5rem .5rem 0}.form-selectgroup-vertical{flex-direction:column}.form-selectgroup-item{display:block;position:relative}.form-selectgroup-input{position:absolute;top:0;left:0;z-index:-1;opacity:0}.form-selectgroup-label{position:relative;display:block;min-width:calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));margin:0;padding:.5625rem 1rem;font-size:.875rem;line-height:1.25rem;color:var(--tblr-secondary);background:var(--tblr-bg-forms);text-align:center;cursor:pointer;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-shadow-input);transition:border-color .3s,background .3s,color .3s}@media(prefers-reduced-motion:reduce){.form-selectgroup-label{transition:none}}.form-selectgroup-label .icon:only-child{margin:0 -.25rem}.form-selectgroup-label:hover{color:var(--tblr-body-color)}.form-selectgroup-check{display:inline-block;width:1.25rem;height:1.25rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);vertical-align:middle;box-shadow:var(--tblr-shadow-input)}.form-selectgroup-input[type=checkbox]+.form-selectgroup-label .form-selectgroup-check{border-radius:var(--tblr-border-radius)}.form-selectgroup-input[type=radio]+.form-selectgroup-label .form-selectgroup-check{border-radius:50%}.form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-check{background-color:var(--tblr-primary);background-repeat:repeat;background-position:center;background-size:1.25rem;border-color:var(--tblr-border-color-translucent)}.form-selectgroup-input[type=checkbox]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-selectgroup-input[type=radio]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-selectgroup-check-floated{position:absolute;top:.5625rem;right:.5625rem}.form-selectgroup-input:checked+.form-selectgroup-label{z-index:1;color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.04);border-color:var(--tblr-primary)}.form-selectgroup-input:focus+.form-selectgroup-label{z-index:2;color:var(--tblr-primary);border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.form-selectgroup-boxes .form-selectgroup-label{text-align:left;padding:1.25rem 1rem;color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label{color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-title{color:var(--tblr-primary)}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-label-content{opacity:1}.form-selectgroup-pills{flex-wrap:wrap;align-items:flex-start}.form-selectgroup-pills .form-selectgroup-item{flex-grow:0}.form-selectgroup-pills .form-selectgroup-label{border-radius:50px}.form-control-color::-webkit-color-swatch{border:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.form-control::file-selector-button{background-color:var(--tblr-btn-color, var(--tblr-tertiary-bg))}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-btn-color, var(--tblr-secondary-bg))}.form-check{user-select:none}.form-check.form-check-highlight .form-check-input:not(:checked)~.form-check-label{color:var(--tblr-secondary)}.form-check .form-check-label-off{color:var(--tblr-secondary)}.form-check .form-check-input:checked~.form-check-label-off{display:none}.form-check .form-check-input:not(:checked)~.form-check-label-on{display:none}.form-check-input{background-size:1.25rem;margin-top:0rem;box-shadow:var(--tblr-shadow-input)}.form-switch .form-check-input{transition:background-color .3s,background-position .3s}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-check-label{display:block}.form-check-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-check-description{display:block;color:var(--tblr-secondary);font-size:.75rem;margin-top:.25rem}.form-check-single,.form-check-single .form-check-input{margin:0}.form-switch .form-check-input{height:1.25rem;margin-top:0rem}.form-switch-lg{padding-left:3.5rem;min-height:1.5rem}.form-switch-lg .form-check-input{height:1.5rem;width:2.75rem;background-size:1.5rem;margin-left:-3.5rem}.form-switch-lg .form-check-label{padding-top:.125rem}.form-check-input:checked{border:none}.form-select.is-invalid-lite,.form-control.is-invalid-lite,.form-select.is-valid-lite,.form-control.is-valid-lite{border-color:var(--tblr-border-color)!important}.legend{--tblr-legend-size: .75em;display:inline-block;background:var(--tblr-border-color);width:var(--tblr-legend-size);height:var(--tblr-legend-size);border-radius:var(--tblr-border-radius-sm);border:1px solid var(--tblr-border-color-translucent)}.list-group{margin-left:0;margin-right:0}.list-group-header{background:var(--tblr-bg-surface-tertiary);padding:.5rem 1.25rem;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);line-height:1;text-transform:uppercase;color:var(--tblr-gray-500);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-group-flush>.list-group-header:last-child{border-bottom-width:0}.list-group-item{background-color:inherit}.list-group-item.active{background-color:rgba(var(--tblr-secondary-rgb),.08);border-left-color:#00857d;border-left-width:2px}.list-group-item.disabled,.list-group-item:disabled{color:#6b7280;background-color:rgba(var(--tblr-secondary-rgb),.08)}.list-bordered .list-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);margin-top:-1px}.list-bordered .list-item:first-child{border-top:none}.list-group-hoverable .list-group-item:active,.list-group-hoverable .list-group-item:focus,.list-group-hoverable .list-group-item:hover{background-color:rgba(var(--tblr-secondary-rgb),.08)}.list-group-hoverable .list-group-item-actions{opacity:0;transition:opacity .3s}@media(prefers-reduced-motion:reduce){.list-group-hoverable .list-group-item-actions{transition:none}}.list-group-hoverable .list-group-item:hover .list-group-item-actions,.list-group-hoverable .list-group-item-actions.show{opacity:1}.list-group-transparent{--tblr-list-group-border-radius: 0;margin:0 -1.25rem}.list-group-transparent .list-group-item{background:none;border:0}.list-group-transparent .list-group-item .icon{color:var(--tblr-secondary)}.list-group-transparent .list-group-item.active{font-weight:var(--tblr-font-weight-bold);color:inherit;background:var(--tblr-active-bg)}.list-group-transparent .list-group-item.active .icon{color:inherit}.list-separated{display:flex;flex-direction:column;gap:1rem}.list-inline{margin:0}.list-inline-item:not(:last-child){margin-right:auto;margin-inline-end:.5rem}.list-inline-dots .list-inline-item+.list-inline-item:before{content:" \b7 ";margin-inline-end:.5rem}.loader{position:relative;display:block;width:2.5rem;height:2.5rem;color:#066fd1;vertical-align:middle}.loader:after{position:absolute;top:0;left:0;width:100%;height:100%;content:"";border:1px var(--tblr-border-style);border-color:transparent;border-top-color:currentColor;border-left-color:currentColor;border-radius:100rem;animation:rotate-360 .6s linear;animation-iteration-count:infinite}.dimmer{position:relative}.dimmer .loader{position:absolute;top:50%;right:0;left:0;display:none;margin:0 auto;transform:translateY(-50%)}.dimmer.active .loader{display:block}.dimmer.active .dimmer-content{pointer-events:none;opacity:.1}@keyframes animated-dots{0%{transform:translate(-100%)}}.animated-dots{display:inline-block;overflow:hidden;vertical-align:bottom}.animated-dots:after{display:inline-block;content:"...";animation:animated-dots 1.2s steps(4,jump-none) infinite}.modal-content>.btn-close,.modal-header>.btn-close{position:absolute;top:0;right:0;width:3.5rem;height:3.5rem;margin:0;padding:0;z-index:10}.modal-body{scrollbar-color:color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent) transparent}.modal-body::-webkit-scrollbar{width:1rem;height:1rem;transition:background .3s}@media(prefers-reduced-motion:reduce){.modal-body::-webkit-scrollbar{transition:none}}.modal-body::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent)}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%,transparent)}.modal-body::-webkit-scrollbar-corner{background:transparent}.modal-body .modal-title{margin-bottom:1rem}.modal-body+.modal-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.modal-status{position:absolute;top:0;left:0;right:0;height:2px;background:var(--tblr-secondary);border-radius:var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0}.modal-header{align-items:center;min-height:3.5rem;background:transparent;padding:0 3.5rem 0 1.5rem}.modal-title{font-size:1rem;font-weight:var(--tblr-font-weight-bold);color:inherit;line-height:1.4285714286}.modal-footer{padding-top:.75rem;padding-bottom:.75rem}.modal-blur{backdrop-filter:blur(4px)}.modal-full-width{max-width:none;margin:0 .5rem}.nav{--tblr-nav-link-hover-bg: color-mix(in srgb, var(--tblr-nav-link-color) 4%, transparent)}.nav-vertical,.nav-vertical .nav{flex-direction:column;flex-wrap:nowrap}.nav-vertical .nav{margin-left:1.25rem;border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding-left:.5rem}.nav-vertical .nav-link.active,.nav-vertical .nav-item.show .nav-link{font-weight:var(--tblr-font-weight-bold);color:var(--tblr-nav-link-active-color)}.nav-vertical.nav-pills{margin:0 -.75rem}.nav-bordered{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.nav-bordered .nav-item+.nav-item{margin-left:1.25rem}.nav-bordered .nav-link{padding-left:0;padding-right:0;margin:0 0 calc(-1 * var(--tblr-border-width));border:0;border-bottom:2px var(--tblr-border-style) transparent}.nav-bordered .nav-link:hover{background-color:transparent}.nav-bordered .nav-link.active,.nav-bordered .nav-item.show .nav-link{color:var(--tblr-primary);border-color:var(--tblr-primary)}.nav-underline .nav-link{border-radius:0}.nav-link{display:flex;transition:color .3s,background-color .3s;align-items:center}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{background-color:var(--tblr-nav-link-hover-bg)}.nav-link-toggle{margin-left:auto;padding:0 .25rem;transition:transform .3s}@media(prefers-reduced-motion:reduce){.nav-link-toggle{transition:none}}.nav-link-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px var(--tblr-border-style);border-left:1px var(--tblr-border-style);margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.nav-link-toggle:after{margin:0}.nav-link[aria-expanded=true] .nav-link-toggle{transform:rotate(180deg)}.nav-link-icon{width:1.25rem;height:1.25rem;margin-right:.5rem;color:inherit}.nav-link-icon svg{display:block;height:100%}.nav-fill .nav-item .nav-link{justify-content:center}.stars{display:inline-flex;color:#9ca3af;font-size:.75rem}.stars .star:not(:first-child){margin-left:.25rem}.pagination{margin:0;--tblr-pagination-gap: .25rem;user-select:none;gap:var(--tblr-pagination-gap);line-height:var(--tblr-body-line-height)}.page-link{min-width:2rem;border-radius:var(--tblr-pagination-border-radius)}.page-item:not(.active) .page-link:hover{background:var(--tblr-pagination-hover-bg)}.page-text{padding-left:.5rem;padding-right:.5rem}.page-item{text-align:center}.page-item.page-prev,.page-item.page-next{flex:0 0 50%;text-align:left}.page-item.page-next{margin-left:auto;text-align:right}.page-item-subtitle{margin-bottom:2px;font-size:12px;color:var(--tblr-secondary);text-transform:uppercase}.page-item.disabled .page-item-subtitle{color:var(--tblr-disabled-color)}.page-item-title{font-size:1rem;font-weight:var(--tblr-font-weight-normal);color:var(--tblr-body-color)}.page-link:hover .page-item-title{color:#00857d}.page-item.disabled .page-item-title{color:var(--tblr-disabled-color)}.pagination-outline{--tblr-pagination-border-color: var(--tblr-border-color);--tblr-pagination-disabled-border-color: var(--tblr-border-color);--tblr-pagination-border-width: 1px}.pagination-circle{--tblr-pagination-border-radius: var(--tblr-border-radius-pill)}@keyframes progress-indeterminate{0%{right:100%;left:-35%}to,60%{right:-90%;left:100%}}.progress{position:relative;width:100%;line-height:.5rem;appearance:none}.progress::-webkit-progress-bar{background:var(--tblr-progress-bg)}.progress::-webkit-progress-value{background-color:var(--tblr-primary)}.progress::-moz-progress-bar{background-color:var(--tblr-primary)}.progress::-ms-fill{background-color:var(--tblr-primary);border:none}.progress-sm{height:.25rem}.progress-bar{height:100%}.progress-bar-indeterminate:after,.progress-bar-indeterminate:before{position:absolute;top:0;bottom:0;left:0;content:"";background-color:inherit;will-change:left,right}.progress-bar-indeterminate:before{animation:progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}.progress-separated .progress-bar{box-shadow:0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface))}.progressbg{position:relative;padding:.25rem .5rem;display:flex}.progressbg-text{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progressbg-progress{position:absolute;inset:0;z-index:0;height:100%;background:transparent;pointer-events:none}.progressbg-value{font-weight:var(--tblr-font-weight-medium);margin-left:auto;padding-left:2rem}.ribbon{--tblr-ribbon-margin: .25rem;--tblr-ribbon-border-radius: var(--tblr-border-radius);position:absolute;top:.75rem;right:calc(-1 * var(--tblr-ribbon-margin));z-index:1;padding:.25rem .75rem;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);line-height:1;color:#fff;text-align:center;text-transform:uppercase;background:var(--tblr-primary);border-color:var(--tblr-primary);border-radius:var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);display:inline-flex;align-items:center;justify-content:center;min-height:2rem;min-width:2rem}.ribbon:before{position:absolute;right:0;bottom:100%;width:0;height:0;content:"";filter:brightness(70%);border:calc(var(--tblr-ribbon-margin) * .5) var(--tblr-border-style);border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon.bg-blue{border-color:var(--tblr-blue)}.ribbon.bg-blue-lt{border-color:rgba(var(--tblr-blue-rgb),.1)!important}.ribbon.bg-azure{border-color:var(--tblr-azure)}.ribbon.bg-azure-lt{border-color:rgba(var(--tblr-azure-rgb),.1)!important}.ribbon.bg-indigo{border-color:var(--tblr-indigo)}.ribbon.bg-indigo-lt{border-color:rgba(var(--tblr-indigo-rgb),.1)!important}.ribbon.bg-purple{border-color:var(--tblr-purple)}.ribbon.bg-purple-lt{border-color:rgba(var(--tblr-purple-rgb),.1)!important}.ribbon.bg-pink{border-color:var(--tblr-pink)}.ribbon.bg-pink-lt{border-color:rgba(var(--tblr-pink-rgb),.1)!important}.ribbon.bg-red{border-color:var(--tblr-red)}.ribbon.bg-red-lt{border-color:rgba(var(--tblr-red-rgb),.1)!important}.ribbon.bg-orange{border-color:var(--tblr-orange)}.ribbon.bg-orange-lt{border-color:rgba(var(--tblr-orange-rgb),.1)!important}.ribbon.bg-yellow{border-color:var(--tblr-yellow)}.ribbon.bg-yellow-lt{border-color:rgba(var(--tblr-yellow-rgb),.1)!important}.ribbon.bg-lime{border-color:var(--tblr-lime)}.ribbon.bg-lime-lt{border-color:rgba(var(--tblr-lime-rgb),.1)!important}.ribbon.bg-green{border-color:var(--tblr-green)}.ribbon.bg-green-lt{border-color:rgba(var(--tblr-green-rgb),.1)!important}.ribbon.bg-teal{border-color:var(--tblr-teal)}.ribbon.bg-teal-lt{border-color:rgba(var(--tblr-teal-rgb),.1)!important}.ribbon.bg-cyan{border-color:var(--tblr-cyan)}.ribbon.bg-cyan-lt{border-color:rgba(var(--tblr-cyan-rgb),.1)!important}.ribbon .icon{width:1.25rem;height:1.25rem;font-size:1.25rem}.ribbon-top{top:calc(-1 * var(--tblr-ribbon-margin));right:.75rem;width:2rem;padding:.5rem 0;border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-top:before{top:0;right:100%;bottom:auto;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-top.ribbon-start{right:auto;left:.75rem}.ribbon-top.ribbon-start:before{top:0;right:100%;left:auto}.ribbon-start{right:auto;left:calc(-1 * var(--tblr-ribbon-margin));border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-start:before{top:auto;bottom:100%;left:0;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-bottom{top:auto;bottom:.75rem}.ribbon-bookmark{padding-left:.25rem;border-radius:0 0 var(--tblr-ribbon-border-radius) 0}.ribbon-bookmark:after{position:absolute;top:0;right:100%;display:block;width:0;height:0;content:"";border:1rem var(--tblr-border-style);border-color:inherit;border-right-width:0;border-left-color:transparent;border-left-width:.5rem}.ribbon-bookmark.ribbon-left{padding-right:.5rem}.ribbon-bookmark.ribbon-left:after{right:auto;left:100%;border-right-color:transparent;border-right-width:.5rem;border-left-width:0}.ribbon-bookmark.ribbon-top{padding-right:0;padding-bottom:.25rem;padding-left:0;border-radius:0 var(--tblr-ribbon-border-radius) 0 0}.ribbon-bookmark.ribbon-top:after{top:100%;right:0;left:0;border-color:inherit;border-width:1rem;border-top-width:0;border-bottom-color:transparent;border-bottom-width:.5rem}.markdown{line-height:2}.markdown>:first-child{margin-top:0}.markdown>:last-child,.markdown>:last-child .highlight{margin-bottom:0}@media(min-width:768px){.markdown>hr,.markdown>.hr{margin-top:3em;margin-bottom:3em}}.markdown>h1,.markdown>.h1,.markdown>h2,.markdown>.h2,.markdown>h3,.markdown>.h3,.markdown>h4,.markdown>.h4,.markdown>h5,.markdown>.h5,.markdown>h6,.markdown>.h6{font-weight:var(--tblr-font-weight-bold)}.markdown>h2,.markdown>.h2,.markdown>h3,.markdown>.h3,.markdown>h4,.markdown>.h4,.markdown>h5,.markdown>.h5,.markdown>h6,.markdown>.h6{margin-top:2.5rem}.markdown>table{font-size:var(--tblr-body-font-size)}.markdown>blockquote{font-size:1rem;margin:1.5rem 0;padding:.5rem 1.5rem}.markdown>img,.markdown>p>img{border-radius:var(--tblr-border-radius);border:1px solid var(--tblr-border-color)}.markdown pre{max-height:20rem}.placeholder:not(.btn):not([class*=bg-]){background-color:currentColor!important}.placeholder:not(.avatar):not([class*=card-img-]){border-radius:var(--tblr-border-radius)}.nav-segmented{--tblr-nav-bg: var(--tblr-bg-surface-tertiary);--tblr-nav-padding: 2px;--tblr-nav-height: 2.5rem;--tblr-nav-gap: .25rem;--tblr-nav-active-bg: var(--tblr-bg-surface);--tblr-nav-font-size: inherit;--tblr-nav-radius: 6px;--tblr-nav-link-disabled-color: var(--tblr-disabled-color);--tblr-nav-link-gap: .25rem;--tblr-nav-link-padding-x: .75rem;--tblr-nav-link-icon-size: 1.25rem;display:inline-flex;flex-wrap:wrap;gap:var(--tblr-nav-gap);padding:var(--tblr-nav-padding);list-style:none;background:var(--tblr-nav-bg);border-radius:calc(var(--tblr-nav-radius) + var(--tblr-nav-padding));box-shadow:inset 0 0 0 1px #0000000a}.nav-segmented .nav-link{display:inline-flex;gap:calc(.25rem + var(--tblr-nav-link-gap));align-items:center;margin:0;font-size:var(--tblr-nav-font-size);min-width:calc(var(--tblr-nav-height) - 2 * var(--tblr-nav-padding));height:calc(var(--tblr-nav-height) - 2 * var(--tblr-nav-padding));padding:0 calc(var(--tblr-nav-link-padding-x) - 2px);border:1px solid transparent;background:transparent;color:var(--tblr-secondary);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .3s,color .3s;border-radius:var(--tblr-nav-radius);flex-grow:1;justify-content:center}.nav-segmented .nav-link:hover,.nav-segmented .nav-link.hover{background:#0000000a;color:var(--tblr-body-color)}.nav-segmented .nav-link.disabled,.nav-segmented .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);cursor:not-allowed}.nav-segmented .nav-link-input:checked+.nav-link,.nav-segmented .nav-link.active{color:var(--tblr-body-color);background:var(--tblr-nav-active-bg);border-color:var(--tblr-border-color)}.nav-segmented .nav-link-input{display:none}.nav-segmented .nav-link-icon{width:var(--tblr-nav-link-icon-size);height:var(--tblr-nav-link-icon-size);margin:0 -.25rem;color:inherit}.nav-segmented-vertical{flex-direction:column}.nav-segmented-vertical .nav-link{justify-content:flex-start}.nav-sm{--tblr-nav-height: 2rem;--tblr-nav-font-size: var(--tblr-font-size-h5);--tblr-nav-radius: 4px;--tblr-nav-link-padding-x: .5rem;--tblr-nav-link-gap: .25rem;--tblr-nav-link-icon-size: 1rem}.nav-lg{--tblr-nav-height: 3rem;--tblr-nav-font-size: var(--tblr-font-size-h3);--tblr-nav-radius: 8px;--tblr-nav-link-padding-x: 1rem;--tblr-nav-link-gap: .5rem;--tblr-nav-link-icon-size: 1.5rem}.steps{--tblr-steps-color: var(--tblr-primary);--tblr-steps-inactive-color: var(--tblr-border-color);--tblr-steps-dot-size: .5rem;--tblr-steps-border-width: 2px;display:flex;flex-wrap:nowrap;width:100%;padding:0;margin:0;list-style:none}.steps-blue{--tblr-steps-color: var(--tblr-blue)}.steps-blue-lt{--tblr-steps-color: var(--tblr-blue-lt)}.steps-azure{--tblr-steps-color: var(--tblr-azure)}.steps-azure-lt{--tblr-steps-color: var(--tblr-azure-lt)}.steps-indigo{--tblr-steps-color: var(--tblr-indigo)}.steps-indigo-lt{--tblr-steps-color: var(--tblr-indigo-lt)}.steps-purple{--tblr-steps-color: var(--tblr-purple)}.steps-purple-lt{--tblr-steps-color: var(--tblr-purple-lt)}.steps-pink{--tblr-steps-color: var(--tblr-pink)}.steps-pink-lt{--tblr-steps-color: var(--tblr-pink-lt)}.steps-red{--tblr-steps-color: var(--tblr-red)}.steps-red-lt{--tblr-steps-color: var(--tblr-red-lt)}.steps-orange{--tblr-steps-color: var(--tblr-orange)}.steps-orange-lt{--tblr-steps-color: var(--tblr-orange-lt)}.steps-yellow{--tblr-steps-color: var(--tblr-yellow)}.steps-yellow-lt{--tblr-steps-color: var(--tblr-yellow-lt)}.steps-lime{--tblr-steps-color: var(--tblr-lime)}.steps-lime-lt{--tblr-steps-color: var(--tblr-lime-lt)}.steps-green{--tblr-steps-color: var(--tblr-green)}.steps-green-lt{--tblr-steps-color: var(--tblr-green-lt)}.steps-teal{--tblr-steps-color: var(--tblr-teal)}.steps-teal-lt{--tblr-steps-color: var(--tblr-teal-lt)}.steps-cyan{--tblr-steps-color: var(--tblr-cyan)}.steps-cyan-lt{--tblr-steps-color: var(--tblr-cyan-lt)}.step-item{position:relative;flex:1 1 0;min-height:1rem;margin-top:0;color:inherit;text-align:center;cursor:default;padding-top:calc(var(--tblr-steps-dot-size))}a.step-item{cursor:pointer}a.step-item:hover{color:inherit}.step-item:after,.step-item:before{background:var(--tblr-steps-color)}.step-item:not(:last-child):after{position:absolute;left:50%;width:100%;content:"";transform:translateY(-50%)}.step-item:after{top:calc(var(--tblr-steps-dot-size) * .5);height:var(--tblr-steps-border-width)}.step-item:before{content:"";position:absolute;top:0;left:50%;z-index:1;box-sizing:content-box;display:flex;align-items:center;justify-content:center;border-radius:100rem;transform:translate(-50%);color:var(--tblr-white);width:var(--tblr-steps-dot-size);height:var(--tblr-steps-dot-size)}.step-item.active{font-weight:var(--tblr-font-weight-bold)}.step-item.active:after{background:var(--tblr-steps-inactive-color)}.step-item.active~.step-item{color:var(--tblr-disabled-color)}.step-item.active~.step-item:after,.step-item.active~.step-item:before{background:var(--tblr-steps-inactive-color)}.steps-counter{--tblr-steps-dot-size: 1.5rem;counter-reset:steps}.steps-counter .step-item{counter-increment:steps}.steps-counter .step-item:before{content:counter(steps)}.steps-vertical{--tblr-steps-dot-offset: 6px;flex-direction:column}.steps-vertical.steps-counter{--tblr-steps-dot-offset: -2px}.steps-vertical .step-item{text-align:left;padding-top:0;padding-left:calc(var(--tblr-steps-dot-size) + 1rem);min-height:auto}.steps-vertical .step-item:not(:first-child){margin-top:1rem}.steps-vertical .step-item:before{top:var(--tblr-steps-dot-offset);left:0;transform:translate(0)}.steps-vertical .step-item:not(:last-child):after{position:absolute;content:"";transform:translate(-50%);top:var(--tblr-steps-dot-offset);left:calc(var(--tblr-steps-dot-size) * .5);width:var(--tblr-steps-border-width);height:calc(100% + 1rem)}@keyframes status-pulsate-main{40%{transform:scale(1.25)}60%{transform:scale(1.25)}}@keyframes status-pulsate-secondary{10%{transform:scale(1)}30%{transform:scale(3)}80%{transform:scale(3)}to{transform:scale(1)}}@keyframes status-pulsate-tertiary{25%{transform:scale(1)}80%{transform:scale(3);opacity:0}to{transform:scale(3);opacity:0}}.status{--tblr-status-height: 1.5rem;--tblr-status-color: #6b7280;--tblr-status-color-rgb: 107, 114, 128;display:inline-flex;align-items:center;height:var(--tblr-status-height);padding:.25rem .75rem;gap:.5rem;color:var(--tblr-status-color);background:rgba(var(--tblr-status-color-rgb),.1);font-size:.875rem;text-transform:none;letter-spacing:normal;border-radius:100rem;font-weight:var(--tblr-font-weight-medium);line-height:1;margin:0}.status .status-dot{background:var(--tblr-status-color)}.status .icon{font-size:1.25rem}.status-lite{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;background:transparent!important;color:var(--tblr-body-color)!important}.status-primary{--tblr-status-color: #00857D;--tblr-status-color-rgb: 0, 133, 125}.status-secondary{--tblr-status-color: #6b7280;--tblr-status-color-rgb: 107, 114, 128}.status-success{--tblr-status-color: #2fb344;--tblr-status-color-rgb: 47, 179, 68}.status-info{--tblr-status-color: #4299e1;--tblr-status-color-rgb: 66, 153, 225}.status-warning{--tblr-status-color: #f59f00;--tblr-status-color-rgb: 245, 159, 0}.status-danger{--tblr-status-color: #d63939;--tblr-status-color-rgb: 214, 57, 57}.status-light{--tblr-status-color: #f9fafb;--tblr-status-color-rgb: 249, 250, 251}.status-dark{--tblr-status-color: #1f2937;--tblr-status-color-rgb: 31, 41, 55}.status-muted{--tblr-status-color: #6b7280;--tblr-status-color-rgb: 107, 114, 128}.status-blue{--tblr-status-color: #066fd1;--tblr-status-color-rgb: 6, 111, 209}.status-azure{--tblr-status-color: #4299e1;--tblr-status-color-rgb: 66, 153, 225}.status-indigo{--tblr-status-color: #4263eb;--tblr-status-color-rgb: 66, 99, 235}.status-purple{--tblr-status-color: #ae3ec9;--tblr-status-color-rgb: 174, 62, 201}.status-pink{--tblr-status-color: #d6336c;--tblr-status-color-rgb: 214, 51, 108}.status-red{--tblr-status-color: #d63939;--tblr-status-color-rgb: 214, 57, 57}.status-orange{--tblr-status-color: #f76707;--tblr-status-color-rgb: 247, 103, 7}.status-yellow{--tblr-status-color: #f59f00;--tblr-status-color-rgb: 245, 159, 0}.status-lime{--tblr-status-color: #74b816;--tblr-status-color-rgb: 116, 184, 22}.status-green{--tblr-status-color: #2fb344;--tblr-status-color-rgb: 47, 179, 68}.status-teal{--tblr-status-color: #0ca678;--tblr-status-color-rgb: 12, 166, 120}.status-cyan{--tblr-status-color: #17a2b8;--tblr-status-color-rgb: 23, 162, 184}.status-dot{--tblr-status-dot-color: var(--tblr-status-color, #6b7280);--tblr-status-size: .5rem;position:relative;display:inline-block;width:var(--tblr-status-size);height:var(--tblr-status-size);background:var(--tblr-status-dot-color);border-radius:100rem}.status-dot-animated:before{content:"";position:absolute;inset:0;z-index:0;background:inherit;border-radius:inherit;opacity:.6;animation:1s linear 2s backwards infinite status-pulsate-tertiary}.status-indicator{--tblr-status-indicator-size: 2.5rem;--tblr-status-indicator-color: var(--tblr-status-color, #6b7280);display:block;position:relative;width:var(--tblr-status-indicator-size);height:var(--tblr-status-indicator-size)}.status-indicator-circle{--tblr-status-circle-size: .75rem;position:absolute;left:50%;top:50%;margin:calc(var(--tblr-status-circle-size) / -2) 0 0 calc(var(--tblr-status-circle-size) / -2);width:var(--tblr-status-circle-size);height:var(--tblr-status-circle-size);border-radius:100rem;background:var(--tblr-status-color)}.status-indicator-circle:nth-child(1){z-index:3}.status-indicator-circle:nth-child(2){z-index:2;opacity:.1}.status-indicator-circle:nth-child(3){z-index:1;opacity:.3}.status-indicator-animated .status-indicator-circle:nth-child(1){animation:2s linear 1s infinite backwards status-pulsate-main}.status-indicator-animated .status-indicator-circle:nth-child(2){animation:2s linear 1s infinite backwards status-pulsate-secondary}.status-indicator-animated .status-indicator-circle:nth-child(3){animation:2s linear 1s infinite backwards status-pulsate-tertiary}.switch-icon{display:inline-block;line-height:1;border:0;padding:0;background:transparent;width:1.25rem;height:1.25rem;vertical-align:bottom;position:relative;cursor:pointer}.switch-icon.disabled{pointer-events:none;opacity:.4}.switch-icon:focus{outline:none}.switch-icon svg{display:block;width:100%;height:100%}.switch-icon .switch-icon-a,.switch-icon .switch-icon-b{display:block;width:100%;height:100%}.switch-icon .switch-icon-a{opacity:1}.switch-icon .switch-icon-b{position:absolute;top:0;left:0;opacity:0}.switch-icon.active .switch-icon-a{opacity:0}.switch-icon.active .switch-icon-b{opacity:1}.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:opacity .5s}@media(prefers-reduced-motion:reduce){.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:opacity .5s,transform 0s .5s}@media(prefers-reduced-motion:reduce){.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-b{transform:scale(1.5)}.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:opacity 0s,transform .5s}@media(prefers-reduced-motion:reduce){.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:none}}.switch-icon-scale.active .switch-icon-b{transform:scale(1)}.switch-icon-flip{perspective:10em}.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{backface-visibility:hidden;transform-style:preserve-3d;transition:opacity 0s .2s,transform .4s ease-in-out}@media(prefers-reduced-motion:reduce){.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{transition:none}}.switch-icon-flip .switch-icon-a{opacity:1;transform:rotateY(0)}.switch-icon-flip .switch-icon-b{opacity:1;transform:rotateY(-180deg)}.switch-icon-flip.active .switch-icon-a{opacity:1;transform:rotateY(180deg)}.switch-icon-flip.active .switch-icon-b{opacity:1;transform:rotateY(0)}.switch-icon-slide-up,.switch-icon-slide-left,.switch-icon-slide-start,.switch-icon-slide-right,.switch-icon-slide-end,.switch-icon-slide-down{overflow:hidden}.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-start .switch-icon-a,.switch-icon-slide-start .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-end .switch-icon-a,.switch-icon-slide-end .switch-icon-b,.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b{transition:opacity .3s,transform .3s}@media(prefers-reduced-motion:reduce){.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-start .switch-icon-a,.switch-icon-slide-start .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-end .switch-icon-a,.switch-icon-slide-end .switch-icon-b,.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b{transition:none}}.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-start .switch-icon-a,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-end .switch-icon-a,.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-up .switch-icon-b,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-start .switch-icon-b,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-end .switch-icon-b,.switch-icon-slide-down .switch-icon-b{transform:translateY(100%)}.switch-icon-slide-up.active .switch-icon-a,.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-start.active .switch-icon-a,.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-end.active .switch-icon-a,.switch-icon-slide-down.active .switch-icon-a{transform:translateY(-100%)}.switch-icon-slide-up.active .switch-icon-b,.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-start.active .switch-icon-b,.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-end.active .switch-icon-b,.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-start .switch-icon-a{transform:translate(0)}.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-start .switch-icon-b{transform:translate(100%)}.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-start.active .switch-icon-a{transform:translate(-100%)}.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-start.active .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-end .switch-icon-a{transform:translate(0)}.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-end .switch-icon-b{transform:translate(-100%)}.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-end.active .switch-icon-a{transform:translate(100%)}.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-end.active .switch-icon-b{transform:translate(0)}.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-a{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}.table thead th,.markdown>table thead th{background:var(--tblr-bg-surface-tertiary);font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);padding-top:.5rem;padding-bottom:.5rem;white-space:nowrap}@media print{.table thead th,.markdown>table thead th{background:transparent}}.table-responsive .table,.table-responsive .markdown>table{margin-bottom:0}.table-responsive+.card-footer{border-top:0}.table-transparent thead th{background:transparent}.table-nowrap>:not(caption)>*>*{white-space:nowrap}.table-vcenter>:not(caption)>*>*{vertical-align:middle}.table-center>:not(caption)>*>*{text-align:center}.td-truncate{max-width:1px;width:100%}.table-mobile{display:block}.table-mobile thead{display:none}.table-mobile tbody,.table-mobile tr{display:flex;flex-direction:column}.table-mobile td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile .btn{display:block}@media(max-width:575.98px){.table-mobile-sm{display:block}.table-mobile-sm thead{display:none}.table-mobile-sm tbody,.table-mobile-sm tr{display:flex;flex-direction:column}.table-mobile-sm td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-sm td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-sm tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-sm .btn{display:block}}@media(max-width:767.98px){.table-mobile-md{display:block}.table-mobile-md thead{display:none}.table-mobile-md tbody,.table-mobile-md tr{display:flex;flex-direction:column}.table-mobile-md td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-md td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-md tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-md .btn{display:block}}@media(max-width:991.98px){.table-mobile-lg{display:block}.table-mobile-lg thead{display:none}.table-mobile-lg tbody,.table-mobile-lg tr{display:flex;flex-direction:column}.table-mobile-lg td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-lg td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-lg tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-lg .btn{display:block}}@media(max-width:1199.98px){.table-mobile-xl{display:block}.table-mobile-xl thead{display:none}.table-mobile-xl tbody,.table-mobile-xl tr{display:flex;flex-direction:column}.table-mobile-xl td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xl td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-xl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xl .btn{display:block}}@media(max-width:1399.98px){.table-mobile-xxl{display:block}.table-mobile-xxl thead{display:none}.table-mobile-xxl tbody,.table-mobile-xxl tr{display:flex;flex-direction:column}.table-mobile-xxl td{display:block;padding:.5rem!important;border:none;color:var(--tblr-body-color)!important}.table-mobile-xxl td[data-label]:before{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);content:attr(data-label);display:block}.table-mobile-xxl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xxl .btn{display:block}}.table-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;border:0;background:inherit;display:block;width:100%;text-align:inherit;transition:color .3s;margin:-.5rem;padding:.5rem}@media(prefers-reduced-motion:reduce){.table-sort{transition:none}}.table-sort:hover,.table-sort.asc,.table-sort.desc{color:var(--tblr-body-color)}.table-sort:after{content:"";display:inline-flex;width:1rem;height:1rem;vertical-align:bottom;mask-image:url("data:image/svg+xml,");background:currentColor;margin-left:.25rem}.table-sort.asc:after{mask-image:url("data:image/svg+xml,")}.table-sort.desc:after{mask-image:url("data:image/svg+xml,")}.table-borderless thead th{background:transparent}.table-selectable tbody tr .on-checked{display:none}.table-selectable tbody tr .on-unchecked{display:initial}.table-selectable tbody tr:has(.table-selectable-check:checked){background-color:var(--tblr-active-bg)}.table-selectable tbody tr:has(.table-selectable-check:checked) .on-checked{display:initial}.table-selectable tbody tr:has(.table-selectable-check:checked) .on-unchecked{display:none}.tag{--tblr-tag-height: 1.5rem;border:1px solid var(--tblr-border-color);display:inline-flex;align-items:center;height:var(--tblr-tag-height);border-radius:var(--tblr-border-radius);padding:0 .5rem;background:var(--tblr-bg-surface);box-shadow:var(--tblr-shadow-input);gap:.5rem}.tag .btn-close{margin-right:-.25rem;margin-left:-.125rem;padding:0;width:1rem;height:1rem;font-size:.5rem}.tag-badge{--tblr-badge-font-size: .625rem;--tblr-badge-padding-x: .25rem;--tblr-badge-padding-y: .125rem;margin-right:-.25rem}.tag-avatar,.tag-flag,.tag-payment,.tag-icon,.tag-check{margin-left:-.25rem}.tag-icon{color:var(--tblr-secondary);margin-right:-.125rem;width:1rem;height:1rem}.tag-check{width:1rem;height:1rem;background-size:1rem}.tags-list{--tblr-list-gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--tblr-list-gap)}.toast{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);box-shadow:#1f29370a 0 2px 4px}.toast .toast-header{user-select:none}.toast button[data-bs-dismiss=toast]{outline:none}.toast-primary{--tblr-toast-color: #00857D}.toast-secondary{--tblr-toast-color: #6b7280}.toast-success{--tblr-toast-color: #2fb344}.toast-info{--tblr-toast-color: #4299e1}.toast-warning{--tblr-toast-color: #f59f00}.toast-danger{--tblr-toast-color: #d63939}.toast-light{--tblr-toast-color: #f9fafb}.toast-dark{--tblr-toast-color: #1f2937}.toast-muted{--tblr-toast-color: #6b7280}.toast-blue{--tblr-toast-color: #066fd1}.toast-azure{--tblr-toast-color: #4299e1}.toast-indigo{--tblr-toast-color: #4263eb}.toast-purple{--tblr-toast-color: #ae3ec9}.toast-pink{--tblr-toast-color: #d6336c}.toast-red{--tblr-toast-color: #d63939}.toast-orange{--tblr-toast-color: #f76707}.toast-yellow{--tblr-toast-color: #f59f00}.toast-lime{--tblr-toast-color: #74b816}.toast-green{--tblr-toast-color: #2fb344}.toast-teal{--tblr-toast-color: #0ca678}.toast-cyan{--tblr-toast-color: #17a2b8}.toolbar{display:flex;flex-wrap:nowrap;flex-shrink:0;margin:0 -.5rem}.toolbar>*{margin:0 .5rem}.tracking{--tblr-tracking-height: 1.5rem;--tblr-tracking-gap-width: .125rem;--tblr-tracking-block-border-radius: var(--tblr-border-radius);display:flex;gap:var(--tblr-tracking-gap-width)}.tracking-squares{--tblr-tracking-block-border-radius: var(--tblr-border-radius-sm)}.tracking-squares .tracking-block{height:auto}.tracking-squares .tracking-block:before{content:"";display:block;padding-top:100%}.tracking-block{flex:1;border-radius:var(--tblr-tracking-block-border-radius);height:var(--tblr-tracking-height);min-width:.25rem;background:var(--tblr-border-color)}.timeline{--tblr-timeline-icon-size: 2.5rem;position:relative;list-style:none;padding:0}.timeline-event{position:relative}.timeline-event:not(:last-child){margin-bottom:var(--tblr-page-padding)}.timeline-event:not(:last-child):before{content:"";position:absolute;top:var(--tblr-timeline-icon-size);left:calc(var(--tblr-timeline-icon-size) / 2);bottom:calc(-1 * var(--tblr-page-padding));width:var(--tblr-border-width);background-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.timeline-event-icon{position:absolute;display:flex;align-items:center;justify-content:center;width:var(--tblr-timeline-icon-size, 2.5rem);height:var(--tblr-timeline-icon-size, 2.5rem);background:var(--tblr-bg-surface-secondary);color:var(--tblr-secondary);border-radius:var(--tblr-border-radius);z-index:5}.timeline-event-card{margin-left:calc(var(--tblr-timeline-icon-size, 2.5rem) + var(--tblr-page-padding))}.timeline-simple .timeline-event-icon{display:none}.timeline-simple .timeline-event-card{margin-left:0}.hr-text{display:flex;align-items:center;margin:2rem 0;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary);height:1px}.hr-text:after,.hr-text:before{flex:1 1 auto;height:1px;background-color:var(--tblr-border-color)}.hr-text:before{content:"";margin-right:.5rem}.hr-text:after{content:"";margin-left:.5rem}.hr-text>*:first-child{padding-right:.5rem;padding-left:0;color:var(--tblr-secondary)}.hr-text.hr-text-left:before,.hr-text.hr-text-start:before{content:none}.hr-text.hr-text-left>*:first-child,.hr-text.hr-text-start>*:first-child{padding-right:.5rem;padding-left:.5rem}.hr-text.hr-text-right:before,.hr-text.hr-text-end:before{content:""}.hr-text.hr-text-right:after,.hr-text.hr-text-end:after{content:none}.hr-text.hr-text-right>*:first-child,.hr-text.hr-text-end>*:first-child{padding-right:0;padding-left:.5rem}.card>.hr-text{margin:0}.hr-text-spaceless{margin:-.5rem 0}.lead{color:var(--tblr-secondary);font-size:inherit}a{text-decoration-skip-ink:auto;color:color-mix(in srgb,transparent,var(--tblr-link-color) var(--tblr-link-opacity, 100%))}a:hover{color:color-mix(in srgb,transparent,var(--tblr-link-hover-color) var(--tblr-link-opacity, 100%))}h1 a,h2 a,h3 a,.field-group h2 a,h4 a,h5 a,h6 a,.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover,.h1 a:hover,.h2 a:hover,.h3 a:hover,.h4 a:hover,.h5 a:hover,.h6 a:hover{color:inherit}h1,.h1{font-size:var(--tblr-font-size-h1);line-height:var(--tblr-line-height-h1)}h2,.h2{font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2)}h3,.field-group h2,.field-group .h2,.h3{font-size:var(--tblr-font-size-h3);line-height:var(--tblr-line-height-h3)}h4,.h4{font-size:var(--tblr-font-size-h4);line-height:var(--tblr-line-height-h4)}h5,.h5{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5)}h6,.h6{font-size:var(--tblr-font-size-h6);line-height:var(--tblr-line-height-h6)}.fs-base{font-size:var(--tblr-body-font-size)}strong,.strong,b{font-weight:var(--tblr-font-weight-bold)}blockquote{padding:1rem;border-left:2px var(--tblr-border-style) var(--tblr-border-color)}blockquote p{margin-bottom:1rem}blockquote cite{display:block;text-align:right}blockquote cite:before{content:"\2014 "}ul,ol{padding-left:1.5rem}hr,.hr{margin:2rem 0}dl dd:last-child{margin-bottom:0}pre{--tblr-scrollbar-color: var(--tblr-light);padding:1rem;background:var(--tblr-bg-surface-dark);color:var(--tblr-light);border-radius:var(--tblr-border-radius);line-height:1.4285714286}pre{scrollbar-color:color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent) transparent}pre::-webkit-scrollbar{width:1rem;height:1rem;transition:background .3s}@media(prefers-reduced-motion:reduce){pre::-webkit-scrollbar{transition:none}}pre::-webkit-scrollbar-thumb{border-radius:1rem;border:5px solid transparent;box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%,transparent)}pre::-webkit-scrollbar-track{background:transparent}pre:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%,transparent)}pre::-webkit-scrollbar-corner{background:transparent}pre code{background:transparent;padding:0}code{background:var(--tblr-code-bg);padding:2px 4px;border-radius:var(--tblr-border-radius)}abbr{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}kbd,.kbd{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);display:inline-block;box-sizing:border-box;max-width:100%;font-size:var(--tblr-font-size-h5);font-weight:var(--tblr-font-weight-medium);line-height:1;vertical-align:baseline;border-radius:var(--tblr-border-radius)}img{max-width:100%;height:auto}.list-unstyled{margin-left:0}::selection,.text-selected{background-color:color-mix(in srgb,var(--tblr-primary) 10%,transparent)}.text-selected{display:inline-block}[class^=link-].disabled,[class*=" link-"].disabled{color:var(--tblr-disabled-color)!important;pointer-events:none}a:hover:has(.icon){text-decoration:none}.link-hoverable{border-radius:var(--tblr-border-radius);transition:background-color .15s ease-in-out}.link-hoverable:hover{text-decoration:none;color:var(--tblr-primary);background:color-mix(in srgb,var(--tblr-secondary) 4%,transparent)}.subheader{font-size:.75rem;font-weight:var(--tblr-font-weight-medium);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-secondary)}.mention{display:inline-block;box-shadow:var(--tblr-shadow-border);border-radius:var(--tblr-border-radius-pill);line-height:1.3333333333em;font-size:.8571428571em;color:var(--tblr-body-color);background:var(--tblr-bg-surface-tertiary);padding:.1666666667em .6666666667em;font-weight:var(--tblr-font-weight-medium)}a.mention{cursor:pointer}a.mention:hover,a.mention.hover{background:var(--tblr-bg-surface-secondary);text-decoration:underline}.mention-avatar,.mention-app,.mention-color{width:1.1666666667em;height:1.1666666667em;border-radius:var(--tblr-border-radius-pill);margin:-.1666666667em .3333333333em 0 -.3333333333em;display:inline-flex;background:no-repeat center center/cover;box-shadow:var(--tblr-shadow-border);vertical-align:middle;text-align:center}.mention-app{box-shadow:none;background:none;border-radius:0}.mention-count{color:var(--tblr-secondary);margin-left:.6666666667em}.text-incorrect{background:color-mix(in srgb,var(--tblr-red) 4%,transparent);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--tblr-red)}.text-correct{background:color-mix(in srgb,var(--tblr-green) 4%,transparent);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--tblr-green)}.steps{--tblr-steps-padding: 2rem;--tblr-steps-item-size: 1.5rem;margin-left:1rem;padding-left:var(--tblr-steps-padding);counter-reset:step;border-left:1px solid var(--tblr-border-color);margin-bottom:2rem}.steps h3,.steps .field-group h2,.field-group .steps h2,.steps .field-group .h2,.field-group .steps .h2,.steps .h3{counter-increment:step}.steps h3:not(:first-child),.steps .field-group h2:not(:first-child),.field-group .steps h2:not(:first-child),.steps .field-group .h2:not(:first-child),.field-group .steps .h2:not(:first-child),.steps .h3:not(:first-child){margin-top:2.5rem!important}.steps h3:before,.steps .field-group h2:before,.field-group .steps h2:before,.steps .field-group .h2:before,.field-group .steps .h2:before,.steps .h3:before{content:counter(step);display:inline-block;position:absolute;margin-top:1px;margin-left:calc(-1 * var(--tblr-steps-padding) - var(--tblr-steps-item-size) / 2);width:var(--tblr-steps-item-size);height:var(--tblr-steps-item-size);text-align:center;color:var(--tblr-body-color);border:1px solid var(--tblr-border-color);background:var(--tblr-bg-surface);border-radius:var(--tblr-border-radius);line-height:calc(var(--tblr-steps-item-size) - 2px);font-size:var(--tblr-font-size-h4);font-weight:var(--tblr-font-weight-bold)}.steps>:last-child{margin-bottom:0}.callout{margin-bottom:1.5rem;border:1px solid var(--tblr-primary-200);border-radius:var(--tblr-border-radius);padding:.5rem 1rem;background:var(--tblr-primary-lt)}.callout>:last-child{margin-bottom:0}.chart{display:block;min-height:10rem}.chart text{font-family:inherit}.chart-sm{height:2.5rem}.chart-lg{height:15rem}.chart-square{height:5.75rem}.chart-sparkline{position:relative;width:4rem;height:2.5rem;line-height:1;min-height:0!important}.chart-sparkline-sm{height:1.5rem}.chart-sparkline-square{width:2.5rem}.chart-sparkline-wide{width:6rem}.chart-sparkline-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.625rem}.chart-sparkline-label .icon{width:1rem;height:1rem;font-size:1rem}.offcanvas-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.offcanvas-footer{padding:1.5rem}.offcanvas-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}.offcanvas-narrow{width:20rem}.chat-bubbles{display:flex;flex-direction:column;gap:1rem}.chat-bubble{background:var(--tblr-bg-surface-secondary);border-radius:var(--tblr-border-radius-lg);padding:1rem;position:relative}.chat-bubble-me{background-color:var(--tblr-primary-lt);box-shadow:none}.chat-bubble-title{margin-bottom:.25rem}.chat-bubble-author{font-weight:600}.chat-bubble-date{color:var(--tblr-secondary)}.chat-bubble-body>*:last-child{margin-bottom:0}.signature{--tblr-signature-padding: var(--tblr-spacer-1);--tblr-signature-border-radius: var(--tblr-border-radius);border:var(--tblr-border-width) solid var(--tblr-border-color);padding:var(--tblr-signature-padding);border-radius:var(--tblr-border-radius)}.signature-canvas{border:var(--tblr-border-width) dashed var(--tblr-border-color);border-radius:calc(var(--tblr-signature-border-radius) - var(--tblr-signature-padding));display:block;cursor:crosshair;width:100%}.clearfix:after{display:block;clear:both;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--tblr-border-width);min-height:1em;background-color:currentcolor;opacity:.16}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--tblr-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--tblr-aspect-ratio: 100%}.ratio-2x1{--tblr-aspect-ratio: 50%}.ratio-1x2{--tblr-aspect-ratio: 200%}.ratio-3x1{--tblr-aspect-ratio: 33.3333333333%}.ratio-1x3{--tblr-aspect-ratio: 300%}.ratio-4x1{--tblr-aspect-ratio: 25%}.ratio-1x4{--tblr-aspect-ratio: 400%}.ratio-4x3{--tblr-aspect-ratio: 75%}.ratio-3x4{--tblr-aspect-ratio: 133.3333333333%}.ratio-16x9{--tblr-aspect-ratio: 56.25%}.ratio-9x16{--tblr-aspect-ratio: 177.7777777778%}.ratio-21x9{--tblr-aspect-ratio: 42.8571428571%}.ratio-9x21{--tblr-aspect-ratio: 233.3333333333%}.focus-ring:focus{outline:0;box-shadow:var(--tblr-focus-ring-x, 0) var(--tblr-focus-ring-y, 0) var(--tblr-focus-ring-blur, 0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color)}.bg-white-overlay{color:#fff;background-color:#f9fafb3d}.bg-dark-overlay{color:#fff;background-color:#1f29373d}.bg-cover{background-repeat:no-repeat;background-size:cover;background-position:center}.bg-primary{background-color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-primary-lt{color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-primary-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-primary{border-color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-primary{--tblr-gradient-from: var(--tblr-primary)}.bg-gradient-to-primary{--tblr-gradient-to: var(--tblr-primary)}.bg-gradient-via-primary{--tblr-gradient-via: var(--tblr-primary);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-primary{color:#f9fafb!important;background-color:RGBA(var(--tblr-primary-rgb),var(--tblr-bg-opacity, 1))!important}.link-primary{color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,106,100,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(0,106,100,var(--tblr-link-underline-opacity, 1))!important}.bg-secondary{background-color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-secondary-lt{color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-secondary-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-secondary{border-color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-secondary{--tblr-gradient-from: var(--tblr-secondary)}.bg-gradient-to-secondary{--tblr-gradient-to: var(--tblr-secondary)}.bg-gradient-via-secondary{--tblr-gradient-via: var(--tblr-secondary);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-secondary,.text-bg-gray{color:#f9fafb!important;background-color:RGBA(var(--tblr-secondary-rgb),var(--tblr-bg-opacity, 1))!important}.link-secondary{color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86,91,102,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(86,91,102,var(--tblr-link-underline-opacity, 1))!important}.bg-success{background-color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-success-lt{color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-success-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-success{border-color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-success{--tblr-gradient-from: var(--tblr-success)}.bg-gradient-to-success{--tblr-gradient-to: var(--tblr-success)}.bg-gradient-via-success{--tblr-gradient-via: var(--tblr-success);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-success{color:#f9fafb!important;background-color:RGBA(var(--tblr-success-rgb),var(--tblr-bg-opacity, 1))!important}.link-success{color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-success:hover,.link-success:focus{color:RGBA(38,143,54,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity, 1))!important}.bg-info{background-color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-info-lt{color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-info-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-info{border-color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-info{--tblr-gradient-from: var(--tblr-info)}.bg-gradient-to-info{--tblr-gradient-to: var(--tblr-info)}.bg-gradient-via-info{--tblr-gradient-via: var(--tblr-info);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-info{color:#f9fafb!important;background-color:RGBA(var(--tblr-info-rgb),var(--tblr-bg-opacity, 1))!important}.link-info{color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-info:hover,.link-info:focus{color:RGBA(53,122,180,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity, 1))!important}.bg-warning{background-color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-warning-lt{color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-warning-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-warning{border-color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-warning{--tblr-gradient-from: var(--tblr-warning)}.bg-gradient-to-warning{--tblr-gradient-to: var(--tblr-warning)}.bg-gradient-via-warning{--tblr-gradient-via: var(--tblr-warning);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-warning{color:#f9fafb!important;background-color:RGBA(var(--tblr-warning-rgb),var(--tblr-bg-opacity, 1))!important}.link-warning{color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-warning:hover,.link-warning:focus{color:RGBA(196,127,0,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity, 1))!important}.bg-danger{background-color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-danger-lt{color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-danger-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-danger{border-color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-danger{--tblr-gradient-from: var(--tblr-danger)}.bg-gradient-to-danger{--tblr-gradient-to: var(--tblr-danger)}.bg-gradient-via-danger{--tblr-gradient-via: var(--tblr-danger);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-danger{color:#f9fafb!important;background-color:RGBA(var(--tblr-danger-rgb),var(--tblr-bg-opacity, 1))!important}.link-danger{color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-danger:hover,.link-danger:focus{color:RGBA(171,46,46,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity, 1))!important}.bg-light{background-color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-light-lt{color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-light-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-light{border-color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-light{--tblr-gradient-from: var(--tblr-light)}.bg-gradient-to-light{--tblr-gradient-to: var(--tblr-light)}.bg-gradient-via-light{--tblr-gradient-via: var(--tblr-light);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-light,.text-bg-white{color:#1f2937!important;background-color:RGBA(var(--tblr-light-rgb),var(--tblr-bg-opacity, 1))!important}.link-light{color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-light:hover,.link-light:focus{color:RGBA(250,251,252,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(250,251,252,var(--tblr-link-underline-opacity, 1))!important}.bg-dark{background-color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-dark-lt{color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-dark-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-dark{border-color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-dark{--tblr-gradient-from: var(--tblr-dark)}.bg-gradient-to-dark{--tblr-gradient-to: var(--tblr-dark)}.bg-gradient-via-dark{--tblr-gradient-via: var(--tblr-dark);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-dark,.text-bg-black{color:#f9fafb!important;background-color:RGBA(var(--tblr-dark-rgb),var(--tblr-bg-opacity, 1))!important}.link-dark{color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-dark:hover,.link-dark:focus{color:RGBA(25,33,44,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(25,33,44,var(--tblr-link-underline-opacity, 1))!important}.bg-muted{background-color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-muted-lt{color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-muted-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-muted{border-color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-muted{--tblr-gradient-from: var(--tblr-muted)}.bg-gradient-to-muted{--tblr-gradient-to: var(--tblr-muted)}.bg-gradient-via-muted{--tblr-gradient-via: var(--tblr-muted);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-muted{color:#f9fafb!important;background-color:RGBA(var(--tblr-muted-rgb),var(--tblr-bg-opacity, 1))!important}.link-muted{color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-muted:hover,.link-muted:focus{color:RGBA(86,91,102,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(86,91,102,var(--tblr-link-underline-opacity, 1))!important}.bg-blue{background-color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-blue-lt{color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-blue-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-blue{border-color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-blue{--tblr-gradient-from: var(--tblr-blue)}.bg-gradient-to-blue{--tblr-gradient-to: var(--tblr-blue)}.bg-gradient-via-blue{--tblr-gradient-via: var(--tblr-blue);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-blue{color:#f9fafb!important;background-color:RGBA(var(--tblr-blue-rgb),var(--tblr-bg-opacity, 1))!important}.link-blue{color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-blue:hover,.link-blue:focus{color:RGBA(5,89,167,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(5,89,167,var(--tblr-link-underline-opacity, 1))!important}.bg-azure{background-color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-azure-lt{color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-azure-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-azure{border-color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-azure{--tblr-gradient-from: var(--tblr-azure)}.bg-gradient-to-azure{--tblr-gradient-to: var(--tblr-azure)}.bg-gradient-via-azure{--tblr-gradient-via: var(--tblr-azure);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-azure{color:#f9fafb!important;background-color:RGBA(var(--tblr-azure-rgb),var(--tblr-bg-opacity, 1))!important}.link-azure{color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-azure:hover,.link-azure:focus{color:RGBA(53,122,180,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(53,122,180,var(--tblr-link-underline-opacity, 1))!important}.bg-indigo{background-color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-indigo-lt{color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-indigo-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-indigo{border-color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-indigo{--tblr-gradient-from: var(--tblr-indigo)}.bg-gradient-to-indigo{--tblr-gradient-to: var(--tblr-indigo)}.bg-gradient-via-indigo{--tblr-gradient-via: var(--tblr-indigo);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-indigo{color:#f9fafb!important;background-color:RGBA(var(--tblr-indigo-rgb),var(--tblr-bg-opacity, 1))!important}.link-indigo{color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-indigo:hover,.link-indigo:focus{color:RGBA(53,79,188,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(53,79,188,var(--tblr-link-underline-opacity, 1))!important}.bg-purple{background-color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-purple-lt{color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-purple-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-purple{border-color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-purple{--tblr-gradient-from: var(--tblr-purple)}.bg-gradient-to-purple{--tblr-gradient-to: var(--tblr-purple)}.bg-gradient-via-purple{--tblr-gradient-via: var(--tblr-purple);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-purple{color:#f9fafb!important;background-color:RGBA(var(--tblr-purple-rgb),var(--tblr-bg-opacity, 1))!important}.link-purple{color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-purple:hover,.link-purple:focus{color:RGBA(139,50,161,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(139,50,161,var(--tblr-link-underline-opacity, 1))!important}.bg-pink{background-color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-pink-lt{color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-pink-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-pink{border-color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-pink{--tblr-gradient-from: var(--tblr-pink)}.bg-gradient-to-pink{--tblr-gradient-to: var(--tblr-pink)}.bg-gradient-via-pink{--tblr-gradient-via: var(--tblr-pink);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-pink{color:#f9fafb!important;background-color:RGBA(var(--tblr-pink-rgb),var(--tblr-bg-opacity, 1))!important}.link-pink{color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-pink:hover,.link-pink:focus{color:RGBA(171,41,86,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(171,41,86,var(--tblr-link-underline-opacity, 1))!important}.bg-red{background-color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-red-lt{color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-red-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-red{border-color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-red{--tblr-gradient-from: var(--tblr-red)}.bg-gradient-to-red{--tblr-gradient-to: var(--tblr-red)}.bg-gradient-via-red{--tblr-gradient-via: var(--tblr-red);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-red{color:#f9fafb!important;background-color:RGBA(var(--tblr-red-rgb),var(--tblr-bg-opacity, 1))!important}.link-red{color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-red:hover,.link-red:focus{color:RGBA(171,46,46,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(171,46,46,var(--tblr-link-underline-opacity, 1))!important}.bg-orange{background-color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-orange-lt{color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-orange-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-orange{border-color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-orange{--tblr-gradient-from: var(--tblr-orange)}.bg-gradient-to-orange{--tblr-gradient-to: var(--tblr-orange)}.bg-gradient-via-orange{--tblr-gradient-via: var(--tblr-orange);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-orange{color:#f9fafb!important;background-color:RGBA(var(--tblr-orange-rgb),var(--tblr-bg-opacity, 1))!important}.link-orange{color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-orange:hover,.link-orange:focus{color:RGBA(198,82,6,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(198,82,6,var(--tblr-link-underline-opacity, 1))!important}.bg-yellow{background-color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-yellow-lt{color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-yellow-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-yellow{border-color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-yellow{--tblr-gradient-from: var(--tblr-yellow)}.bg-gradient-to-yellow{--tblr-gradient-to: var(--tblr-yellow)}.bg-gradient-via-yellow{--tblr-gradient-via: var(--tblr-yellow);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-yellow{color:#f9fafb!important;background-color:RGBA(var(--tblr-yellow-rgb),var(--tblr-bg-opacity, 1))!important}.link-yellow{color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-yellow:hover,.link-yellow:focus{color:RGBA(196,127,0,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(196,127,0,var(--tblr-link-underline-opacity, 1))!important}.bg-lime{background-color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-lime-lt{color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-lime-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-lime{border-color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-lime{--tblr-gradient-from: var(--tblr-lime)}.bg-gradient-to-lime{--tblr-gradient-to: var(--tblr-lime)}.bg-gradient-via-lime{--tblr-gradient-via: var(--tblr-lime);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-lime{color:#f9fafb!important;background-color:RGBA(var(--tblr-lime-rgb),var(--tblr-bg-opacity, 1))!important}.link-lime{color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-lime:hover,.link-lime:focus{color:RGBA(93,147,18,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(93,147,18,var(--tblr-link-underline-opacity, 1))!important}.bg-green{background-color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-green-lt{color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-green-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-green{border-color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-green{--tblr-gradient-from: var(--tblr-green)}.bg-gradient-to-green{--tblr-gradient-to: var(--tblr-green)}.bg-gradient-via-green{--tblr-gradient-via: var(--tblr-green);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-green{color:#f9fafb!important;background-color:RGBA(var(--tblr-green-rgb),var(--tblr-bg-opacity, 1))!important}.link-green{color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-green:hover,.link-green:focus{color:RGBA(38,143,54,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(38,143,54,var(--tblr-link-underline-opacity, 1))!important}.bg-teal{background-color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-teal-lt{color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-teal-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-teal{border-color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-teal{--tblr-gradient-from: var(--tblr-teal)}.bg-gradient-to-teal{--tblr-gradient-to: var(--tblr-teal)}.bg-gradient-via-teal{--tblr-gradient-via: var(--tblr-teal);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-teal{color:#f9fafb!important;background-color:RGBA(var(--tblr-teal-rgb),var(--tblr-bg-opacity, 1))!important}.link-teal{color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-teal:hover,.link-teal:focus{color:RGBA(10,133,96,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(10,133,96,var(--tblr-link-underline-opacity, 1))!important}.bg-cyan{background-color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-cyan-lt{color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-cyan-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-cyan{border-color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-cyan{--tblr-gradient-from: var(--tblr-cyan)}.bg-gradient-to-cyan{--tblr-gradient-to: var(--tblr-cyan)}.bg-gradient-via-cyan{--tblr-gradient-via: var(--tblr-cyan);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-cyan{color:#f9fafb!important;background-color:RGBA(var(--tblr-cyan-rgb),var(--tblr-bg-opacity, 1))!important}.link-cyan{color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-cyan:hover,.link-cyan:focus{color:RGBA(18,130,147,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(18,130,147,var(--tblr-link-underline-opacity, 1))!important}.bg-white{background-color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.bg-white-lt{color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-text-opacity, 1) * 100%),transparent)!important;background-color:color-mix(in srgb,var(--tblr-white-lt) calc(var(--tblr-bg-opacity, 1) * 100%),transparent)!important}.border-white{border-color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-border-opacity, 1) * 100%),transparent)!important}.bg-gradient-from-white{--tblr-gradient-from: var(--tblr-white)}.bg-gradient-to-white{--tblr-gradient-to: var(--tblr-white)}.bg-gradient-via-white{--tblr-gradient-via: var(--tblr-white);--tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent)}.text-bg-white{color:#1f2937!important;background-color:RGBA(var(--tblr-white-rgb),var(--tblr-bg-opacity, 1))!important}.link-white{color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-link-opacity, 1) * 100%),transparent)!important;text-decoration-color:color-mix(in srgb,var(--tblr-white) calc(var(--tblr-link-underline-opacity, 1) * 100%),transparent)!important}.link-white:hover,.link-white:focus{color:RGBA(255,255,255,var(--tblr-link-opacity, 1))!important;text-decoration-color:RGBA(255,255,255,var(--tblr-link-underline-opacity, 1))!important}.text-primary{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-primary) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-primary-fg{color:var(--tblr-primary-fg)!important}.text-secondary{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-secondary) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-secondary-fg{color:var(--tblr-secondary-fg)!important}.text-success{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-success) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-success-fg{color:var(--tblr-success-fg)!important}.text-info{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-info) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-info-fg{color:var(--tblr-info-fg)!important}.text-warning{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-warning) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-warning-fg{color:var(--tblr-warning-fg)!important}.text-danger{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-danger) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-danger-fg{color:var(--tblr-danger-fg)!important}.text-light{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-light) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-light-fg{color:var(--tblr-light-fg)!important}.text-dark{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-dark) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-dark-fg{color:var(--tblr-dark-fg)!important}.text-muted{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-muted) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-muted-fg{color:var(--tblr-muted-fg)!important}.text-blue{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-blue) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-blue-fg{color:var(--tblr-blue-fg)!important}.text-azure{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-azure) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-azure-fg{color:var(--tblr-azure-fg)!important}.text-indigo{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-indigo) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-indigo-fg{color:var(--tblr-indigo-fg)!important}.text-purple{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-purple) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-purple-fg{color:var(--tblr-purple-fg)!important}.text-pink{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-pink) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-pink-fg{color:var(--tblr-pink-fg)!important}.text-red{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-red) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-red-fg{color:var(--tblr-red-fg)!important}.text-orange{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-orange) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-orange-fg{color:var(--tblr-orange-fg)!important}.text-yellow{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-yellow) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-yellow-fg{color:var(--tblr-yellow-fg)!important}.text-lime{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-lime) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-lime-fg{color:var(--tblr-lime-fg)!important}.text-green{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-green) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-green-fg{color:var(--tblr-green-fg)!important}.text-teal{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-teal) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-teal-fg{color:var(--tblr-teal-fg)!important}.text-cyan{--tblr-text-opacity: 1;color:color-mix(in srgb,var(--tblr-cyan) calc(var(--tblr-text-opacity) * 100%),transparent)!important}.text-cyan-fg{color:var(--tblr-cyan-fg)!important}.bg-gray-50{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-50) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-50-fg{color:var(--tblr-gray-50-fg)!important}.bg-gray-100{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-100) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-100-fg{color:var(--tblr-gray-100-fg)!important}.bg-gray-200{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-200) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-200-fg{color:var(--tblr-gray-200-fg)!important}.bg-gray-300{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-300) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-300-fg{color:var(--tblr-gray-300-fg)!important}.bg-gray-400{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-400) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-400-fg{color:var(--tblr-gray-400-fg)!important}.bg-gray-500{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-500) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-500-fg{color:var(--tblr-gray-500-fg)!important}.bg-gray-600{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-600) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-600-fg{color:var(--tblr-gray-600-fg)!important}.bg-gray-700{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-700) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-700-fg{color:var(--tblr-gray-700-fg)!important}.bg-gray-800{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-800) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-800-fg{color:var(--tblr-gray-800-fg)!important}.bg-gray-900{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-900) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-900-fg{color:var(--tblr-gray-900-fg)!important}.bg-gray-950{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-gray-950) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-gray-950-fg{color:var(--tblr-gray-950-fg)!important}.bg-x{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-x) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-x-fg{color:var(--tblr-x-fg)!important}.bg-facebook{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-facebook) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-facebook-fg{color:var(--tblr-facebook-fg)!important}.bg-twitter{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-twitter) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-twitter-fg{color:var(--tblr-twitter-fg)!important}.bg-linkedin{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-linkedin) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-linkedin-fg{color:var(--tblr-linkedin-fg)!important}.bg-google{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-google) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-google-fg{color:var(--tblr-google-fg)!important}.bg-youtube{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-youtube) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-youtube-fg{color:var(--tblr-youtube-fg)!important}.bg-vimeo{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-vimeo) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-vimeo-fg{color:var(--tblr-vimeo-fg)!important}.bg-dribbble{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-dribbble) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-dribbble-fg{color:var(--tblr-dribbble-fg)!important}.bg-github{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-github) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-github-fg{color:var(--tblr-github-fg)!important}.bg-instagram{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-instagram) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-instagram-fg{color:var(--tblr-instagram-fg)!important}.bg-pinterest{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-pinterest) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-pinterest-fg{color:var(--tblr-pinterest-fg)!important}.bg-vk{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-vk) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-vk-fg{color:var(--tblr-vk-fg)!important}.bg-rss{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-rss) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-rss-fg{color:var(--tblr-rss-fg)!important}.bg-flickr{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-flickr) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-flickr-fg{color:var(--tblr-flickr-fg)!important}.bg-bitbucket{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-bitbucket) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-bitbucket-fg{color:var(--tblr-bitbucket-fg)!important}.bg-tabler{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-tabler) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.text-tabler-fg{color:var(--tblr-tabler-fg)!important}.bg-inverted{--tblr-bg-opacity: 1;background-color:color-mix(in srgb,var(--tblr-bg-surface-inverted) calc(var(--tblr-bg-opacity) * 100%),transparent)!important}.bg-surface{background-color:var(--tblr-bg-surface)!important}.bg-surface-secondary{background-color:var(--tblr-bg-surface-secondary)!important}.bg-surface-tertiary{background-color:var(--tblr-bg-surface-tertiary)!important}.bg-surface-backdrop{background-color:color-mix(in srgb,var(--tblr-gray-800) 24%,transparent)!important}.scrollable{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scrollable.hover{overflow-y:hidden}.scrollable.hover>*{margin-top:-1px}.scrollable.hover:hover,.scrollable.hover:focus,.scrollable.hover:active{overflow:visible;overflow-y:auto}.touch .scrollable{overflow-y:auto!important}.scroll-x,.scroll-y{overflow:hidden;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.no-scroll{overflow:hidden}.w-0{width:0!important}.h-0{height:0!important}.w-1{width:.25rem!important}.h-1{height:.25rem!important}.w-2{width:.5rem!important}.h-2{height:.5rem!important}.w-3{width:1rem!important}.h-3{height:1rem!important}.w-4{width:1.5rem!important}.h-4{height:1.5rem!important}.w-5{width:2rem!important}.h-5{height:2rem!important}.w-6{width:2.5rem!important}.h-6{height:2.5rem!important}.w-auto{width:auto!important}.h-auto{height:auto!important}.w-px{width:1px!important}.h-px{height:1px!important}.w-full{width:100%!important}.h-full{height:100%!important}.opacity-0{opacity:0!important}.opacity-5{opacity:.05!important}.opacity-10{opacity:.1!important}.opacity-15{opacity:.15!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-30{opacity:.3!important}.opacity-35{opacity:calc(35 / 100)!important}.opacity-40{opacity:.4!important}.opacity-45{opacity:.45!important}.opacity-50{opacity:.5!important}.opacity-55{opacity:.55!important}.opacity-60{opacity:.6!important}.opacity-65{opacity:.65!important}.opacity-70{opacity:calc(70 / 100)!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-85{opacity:.85!important}.opacity-90{opacity:.9!important}.opacity-95{opacity:calc(95 / 100)!important}.opacity-100{opacity:1!important}.hover-shadow-sm:hover{box-shadow:0 .125rem .25rem #00000013!important}.hover-shadow:hover{box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px!important}.hover-shadow-lg:hover{box-shadow:0 1rem 3rem #0000002d!important}.hover-shadow-none:hover{box-shadow:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.hover-rotate-start,.hover-rotate-end,.hover-scale,.hover-elevate-down,.hover-elevate-up{transition:transform .3s ease}.hover-rotate-start:hover,.hover-rotate-end:hover,.hover-scale:hover,.hover-elevate-down:hover,.hover-elevate-up:hover{will-change:transform}.hover-elevate-up:hover{transform:translateY(-4px)}.hover-elevate-down:hover{transform:translateY(4px)}.hover-scale:hover{transform:scale(1.1)}.hover-rotate-end:hover{transform:rotate(4deg)}.hover-rotate-start:hover{transform:rotate(-4deg)}.ts-control{border:1px solid var(--tblr-border-color);padding:.5625rem 1rem;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:var(--tblr-border-radius);display:flex;flex-wrap:wrap}.ts-wrapper.multi.has-items .ts-control{padding:calc(.5625rem - 1px + -0) 1rem calc(.5625rem - 4px + -0)}.full .ts-control{background-color:var(--tblr-bg-forms)}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{vertical-align:baseline;display:inline-block}.ts-wrapper.multi .ts-control>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 5px;background:#efefef;color:#1f2937;border:0 solid #e5e7eb}.ts-wrapper.multi .ts-control>div.active{background:#00857d;color:#fff;border:0 solid rgba(0,0,0,0)}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{color:#787878;background:#fff;border:0 solid white}.ts-control>input{flex:1 1 auto;min-width:7rem;display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0!important;text-indent:0!important;border:0 none!important;background:none!important;line-height:inherit!important;user-select:auto!important;box-shadow:none!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:none!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:right}.ts-control.rtl.single .ts-control:after{left:calc(1rem + 5px);right:auto}.ts-control.rtl .ts-control>input{margin:0 4px 0 -2px!important}.disabled .ts-control{opacity:.5;background-color:var(--tblr-bg-surface-secondary)}.input-hidden .ts-control>input{opacity:0;position:absolute;left:-10000px}.ts-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:var(--tblr-bg-surface);margin:.25rem 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px #0000001a;border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:#ffed2866;border-radius:1px}.ts-dropdown .option,.ts-dropdown .optgroup-header,.ts-dropdown .no-results,.ts-dropdown .create{padding:3px 1rem}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{opacity:1;cursor:pointer}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.ts-dropdown .optgroup-header{color:#4b5563;background:var(--tblr-bg-surface);cursor:default}.ts-dropdown .active{background-color:rgba(var(--tblr-secondary-rgb),.08);color:inherit}.ts-dropdown .active.create{color:inherit}.ts-dropdown .create{color:#1f293780}.ts-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px 1rem}.ts-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ts-dropdown-content{overflow:hidden auto;max-height:200px;scroll-behavior:smooth}.ts-wrapper.plugin-drag_drop .ts-dragging{color:transparent!important}.ts-wrapper.plugin-drag_drop .ts-dragging>*{visibility:hidden!important}.plugin-checkbox_options:not(.rtl) .option input{margin-right:.5rem}.plugin-checkbox_options.rtl .option input{margin-left:.5rem}.plugin-clear_button{--ts-pr-clear-button: 1em}.plugin-clear_button .clear-button{opacity:0;position:absolute;top:50%;transform:translateY(-50%);right:calc(1rem - 5px);margin-right:0!important;background:transparent!important;transition:opacity .5s;cursor:pointer}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{right:max(var(--ts-pr-caret),1rem)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{position:relative;padding:6px 1rem;border-bottom:1px solid #d0d0d0;background:color-mix(var(--tblr-bg-surface),#d0d0d0,85%);border-radius:var(--tblr-border-radius) var(--tblr-border-radius) 0 0}.ts-wrapper .dropdown-header-close{position:absolute;right:1rem;top:50%;color:#1f2937;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{box-shadow:none;border:1px solid var(--tblr-border-color);box-shadow:var(--tblr-shadow-input)}.plugin-dropdown_input .dropdown-input{border:1px solid #d0d0d0;border-width:0 0 1px;display:block;padding:.5625rem 1rem;box-shadow:none;width:100%;background:transparent}.plugin-dropdown_input.focus .ts-dropdown .dropdown-input{border-color:#80c2be;outline:0;box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.plugin-dropdown_input .items-placeholder{border:0 none!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.has-items .items-placeholder,.plugin-dropdown_input.dropdown-active .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.ts-wrapper.plugin-remove_button .item{display:inline-flex;align-items:center}.ts-wrapper.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:0 5px;border-radius:0 2px 2px 0;box-sizing:border-box}.ts-wrapper.plugin-remove_button .item .remove:hover{background:#0000000d}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:none}.ts-wrapper.plugin-remove_button .remove-single{position:absolute;right:0;top:0;font-size:23px}.ts-wrapper.plugin-remove_button:not(.rtl) .item{padding-right:0!important}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-left:1px solid #e5e7eb;margin-left:5px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-left-color:#0000}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-left-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item{padding-left:0!important}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-right:1px solid #e5e7eb;margin-right:5px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-right-color:#0000}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-right-color:#fff}:root{--ts-pr-clear-button: 0px;--ts-pr-caret: 0px;--ts-pr-min: .75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control:not(.rtl){padding-right:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-control.rtl{padding-left:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper{position:relative}.ts-dropdown,.ts-control,.ts-control input{color:#1f2937;font-family:inherit;font-size:inherit;line-height:1.25rem}.ts-control,.ts-wrapper.single.input-active .ts-control{background:var(--tblr-bg-forms);cursor:text}.ts-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.ts-dropdown,.ts-dropdown.form-control,.ts-dropdown.form-select{height:auto;padding:0;z-index:1000;background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color-translucent);border-radius:6px;box-shadow:0 6px 12px #0000002d}.ts-dropdown .optgroup-header{font-size:.765625rem;line-height:1.4285714286}.ts-dropdown .optgroup:first-child:before{display:none}.ts-dropdown .optgroup:before{content:" ";display:block;height:0;margin:var(--tblr-spacer-2) 0;overflow:hidden;border-top:1px solid var(--tblr-border-color-translucent);margin-left:-1rem;margin-right:-1rem}.ts-dropdown .create{padding-left:1rem}.ts-dropdown-content{padding:5px 0}.ts-control{box-shadow:var(--tblr-shadow-input);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;align-items:center}@media(prefers-reduced-motion:reduce){.ts-control{transition:none}}.focus .ts-control{border-color:#80c2be;outline:0;box-shadow:var(--tblr-shadow-input),0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25)}.ts-control .item{display:flex;align-items:center}.ts-wrapper.is-invalid,select.tomselected.is-invalid+div.ts-wrapper,.was-validated .invalid,.was-validated :invalid+.ts-wrapper{border-color:var(--tblr-form-invalid-color)}.ts-wrapper.is-invalid:not(.single),select.tomselected.is-invalid+div.ts-wrapper:not(.single),.was-validated .invalid:not(.single),.was-validated :invalid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right 1.53125rem center;background-size:1.8125rem 1.8125rem;background-repeat:no-repeat}.ts-wrapper.is-invalid.single,select.tomselected.is-invalid+div.ts-wrapper.single,.was-validated .invalid.single,.was-validated :invalid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right 1rem center,center right 3rem;background-size:16px 12px,1.8125rem 1.8125rem;background-repeat:no-repeat}.ts-wrapper.is-invalid.focus .ts-control,select.tomselected.is-invalid+div.ts-wrapper.focus .ts-control,.was-validated .invalid.focus .ts-control,.was-validated :invalid+.ts-wrapper.focus .ts-control{border-color:var(--tblr-form-invalid-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-form-invalid-color),.25)}.ts-wrapper.is-valid,.was-validated .valid,.was-validated :valid+.ts-wrapper{border-color:var(--tblr-form-valid-color)}.ts-wrapper.is-valid:not(.single),.was-validated .valid:not(.single),.was-validated :valid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1.53125rem center;background-size:1.8125rem 1.8125rem;background-repeat:no-repeat}.ts-wrapper.is-valid.single,.was-validated .valid.single,.was-validated :valid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center,center right 3rem;background-size:16px 12px,1.8125rem 1.8125rem;background-repeat:no-repeat}.ts-wrapper.is-valid.focus .ts-control,.was-validated .valid.focus .ts-control,.was-validated :valid+.ts-wrapper.focus .ts-control{border-color:var(--tblr-form-valid-color);box-shadow:0 0 0 .25rem rgba(var(--tblr-form-valid-color),.25)}.ts-wrapper{min-height:calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));display:flex}.input-group-sm>.ts-wrapper,.ts-wrapper.form-select-sm,.ts-wrapper.form-control-sm{min-height:calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2))}.input-group-sm>.ts-wrapper .ts-control,.ts-wrapper.form-select-sm .ts-control,.ts-wrapper.form-control-sm .ts-control{border-radius:var(--tblr-border-radius-sm);font-size:.75rem}.input-group-sm>.ts-wrapper.has-items .ts-control,.ts-wrapper.form-select-sm.has-items .ts-control,.ts-wrapper.form-control-sm.has-items .ts-control{font-size:.75rem;padding-bottom:0}.input-group-sm>.ts-wrapper.multi.has-items .ts-control,.ts-wrapper.form-select-sm.multi.has-items .ts-control,.ts-wrapper.form-control-sm.multi.has-items .ts-control{padding-top:calc((calc(1.25rem + .625rem + calc(var(--tblr-border-width) * 2)) - 1.25rem * .75rem - calc((var(--tblr-border-width) + 1px) * 2)) / 2)!important}.ts-wrapper.multi.has-items .ts-control{padding-left:calc(1rem - 5px);--ts-pr-min: calc(1rem - 5px) }.ts-wrapper.multi .ts-control>div{border-radius:calc(var(--tblr-border-radius) - 1px)}.input-group-lg>.ts-wrapper,.ts-wrapper.form-control-lg,.ts-wrapper.form-select-lg{min-height:calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2))}.input-group-lg>.ts-wrapper .ts-control,.ts-wrapper.form-control-lg .ts-control,.ts-wrapper.form-select-lg .ts-control{border-radius:var(--tblr-border-radius-lg);font-size:1rem}.ts-wrapper:not(.form-control,.form-select){padding:0;border:none;height:auto;box-shadow:none;background:none}.ts-wrapper:not(.form-control,.form-select).single .ts-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 12px}.ts-wrapper.form-select,.ts-wrapper.single{--ts-pr-caret: 3rem}.ts-wrapper.form-control,.ts-wrapper.form-select{padding:0!important;height:auto;box-shadow:none;display:flex}.ts-wrapper.form-control .ts-control,.ts-wrapper.form-control.single.input-active .ts-control,.ts-wrapper.form-select .ts-control,.ts-wrapper.form-select.single.input-active .ts-control{border:none!important}.ts-wrapper.form-control:not(.disabled) .ts-control,.ts-wrapper.form-control:not(.disabled).single.input-active .ts-control,.ts-wrapper.form-select:not(.disabled) .ts-control,.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control{background:transparent!important}.input-group>.ts-wrapper{flex-grow:1;width:1%}.input-group>.ts-wrapper:not(:nth-child(2))>.ts-control{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.ts-wrapper:not(:last-child)>.ts-control{border-top-right-radius:0;border-bottom-right-radius:0}:root{--ts-pr-clear-button: 0rem;--ts-pr-caret: 0rem}.ts-input{color:inherit}.focus .ts-control{border-radius:var(--tblr-border-radius)}.ts-control{color:inherit}.ts-control .dropdown-menu{width:100%;height:auto}.ts-wrapper .form-control,.ts-wrapper .form-select,.ts-wrapper.form-control,.ts-wrapper.form-select{box-shadow:var(--tblr-shadow-input)}.ts-wrapper.is-invalid .ts-control,select.tomselected.is-invalid+div.ts-wrapper .ts-control,.ts-wrapper.is-valid .ts-control{--ts-pr-clear-button: 1.5rem}.ts-dropdown{background:var(--tblr-bg-surface);color:var(--tblr-body-color);box-shadow:var(--tblr-shadow-dropdown);z-index:1000}.ts-dropdown .option{padding:.5rem .75rem}.ts-control,.ts-control input{color:var(--tblr-body-color)}.ts-control input::placeholder{color:var(--tblr-tertiary)}.ts-wrapper.multi .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div{background:var(--tblr-bg-surface-secondary);border:1px solid var(--tblr-border-color);color:var(--tblr-body-color)}.ts-wrapper.disabled .ts-control{opacity:1}.ts-wrapper.disabled .ts-control>div.item{color:var(--tblr-gray-500)}html{scroll-behavior:auto!important}mark,.mark{padding-left:0;padding-right:0}.table-responsive .dropdown,.table-responsive .btn-group,.table-responsive .btn-group-vertical{position:static}.progress{min-width:80px}hr.dropdown-divider,.dropdown-divider.hr{margin-bottom:.25rem;margin-top:.25rem}.dropdown-item{font-weight:400}*{font-feature-settings:"liga" 0;font-variant-ligatures:none}pre{background-color:transparent;color:inherit}.alert{background:var(--tblr-bg-surface)}.badge{user-select:text}.btn{display:inline-block}.btn:focus{border:1px solid var(--tblr-primary-fg);outline:2px solid var(--tblr-primary)!important}.btn-sm,.btn-group-sm>.btn{border-radius:6px}.dropdown-item{display:inline-block}.footer .text-primary{color:#001423!important}.nav-tabs .nav-link{display:inline-block}.page,.page-tabs .nav-tabs .nav-link.active{background-color:var(--tblr-bg-surface-tertiary)!important}.navbar{--tblr-navbar-active-bg: rgba(0, 0, 0, .06)}[data-bs-theme=dark],body[data-bs-theme=dark] [data-bs-theme=light]{--tblr-alert-color: darken(var(--tblr-warning),10%);--tblr-link-color: #00F2D4;--tblr-link-color-rgb: 0,242,212;--tblr-link-hover-color-rgb: 0,242,212;--tblr-secondary: #9ca3af;--tblr-primary: #00F2D4;--tblr-primary-fg: #001423;--tblr-primary-rgb: 0,242,212;--tblr-btn-active-color: #001423}body[data-bs-theme=dark],body[data-bs-theme=dark] body[data-bs-theme=light]{background-color:#001423}body[data-bs-theme=dark] ::selection,body[data-bs-theme=dark] body[data-bs-theme=light] ::selection{background-color:rgba(var(--tblr-primary-rgb),.48)}body[data-bs-theme=dark] .btn-primary,body[data-bs-theme=dark] .bg-primary .card-title,body[data-bs-theme=dark] .bg-primary a,body[data-bs-theme=dark] .bg-primary i,body[data-bs-theme=dark] .text-bg-primary{color:#001423!important}body[data-bs-theme=dark] .card{background:#001423!important}body[data-bs-theme=dark] .navbar,body[data-bs-theme=dark] .page-header{background-color:#001423}body[data-bs-theme=dark] .page,body[data-bs-theme=dark] .page-tabs .nav-tabs .nav-link.active{background-color:#081b2a!important}body[data-bs-theme=dark] .page-link.active,body[data-bs-theme=dark] .active>.page-link{color:#001423}body[data-bs-theme=dark] .text-bg-primary{color:#001423!important}body[data-bs-theme=dark] .text-muted{color:var(--tblr-secondary-color)!important}body[data-bs-theme=dark] .text-secondary{color:#9ca3af!important}body[data-bs-theme=dark] .footer .text-primary{color:#fff!important}body[data-bs-theme=dark] .toast{color:var(--tblr-body-color)}body[data-bs-theme=dark] .table-primary{--tblr-table-bg: rgba(var(--tblr-secondary-rgb), .48);--tblr-table-hover-bg: inherit;--tblr-table-hover-color: inherit}pre code{padding:unset}.dropdown-toggle:after{font-family:Material Design Icons;content:"\f0140";padding-right:9px;border-bottom:none;border-left:none;transform:none;vertical-align:.05em;height:auto}:root:not(.dummy) body[data-bs-theme=light] .hide-theme-light,:root:not(.dummy) body[data-bs-theme=dark] .hide-theme-dark{display:none!important}:root:not(.dummy) body[data-bs-theme=dark] .hide-theme-light,:root:not(.dummy) body[data-bs-theme=light] .hide-theme-dark{display:inline-flex!important}.ts-wrapper.multi .ts-control{padding:7px 7px 3px}.ts-wrapper.multi .ts-control div{margin:0 4px 4px 0}.badge a{color:inherit;text-decoration:none}.page-body .card{margin-bottom:1rem}.page-body .card .card-header,.page-body .card .card-body,.page-body .card .card-footer{padding:.75rem}.page-body .card .card-header{background:var(--tblr-bg-surface-tertiary)}.page-body .card h2.card-header,.page-body .card .card-header.h2{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5);margin-bottom:0}.page-body .card .list-group-item{padding:.5rem .75rem}.page-body .card .table,.page-body .card .markdown>table{margin-bottom:0}form.object-edit{margin:auto;max-width:800px}.col-form-label.required{font-weight:700}.col-form-label.required:after{position:absolute;display:inline-block;margin-left:0;font-family:Material Design Icons;font-size:8px;content:"\f06c4"}.has-errors input,.has-errors select,.has-errors textarea{border:1px solid #d63939}select[multiple] optgroup{top:0;background-color:var(--bs-body-bg);font-style:normal;font-weight:700}select[multiple] option{padding-left:.5rem}.page{background-color:var(--tblr-bg-surface-secondary)}.page-header{background-color:var(--tblr-bg-surface);min-height:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-link-icon,.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-link-title{color:#001423}.navbar-vertical.navbar-expand-lg .navbar-collapse .text-secondary{color:#00857d!important}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item a{color:#001423}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item .btn-group{visibility:hidden}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:hover,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active{background-color:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:hover a,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active a{text-decoration:none}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:hover .btn-group,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active .btn-group{visibility:visible}.navbar-vertical.navbar-expand-lg .navbar-nav{z-index:1}@media(max-width:991.98px){.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.2rem 0}}.navbar-vertical.navbar-expand-lg .navbar-brand a:hover{text-decoration:none}.navbar-vertical.navbar-expand-lg img.motif{bottom:0;display:none;left:0;mask-image:linear-gradient(180deg,#0000,#0000004d);opacity:.5;position:fixed;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none;width:18rem}@media(min-width:992px){.navbar-vertical.navbar-expand-lg img.motif{display:block}}body[data-bs-theme=light] .navbar-vertical.navbar-expand-lg{background:linear-gradient(180deg,#00857d00,#00857d1a),#fff}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg{background:linear-gradient(180deg,#00f2d400,#00f2d41a),#001423}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .nav-item.dropdown.active:after{border-color:#00f2d4!important}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .nav-link-title,body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .nav-link-icon,body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .dropdown-item a{color:#fff!important}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .dropdown-item.active,body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .dropdown-item:hover{background-color:#ffffff0f!important}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg .text-secondary{color:#00f2d4!important}body[data-bs-theme=dark] .navbar-vertical.navbar-expand-lg img.motif{opacity:.25}.progress{height:20px}.progress .progress-label{display:flex;flex-direction:column;justify-content:center;padding-left:.25rem}.table thead th,.markdown>table thead th{font-size:.625rem}table.object-list tbody>tr:last-child>td{border-bottom-width:0}table.object-list th.asc>a:after{content:"\f0140";font-family:Material Design Icons}table.object-list th.desc>a:after{content:"\f0143";font-family:Material Design Icons}table.attr-table th{font-weight:400;width:min-content}table.attr-table th,table.attr-table td{border-bottom-style:dashed}table.attr-table tr:last-child{border-bottom-style:hidden}table.attr-table td{overflow-wrap:anywhere}td pre{margin-bottom:0}table th.orderable a{color:var(--tblr-body-color)}body[data-bs-theme=dark] .table thead th,body[data-bs-theme=dark] .markdown>table thead th{background:#001423!important}.page-tabs{border-bottom:1px solid var(--tblr-border-color-translucent)}.page-tabs .nav-tabs{position:relative;border:none}.page-tabs .nav-tabs .nav-link.active,.page-tabs .nav-tabs .nav-link:active,.page-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color-translucent);border-bottom-color:transparent}.page-tabs .nav-tabs .nav-link.active{color:inherit;background:var(--tblr-bg-surface-secondary);border-bottom-color:transparent}pre.change-data{border-radius:0;padding:0}pre.change-data>span{display:block;padding-right:1rem;padding-left:1rem;width:100%;min-width:fit-content}pre.change-data>span.added{color:var(--tblr-dark);background-color:#82d18f}pre.change-data>span.removed{color:var(--tblr-dark);background-color:#e68888}pre.change-diff{border-color:transparent}pre.change-diff.change-added{color:var(--tblr-dark);background-color:#82d18f}pre.change-diff.change-removed{color:var(--tblr-dark);background-color:#e68888}pre.block{padding:1rem;border:1px solid #e5e7eb;border-radius:6px}.grid-stack .card-header.bg-default{background:var(--tblr-bg-surface-secondary)!important}.grid-stack .card-header a{color:inherit!important}tr[data-cable-status=connected]{background-color:#2fb34426}tr[data-cable-status=planned]{background-color:#066fd126}tr[data-cable-status=decommissioning]{background-color:#f59f0026}tr[data-mark-connected=true]{background-color:#2fb34426}tr[data-virtual=true]{background-color:#00857d26}tr[data-enabled=disabled]{background-color:#9ca3af26}tr[data-cable-status=connected] button.mark-installed{display:none}tr:not([data-cable-status=connected]) button.mark-planned{display:none}.rendered-markdown table{width:100%}.rendered-markdown table th{border-bottom:2px solid #dddddd;padding:8px}.rendered-markdown table td{border-top:1px solid #dddddd;padding:8px}.rendered-markdown table th[align=left]{text-align:left}.rendered-markdown table th[align=center]{text-align:center}.rendered-markdown table th[align=right]{text-align:right}.rendered-markdown p:last-child{margin-bottom:0}td>.rendered-markdown{max-height:200px;overflow-y:scroll}.markdown-widget .preview{border:1px solid #e5e7eb;border-radius:6px;min-height:200px}span.color-label{display:inline-block;width:5rem;height:1rem;padding:.25em .5em;border:1px solid #303030;border-radius:6px}.record-depth{display:inline;user-select:none;opacity:33%}.record-depth span:only-of-type,.record-depth span:last-of-type{margin-right:.25rem}.hide-last-child :last-child{visibility:hidden;opacity:0}.netbox-edition{letter-spacing:.15rem}.btn-float-group,.btn-float-group-right,.btn-float-group-left{position:sticky;bottom:10px;z-index:4}.btn-float-group-left{float:left}.btn-float-group-right{float:right}.btn-float{--tblr-btn-bg: var(--tblr-bg-surface-tertiary) !important}.logo{height:80px}.sso-icon{height:24px}img.plugin-icon{max-width:1.4285em;height:auto}.thumbnail{max-width:200px}.thumbnail img{border:1px solid #606060}body[data-bs-theme=dark] img.plugin-icon{filter:grayscale(100%) invert(100%) brightness(80%)}tr[data-read=True] td{background-color:var(--tblr-bg-surface-secondary);color:#6b7280}.rack-loading-container{min-height:200px;margin-left:30px} diff --git a/netbox/project-static/styles/transitional/_forms.scss b/netbox/project-static/styles/transitional/_forms.scss index 668f60e2a..2cf321495 100644 --- a/netbox/project-static/styles/transitional/_forms.scss +++ b/netbox/project-static/styles/transitional/_forms.scss @@ -36,7 +36,6 @@ form.object-edit { // Make optgroup labels sticky when scrolling through select elements select[multiple] { optgroup { - position: sticky; top: 0; background-color: var(--bs-body-bg); font-style: normal; From 21f4036782e3251d92c19d64fd6dea132189f036 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 12 Dec 2025 05:03:16 +0000 Subject: [PATCH 08/45] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 108 +++++++++---------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 36a3369fa..263a55bfd 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-10 05:02+0000\n" +"POT-Creation-Date: 2025-12-12 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -231,7 +231,7 @@ msgstr "" #: netbox/dcim/tables/power.py:93 netbox/dcim/tables/racks.py:125 #: netbox/dcim/tables/racks.py:215 netbox/dcim/tables/sites.py:151 #: netbox/extras/filtersets.py:662 netbox/ipam/forms/bulk_edit.py:479 -#: netbox/ipam/forms/bulk_import.py:489 netbox/ipam/forms/filtersets.py:161 +#: netbox/ipam/forms/bulk_import.py:485 netbox/ipam/forms/filtersets.py:161 #: netbox/ipam/forms/filtersets.py:236 netbox/ipam/forms/filtersets.py:457 #: netbox/ipam/forms/filtersets.py:552 netbox/ipam/forms/model_forms.py:673 #: netbox/ipam/tables/vlans.py:90 netbox/ipam/tables/vlans.py:200 @@ -784,8 +784,8 @@ msgstr "" #: netbox/dcim/tables/sites.py:96 netbox/dcim/tables/sites.py:155 #: netbox/ipam/forms/bulk_edit.py:240 netbox/ipam/forms/bulk_edit.py:290 #: netbox/ipam/forms/bulk_edit.py:343 netbox/ipam/forms/bulk_edit.py:501 -#: netbox/ipam/forms/bulk_import.py:195 netbox/ipam/forms/bulk_import.py:263 -#: netbox/ipam/forms/bulk_import.py:299 netbox/ipam/forms/bulk_import.py:510 +#: netbox/ipam/forms/bulk_import.py:195 netbox/ipam/forms/bulk_import.py:259 +#: netbox/ipam/forms/bulk_import.py:295 netbox/ipam/forms/bulk_import.py:506 #: netbox/ipam/forms/filtersets.py:219 netbox/ipam/forms/filtersets.py:297 #: netbox/ipam/forms/filtersets.py:379 netbox/ipam/forms/filtersets.py:564 #: netbox/ipam/forms/model_forms.py:512 netbox/ipam/tables/ip.py:184 @@ -866,8 +866,8 @@ msgstr "" #: netbox/ipam/forms/bulk_import.py:41 netbox/ipam/forms/bulk_import.py:70 #: netbox/ipam/forms/bulk_import.py:98 netbox/ipam/forms/bulk_import.py:118 #: netbox/ipam/forms/bulk_import.py:138 netbox/ipam/forms/bulk_import.py:167 -#: netbox/ipam/forms/bulk_import.py:256 netbox/ipam/forms/bulk_import.py:292 -#: netbox/ipam/forms/bulk_import.py:472 netbox/ipam/forms/bulk_import.py:503 +#: netbox/ipam/forms/bulk_import.py:252 netbox/ipam/forms/bulk_import.py:288 +#: netbox/ipam/forms/bulk_import.py:468 netbox/ipam/forms/bulk_import.py:499 #: netbox/ipam/forms/filtersets.py:50 netbox/ipam/forms/filtersets.py:70 #: netbox/ipam/forms/filtersets.py:102 netbox/ipam/forms/filtersets.py:123 #: netbox/ipam/forms/filtersets.py:146 netbox/ipam/forms/filtersets.py:182 @@ -1106,8 +1106,8 @@ msgstr "" #: netbox/extras/filtersets.py:689 netbox/ipam/forms/bulk_edit.py:245 #: netbox/ipam/forms/bulk_edit.py:295 netbox/ipam/forms/bulk_edit.py:348 #: netbox/ipam/forms/bulk_edit.py:506 netbox/ipam/forms/bulk_import.py:200 -#: netbox/ipam/forms/bulk_import.py:268 netbox/ipam/forms/bulk_import.py:304 -#: netbox/ipam/forms/bulk_import.py:515 netbox/ipam/forms/filtersets.py:247 +#: netbox/ipam/forms/bulk_import.py:264 netbox/ipam/forms/bulk_import.py:300 +#: netbox/ipam/forms/bulk_import.py:511 netbox/ipam/forms/filtersets.py:247 #: netbox/ipam/forms/filtersets.py:305 netbox/ipam/forms/filtersets.py:384 #: netbox/ipam/forms/filtersets.py:572 netbox/ipam/forms/model_forms.py:195 #: netbox/ipam/forms/model_forms.py:221 netbox/ipam/forms/model_forms.py:260 @@ -1160,8 +1160,8 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:365 netbox/dcim/forms/bulk_import.py:597 #: netbox/dcim/forms/bulk_import.py:757 netbox/dcim/forms/bulk_import.py:1250 #: netbox/dcim/forms/bulk_import.py:1681 netbox/ipam/forms/bulk_import.py:197 -#: netbox/ipam/forms/bulk_import.py:265 netbox/ipam/forms/bulk_import.py:301 -#: netbox/ipam/forms/bulk_import.py:512 netbox/ipam/forms/bulk_import.py:525 +#: netbox/ipam/forms/bulk_import.py:261 netbox/ipam/forms/bulk_import.py:297 +#: netbox/ipam/forms/bulk_import.py:508 netbox/ipam/forms/bulk_import.py:521 #: netbox/virtualization/forms/bulk_import.py:62 #: netbox/virtualization/forms/bulk_import.py:93 #: netbox/vpn/forms/bulk_import.py:39 netbox/vpn/forms/bulk_import.py:266 @@ -1178,9 +1178,9 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:1740 netbox/ipam/forms/bulk_import.py:45 #: netbox/ipam/forms/bulk_import.py:74 netbox/ipam/forms/bulk_import.py:102 #: netbox/ipam/forms/bulk_import.py:122 netbox/ipam/forms/bulk_import.py:142 -#: netbox/ipam/forms/bulk_import.py:171 netbox/ipam/forms/bulk_import.py:260 -#: netbox/ipam/forms/bulk_import.py:296 netbox/ipam/forms/bulk_import.py:476 -#: netbox/ipam/forms/bulk_import.py:507 +#: netbox/ipam/forms/bulk_import.py:171 netbox/ipam/forms/bulk_import.py:256 +#: netbox/ipam/forms/bulk_import.py:292 netbox/ipam/forms/bulk_import.py:472 +#: netbox/ipam/forms/bulk_import.py:503 #: netbox/virtualization/forms/bulk_import.py:76 #: netbox/virtualization/forms/bulk_import.py:130 #: netbox/vpn/forms/bulk_import.py:63 netbox/wireless/forms/bulk_import.py:61 @@ -1224,7 +1224,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:1571 netbox/dcim/forms/model_forms.py:1738 #: netbox/dcim/forms/model_forms.py:1773 netbox/dcim/forms/model_forms.py:1903 #: netbox/dcim/tables/connections.py:65 netbox/dcim/tables/devices.py:1169 -#: netbox/ipam/forms/bulk_import.py:324 netbox/ipam/forms/model_forms.py:291 +#: netbox/ipam/forms/bulk_import.py:320 netbox/ipam/forms/model_forms.py:291 #: netbox/ipam/forms/model_forms.py:300 netbox/ipam/tables/fhrp.py:64 #: netbox/ipam/tables/ip.py:330 netbox/ipam/tables/vlans.py:148 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 @@ -1389,7 +1389,7 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:104 netbox/dcim/forms/model_forms.py:126 #: netbox/dcim/tables/sites.py:103 netbox/extras/forms/filtersets.py:582 #: netbox/ipam/filtersets.py:982 netbox/ipam/forms/bulk_edit.py:488 -#: netbox/ipam/forms/bulk_import.py:496 netbox/ipam/forms/model_forms.py:571 +#: netbox/ipam/forms/bulk_import.py:492 netbox/ipam/forms/model_forms.py:571 #: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:94 #: netbox/ipam/tables/vlans.py:205 #: netbox/templates/circuits/circuitgroupassignment.html:22 @@ -1984,7 +1984,7 @@ msgstr "" #: netbox/dcim/tables/devices.py:862 netbox/dcim/tables/devices.py:921 #: netbox/dcim/tables/devices.py:989 netbox/dcim/tables/devices.py:1118 #: netbox/dcim/tables/modules.py:87 netbox/extras/forms/filtersets.py:389 -#: netbox/ipam/forms/bulk_import.py:310 netbox/ipam/forms/filtersets.py:626 +#: netbox/ipam/forms/bulk_import.py:306 netbox/ipam/forms/filtersets.py:626 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:159 #: netbox/templates/circuits/virtualcircuittermination.html:56 #: netbox/templates/dcim/consoleport.html:20 @@ -3185,7 +3185,7 @@ msgstr "" #: netbox/dcim/tables/devices.py:719 netbox/dcim/tables/devices.py:929 #: netbox/dcim/tables/devices.py:1016 netbox/dcim/tables/devices.py:1175 #: netbox/dcim/tables/sites.py:28 netbox/dcim/tables/sites.py:62 -#: netbox/dcim/tables/sites.py:147 netbox/ipam/forms/bulk_import.py:582 +#: netbox/dcim/tables/sites.py:147 netbox/ipam/forms/bulk_import.py:578 #: netbox/ipam/forms/model_forms.py:770 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:336 netbox/ipam/tables/services.py:45 #: netbox/templates/dcim/devicerole.html:34 @@ -3963,7 +3963,7 @@ msgid "Is assigned" msgstr "" #: netbox/dcim/filtersets.py:1826 netbox/dcim/forms/bulk_import.py:1355 -#: netbox/ipam/forms/bulk_import.py:338 +#: netbox/ipam/forms/bulk_import.py:334 msgid "Is primary" msgstr "" @@ -3991,7 +3991,7 @@ msgstr "" #: netbox/ipam/filtersets.py:579 netbox/ipam/filtersets.py:590 #: netbox/ipam/forms/bulk_edit.py:226 netbox/ipam/forms/bulk_edit.py:282 #: netbox/ipam/forms/bulk_edit.py:329 netbox/ipam/forms/bulk_import.py:160 -#: netbox/ipam/forms/bulk_import.py:249 netbox/ipam/forms/bulk_import.py:285 +#: netbox/ipam/forms/bulk_import.py:245 netbox/ipam/forms/bulk_import.py:281 #: netbox/ipam/forms/filtersets.py:69 netbox/ipam/forms/filtersets.py:180 #: netbox/ipam/forms/filtersets.py:332 netbox/ipam/forms/model_forms.py:66 #: netbox/ipam/forms/model_forms.py:209 netbox/ipam/forms/model_forms.py:257 @@ -4856,7 +4856,7 @@ msgid "available options" msgstr "" #: netbox/dcim/forms/bulk_import.py:138 netbox/dcim/forms/bulk_import.py:633 -#: netbox/dcim/forms/bulk_import.py:1650 netbox/ipam/forms/bulk_import.py:493 +#: netbox/dcim/forms/bulk_import.py:1650 netbox/ipam/forms/bulk_import.py:489 #: netbox/virtualization/forms/bulk_import.py:69 #: netbox/virtualization/forms/bulk_import.py:100 msgid "Assigned site" @@ -5168,7 +5168,7 @@ msgid "Assigned Q-in-Q Service VLAN ID (filtered by VLAN group)" msgstr "" #: netbox/dcim/forms/bulk_import.py:1028 netbox/ipam/forms/bulk_import.py:164 -#: netbox/ipam/forms/bulk_import.py:253 netbox/ipam/forms/bulk_import.py:289 +#: netbox/ipam/forms/bulk_import.py:249 netbox/ipam/forms/bulk_import.py:285 #: netbox/ipam/forms/filtersets.py:210 netbox/ipam/forms/filtersets.py:293 #: netbox/ipam/forms/filtersets.py:360 #: netbox/virtualization/forms/bulk_import.py:220 @@ -5247,11 +5247,11 @@ msgstr "" msgid "Component type must be specified when component name is specified" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1338 netbox/ipam/forms/bulk_import.py:314 +#: netbox/dcim/forms/bulk_import.py:1338 netbox/ipam/forms/bulk_import.py:310 msgid "Parent device of assigned interface (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1341 netbox/ipam/forms/bulk_import.py:317 +#: netbox/dcim/forms/bulk_import.py:1341 netbox/ipam/forms/bulk_import.py:313 #: netbox/virtualization/filtersets.py:259 #: netbox/virtualization/filtersets.py:310 #: netbox/virtualization/forms/bulk_edit.py:182 @@ -5265,12 +5265,12 @@ msgstr "" msgid "Virtual machine" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1345 netbox/ipam/forms/bulk_import.py:321 +#: netbox/dcim/forms/bulk_import.py:1345 netbox/ipam/forms/bulk_import.py:317 msgid "Parent VM of assigned interface (if any)" msgstr "" #: netbox/dcim/forms/bulk_import.py:1352 netbox/ipam/filtersets.py:1035 -#: netbox/ipam/forms/bulk_import.py:328 +#: netbox/ipam/forms/bulk_import.py:324 msgid "Assigned interface" msgstr "" @@ -5654,7 +5654,7 @@ msgstr "" msgid "Please select a {scope_type}." msgstr "" -#: netbox/dcim/forms/mixins.py:117 netbox/ipam/forms/bulk_import.py:466 +#: netbox/dcim/forms/mixins.py:117 netbox/ipam/forms/bulk_import.py:462 msgid "Scope type (app & model)" msgstr "" @@ -6404,7 +6404,7 @@ msgstr "" #: netbox/dcim/models/device_components.py:605 #: netbox/dcim/tables/devices.py:631 netbox/ipam/forms/bulk_edit.py:521 -#: netbox/ipam/forms/bulk_import.py:528 netbox/ipam/forms/filtersets.py:587 +#: netbox/ipam/forms/bulk_import.py:524 netbox/ipam/forms/filtersets.py:587 #: netbox/ipam/forms/model_forms.py:694 netbox/ipam/tables/vlans.py:109 #: netbox/templates/dcim/interface.html:86 netbox/templates/ipam/vlan.html:77 #: netbox/templates/virtualization/vminterface.html:60 @@ -7324,8 +7324,8 @@ msgid "Locally-assigned identifier" msgstr "" #: netbox/dcim/models/racks.py:305 netbox/ipam/forms/bulk_import.py:204 -#: netbox/ipam/forms/bulk_import.py:272 netbox/ipam/forms/bulk_import.py:307 -#: netbox/ipam/forms/bulk_import.py:519 +#: netbox/ipam/forms/bulk_import.py:268 netbox/ipam/forms/bulk_import.py:303 +#: netbox/ipam/forms/bulk_import.py:515 #: netbox/virtualization/forms/bulk_import.py:123 msgid "Functional role" msgstr "" @@ -7576,7 +7576,7 @@ msgid "U Height" msgstr "" #: netbox/dcim/tables/devices.py:210 netbox/dcim/tables/devices.py:1128 -#: netbox/ipam/forms/bulk_import.py:601 netbox/ipam/forms/model_forms.py:317 +#: netbox/ipam/forms/bulk_import.py:597 netbox/ipam/forms/model_forms.py:317 #: netbox/ipam/forms/model_forms.py:330 netbox/ipam/tables/ip.py:314 #: netbox/ipam/tables/ip.py:381 netbox/ipam/tables/ip.py:391 #: netbox/ipam/tables/ip.py:414 netbox/templates/ipam/ipaddress.html:11 @@ -10419,8 +10419,8 @@ msgid "DNS name" msgstr "" #: netbox/ipam/forms/bulk_edit.py:376 netbox/ipam/forms/bulk_edit.py:573 -#: netbox/ipam/forms/bulk_import.py:447 netbox/ipam/forms/bulk_import.py:565 -#: netbox/ipam/forms/bulk_import.py:593 netbox/ipam/forms/filtersets.py:414 +#: netbox/ipam/forms/bulk_import.py:443 netbox/ipam/forms/bulk_import.py:561 +#: netbox/ipam/forms/bulk_import.py:589 netbox/ipam/forms/filtersets.py:414 #: netbox/ipam/forms/filtersets.py:604 netbox/templates/ipam/fhrpgroup.html:22 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:24 #: netbox/templates/ipam/service.html:34 @@ -10464,7 +10464,7 @@ msgstr "" msgid "VLAN ID ranges" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:516 netbox/ipam/forms/bulk_import.py:522 +#: netbox/ipam/forms/bulk_edit.py:516 netbox/ipam/forms/bulk_import.py:518 #: netbox/ipam/forms/filtersets.py:579 netbox/ipam/models/vlans.py:250 #: netbox/ipam/tables/vlans.py:106 msgid "Q-in-Q role" @@ -10478,7 +10478,7 @@ msgstr "" msgid "Site & Group" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:557 netbox/ipam/forms/bulk_import.py:552 +#: netbox/ipam/forms/bulk_edit.py:557 netbox/ipam/forms/bulk_import.py:548 #: netbox/ipam/forms/model_forms.py:726 netbox/ipam/tables/vlans.py:259 #: netbox/templates/ipam/vlantranslationrule.html:14 #: netbox/vpn/forms/model_forms.py:322 netbox/vpn/forms/model_forms.py:359 @@ -10523,86 +10523,86 @@ msgstr "" msgid "Scope ID" msgstr "" -#: netbox/ipam/forms/bulk_import.py:331 netbox/ipam/forms/filtersets.py:636 +#: netbox/ipam/forms/bulk_import.py:327 netbox/ipam/forms/filtersets.py:636 #: netbox/ipam/forms/model_forms.py:306 netbox/ipam/forms/model_forms.py:336 #: netbox/ipam/forms/model_forms.py:517 netbox/templates/ipam/fhrpgroup.html:19 msgid "FHRP Group" msgstr "" -#: netbox/ipam/forms/bulk_import.py:335 +#: netbox/ipam/forms/bulk_import.py:331 msgid "Assigned FHRP Group name" msgstr "" -#: netbox/ipam/forms/bulk_import.py:339 +#: netbox/ipam/forms/bulk_import.py:335 msgid "Make this the primary IP for the assigned device" msgstr "" -#: netbox/ipam/forms/bulk_import.py:343 +#: netbox/ipam/forms/bulk_import.py:339 msgid "Is out-of-band" msgstr "" -#: netbox/ipam/forms/bulk_import.py:344 +#: netbox/ipam/forms/bulk_import.py:340 msgid "Designate this as the out-of-band IP address for the assigned device" msgstr "" -#: netbox/ipam/forms/bulk_import.py:398 +#: netbox/ipam/forms/bulk_import.py:394 msgid "No device or virtual machine specified; cannot set as primary IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:402 +#: netbox/ipam/forms/bulk_import.py:398 msgid "No device specified; cannot set as out-of-band IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:406 +#: netbox/ipam/forms/bulk_import.py:402 msgid "Cannot set out-of-band IP for virtual machines" msgstr "" -#: netbox/ipam/forms/bulk_import.py:410 +#: netbox/ipam/forms/bulk_import.py:406 msgid "No interface specified; cannot set as primary IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:414 +#: netbox/ipam/forms/bulk_import.py:410 msgid "No interface specified; cannot set as out-of-band IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:451 +#: netbox/ipam/forms/bulk_import.py:447 msgid "Auth type" msgstr "" -#: netbox/ipam/forms/bulk_import.py:500 +#: netbox/ipam/forms/bulk_import.py:496 msgid "Assigned VLAN group" msgstr "" -#: netbox/ipam/forms/bulk_import.py:532 +#: netbox/ipam/forms/bulk_import.py:528 msgid "Service VLAN (for Q-in-Q/802.1ad customer VLANs)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:555 netbox/ipam/models/vlans.py:369 +#: netbox/ipam/forms/bulk_import.py:551 netbox/ipam/models/vlans.py:369 msgid "VLAN translation policy" msgstr "" -#: netbox/ipam/forms/bulk_import.py:567 netbox/ipam/forms/bulk_import.py:595 +#: netbox/ipam/forms/bulk_import.py:563 netbox/ipam/forms/bulk_import.py:591 msgid "IP protocol" msgstr "" -#: netbox/ipam/forms/bulk_import.py:579 +#: netbox/ipam/forms/bulk_import.py:575 msgid "Parent type (app & model)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:586 +#: netbox/ipam/forms/bulk_import.py:582 msgid "Parent object name" msgstr "" -#: netbox/ipam/forms/bulk_import.py:590 +#: netbox/ipam/forms/bulk_import.py:586 msgid "Parent object ID" msgstr "" -#: netbox/ipam/forms/bulk_import.py:642 +#: netbox/ipam/forms/bulk_import.py:638 msgid "" "One of parent or parent_object_id must be included with parent_object_type" msgstr "" -#: netbox/ipam/forms/bulk_import.py:655 +#: netbox/ipam/forms/bulk_import.py:651 #, python-brace-format msgid "{ip} is not assigned to this parent." msgstr "" From ec13a79907fcf33f632d136b7bcd58f4f52be81f Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Fri, 12 Dec 2025 11:29:34 -0800 Subject: [PATCH 09/45] Fixes #20875: Fix updating of denormalized fields for component models (#20956) --- netbox/dcim/models/devices.py | 5 +++++ netbox/dcim/models/modules.py | 6 ++++++ netbox/dcim/signals.py | 9 +++++++++ 3 files changed, 20 insertions(+) diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index 64d2e346c..6c5a2d85d 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -957,6 +957,11 @@ class Device( if cf_defaults := CustomField.objects.get_defaults_for_model(model): for component in components: component.custom_field_data = cf_defaults + # Set denormalized references + for component in components: + component._site = self.site + component._location = self.location + component._rack = self.rack components = model.objects.bulk_create(components) # Prefetch related objects to minimize queries needed during post_save prefetch_fields = get_prefetchable_fields(model) diff --git a/netbox/dcim/models/modules.py b/netbox/dcim/models/modules.py index 1c3f9f730..b5071794a 100644 --- a/netbox/dcim/models/modules.py +++ b/netbox/dcim/models/modules.py @@ -315,6 +315,12 @@ class Module(PrimaryModel, ConfigContextModel): for component in create_instances: component.custom_field_data = cf_defaults + # Set denormalized references + for component in create_instances: + component._site = self.device.site + component._location = self.device.location + component._rack = self.device.rack + if component_model is not ModuleBay: component_model.objects.bulk_create(create_instances) # Emit the post_save signal for each newly created object diff --git a/netbox/dcim/signals.py b/netbox/dcim/signals.py index 9295ddbdb..9079b6278 100644 --- a/netbox/dcim/signals.py +++ b/netbox/dcim/signals.py @@ -44,6 +44,9 @@ def handle_location_site_change(instance, created, **kwargs): Device.objects.filter(location__in=locations).update(site=instance.site) PowerPanel.objects.filter(location__in=locations).update(site=instance.site) CableTermination.objects.filter(_location__in=locations).update(_site=instance.site) + # Update component models for devices in these locations + for model in COMPONENT_MODELS: + model.objects.filter(device__location__in=locations).update(_site=instance.site) @receiver(post_save, sender=Rack) @@ -53,6 +56,12 @@ def handle_rack_site_change(instance, created, **kwargs): """ if not created: Device.objects.filter(rack=instance).update(site=instance.site, location=instance.location) + # Update component models for devices in this rack + for model in COMPONENT_MODELS: + model.objects.filter(device__rack=instance).update( + _site=instance.site, + _location=instance.location, + ) @receiver(post_save, sender=Device) From 598f8d034d2333875f96f92bdacdaadb629e3d28 Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Fri, 12 Dec 2025 15:31:59 -0600 Subject: [PATCH 10/45] Fixes #20912: Clear ModuleBay parent when module assignment removed (#20974) --- netbox/dcim/models/device_components.py | 2 ++ netbox/dcim/tests/test_models.py | 26 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index 9c44e0494..dc8c1e455 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -1222,6 +1222,8 @@ class ModuleBay(ModularComponentModel, TrackingModelMixin, MPTTModel): def save(self, *args, **kwargs): if self.module: self.parent = self.module.module_bay + else: + self.parent = None super().save(*args, **kwargs) diff --git a/netbox/dcim/tests/test_models.py b/netbox/dcim/tests/test_models.py index e67f32e60..f41509808 100644 --- a/netbox/dcim/tests/test_models.py +++ b/netbox/dcim/tests/test_models.py @@ -841,6 +841,32 @@ class ModuleBayTestCase(TestCase): nested_bay = module.modulebays.get(name='SFP A-21') self.assertEqual(nested_bay.label, 'A-21') + @tag('regression') # #20912 + def test_module_bay_parent_cleared_when_module_removed(self): + """Test that the parent field is properly cleared when a module bay's module assignment is removed""" + device = Device.objects.first() + manufacturer = Manufacturer.objects.first() + module_type = ModuleType.objects.create(manufacturer=manufacturer, model='Test Module Type') + bay1 = ModuleBay.objects.create(device=device, name='Test Bay 1') + bay2 = ModuleBay.objects.create(device=device, name='Test Bay 2') + + # Install a module in bay1 + module1 = Module.objects.create(device=device, module_bay=bay1, module_type=module_type) + + # Assign bay2 to module1 and verify parent is now set to bay1 (module1's bay) + bay2.module = module1 + bay2.save() + bay2.refresh_from_db() + self.assertEqual(bay2.parent, bay1) + self.assertEqual(bay2.module, module1) + + # Clear the module assignment (return bay2 to device level) Verify parent is cleared + bay2.module = None + bay2.save() + bay2.refresh_from_db() + self.assertIsNone(bay2.parent) + self.assertIsNone(bay2.module) + class CableTestCase(TestCase): From ad29402b876871824d54850541f102fe6cf172d1 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Dec 2025 05:02:00 +0000 Subject: [PATCH 11/45] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 86 ++++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 263a55bfd..fa515bbbd 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-12 05:02+0000\n" +"POT-Creation-Date: 2025-12-13 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1441,7 +1441,7 @@ msgstr "" #: netbox/dcim/models/device_components.py:517 #: netbox/dcim/models/device_components.py:1063 #: netbox/dcim/models/device_components.py:1134 -#: netbox/dcim/models/device_components.py:1280 +#: netbox/dcim/models/device_components.py:1282 #: netbox/dcim/models/devices.py:382 netbox/dcim/models/racks.py:227 #: netbox/extras/models/tags.py:29 msgid "color" @@ -1469,8 +1469,8 @@ msgstr "" #: netbox/circuits/models/virtual_circuits.py:59 netbox/core/models/data.py:52 #: netbox/core/models/jobs.py:95 netbox/dcim/models/cables.py:51 #: netbox/dcim/models/device_components.py:488 -#: netbox/dcim/models/device_components.py:1319 -#: netbox/dcim/models/devices.py:580 netbox/dcim/models/devices.py:1202 +#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/devices.py:580 netbox/dcim/models/devices.py:1207 #: netbox/dcim/models/modules.py:209 netbox/dcim/models/power.py:94 #: netbox/dcim/models/racks.py:294 netbox/dcim/models/racks.py:677 #: netbox/dcim/models/sites.py:157 netbox/dcim/models/sites.py:281 @@ -1604,7 +1604,7 @@ msgstr "" #: netbox/core/models/jobs.py:56 #: netbox/dcim/models/device_component_templates.py:44 #: netbox/dcim/models/device_components.py:53 netbox/dcim/models/devices.py:524 -#: netbox/dcim/models/devices.py:1128 netbox/dcim/models/devices.py:1197 +#: netbox/dcim/models/devices.py:1133 netbox/dcim/models/devices.py:1202 #: netbox/dcim/models/modules.py:31 netbox/dcim/models/power.py:38 #: netbox/dcim/models/power.py:89 netbox/dcim/models/racks.py:263 #: netbox/dcim/models/sites.py:145 netbox/extras/models/configs.py:36 @@ -3817,8 +3817,8 @@ msgstr "" #: netbox/dcim/filtersets.py:1197 netbox/dcim/forms/filtersets.py:855 #: netbox/dcim/forms/filtersets.py:1483 netbox/dcim/forms/filtersets.py:1699 -#: netbox/dcim/forms/model_forms.py:1900 netbox/dcim/models/devices.py:1298 -#: netbox/dcim/models/devices.py:1318 netbox/virtualization/filtersets.py:201 +#: netbox/dcim/forms/model_forms.py:1900 netbox/dcim/models/devices.py:1303 +#: netbox/dcim/models/devices.py:1323 netbox/virtualization/filtersets.py:201 #: netbox/virtualization/filtersets.py:273 #: netbox/virtualization/forms/filtersets.py:178 #: netbox/virtualization/forms/filtersets.py:231 @@ -6277,12 +6277,12 @@ msgid "" msgstr "" #: netbox/dcim/models/device_component_templates.py:777 -#: netbox/dcim/models/device_components.py:1340 +#: netbox/dcim/models/device_components.py:1342 msgid "part ID" msgstr "" #: netbox/dcim/models/device_component_templates.py:779 -#: netbox/dcim/models/device_components.py:1342 +#: netbox/dcim/models/device_components.py:1344 msgid "Manufacturer-assigned part identifier" msgstr "" @@ -6631,83 +6631,83 @@ msgstr "" msgid "A module bay cannot belong to a module installed within it." msgstr "" -#: netbox/dcim/models/device_components.py:1243 +#: netbox/dcim/models/device_components.py:1245 msgid "device bay" msgstr "" -#: netbox/dcim/models/device_components.py:1244 +#: netbox/dcim/models/device_components.py:1246 msgid "device bays" msgstr "" -#: netbox/dcim/models/device_components.py:1251 +#: netbox/dcim/models/device_components.py:1253 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" -#: netbox/dcim/models/device_components.py:1257 +#: netbox/dcim/models/device_components.py:1259 msgid "Cannot install a device into itself." msgstr "" -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_components.py:1267 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "" -#: netbox/dcim/models/device_components.py:1286 +#: netbox/dcim/models/device_components.py:1288 msgid "inventory item role" msgstr "" -#: netbox/dcim/models/device_components.py:1287 +#: netbox/dcim/models/device_components.py:1289 msgid "inventory item roles" msgstr "" -#: netbox/dcim/models/device_components.py:1346 +#: netbox/dcim/models/device_components.py:1348 #: netbox/dcim/models/devices.py:533 netbox/dcim/models/modules.py:217 #: netbox/dcim/models/racks.py:310 #: netbox/virtualization/models/virtualmachines.py:125 msgid "serial number" msgstr "" -#: netbox/dcim/models/device_components.py:1354 +#: netbox/dcim/models/device_components.py:1356 #: netbox/dcim/models/devices.py:541 netbox/dcim/models/modules.py:224 #: netbox/dcim/models/racks.py:317 msgid "asset tag" msgstr "" -#: netbox/dcim/models/device_components.py:1355 +#: netbox/dcim/models/device_components.py:1357 msgid "A unique tag used to identify this item" msgstr "" -#: netbox/dcim/models/device_components.py:1358 +#: netbox/dcim/models/device_components.py:1360 msgid "discovered" msgstr "" -#: netbox/dcim/models/device_components.py:1360 +#: netbox/dcim/models/device_components.py:1362 msgid "This item was automatically discovered" msgstr "" -#: netbox/dcim/models/device_components.py:1378 +#: netbox/dcim/models/device_components.py:1380 msgid "inventory item" msgstr "" -#: netbox/dcim/models/device_components.py:1379 +#: netbox/dcim/models/device_components.py:1381 msgid "inventory items" msgstr "" -#: netbox/dcim/models/device_components.py:1387 +#: netbox/dcim/models/device_components.py:1389 msgid "Cannot assign self as parent." msgstr "" -#: netbox/dcim/models/device_components.py:1395 +#: netbox/dcim/models/device_components.py:1397 msgid "Parent inventory item does not belong to the same device." msgstr "" -#: netbox/dcim/models/device_components.py:1401 +#: netbox/dcim/models/device_components.py:1403 msgid "Cannot move an inventory item with dependent children" msgstr "" -#: netbox/dcim/models/device_components.py:1409 +#: netbox/dcim/models/device_components.py:1411 msgid "Cannot assign inventory item to component on another device" msgstr "" @@ -6867,12 +6867,12 @@ msgstr "" msgid "rack face" msgstr "" -#: netbox/dcim/models/devices.py:598 netbox/dcim/models/devices.py:1218 +#: netbox/dcim/models/devices.py:598 netbox/dcim/models/devices.py:1223 #: netbox/virtualization/models/virtualmachines.py:94 msgid "primary IPv4" msgstr "" -#: netbox/dcim/models/devices.py:606 netbox/dcim/models/devices.py:1226 +#: netbox/dcim/models/devices.py:606 netbox/dcim/models/devices.py:1231 #: netbox/virtualization/models/virtualmachines.py:102 msgid "primary IPv6" msgstr "" @@ -7020,68 +7020,68 @@ msgid "" "is currently designated as its master." msgstr "" -#: netbox/dcim/models/devices.py:1133 +#: netbox/dcim/models/devices.py:1138 msgid "domain" msgstr "" -#: netbox/dcim/models/devices.py:1146 netbox/dcim/models/devices.py:1147 +#: netbox/dcim/models/devices.py:1151 netbox/dcim/models/devices.py:1152 msgid "virtual chassis" msgstr "" -#: netbox/dcim/models/devices.py:1159 +#: netbox/dcim/models/devices.py:1164 #, python-brace-format msgid "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" -#: netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/devices.py:1179 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "" -#: netbox/dcim/models/devices.py:1207 netbox/vpn/models/l2vpn.py:42 +#: netbox/dcim/models/devices.py:1212 netbox/vpn/models/l2vpn.py:42 msgid "identifier" msgstr "" -#: netbox/dcim/models/devices.py:1208 +#: netbox/dcim/models/devices.py:1213 msgid "Numeric identifier unique to the parent device" msgstr "" -#: netbox/dcim/models/devices.py:1236 netbox/extras/models/customfields.py:231 +#: netbox/dcim/models/devices.py:1241 netbox/extras/models/customfields.py:231 #: netbox/extras/models/models.py:111 netbox/extras/models/models.py:800 #: netbox/netbox/models/__init__.py:120 netbox/netbox/models/__init__.py:155 msgid "comments" msgstr "" -#: netbox/dcim/models/devices.py:1252 +#: netbox/dcim/models/devices.py:1257 msgid "virtual device context" msgstr "" -#: netbox/dcim/models/devices.py:1253 +#: netbox/dcim/models/devices.py:1258 msgid "virtual device contexts" msgstr "" -#: netbox/dcim/models/devices.py:1282 +#: netbox/dcim/models/devices.py:1287 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "" -#: netbox/dcim/models/devices.py:1288 +#: netbox/dcim/models/devices.py:1293 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" -#: netbox/dcim/models/devices.py:1319 +#: netbox/dcim/models/devices.py:1324 msgid "MAC addresses" msgstr "" -#: netbox/dcim/models/devices.py:1351 +#: netbox/dcim/models/devices.py:1356 msgid "" "Cannot unassign MAC Address while it is designated as the primary MAC for an " "object" msgstr "" -#: netbox/dcim/models/devices.py:1355 +#: netbox/dcim/models/devices.py:1360 msgid "" "Cannot reassign MAC Address while it is designated as the primary MAC for an " "object" From f37100480984552b97fcb733b0a5ec0f76087024 Mon Sep 17 00:00:00 2001 From: vo42 Date: Tue, 16 Dec 2025 20:23:18 +0100 Subject: [PATCH 12/45] Fixes #20969: Fix FrontPortTemplateFilterSet rear_port_id queryset. (#20987) --- netbox/dcim/filtersets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 9572de966..c792263b7 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -875,7 +875,7 @@ class FrontPortTemplateFilterSet(ChangeLoggedModelFilterSet, ModularDeviceTypeCo null_value=None ) rear_port_id = django_filters.ModelMultipleChoiceFilter( - queryset=RearPort.objects.all() + queryset=RearPortTemplate.objects.all() ) class Meta: From d95fa8dbb23f291742bc81a9e0d3a036c0eba6d1 Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Wed, 17 Dec 2025 09:21:17 -0600 Subject: [PATCH 13/45] Fixes #20011: UI Error msg for duplicate IDs in bulk import --- netbox/dcim/tests/test_views.py | 26 +++++++++++++++++++++++ netbox/netbox/views/generic/bulk_views.py | 14 ++++++++++++ 2 files changed, 40 insertions(+) diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index 6a34df652..9103befdb 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -2322,6 +2322,32 @@ class DeviceTestCase(ViewTestCases.PrimaryObjectViewTestCase): url = reverse('dcim:device_inventory', kwargs={'pk': device.pk}) self.assertHttpStatus(self.client.get(url), 200) + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_bulk_import_duplicate_ids_error_message(self): + device = Device.objects.first() + csv_data = ( + "id,role", + f"{device.pk},Device Role 1", + f"{device.pk},Device Role 2", + ) + + self.add_permissions('dcim.add_device', 'dcim.change_device') + response = self.client.post( + self._get_url('bulk_import'), + { + 'data': '\n'.join(csv_data), + 'format': ImportFormatChoices.CSV, + 'csv_delimiter': CSVDelimiterChoices.AUTO, + }, + follow=True + ) + + self.assertEqual(response.status_code, 200) + self.assertIn( + f'Duplicate objects found: Device with ID(s) {device.pk} appears multiple times', + response.content.decode('utf-8') + ) + class ModuleTestCase( # Module does not support bulk renaming (no name field) or diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index 1d8d6b298..b8d70e112 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -1,5 +1,6 @@ import logging import re +from collections import Counter from copy import deepcopy from django.contrib import messages @@ -33,6 +34,7 @@ from utilities.jobs import is_background_request, process_request_as_job from utilities.permissions import get_permission_for_model from utilities.query import reapply_model_ordering from utilities.request import safe_for_redirect +from utilities.string import title from utilities.tables import get_table_configs from utilities.views import GetReturnURLMixin, get_action_url from .base import BaseMultiObjectView @@ -443,6 +445,18 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView): # Prefetch objects to be updated, if any prefetch_ids = [int(record['id']) for record in records if record.get('id')] + + # check for duplicate IDs + duplicate_pks = [pk for pk, count in Counter(prefetch_ids).items() if count > 1] + if duplicate_pks: + error_msg = _( + "Duplicate objects found: {model} with ID(s) {ids} appears multiple times" + ).format( + model=title(self.queryset.model._meta.verbose_name), + ids=', '.join(str(pk) for pk in sorted(duplicate_pks)) + ) + raise ValidationError(error_msg) + prefetched_objects = { obj.pk: obj for obj in self.queryset.model.objects.filter(id__in=prefetch_ids) From 265f375595f42cdba4e0d5eb5fd0e038f9f24ac3 Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Wed, 17 Dec 2025 09:48:45 -0600 Subject: [PATCH 14/45] Fixes #20876: Allow editing IPAddress in IPRange marked populated --- netbox/ipam/models/ip.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/netbox/ipam/models/ip.py b/netbox/ipam/models/ip.py index b31c9a14b..75ab5a93b 100644 --- a/netbox/ipam/models/ip.py +++ b/netbox/ipam/models/ip.py @@ -910,13 +910,13 @@ class IPAddress(ContactsMixin, PrimaryModel): }) # Disallow the creation of IPAddresses within an IPRange with mark_populated=True - parent_range = IPRange.objects.filter( + parent_range_qs = IPRange.objects.filter( start_address__lte=self.address, end_address__gte=self.address, vrf=self.vrf, mark_populated=True - ).first() - if parent_range: + ) + if not self.pk and (parent_range := parent_range_qs.first()): raise ValidationError({ 'address': _( "Cannot create IP address {ip} inside range {range}." From 5c6aaf238806e270a5dce9a2bb1492772a549af8 Mon Sep 17 00:00:00 2001 From: Martin Hauser Date: Wed, 17 Dec 2025 21:32:46 +0100 Subject: [PATCH 15/45] Closes #20900: Allow multiple choices in CustomField select filter fields (#20992) --- netbox/extras/models/customfields.py | 12 ++++++++++-- netbox/netbox/forms/base.py | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index d97691026..898ba6908 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -449,7 +449,14 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel): return model.objects.filter(pk__in=value) return value - def to_form_field(self, set_initial=True, enforce_required=True, enforce_visibility=True, for_csv_import=False): + def to_form_field( + self, + set_initial=True, + enforce_required=True, + enforce_visibility=True, + for_csv_import=False, + for_filterset_form=False, + ): """ Return a form field suitable for setting a CustomField's value for an object. @@ -457,6 +464,7 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel): enforce_required: Honor the value of CustomField.required. Set to False for filtering/bulk editing. enforce_visibility: Honor the value of CustomField.ui_visible. Set to False for filtering. for_csv_import: Return a form field suitable for bulk import of objects in CSV format. + for_filterset_form: Return a form field suitable for use in a FilterSet form. """ initial = self.default if set_initial else None required = self.required if enforce_required else False @@ -519,7 +527,7 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel): field_class = CSVMultipleChoiceField field = field_class(choices=choices, required=required, initial=initial) else: - if self.type == CustomFieldTypeChoices.TYPE_SELECT: + if self.type == CustomFieldTypeChoices.TYPE_SELECT and not for_filterset_form: field_class = DynamicChoiceField widget_class = APISelect else: diff --git a/netbox/netbox/forms/base.py b/netbox/netbox/forms/base.py index 0860ec814..1b22e83f8 100644 --- a/netbox/netbox/forms/base.py +++ b/netbox/netbox/forms/base.py @@ -205,4 +205,6 @@ class NetBoxModelFilterSetForm(CustomFieldsMixin, SavedFiltersMixin, forms.Form) ) def _get_form_field(self, customfield): - return customfield.to_form_field(set_initial=False, enforce_required=False, enforce_visibility=False) + return customfield.to_form_field( + set_initial=False, enforce_required=False, enforce_visibility=False, for_filterset_form=True + ) From 9318c91405de9160c12152d055171020c693a401 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 17 Dec 2025 16:20:04 -0500 Subject: [PATCH 16/45] Closes #20720: Add support for Latvian translations (#21003) --- README.md | 2 +- netbox/netbox/settings.py | 1 + netbox/translations/lv/LC_MESSAGES/django.po | 16393 +++++++++++++++++ 3 files changed, 16395 insertions(+), 1 deletion(-) create mode 100644 netbox/translations/lv/LC_MESSAGES/django.po diff --git a/README.md b/README.md index 1fd8e2f5a..670df12bd 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ License Contributors GitHub stars - Languages supported + Languages supported CI status

NetBox Community | diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 131f8efdc..fff7cec84 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -827,6 +827,7 @@ LANGUAGES = ( ('fr', _('French')), ('it', _('Italian')), ('ja', _('Japanese')), + ('lv', _('Latvian')), ('nl', _('Dutch')), ('pl', _('Polish')), ('pt', _('Portuguese')), diff --git a/netbox/translations/lv/LC_MESSAGES/django.po b/netbox/translations/lv/LC_MESSAGES/django.po new file mode 100644 index 000000000..16bf20a68 --- /dev/null +++ b/netbox/translations/lv/LC_MESSAGES/django.po @@ -0,0 +1,16393 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-17 20:29+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: account/tables.py:27 templates/account/token.html:22 +#: templates/users/token.html:17 users/forms/bulk_import.py:39 +#: users/forms/model_forms.py:126 +msgid "Key" +msgstr "" + +#: account/tables.py:31 users/forms/filtersets.py:132 +msgid "Write Enabled" +msgstr "" + +#: account/tables.py:35 core/choices.py:102 core/tables/jobs.py:31 +#: core/tables/tasks.py:80 extras/tables/tables.py:404 +#: extras/tables/tables.py:690 templates/account/token.html:43 +#: templates/core/configrevision.html:26 +#: templates/core/configrevision_restore.html:12 templates/core/job.html:42 +#: templates/core/rq_task.html:16 templates/core/rq_task.html:73 +#: templates/core/rq_worker.html:14 templates/extras/htmx/script_result.html:12 +#: templates/extras/journalentry.html:22 templates/generic/object.html:58 +#: templates/htmx/quick_add_created.html:7 templates/users/token.html:35 +msgid "Created" +msgstr "" + +#: account/tables.py:39 templates/account/token.html:47 +#: templates/users/token.html:39 users/forms/bulk_edit.py:117 +#: users/forms/filtersets.py:136 +msgid "Expires" +msgstr "" + +#: account/tables.py:42 users/forms/filtersets.py:141 +msgid "Last Used" +msgstr "" + +#: account/tables.py:45 templates/account/token.html:55 +#: templates/users/token.html:47 users/forms/bulk_edit.py:122 +#: users/forms/model_forms.py:138 +msgid "Allowed IPs" +msgstr "" + +#: account/views.py:118 +#, python-brace-format +msgid "Logged in as {user}." +msgstr "" + +#: account/views.py:174 +msgid "You have logged out." +msgstr "" + +#: account/views.py:224 +msgid "Your preferences have been updated." +msgstr "" + +#: account/views.py:252 +msgid "LDAP-authenticated user credentials cannot be changed within NetBox." +msgstr "" + +#: account/views.py:267 +msgid "Your password has been changed successfully." +msgstr "" + +#: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 +#: dcim/choices.py:204 dcim/choices.py:257 dcim/choices.py:1858 +#: dcim/choices.py:1916 dcim/choices.py:1983 dcim/choices.py:2005 +#: virtualization/choices.py:20 virtualization/choices.py:46 vpn/choices.py:18 +#: vpn/choices.py:281 +msgid "Planned" +msgstr "" + +#: circuits/choices.py:22 netbox/navigation/menu.py:327 +msgid "Provisioning" +msgstr "" + +#: circuits/choices.py:23 core/tables/plugins.py:57 core/tables/tasks.py:23 +#: dcim/choices.py:22 dcim/choices.py:103 dcim/choices.py:155 +#: dcim/choices.py:203 dcim/choices.py:256 dcim/choices.py:1915 +#: dcim/choices.py:1982 dcim/choices.py:2004 extras/tables/tables.py:598 +#: ipam/choices.py:31 ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 +#: templates/extras/configcontext.html:29 templates/users/user.html:35 +#: users/forms/bulk_edit.py:38 virtualization/choices.py:22 +#: virtualization/choices.py:45 vpn/choices.py:19 vpn/choices.py:280 +#: wireless/choices.py:25 +msgid "Active" +msgstr "" + +#: circuits/choices.py:24 dcim/choices.py:202 dcim/choices.py:255 +#: dcim/choices.py:1914 dcim/choices.py:1984 dcim/choices.py:2003 +#: virtualization/choices.py:24 virtualization/choices.py:44 +msgid "Offline" +msgstr "" + +#: circuits/choices.py:25 +msgid "Deprovisioning" +msgstr "" + +#: circuits/choices.py:26 +msgid "Decommissioned" +msgstr "" + +#: circuits/choices.py:90 dcim/choices.py:1927 dcim/tables/devices.py:1178 +#: templates/dcim/interface.html:135 +#: templates/virtualization/vminterface.html:83 tenancy/choices.py:17 +msgid "Primary" +msgstr "" + +#: circuits/choices.py:91 ipam/choices.py:90 tenancy/choices.py:18 +msgid "Secondary" +msgstr "" + +#: circuits/choices.py:92 tenancy/choices.py:19 +msgid "Tertiary" +msgstr "" + +#: circuits/choices.py:93 tenancy/choices.py:20 +msgid "Inactive" +msgstr "" + +#: circuits/choices.py:107 templates/dcim/interface.html:275 vpn/choices.py:63 +msgid "Peer" +msgstr "" + +#: circuits/choices.py:108 vpn/choices.py:64 +msgid "Hub" +msgstr "" + +#: circuits/choices.py:109 vpn/choices.py:65 +msgid "Spoke" +msgstr "" + +#: circuits/filtersets.py:37 circuits/filtersets.py:202 +#: circuits/filtersets.py:282 dcim/base_filtersets.py:22 dcim/filtersets.py:101 +#: dcim/filtersets.py:155 dcim/filtersets.py:215 dcim/filtersets.py:336 +#: dcim/filtersets.py:467 dcim/filtersets.py:1108 dcim/filtersets.py:1429 +#: dcim/filtersets.py:1527 dcim/filtersets.py:2263 dcim/filtersets.py:2506 +#: dcim/filtersets.py:2564 ipam/filtersets.py:942 +#: virtualization/filtersets.py:139 vpn/filtersets.py:362 +msgid "Region (ID)" +msgstr "" + +#: circuits/filtersets.py:44 circuits/filtersets.py:209 +#: circuits/filtersets.py:289 dcim/base_filtersets.py:29 dcim/filtersets.py:108 +#: dcim/filtersets.py:161 dcim/filtersets.py:222 dcim/filtersets.py:343 +#: dcim/filtersets.py:474 dcim/filtersets.py:1115 dcim/filtersets.py:1436 +#: dcim/filtersets.py:1534 dcim/filtersets.py:2270 dcim/filtersets.py:2513 +#: dcim/filtersets.py:2571 extras/filtersets.py:646 ipam/filtersets.py:949 +#: virtualization/filtersets.py:146 vpn/filtersets.py:357 +msgid "Region (slug)" +msgstr "" + +#: circuits/filtersets.py:50 circuits/filtersets.py:215 +#: circuits/filtersets.py:295 dcim/base_filtersets.py:35 dcim/filtersets.py:131 +#: dcim/filtersets.py:228 dcim/filtersets.py:349 dcim/filtersets.py:480 +#: dcim/filtersets.py:1121 dcim/filtersets.py:1442 dcim/filtersets.py:1540 +#: dcim/filtersets.py:2276 dcim/filtersets.py:2519 dcim/filtersets.py:2577 +#: ipam/filtersets.py:239 ipam/filtersets.py:955 +#: virtualization/filtersets.py:152 +msgid "Site group (ID)" +msgstr "" + +#: circuits/filtersets.py:57 circuits/filtersets.py:222 +#: circuits/filtersets.py:302 dcim/base_filtersets.py:42 dcim/filtersets.py:138 +#: dcim/filtersets.py:235 dcim/filtersets.py:356 dcim/filtersets.py:487 +#: dcim/filtersets.py:1128 dcim/filtersets.py:1449 dcim/filtersets.py:1547 +#: dcim/filtersets.py:2283 dcim/filtersets.py:2526 dcim/filtersets.py:2584 +#: extras/filtersets.py:652 ipam/filtersets.py:246 ipam/filtersets.py:962 +#: virtualization/filtersets.py:159 +msgid "Site group (slug)" +msgstr "" + +#: circuits/filtersets.py:62 circuits/forms/filtersets.py:59 +#: circuits/forms/filtersets.py:183 circuits/forms/filtersets.py:241 +#: circuits/tables/circuits.py:129 dcim/forms/bulk_edit.py:183 +#: dcim/forms/bulk_edit.py:355 dcim/forms/bulk_edit.py:753 +#: dcim/forms/bulk_edit.py:958 dcim/forms/bulk_import.py:135 +#: dcim/forms/bulk_import.py:237 dcim/forms/bulk_import.py:338 +#: dcim/forms/bulk_import.py:630 dcim/forms/bulk_import.py:1619 +#: dcim/forms/bulk_import.py:1647 dcim/forms/filtersets.py:90 +#: dcim/forms/filtersets.py:234 dcim/forms/filtersets.py:346 +#: dcim/forms/filtersets.py:448 dcim/forms/filtersets.py:790 +#: dcim/forms/filtersets.py:1009 dcim/forms/filtersets.py:1082 +#: dcim/forms/filtersets.py:1106 dcim/forms/filtersets.py:1196 +#: dcim/forms/filtersets.py:1234 dcim/forms/filtersets.py:1744 +#: dcim/forms/filtersets.py:1768 dcim/forms/filtersets.py:1792 +#: dcim/forms/model_forms.py:147 dcim/forms/model_forms.py:175 +#: dcim/forms/model_forms.py:251 dcim/forms/model_forms.py:577 +#: dcim/forms/model_forms.py:841 dcim/forms/object_create.py:395 +#: dcim/tables/devices.py:171 dcim/tables/power.py:26 dcim/tables/power.py:93 +#: dcim/tables/racks.py:125 dcim/tables/racks.py:215 dcim/tables/sites.py:151 +#: extras/filtersets.py:662 ipam/forms/bulk_edit.py:479 +#: ipam/forms/bulk_import.py:485 ipam/forms/filtersets.py:161 +#: ipam/forms/filtersets.py:236 ipam/forms/filtersets.py:457 +#: ipam/forms/filtersets.py:552 ipam/forms/model_forms.py:673 +#: ipam/tables/vlans.py:90 ipam/tables/vlans.py:200 +#: templates/dcim/device.html:22 templates/dcim/inc/cable_termination.html:8 +#: templates/dcim/inc/cable_termination.html:36 templates/dcim/location.html:37 +#: templates/dcim/powerpanel.html:22 templates/dcim/rack.html:20 +#: templates/dcim/rackreservation.html:28 templates/dcim/site.html:28 +#: templates/ipam/vlan.html:23 templates/ipam/vlan_edit.html:52 +#: templates/virtualization/virtualmachine.html:95 +#: virtualization/forms/bulk_edit.py:106 virtualization/forms/bulk_import.py:65 +#: virtualization/forms/bulk_import.py:96 virtualization/forms/filtersets.py:75 +#: virtualization/forms/filtersets.py:154 +#: virtualization/forms/model_forms.py:104 +#: virtualization/forms/model_forms.py:178 +#: virtualization/tables/virtualmachines.py:33 vpn/forms/filtersets.py:277 +#: wireless/forms/filtersets.py:88 wireless/forms/model_forms.py:81 +#: wireless/forms/model_forms.py:123 +msgid "Site" +msgstr "" + +#: circuits/filtersets.py:68 circuits/filtersets.py:233 +#: circuits/filtersets.py:313 dcim/base_filtersets.py:53 dcim/filtersets.py:245 +#: dcim/filtersets.py:366 dcim/filtersets.py:461 extras/filtersets.py:668 +#: ipam/filtersets.py:257 ipam/filtersets.py:972 +#: virtualization/filtersets.py:169 vpn/filtersets.py:367 +msgid "Site (slug)" +msgstr "" + +#: circuits/filtersets.py:73 +msgid "ASN (ID)" +msgstr "" + +#: circuits/filtersets.py:79 circuits/forms/filtersets.py:39 +#: ipam/forms/model_forms.py:166 ipam/models/asns.py:106 +#: ipam/models/asns.py:123 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +msgid "ASN" +msgstr "" + +#: circuits/filtersets.py:99 circuits/filtersets.py:126 +#: circuits/filtersets.py:160 circuits/filtersets.py:336 +#: circuits/filtersets.py:404 circuits/filtersets.py:480 +#: circuits/filtersets.py:548 ipam/filtersets.py:262 +msgid "Provider (ID)" +msgstr "" + +#: circuits/filtersets.py:105 circuits/filtersets.py:132 +#: circuits/filtersets.py:166 circuits/filtersets.py:342 +#: circuits/filtersets.py:486 circuits/filtersets.py:554 ipam/filtersets.py:268 +msgid "Provider (slug)" +msgstr "" + +#: circuits/filtersets.py:171 circuits/filtersets.py:491 +#: circuits/filtersets.py:559 +msgid "Provider account (ID)" +msgstr "" + +#: circuits/filtersets.py:177 circuits/filtersets.py:497 +#: circuits/filtersets.py:565 +msgid "Provider account (account)" +msgstr "" + +#: circuits/filtersets.py:182 circuits/filtersets.py:501 +#: circuits/filtersets.py:570 +msgid "Provider network (ID)" +msgstr "" + +#: circuits/filtersets.py:186 +msgid "Circuit type (ID)" +msgstr "" + +#: circuits/filtersets.py:192 +msgid "Circuit type (slug)" +msgstr "" + +#: circuits/filtersets.py:227 circuits/filtersets.py:307 +#: dcim/base_filtersets.py:47 dcim/filtersets.py:239 dcim/filtersets.py:360 +#: dcim/filtersets.py:455 dcim/filtersets.py:1132 dcim/filtersets.py:1454 +#: dcim/filtersets.py:1552 dcim/filtersets.py:2288 dcim/filtersets.py:2530 +#: dcim/filtersets.py:2589 ipam/filtersets.py:251 ipam/filtersets.py:966 +#: virtualization/filtersets.py:163 vpn/filtersets.py:372 +msgid "Site (ID)" +msgstr "" + +#: circuits/filtersets.py:237 circuits/filtersets.py:319 +#: dcim/base_filtersets.py:59 dcim/filtersets.py:261 dcim/filtersets.py:372 +#: dcim/filtersets.py:493 dcim/filtersets.py:1144 dcim/filtersets.py:1465 +#: dcim/filtersets.py:1563 dcim/filtersets.py:2542 +msgid "Location (ID)" +msgstr "" + +#: circuits/filtersets.py:242 circuits/filtersets.py:246 +msgid "Termination A (ID)" +msgstr "" + +#: circuits/filtersets.py:271 circuits/filtersets.py:373 +#: circuits/filtersets.py:535 core/filtersets.py:81 core/filtersets.py:145 +#: core/filtersets.py:170 core/filtersets.py:209 dcim/filtersets.py:787 +#: dcim/filtersets.py:1521 dcim/filtersets.py:2637 extras/filtersets.py:45 +#: extras/filtersets.py:67 extras/filtersets.py:96 extras/filtersets.py:136 +#: extras/filtersets.py:185 extras/filtersets.py:213 extras/filtersets.py:243 +#: extras/filtersets.py:281 extras/filtersets.py:333 extras/filtersets.py:406 +#: extras/filtersets.py:449 extras/filtersets.py:500 extras/filtersets.py:560 +#: extras/filtersets.py:595 extras/filtersets.py:625 extras/filtersets.py:794 +#: ipam/forms/model_forms.py:493 netbox/filtersets.py:296 +#: netbox/forms/__init__.py:22 netbox/forms/base.py:196 +#: templates/htmx/object_selector.html:28 templates/inc/filter_list.html:42 +#: templates/ipam/ipaddress_assign.html:29 templates/search.html:7 +#: templates/search.html:26 tenancy/filtersets.py:104 users/filtersets.py:23 +#: users/filtersets.py:57 users/filtersets.py:102 users/filtersets.py:150 +#: utilities/forms/forms.py:149 utilities/templates/navigation/menu.html:16 +msgid "Search" +msgstr "" + +#: circuits/filtersets.py:275 circuits/forms/bulk_edit.py:195 +#: circuits/forms/bulk_edit.py:284 circuits/forms/bulk_import.py:128 +#: circuits/forms/filtersets.py:224 circuits/forms/filtersets.py:251 +#: circuits/forms/filtersets.py:297 circuits/forms/model_forms.py:140 +#: circuits/forms/model_forms.py:163 circuits/forms/model_forms.py:263 +#: circuits/tables/circuits.py:107 circuits/tables/circuits.py:203 +#: dcim/forms/connections.py:78 templates/circuits/circuit.html:15 +#: templates/circuits/circuitgroupassignment.html:30 +#: templates/circuits/circuittermination.html:19 +#: templates/dcim/inc/cable_termination.html:62 +#: templates/dcim/trace/circuit.html:4 +msgid "Circuit" +msgstr "" + +#: circuits/filtersets.py:326 dcim/base_filtersets.py:66 dcim/filtersets.py:268 +#: dcim/filtersets.py:379 dcim/filtersets.py:500 dcim/filtersets.py:1151 +#: dcim/filtersets.py:1471 dcim/filtersets.py:1569 extras/filtersets.py:679 +msgid "Location (slug)" +msgstr "" + +#: circuits/filtersets.py:331 +msgid "ProviderNetwork (ID)" +msgstr "" + +#: circuits/filtersets.py:379 +msgid "Circuit (CID)" +msgstr "" + +#: circuits/filtersets.py:384 +msgid "Circuit (ID)" +msgstr "" + +#: circuits/filtersets.py:389 +msgid "Virtual circuit (CID)" +msgstr "" + +#: circuits/filtersets.py:394 dcim/filtersets.py:2067 +msgid "Virtual circuit (ID)" +msgstr "" + +#: circuits/filtersets.py:399 +msgid "Provider (name)" +msgstr "" + +#: circuits/filtersets.py:408 +msgid "Circuit group (ID)" +msgstr "" + +#: circuits/filtersets.py:414 +msgid "Circuit group (slug)" +msgstr "" + +#: circuits/filtersets.py:505 +msgid "Virtual circuit type (ID)" +msgstr "" + +#: circuits/filtersets.py:511 +msgid "Virtual circuit type (slug)" +msgstr "" + +#: circuits/filtersets.py:539 circuits/forms/bulk_edit.py:355 +#: circuits/forms/bulk_import.py:249 circuits/forms/filtersets.py:373 +#: circuits/forms/filtersets.py:379 circuits/forms/model_forms.py:344 +#: circuits/forms/model_forms.py:359 circuits/tables/virtual_circuits.py:87 +#: templates/circuits/virtualcircuit.html:20 +#: templates/circuits/virtualcircuittermination.html:38 +msgid "Virtual circuit" +msgstr "" + +#: circuits/filtersets.py:575 dcim/filtersets.py:1361 dcim/filtersets.py:1807 +#: ipam/filtersets.py:628 vpn/filtersets.py:103 vpn/filtersets.py:405 +msgid "Interface (ID)" +msgstr "" + +#: circuits/forms/bulk_edit.py:42 circuits/forms/filtersets.py:64 +#: circuits/forms/model_forms.py:43 circuits/tables/providers.py:32 +#: dcim/forms/bulk_edit.py:143 dcim/forms/filtersets.py:204 +#: dcim/forms/model_forms.py:133 dcim/tables/sites.py:108 +#: ipam/models/asns.py:124 ipam/tables/asn.py:27 ipam/views.py:269 +#: netbox/navigation/menu.py:179 netbox/navigation/menu.py:182 +#: templates/circuits/provider.html:23 +msgid "ASNs" +msgstr "" + +#: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 +#: circuits/forms/bulk_edit.py:95 circuits/forms/bulk_edit.py:116 +#: circuits/forms/bulk_edit.py:187 circuits/forms/bulk_edit.py:207 +#: circuits/forms/bulk_edit.py:266 circuits/forms/bulk_edit.py:307 +#: circuits/forms/bulk_edit.py:347 circuits/forms/bulk_edit.py:371 +#: core/forms/bulk_edit.py:29 dcim/forms/bulk_create.py:35 +#: dcim/forms/bulk_edit.py:81 dcim/forms/bulk_edit.py:101 +#: dcim/forms/bulk_edit.py:166 dcim/forms/bulk_edit.py:212 +#: dcim/forms/bulk_edit.py:231 dcim/forms/bulk_edit.py:314 +#: dcim/forms/bulk_edit.py:468 dcim/forms/bulk_edit.py:506 +#: dcim/forms/bulk_edit.py:521 dcim/forms/bulk_edit.py:580 +#: dcim/forms/bulk_edit.py:603 dcim/forms/bulk_edit.py:648 +#: dcim/forms/bulk_edit.py:687 dcim/forms/bulk_edit.py:717 +#: dcim/forms/bulk_edit.py:791 dcim/forms/bulk_edit.py:852 +#: dcim/forms/bulk_edit.py:904 dcim/forms/bulk_edit.py:927 +#: dcim/forms/bulk_edit.py:975 dcim/forms/bulk_edit.py:1045 +#: dcim/forms/bulk_edit.py:1102 dcim/forms/bulk_edit.py:1137 +#: dcim/forms/bulk_edit.py:1177 dcim/forms/bulk_edit.py:1221 +#: dcim/forms/bulk_edit.py:1266 dcim/forms/bulk_edit.py:1293 +#: dcim/forms/bulk_edit.py:1311 dcim/forms/bulk_edit.py:1329 +#: dcim/forms/bulk_edit.py:1347 dcim/forms/bulk_edit.py:1827 +#: dcim/forms/bulk_edit.py:1868 extras/forms/bulk_edit.py:43 +#: extras/forms/bulk_edit.py:153 extras/forms/bulk_edit.py:186 +#: extras/forms/bulk_edit.py:214 extras/forms/bulk_edit.py:244 +#: extras/forms/bulk_edit.py:292 extras/forms/bulk_edit.py:310 +#: extras/forms/bulk_edit.py:328 extras/forms/bulk_edit.py:361 +#: extras/forms/bulk_edit.py:378 extras/forms/bulk_edit.py:415 +#: extras/forms/bulk_edit.py:440 extras/tables/tables.py:85 +#: ipam/forms/bulk_edit.py:56 ipam/forms/bulk_edit.py:76 +#: ipam/forms/bulk_edit.py:96 ipam/forms/bulk_edit.py:120 +#: ipam/forms/bulk_edit.py:149 ipam/forms/bulk_edit.py:178 +#: ipam/forms/bulk_edit.py:197 ipam/forms/bulk_edit.py:260 +#: ipam/forms/bulk_edit.py:310 ipam/forms/bulk_edit.py:358 +#: ipam/forms/bulk_edit.py:401 ipam/forms/bulk_edit.py:417 +#: ipam/forms/bulk_edit.py:511 ipam/forms/bulk_edit.py:543 +#: ipam/forms/bulk_edit.py:586 ipam/tables/vlans.py:243 +#: ipam/tables/vlans.py:270 templates/account/token.html:35 +#: templates/circuits/circuit.html:69 templates/circuits/circuitgroup.html:32 +#: templates/circuits/circuittype.html:26 +#: templates/circuits/inc/circuit_termination_fields.html:83 +#: templates/circuits/provider.html:33 +#: templates/circuits/provideraccount.html:32 +#: templates/circuits/providernetwork.html:32 +#: templates/circuits/virtualcircuit.html:56 +#: templates/circuits/virtualcircuittermination.html:68 +#: templates/circuits/virtualcircuittype.html:26 +#: templates/core/datasource.html:58 templates/core/plugin.html:80 +#: templates/dcim/cable.html:36 templates/dcim/consoleport.html:44 +#: templates/dcim/consoleserverport.html:44 templates/dcim/device.html:100 +#: templates/dcim/devicebay.html:32 templates/dcim/devicerole.html:30 +#: templates/dcim/devicetype.html:33 templates/dcim/frontport.html:58 +#: templates/dcim/interface.html:69 templates/dcim/inventoryitem.html:64 +#: templates/dcim/inventoryitemrole.html:22 templates/dcim/location.html:33 +#: templates/dcim/macaddress.html:21 templates/dcim/manufacturer.html:40 +#: templates/dcim/module.html:73 templates/dcim/modulebay.html:42 +#: templates/dcim/moduletype.html:43 templates/dcim/moduletypeprofile.html:20 +#: templates/dcim/platform.html:33 templates/dcim/powerfeed.html:40 +#: templates/dcim/poweroutlet.html:44 templates/dcim/powerpanel.html:30 +#: templates/dcim/powerport.html:40 templates/dcim/rack.html:53 +#: templates/dcim/rackreservation.html:66 templates/dcim/rackrole.html:26 +#: templates/dcim/racktype.html:24 templates/dcim/rearport.html:54 +#: templates/dcim/region.html:33 templates/dcim/site.html:60 +#: templates/dcim/sitegroup.html:33 templates/dcim/virtualchassis.html:21 +#: templates/extras/configcontext.html:25 +#: templates/extras/configcontextprofile.html:17 +#: templates/extras/configtemplate.html:17 templates/extras/customfield.html:34 +#: templates/extras/dashboard/widget_add.html:14 +#: templates/extras/eventrule.html:21 templates/extras/exporttemplate.html:19 +#: templates/extras/imageattachment.html:21 +#: templates/extras/inc/script_list_content.html:33 +#: templates/extras/notificationgroup.html:20 +#: templates/extras/savedfilter.html:17 templates/extras/tableconfig.html:17 +#: templates/extras/tag.html:20 templates/extras/webhook.html:17 +#: templates/generic/bulk_import.html:151 templates/ipam/aggregate.html:43 +#: templates/ipam/asn.html:42 templates/ipam/asnrange.html:38 +#: templates/ipam/fhrpgroup.html:34 templates/ipam/ipaddress.html:55 +#: templates/ipam/iprange.html:74 templates/ipam/prefix.html:77 +#: templates/ipam/rir.html:26 templates/ipam/role.html:26 +#: templates/ipam/routetarget.html:21 templates/ipam/service.html:52 +#: templates/ipam/servicetemplate.html:27 templates/ipam/vlan.html:62 +#: templates/ipam/vlangroup.html:34 +#: templates/ipam/vlantranslationpolicy.html:18 +#: templates/ipam/vlantranslationrule.html:26 templates/ipam/vrf.html:33 +#: templates/tenancy/contact.html:77 templates/tenancy/contactgroup.html:25 +#: templates/tenancy/contactrole.html:22 templates/tenancy/tenant.html:24 +#: templates/tenancy/tenantgroup.html:33 templates/users/group.html:21 +#: templates/users/objectpermission.html:21 templates/users/token.html:27 +#: templates/virtualization/cluster.html:25 +#: templates/virtualization/clustergroup.html:26 +#: templates/virtualization/clustertype.html:26 +#: templates/virtualization/virtualdisk.html:39 +#: templates/virtualization/virtualmachine.html:31 +#: templates/virtualization/vminterface.html:47 templates/vpn/ikepolicy.html:17 +#: templates/vpn/ikeproposal.html:17 templates/vpn/ipsecpolicy.html:17 +#: templates/vpn/ipsecprofile.html:17 templates/vpn/ipsecprofile.html:40 +#: templates/vpn/ipsecprofile.html:73 templates/vpn/ipsecproposal.html:17 +#: templates/vpn/l2vpn.html:30 templates/vpn/tunnel.html:33 +#: templates/vpn/tunnelgroup.html:30 templates/wireless/wirelesslan.html:34 +#: templates/wireless/wirelesslangroup.html:33 +#: templates/wireless/wirelesslink.html:34 tenancy/forms/bulk_edit.py:32 +#: tenancy/forms/bulk_edit.py:49 tenancy/forms/bulk_edit.py:72 +#: tenancy/forms/bulk_edit.py:87 tenancy/forms/bulk_edit.py:135 +#: users/forms/bulk_edit.py:64 users/forms/bulk_edit.py:82 +#: users/forms/bulk_edit.py:112 virtualization/forms/bulk_edit.py:33 +#: virtualization/forms/bulk_edit.py:47 virtualization/forms/bulk_edit.py:82 +#: virtualization/forms/bulk_edit.py:159 virtualization/forms/bulk_edit.py:210 +#: virtualization/forms/bulk_edit.py:327 vpn/forms/bulk_edit.py:28 +#: vpn/forms/bulk_edit.py:64 vpn/forms/bulk_edit.py:121 +#: vpn/forms/bulk_edit.py:155 vpn/forms/bulk_edit.py:190 +#: vpn/forms/bulk_edit.py:215 vpn/forms/bulk_edit.py:247 +#: vpn/forms/bulk_edit.py:278 wireless/forms/bulk_edit.py:31 +#: wireless/forms/bulk_edit.py:85 wireless/forms/bulk_edit.py:144 +msgid "Description" +msgstr "" + +#: circuits/forms/bulk_edit.py:63 circuits/forms/bulk_edit.py:85 +#: circuits/forms/bulk_edit.py:135 circuits/forms/bulk_import.py:43 +#: circuits/forms/bulk_import.py:58 circuits/forms/bulk_import.py:81 +#: circuits/forms/filtersets.py:79 circuits/forms/filtersets.py:97 +#: circuits/forms/filtersets.py:125 circuits/forms/filtersets.py:143 +#: circuits/forms/filtersets.py:225 circuits/forms/filtersets.py:269 +#: circuits/forms/filtersets.py:292 circuits/forms/filtersets.py:330 +#: circuits/forms/filtersets.py:338 circuits/forms/filtersets.py:374 +#: circuits/forms/filtersets.py:397 circuits/forms/model_forms.py:61 +#: circuits/forms/model_forms.py:77 circuits/forms/model_forms.py:111 +#: circuits/tables/circuits.py:57 circuits/tables/circuits.py:111 +#: circuits/tables/circuits.py:196 circuits/tables/providers.py:70 +#: circuits/tables/providers.py:101 circuits/tables/virtual_circuits.py:46 +#: circuits/tables/virtual_circuits.py:92 templates/circuits/circuit.html:18 +#: templates/circuits/circuitgroupassignment.html:26 +#: templates/circuits/circuittermination.html:25 +#: templates/circuits/provider.html:20 +#: templates/circuits/provideraccount.html:20 +#: templates/circuits/providernetwork.html:20 +#: templates/circuits/virtualcircuit.html:23 +#: templates/circuits/virtualcircuittermination.html:26 +#: templates/dcim/inc/cable_termination.html:58 +#: templates/dcim/interface.html:166 +msgid "Provider" +msgstr "" + +#: circuits/forms/bulk_edit.py:92 circuits/forms/filtersets.py:100 +#: templates/circuits/providernetwork.html:28 +msgid "Service ID" +msgstr "" + +#: circuits/forms/bulk_edit.py:112 circuits/forms/bulk_edit.py:303 +#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:321 +#: dcim/forms/bulk_edit.py:227 dcim/forms/bulk_edit.py:673 +#: dcim/forms/bulk_edit.py:889 dcim/forms/bulk_edit.py:1262 +#: dcim/forms/bulk_edit.py:1289 dcim/forms/bulk_edit.py:1823 +#: dcim/forms/bulk_import.py:1494 dcim/forms/filtersets.py:1149 +#: dcim/forms/filtersets.py:1409 dcim/forms/filtersets.py:1564 +#: dcim/forms/filtersets.py:1588 dcim/tables/devices.py:767 +#: dcim/tables/devices.py:823 dcim/tables/devices.py:1064 +#: dcim/tables/devicetypes.py:256 dcim/tables/devicetypes.py:271 +#: dcim/tables/racks.py:33 extras/forms/bulk_edit.py:306 +#: extras/tables/tables.py:512 templates/circuits/circuittype.html:30 +#: templates/circuits/virtualcircuittype.html:30 templates/dcim/cable.html:40 +#: templates/dcim/devicerole.html:38 templates/dcim/frontport.html:40 +#: templates/dcim/inventoryitemrole.html:26 templates/dcim/poweroutlet.html:48 +#: templates/dcim/rackrole.html:30 templates/dcim/rearport.html:40 +#: templates/extras/tag.html:26 +msgid "Color" +msgstr "" + +#: circuits/forms/bulk_edit.py:130 circuits/forms/bulk_edit.py:331 +#: circuits/forms/bulk_import.py:94 circuits/forms/bulk_import.py:221 +#: circuits/forms/filtersets.py:138 circuits/forms/filtersets.py:359 +#: circuits/tables/circuits.py:65 circuits/tables/circuits.py:200 +#: circuits/tables/virtual_circuits.py:58 core/forms/bulk_edit.py:19 +#: core/forms/filtersets.py:33 core/tables/change_logging.py:32 +#: core/tables/data.py:21 core/tables/jobs.py:20 dcim/forms/bulk_edit.py:867 +#: dcim/forms/bulk_edit.py:1006 dcim/forms/bulk_edit.py:1078 +#: dcim/forms/bulk_edit.py:1097 dcim/forms/bulk_edit.py:1120 +#: dcim/forms/bulk_edit.py:1162 dcim/forms/bulk_edit.py:1206 +#: dcim/forms/bulk_edit.py:1257 dcim/forms/bulk_edit.py:1284 +#: dcim/forms/bulk_import.py:195 dcim/forms/bulk_import.py:274 +#: dcim/forms/bulk_import.py:804 dcim/forms/bulk_import.py:830 +#: dcim/forms/bulk_import.py:856 dcim/forms/bulk_import.py:876 +#: dcim/forms/bulk_import.py:962 dcim/forms/bulk_import.py:1098 +#: dcim/forms/bulk_import.py:1140 dcim/forms/bulk_import.py:1475 +#: dcim/forms/bulk_import.py:1684 dcim/forms/filtersets.py:1040 +#: dcim/forms/filtersets.py:1139 dcim/forms/filtersets.py:1260 +#: dcim/forms/filtersets.py:1333 dcim/forms/filtersets.py:1358 +#: dcim/forms/filtersets.py:1383 dcim/forms/filtersets.py:1403 +#: dcim/forms/filtersets.py:1451 dcim/forms/filtersets.py:1559 +#: dcim/forms/filtersets.py:1583 dcim/forms/model_forms.py:821 +#: dcim/forms/model_forms.py:827 dcim/forms/object_import.py:84 +#: dcim/forms/object_import.py:113 dcim/forms/object_import.py:146 +#: dcim/tables/devices.py:196 dcim/tables/devices.py:875 +#: dcim/tables/power.py:77 dcim/tables/racks.py:141 +#: extras/forms/bulk_import.py:43 extras/tables/tables.py:474 +#: extras/tables/tables.py:534 netbox/tables/tables.py:272 +#: templates/circuits/circuit.html:30 templates/circuits/virtualcircuit.html:39 +#: templates/circuits/virtualcircuittermination.html:64 +#: templates/core/datasource.html:38 templates/dcim/cable.html:15 +#: templates/dcim/consoleport.html:36 templates/dcim/consoleserverport.html:36 +#: templates/dcim/frontport.html:36 templates/dcim/interface.html:46 +#: templates/dcim/interface.html:226 templates/dcim/interface.html:368 +#: templates/dcim/powerfeed.html:32 templates/dcim/poweroutlet.html:36 +#: templates/dcim/powerport.html:36 templates/dcim/rearport.html:36 +#: templates/extras/eventrule.html:74 templates/virtualization/cluster.html:17 +#: templates/vpn/l2vpn.html:22 +#: templates/wireless/inc/authentication_attrs.html:8 +#: templates/wireless/inc/wirelesslink_interface.html:14 +#: virtualization/forms/bulk_edit.py:61 virtualization/forms/bulk_import.py:47 +#: virtualization/forms/filtersets.py:55 virtualization/forms/model_forms.py:65 +#: virtualization/tables/clusters.py:66 vpn/forms/bulk_edit.py:268 +#: vpn/forms/bulk_import.py:269 vpn/forms/filtersets.py:228 +#: vpn/forms/model_forms.py:85 vpn/forms/model_forms.py:120 +#: vpn/forms/model_forms.py:232 +msgid "Type" +msgstr "" + +#: circuits/forms/bulk_edit.py:140 circuits/forms/bulk_edit.py:326 +#: circuits/forms/bulk_import.py:87 circuits/forms/bulk_import.py:214 +#: circuits/forms/filtersets.py:151 circuits/forms/filtersets.py:346 +#: circuits/forms/model_forms.py:117 circuits/forms/model_forms.py:331 +#: templates/circuits/virtualcircuit.html:31 +#: templates/circuits/virtualcircuittermination.html:34 +msgid "Provider account" +msgstr "" + +#: circuits/forms/bulk_edit.py:148 circuits/forms/bulk_edit.py:336 +#: circuits/forms/bulk_import.py:100 circuits/forms/bulk_import.py:227 +#: circuits/forms/filtersets.py:162 circuits/forms/filtersets.py:362 +#: core/forms/filtersets.py:38 core/forms/filtersets.py:85 +#: core/tables/data.py:24 core/tables/jobs.py:28 core/tables/tasks.py:90 +#: dcim/forms/bulk_edit.py:116 dcim/forms/bulk_edit.py:196 +#: dcim/forms/bulk_edit.py:377 dcim/forms/bulk_edit.py:490 +#: dcim/forms/bulk_edit.py:776 dcim/forms/bulk_edit.py:841 +#: dcim/forms/bulk_edit.py:873 dcim/forms/bulk_edit.py:1000 +#: dcim/forms/bulk_edit.py:1797 dcim/forms/bulk_edit.py:1846 +#: dcim/forms/bulk_import.py:92 dcim/forms/bulk_import.py:151 +#: dcim/forms/bulk_import.py:255 dcim/forms/bulk_import.py:363 +#: dcim/forms/bulk_import.py:595 dcim/forms/bulk_import.py:755 +#: dcim/forms/bulk_import.py:1248 dcim/forms/bulk_import.py:1469 +#: dcim/forms/bulk_import.py:1679 dcim/forms/bulk_import.py:1743 +#: dcim/forms/filtersets.py:187 dcim/forms/filtersets.py:246 +#: dcim/forms/filtersets.py:363 dcim/forms/filtersets.py:469 +#: dcim/forms/filtersets.py:836 dcim/forms/filtersets.py:961 +#: dcim/forms/filtersets.py:1043 dcim/forms/filtersets.py:1144 +#: dcim/forms/filtersets.py:1255 dcim/forms/filtersets.py:1413 +#: dcim/forms/filtersets.py:1666 dcim/tables/devices.py:158 +#: dcim/tables/devices.py:547 dcim/tables/devices.py:878 +#: dcim/tables/devices.py:1012 dcim/tables/devices.py:1123 +#: dcim/tables/modules.py:104 dcim/tables/power.py:74 dcim/tables/racks.py:129 +#: dcim/tables/racks.py:233 dcim/tables/sites.py:96 dcim/tables/sites.py:155 +#: ipam/forms/bulk_edit.py:240 ipam/forms/bulk_edit.py:290 +#: ipam/forms/bulk_edit.py:343 ipam/forms/bulk_edit.py:501 +#: ipam/forms/bulk_import.py:195 ipam/forms/bulk_import.py:259 +#: ipam/forms/bulk_import.py:295 ipam/forms/bulk_import.py:506 +#: ipam/forms/filtersets.py:219 ipam/forms/filtersets.py:297 +#: ipam/forms/filtersets.py:379 ipam/forms/filtersets.py:564 +#: ipam/forms/model_forms.py:512 ipam/tables/ip.py:184 ipam/tables/ip.py:265 +#: ipam/tables/ip.py:321 ipam/tables/ip.py:394 ipam/tables/ip.py:421 +#: ipam/tables/vlans.py:98 ipam/tables/vlans.py:211 +#: templates/circuits/circuit.html:34 templates/circuits/virtualcircuit.html:43 +#: templates/core/datasource.html:46 templates/core/job.html:21 +#: templates/core/rq_task.html:81 templates/core/system.html:19 +#: templates/dcim/cable.html:19 templates/dcim/device.html:184 +#: templates/dcim/inventoryitem.html:36 templates/dcim/location.html:45 +#: templates/dcim/module.html:69 templates/dcim/powerfeed.html:36 +#: templates/dcim/poweroutlet.html:40 templates/dcim/rack.html:41 +#: templates/dcim/rackreservation.html:49 templates/dcim/site.html:43 +#: templates/extras/inc/script_list_content.html:35 +#: templates/ipam/ipaddress.html:37 templates/ipam/iprange.html:61 +#: templates/ipam/prefix.html:69 templates/ipam/vlan.html:48 +#: templates/virtualization/cluster.html:21 +#: templates/virtualization/virtualmachine.html:19 templates/vpn/l2vpn.html:26 +#: templates/vpn/tunnel.html:25 templates/wireless/wirelesslan.html:22 +#: templates/wireless/wirelesslink.html:17 users/forms/filtersets.py:32 +#: users/forms/model_forms.py:208 virtualization/forms/bulk_edit.py:71 +#: virtualization/forms/bulk_edit.py:100 virtualization/forms/bulk_import.py:60 +#: virtualization/forms/bulk_import.py:91 virtualization/forms/filtersets.py:83 +#: virtualization/forms/filtersets.py:166 virtualization/tables/clusters.py:74 +#: virtualization/tables/virtualmachines.py:30 vpn/forms/bulk_edit.py:39 +#: vpn/forms/bulk_edit.py:264 vpn/forms/bulk_import.py:37 +#: vpn/forms/bulk_import.py:264 vpn/forms/filtersets.py:52 +#: vpn/forms/filtersets.py:223 vpn/tables/l2vpn.py:27 vpn/tables/tunnels.py:49 +#: wireless/forms/bulk_edit.py:46 wireless/forms/bulk_edit.py:109 +#: wireless/forms/bulk_import.py:45 wireless/forms/bulk_import.py:132 +#: wireless/forms/filtersets.py:52 wireless/forms/filtersets.py:111 +#: wireless/tables/wirelesslan.py:56 wireless/tables/wirelesslink.py:19 +msgid "Status" +msgstr "" + +#: circuits/forms/bulk_edit.py:154 circuits/forms/bulk_edit.py:271 +#: circuits/forms/bulk_edit.py:342 circuits/forms/bulk_import.py:111 +#: circuits/forms/bulk_import.py:170 circuits/forms/bulk_import.py:232 +#: circuits/forms/filtersets.py:131 circuits/forms/filtersets.py:278 +#: circuits/forms/filtersets.py:332 dcim/forms/bulk_edit.py:132 +#: dcim/forms/bulk_edit.py:202 dcim/forms/bulk_edit.py:372 +#: dcim/forms/bulk_edit.py:501 dcim/forms/bulk_edit.py:766 +#: dcim/forms/bulk_edit.py:879 dcim/forms/bulk_edit.py:1851 +#: dcim/forms/bulk_import.py:111 dcim/forms/bulk_import.py:156 +#: dcim/forms/bulk_import.py:248 dcim/forms/bulk_import.py:368 +#: dcim/forms/bulk_import.py:569 dcim/forms/bulk_import.py:1481 +#: dcim/forms/bulk_import.py:1736 dcim/forms/filtersets.py:127 +#: dcim/forms/filtersets.py:182 dcim/forms/filtersets.py:214 +#: dcim/forms/filtersets.py:327 dcim/forms/filtersets.py:408 +#: dcim/forms/filtersets.py:429 dcim/forms/filtersets.py:759 +#: dcim/forms/filtersets.py:953 dcim/forms/filtersets.py:1063 +#: dcim/forms/filtersets.py:1093 dcim/forms/filtersets.py:1215 +#: dcim/tables/power.py:88 extras/filtersets.py:749 +#: extras/forms/filtersets.py:391 extras/forms/filtersets.py:469 +#: ipam/forms/bulk_edit.py:46 ipam/forms/bulk_edit.py:71 +#: ipam/forms/bulk_edit.py:115 ipam/forms/bulk_edit.py:144 +#: ipam/forms/bulk_edit.py:169 ipam/forms/bulk_edit.py:235 +#: ipam/forms/bulk_edit.py:285 ipam/forms/bulk_edit.py:338 +#: ipam/forms/bulk_edit.py:439 ipam/forms/bulk_edit.py:496 +#: ipam/forms/bulk_import.py:41 ipam/forms/bulk_import.py:70 +#: ipam/forms/bulk_import.py:98 ipam/forms/bulk_import.py:118 +#: ipam/forms/bulk_import.py:138 ipam/forms/bulk_import.py:167 +#: ipam/forms/bulk_import.py:252 ipam/forms/bulk_import.py:288 +#: ipam/forms/bulk_import.py:468 ipam/forms/bulk_import.py:499 +#: ipam/forms/filtersets.py:50 ipam/forms/filtersets.py:70 +#: ipam/forms/filtersets.py:102 ipam/forms/filtersets.py:123 +#: ipam/forms/filtersets.py:146 ipam/forms/filtersets.py:182 +#: ipam/forms/filtersets.py:282 ipam/forms/filtersets.py:333 +#: ipam/forms/filtersets.py:441 ipam/forms/filtersets.py:532 +#: ipam/tables/ip.py:424 ipam/tables/vlans.py:208 +#: templates/circuits/circuit.html:48 templates/circuits/circuitgroup.html:36 +#: templates/circuits/virtualcircuit.html:47 templates/dcim/cable.html:23 +#: templates/dcim/device.html:85 templates/dcim/location.html:49 +#: templates/dcim/powerfeed.html:44 templates/dcim/rack.html:32 +#: templates/dcim/rackreservation.html:53 templates/dcim/site.html:47 +#: templates/dcim/virtualdevicecontext.html:52 templates/ipam/aggregate.html:30 +#: templates/ipam/asn.html:33 templates/ipam/asnrange.html:29 +#: templates/ipam/ipaddress.html:28 templates/ipam/iprange.html:65 +#: templates/ipam/prefix.html:29 templates/ipam/routetarget.html:17 +#: templates/ipam/vlan.html:39 templates/ipam/vlangroup.html:50 +#: templates/ipam/vrf.html:20 templates/tenancy/tenant.html:17 +#: templates/virtualization/cluster.html:33 +#: templates/virtualization/virtualmachine.html:39 templates/vpn/l2vpn.html:34 +#: templates/vpn/tunnel.html:49 templates/wireless/wirelesslan.html:42 +#: templates/wireless/wirelesslink.html:25 tenancy/forms/forms.py:25 +#: tenancy/forms/forms.py:49 tenancy/forms/model_forms.py:53 +#: tenancy/tables/columns.py:49 virtualization/forms/bulk_edit.py:77 +#: virtualization/forms/bulk_edit.py:137 virtualization/forms/bulk_import.py:72 +#: virtualization/forms/bulk_import.py:126 +#: virtualization/forms/filtersets.py:48 virtualization/forms/filtersets.py:111 +#: vpn/forms/bulk_edit.py:59 vpn/forms/bulk_edit.py:273 +#: vpn/forms/bulk_import.py:59 vpn/forms/bulk_import.py:258 +#: vpn/forms/filtersets.py:219 wireless/forms/bulk_edit.py:66 +#: wireless/forms/bulk_edit.py:114 wireless/forms/bulk_import.py:57 +#: wireless/forms/bulk_import.py:137 wireless/forms/filtersets.py:38 +#: wireless/forms/filtersets.py:103 +msgid "Tenant" +msgstr "" + +#: circuits/forms/bulk_edit.py:159 circuits/forms/filtersets.py:191 +msgid "Install date" +msgstr "" + +#: circuits/forms/bulk_edit.py:164 circuits/forms/filtersets.py:196 +msgid "Termination date" +msgstr "" + +#: circuits/forms/bulk_edit.py:170 circuits/forms/filtersets.py:203 +msgid "Commit rate (Kbps)" +msgstr "" + +#: circuits/forms/bulk_edit.py:176 circuits/forms/filtersets.py:209 +#: circuits/forms/model_forms.py:137 templates/circuits/circuit.html:38 +#: templates/wireless/wirelesslink.html:38 wireless/forms/bulk_edit.py:133 +#: wireless/forms/filtersets.py:130 wireless/forms/model_forms.py:170 +msgid "Distance" +msgstr "" + +#: circuits/forms/bulk_edit.py:181 circuits/forms/bulk_import.py:105 +#: circuits/forms/bulk_import.py:108 circuits/forms/filtersets.py:213 +#: wireless/forms/bulk_edit.py:138 wireless/forms/bulk_import.py:156 +#: wireless/forms/bulk_import.py:159 wireless/forms/filtersets.py:134 +msgid "Distance unit" +msgstr "" + +#: circuits/forms/bulk_edit.py:196 circuits/forms/model_forms.py:142 +msgid "Service Parameters" +msgstr "" + +#: circuits/forms/bulk_edit.py:197 circuits/forms/filtersets.py:73 +#: circuits/forms/filtersets.py:92 circuits/forms/filtersets.py:111 +#: circuits/forms/filtersets.py:128 circuits/forms/filtersets.py:316 +#: circuits/forms/filtersets.py:331 core/forms/filtersets.py:73 +#: core/forms/filtersets.py:141 dcim/forms/bulk_edit.py:913 +#: dcim/forms/bulk_import.py:476 dcim/forms/filtersets.py:181 +#: dcim/forms/filtersets.py:213 dcim/forms/filtersets.py:952 +#: dcim/forms/filtersets.py:1092 dcim/forms/filtersets.py:1216 +#: dcim/forms/filtersets.py:1324 dcim/forms/filtersets.py:1349 +#: dcim/forms/filtersets.py:1374 dcim/forms/filtersets.py:1394 +#: dcim/forms/filtersets.py:1423 dcim/forms/filtersets.py:1549 +#: dcim/forms/filtersets.py:1574 dcim/forms/filtersets.py:1598 +#: dcim/forms/filtersets.py:1616 dcim/forms/filtersets.py:1632 +#: dcim/forms/filtersets.py:1690 dcim/tables/modules.py:24 +#: extras/forms/bulk_edit.py:94 extras/forms/filtersets.py:45 +#: extras/forms/filtersets.py:142 extras/forms/filtersets.py:219 +#: extras/forms/filtersets.py:236 extras/forms/filtersets.py:266 +#: extras/forms/filtersets.py:297 extras/forms/filtersets.py:321 +#: extras/forms/filtersets.py:542 ipam/forms/filtersets.py:101 +#: ipam/forms/filtersets.py:281 ipam/forms/filtersets.py:330 +#: ipam/forms/filtersets.py:406 ipam/forms/filtersets.py:492 +#: ipam/forms/filtersets.py:505 ipam/forms/filtersets.py:530 +#: ipam/forms/filtersets.py:601 ipam/forms/filtersets.py:619 +#: netbox/tables/tables.py:288 templates/dcim/moduletype.html:68 +#: virtualization/forms/filtersets.py:46 virtualization/forms/filtersets.py:109 +#: virtualization/forms/filtersets.py:204 +#: virtualization/forms/filtersets.py:261 vpn/forms/filtersets.py:218 +#: wireless/forms/bulk_edit.py:154 wireless/forms/filtersets.py:36 +#: wireless/forms/filtersets.py:102 +msgid "Attributes" +msgstr "" + +#: circuits/forms/bulk_edit.py:198 circuits/forms/bulk_edit.py:356 +#: circuits/forms/model_forms.py:143 circuits/forms/model_forms.py:241 +#: circuits/forms/model_forms.py:346 dcim/forms/model_forms.py:149 +#: dcim/forms/model_forms.py:192 dcim/forms/model_forms.py:283 +#: dcim/forms/model_forms.py:341 dcim/forms/model_forms.py:887 +#: dcim/forms/model_forms.py:1882 ipam/forms/bulk_edit.py:448 +#: ipam/forms/model_forms.py:68 ipam/forms/model_forms.py:85 +#: ipam/forms/model_forms.py:120 ipam/forms/model_forms.py:142 +#: ipam/forms/model_forms.py:167 ipam/forms/model_forms.py:234 +#: ipam/forms/model_forms.py:272 ipam/forms/model_forms.py:331 +#: ipam/forms/model_forms.py:625 netbox/navigation/menu.py:24 +#: templates/dcim/device_edit.html:87 templates/dcim/htmx/cable_edit.html:74 +#: templates/ipam/ipaddress_bulk_add.html:27 templates/ipam/vlan_edit.html:34 +#: virtualization/forms/model_forms.py:80 +#: virtualization/forms/model_forms.py:229 vpn/forms/bulk_edit.py:78 +#: vpn/forms/filtersets.py:48 vpn/forms/model_forms.py:63 +#: vpn/forms/model_forms.py:148 vpn/forms/model_forms.py:414 +#: wireless/forms/model_forms.py:59 wireless/forms/model_forms.py:175 +msgid "Tenancy" +msgstr "" + +#: circuits/forms/bulk_edit.py:215 circuits/forms/model_forms.py:171 +#: dcim/forms/bulk_import.py:1435 dcim/forms/bulk_import.py:1460 +msgid "Termination type" +msgstr "" + +#: circuits/forms/bulk_edit.py:218 circuits/forms/bulk_import.py:133 +#: circuits/forms/filtersets.py:226 circuits/forms/model_forms.py:174 +#: templates/circuits/inc/circuit_termination.html:6 +#: templates/dcim/cable.html:68 templates/dcim/cable.html:72 +#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:82 +msgid "Termination" +msgstr "" + +#: circuits/forms/bulk_edit.py:226 +msgid "Port speed (Kbps)" +msgstr "" + +#: circuits/forms/bulk_edit.py:230 +msgid "Upstream speed (Kbps)" +msgstr "" + +#: circuits/forms/bulk_edit.py:233 dcim/forms/bulk_edit.py:1036 +#: dcim/forms/bulk_edit.py:1404 dcim/forms/bulk_edit.py:1421 +#: dcim/forms/bulk_edit.py:1438 dcim/forms/bulk_edit.py:1459 +#: dcim/forms/bulk_edit.py:1554 dcim/forms/bulk_edit.py:1726 +#: dcim/forms/bulk_edit.py:1743 +msgid "Mark connected" +msgstr "" + +#: circuits/forms/bulk_edit.py:243 circuits/forms/model_forms.py:185 +#: templates/circuits/inc/circuit_termination_fields.html:55 +#: templates/dcim/frontport.html:121 templates/dcim/interface.html:250 +#: templates/dcim/rearport.html:111 +msgid "Circuit Termination" +msgstr "" + +#: circuits/forms/bulk_edit.py:245 circuits/forms/model_forms.py:187 +msgid "Termination Details" +msgstr "" + +#: circuits/forms/bulk_edit.py:289 circuits/forms/bulk_import.py:188 +#: circuits/forms/filtersets.py:305 circuits/tables/circuits.py:207 +#: dcim/forms/model_forms.py:666 +#: templates/circuits/circuitgroupassignment.html:34 +#: templates/dcim/device.html:139 templates/dcim/virtualchassis.html:58 +#: templates/dcim/virtualchassis_edit.html:60 +#: templates/ipam/inc/panels/fhrp_groups.html:26 tenancy/forms/bulk_edit.py:164 +#: tenancy/forms/filtersets.py:110 +msgid "Priority" +msgstr "" + +#: circuits/forms/bulk_edit.py:321 circuits/forms/bulk_import.py:208 +#: circuits/forms/filtersets.py:159 circuits/forms/filtersets.py:264 +#: circuits/forms/filtersets.py:354 circuits/forms/filtersets.py:392 +#: circuits/forms/model_forms.py:326 circuits/tables/virtual_circuits.py:51 +#: circuits/tables/virtual_circuits.py:98 +msgid "Provider network" +msgstr "" + +#: circuits/forms/bulk_edit.py:365 circuits/forms/bulk_import.py:254 +#: circuits/forms/filtersets.py:382 circuits/forms/model_forms.py:366 +#: dcim/forms/bulk_edit.py:383 dcim/forms/bulk_edit.py:1351 +#: dcim/forms/bulk_edit.py:1787 dcim/forms/bulk_import.py:260 +#: dcim/forms/bulk_import.py:1217 dcim/forms/filtersets.py:371 +#: dcim/forms/filtersets.py:814 dcim/forms/filtersets.py:1643 +#: dcim/forms/model_forms.py:264 dcim/forms/model_forms.py:1228 +#: dcim/forms/model_forms.py:1697 dcim/forms/object_import.py:182 +#: dcim/tables/devices.py:187 dcim/tables/devices.py:870 +#: dcim/tables/devices.py:996 dcim/tables/devicetypes.py:311 +#: dcim/tables/racks.py:132 extras/filtersets.py:689 +#: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:295 +#: ipam/forms/bulk_edit.py:348 ipam/forms/bulk_edit.py:506 +#: ipam/forms/bulk_import.py:200 ipam/forms/bulk_import.py:264 +#: ipam/forms/bulk_import.py:300 ipam/forms/bulk_import.py:511 +#: ipam/forms/filtersets.py:247 ipam/forms/filtersets.py:305 +#: ipam/forms/filtersets.py:384 ipam/forms/filtersets.py:572 +#: ipam/forms/model_forms.py:195 ipam/forms/model_forms.py:221 +#: ipam/forms/model_forms.py:260 ipam/forms/model_forms.py:688 +#: ipam/tables/ip.py:210 ipam/tables/ip.py:269 ipam/tables/ip.py:325 +#: ipam/tables/vlans.py:102 ipam/tables/vlans.py:214 +#: templates/circuits/virtualcircuittermination.html:42 +#: templates/dcim/device.html:188 +#: templates/dcim/inc/panels/inventory_items.html:20 +#: templates/dcim/interface.html:178 templates/dcim/interface.html:280 +#: templates/dcim/inventoryitem.html:40 templates/dcim/rack.html:49 +#: templates/ipam/ipaddress.html:41 templates/ipam/iprange.html:57 +#: templates/ipam/prefix.html:73 templates/ipam/role.html:19 +#: templates/ipam/vlan.html:52 templates/virtualization/virtualmachine.html:23 +#: templates/vpn/tunneltermination.html:17 +#: templates/wireless/inc/wirelesslink_interface.html:20 +#: tenancy/forms/bulk_edit.py:159 tenancy/forms/filtersets.py:107 +#: tenancy/forms/model_forms.py:144 tenancy/tables/contacts.py:110 +#: virtualization/forms/bulk_edit.py:127 +#: virtualization/forms/bulk_import.py:117 +#: virtualization/forms/filtersets.py:163 +#: virtualization/forms/model_forms.py:202 +#: virtualization/tables/virtualmachines.py:45 vpn/forms/bulk_edit.py:87 +#: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:90 +#: vpn/forms/model_forms.py:79 vpn/forms/model_forms.py:114 +#: vpn/tables/tunnels.py:84 +msgid "Role" +msgstr "" + +#: circuits/forms/bulk_import.py:46 circuits/forms/bulk_import.py:61 +#: circuits/forms/bulk_import.py:84 +msgid "Assigned provider" +msgstr "" + +#: circuits/forms/bulk_import.py:90 +msgid "Assigned provider account" +msgstr "" + +#: circuits/forms/bulk_import.py:97 +msgid "Type of circuit" +msgstr "" + +#: circuits/forms/bulk_import.py:102 circuits/forms/bulk_import.py:229 +#: dcim/forms/bulk_import.py:94 dcim/forms/bulk_import.py:153 +#: dcim/forms/bulk_import.py:257 dcim/forms/bulk_import.py:365 +#: dcim/forms/bulk_import.py:597 dcim/forms/bulk_import.py:757 +#: dcim/forms/bulk_import.py:1250 dcim/forms/bulk_import.py:1681 +#: ipam/forms/bulk_import.py:197 ipam/forms/bulk_import.py:261 +#: ipam/forms/bulk_import.py:297 ipam/forms/bulk_import.py:508 +#: ipam/forms/bulk_import.py:521 virtualization/forms/bulk_import.py:62 +#: virtualization/forms/bulk_import.py:93 vpn/forms/bulk_import.py:39 +#: vpn/forms/bulk_import.py:266 wireless/forms/bulk_import.py:47 +msgid "Operational status" +msgstr "" + +#: circuits/forms/bulk_import.py:115 circuits/forms/bulk_import.py:174 +#: circuits/forms/bulk_import.py:236 dcim/forms/bulk_import.py:115 +#: dcim/forms/bulk_import.py:160 dcim/forms/bulk_import.py:372 +#: dcim/forms/bulk_import.py:573 dcim/forms/bulk_import.py:1485 +#: dcim/forms/bulk_import.py:1676 dcim/forms/bulk_import.py:1740 +#: ipam/forms/bulk_import.py:45 ipam/forms/bulk_import.py:74 +#: ipam/forms/bulk_import.py:102 ipam/forms/bulk_import.py:122 +#: ipam/forms/bulk_import.py:142 ipam/forms/bulk_import.py:171 +#: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 +#: ipam/forms/bulk_import.py:472 ipam/forms/bulk_import.py:503 +#: virtualization/forms/bulk_import.py:76 +#: virtualization/forms/bulk_import.py:130 vpn/forms/bulk_import.py:63 +#: wireless/forms/bulk_import.py:61 wireless/forms/bulk_import.py:141 +msgid "Assigned tenant" +msgstr "" + +#: circuits/forms/bulk_import.py:139 +msgid "Termination type (app & model)" +msgstr "" + +#: circuits/forms/bulk_import.py:151 circuits/forms/bulk_import.py:164 +msgid "Termination ID" +msgstr "" + +#: circuits/forms/bulk_import.py:185 +msgid "Circuit type (app & model)" +msgstr "" + +#: circuits/forms/bulk_import.py:211 +msgid "The network to which this virtual circuit belongs" +msgstr "" + +#: circuits/forms/bulk_import.py:217 +msgid "Assigned provider account (if any)" +msgstr "" + +#: circuits/forms/bulk_import.py:224 +msgid "Type of virtual circuit" +msgstr "" + +#: circuits/forms/bulk_import.py:256 vpn/forms/bulk_import.py:83 +msgid "Operational role" +msgstr "" + +#: circuits/forms/bulk_import.py:259 circuits/forms/model_forms.py:369 +#: circuits/tables/virtual_circuits.py:111 dcim/forms/bulk_import.py:1348 +#: dcim/forms/model_forms.py:1302 dcim/forms/model_forms.py:1571 +#: dcim/forms/model_forms.py:1738 dcim/forms/model_forms.py:1773 +#: dcim/forms/model_forms.py:1903 dcim/tables/connections.py:65 +#: dcim/tables/devices.py:1169 ipam/forms/bulk_import.py:320 +#: ipam/forms/model_forms.py:291 ipam/forms/model_forms.py:300 +#: ipam/tables/fhrp.py:64 ipam/tables/ip.py:330 ipam/tables/vlans.py:148 +#: templates/circuits/inc/circuit_termination_fields.html:52 +#: templates/circuits/virtualcircuittermination.html:53 +#: templates/circuits/virtualcircuittermination.html:60 +#: templates/dcim/frontport.html:106 templates/dcim/interface.html:27 +#: templates/dcim/interface.html:241 templates/dcim/interface.html:367 +#: templates/dcim/rearport.html:102 +#: templates/virtualization/vminterface.html:18 +#: templates/vpn/tunneltermination.html:31 +#: templates/wireless/inc/wirelesslink_interface.html:10 +#: templates/wireless/wirelesslink.html:10 +#: templates/wireless/wirelesslink.html:55 +#: virtualization/forms/model_forms.py:375 vpn/forms/bulk_import.py:302 +#: vpn/forms/model_forms.py:439 vpn/forms/model_forms.py:448 +#: wireless/forms/model_forms.py:118 wireless/forms/model_forms.py:160 +msgid "Interface" +msgstr "" + +#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:130 +#: circuits/forms/filtersets.py:188 circuits/forms/filtersets.py:246 +#: circuits/tables/circuits.py:144 dcim/forms/bulk_edit.py:364 +#: dcim/forms/bulk_edit.py:477 dcim/forms/bulk_edit.py:758 +#: dcim/forms/bulk_edit.py:813 dcim/forms/bulk_edit.py:967 +#: dcim/forms/bulk_import.py:242 dcim/forms/bulk_import.py:344 +#: dcim/forms/bulk_import.py:636 dcim/forms/bulk_import.py:1625 +#: dcim/forms/bulk_import.py:1659 dcim/forms/filtersets.py:98 +#: dcim/forms/filtersets.py:326 dcim/forms/filtersets.py:360 +#: dcim/forms/filtersets.py:405 dcim/forms/filtersets.py:456 +#: dcim/forms/filtersets.py:756 dcim/forms/filtersets.py:799 +#: dcim/forms/filtersets.py:979 dcim/forms/filtersets.py:1017 +#: dcim/forms/filtersets.py:1062 dcim/forms/filtersets.py:1091 +#: dcim/forms/filtersets.py:1111 dcim/forms/filtersets.py:1175 +#: dcim/forms/filtersets.py:1205 dcim/forms/filtersets.py:1214 +#: dcim/forms/filtersets.py:1325 dcim/forms/filtersets.py:1350 +#: dcim/forms/filtersets.py:1375 dcim/forms/filtersets.py:1395 +#: dcim/forms/filtersets.py:1428 dcim/forms/filtersets.py:1550 +#: dcim/forms/filtersets.py:1575 dcim/forms/filtersets.py:1599 +#: dcim/forms/filtersets.py:1617 dcim/forms/filtersets.py:1634 +#: dcim/forms/model_forms.py:191 dcim/forms/model_forms.py:256 +#: dcim/forms/model_forms.py:582 dcim/forms/model_forms.py:846 +#: dcim/tables/devices.py:175 dcim/tables/power.py:30 dcim/tables/racks.py:121 +#: dcim/tables/racks.py:220 extras/filtersets.py:673 +#: extras/forms/filtersets.py:388 ipam/forms/filtersets.py:241 +#: ipam/forms/filtersets.py:438 ipam/forms/filtersets.py:462 +#: ipam/forms/filtersets.py:529 templates/dcim/device.html:26 +#: templates/dcim/device_edit.html:32 +#: templates/dcim/inc/cable_termination.html:12 templates/dcim/location.html:26 +#: templates/dcim/powerpanel.html:26 templates/dcim/rack.html:24 +#: templates/dcim/rackreservation.html:32 virtualization/forms/filtersets.py:80 +#: virtualization/forms/filtersets.py:106 wireless/forms/filtersets.py:93 +#: wireless/forms/model_forms.py:92 wireless/forms/model_forms.py:134 +msgid "Location" +msgstr "" + +#: circuits/forms/filtersets.py:40 circuits/forms/filtersets.py:74 +#: circuits/forms/filtersets.py:132 dcim/forms/filtersets.py:153 +#: dcim/forms/filtersets.py:167 dcim/forms/filtersets.py:183 +#: dcim/forms/filtersets.py:215 dcim/forms/filtersets.py:332 +#: dcim/forms/filtersets.py:409 dcim/forms/filtersets.py:485 +#: dcim/forms/filtersets.py:760 dcim/forms/filtersets.py:1176 +#: ipam/forms/filtersets.py:103 ipam/forms/filtersets.py:183 +#: ipam/forms/filtersets.py:283 ipam/forms/filtersets.py:335 +#: ipam/forms/filtersets.py:621 netbox/navigation/menu.py:31 +#: netbox/navigation/menu.py:33 netbox/views/generic/feature_views.py:298 +#: tenancy/forms/filtersets.py:42 tenancy/tables/columns.py:55 +#: tenancy/tables/contacts.py:29 virtualization/forms/filtersets.py:38 +#: virtualization/forms/filtersets.py:49 virtualization/forms/filtersets.py:112 +#: vpn/forms/filtersets.py:37 vpn/forms/filtersets.py:49 +#: vpn/forms/filtersets.py:220 +msgid "Contacts" +msgstr "" + +#: circuits/forms/filtersets.py:45 circuits/forms/filtersets.py:169 +#: circuits/forms/filtersets.py:231 circuits/tables/circuits.py:139 +#: dcim/forms/bulk_edit.py:122 dcim/forms/bulk_edit.py:339 +#: dcim/forms/bulk_edit.py:942 dcim/forms/bulk_import.py:97 +#: dcim/forms/filtersets.py:76 dcim/forms/filtersets.py:194 +#: dcim/forms/filtersets.py:220 dcim/forms/filtersets.py:338 +#: dcim/forms/filtersets.py:434 dcim/forms/filtersets.py:776 +#: dcim/forms/filtersets.py:995 dcim/forms/filtersets.py:1068 +#: dcim/forms/filtersets.py:1098 dcim/forms/filtersets.py:1182 +#: dcim/forms/filtersets.py:1221 dcim/forms/filtersets.py:1736 +#: dcim/forms/filtersets.py:1760 dcim/forms/filtersets.py:1784 +#: dcim/forms/model_forms.py:120 dcim/forms/object_create.py:379 +#: dcim/tables/devices.py:161 dcim/tables/sites.py:99 extras/filtersets.py:640 +#: ipam/forms/bulk_edit.py:469 ipam/forms/filtersets.py:226 +#: ipam/forms/filtersets.py:447 ipam/forms/filtersets.py:538 +#: templates/dcim/device.html:18 templates/dcim/rack.html:16 +#: templates/dcim/rackreservation.html:22 templates/dcim/region.html:26 +#: templates/dcim/site.html:31 templates/ipam/vlan.html:16 +#: virtualization/forms/filtersets.py:60 virtualization/forms/filtersets.py:139 +#: virtualization/forms/model_forms.py:92 vpn/forms/filtersets.py:268 +#: wireless/forms/filtersets.py:73 +msgid "Region" +msgstr "" + +#: circuits/forms/filtersets.py:50 circuits/forms/filtersets.py:174 +#: circuits/forms/filtersets.py:236 dcim/forms/bulk_edit.py:347 +#: dcim/forms/bulk_edit.py:950 dcim/forms/filtersets.py:81 +#: dcim/forms/filtersets.py:199 dcim/forms/filtersets.py:225 +#: dcim/forms/filtersets.py:351 dcim/forms/filtersets.py:439 +#: dcim/forms/filtersets.py:781 dcim/forms/filtersets.py:1000 +#: dcim/forms/filtersets.py:1073 dcim/forms/filtersets.py:1187 +#: dcim/forms/filtersets.py:1226 dcim/forms/object_create.py:387 +#: extras/filtersets.py:657 ipam/forms/bulk_edit.py:474 +#: ipam/forms/filtersets.py:156 ipam/forms/filtersets.py:231 +#: ipam/forms/filtersets.py:452 ipam/forms/filtersets.py:543 +#: virtualization/forms/filtersets.py:65 virtualization/forms/filtersets.py:144 +#: virtualization/forms/model_forms.py:98 wireless/forms/filtersets.py:78 +msgid "Site group" +msgstr "" + +#: circuits/forms/filtersets.py:82 circuits/tables/circuits.py:62 +#: circuits/tables/providers.py:64 circuits/tables/virtual_circuits.py:55 +#: circuits/tables/virtual_circuits.py:102 templates/circuits/circuit.html:22 +#: templates/circuits/provideraccount.html:24 +msgid "Account" +msgstr "" + +#: circuits/forms/filtersets.py:254 +msgid "Term Side" +msgstr "" + +#: circuits/forms/filtersets.py:287 dcim/forms/bulk_edit.py:1646 +#: extras/forms/model_forms.py:695 ipam/forms/filtersets.py:145 +#: ipam/forms/filtersets.py:620 ipam/forms/model_forms.py:338 +#: templates/dcim/macaddress.html:25 templates/extras/configcontext.html:36 +#: templates/ipam/ipaddress.html:59 templates/ipam/vlan_edit.html:42 +#: tenancy/forms/filtersets.py:87 users/forms/model_forms.py:360 +msgid "Assignment" +msgstr "" + +#: circuits/forms/filtersets.py:302 circuits/forms/model_forms.py:253 +#: circuits/tables/circuits.py:191 dcim/forms/bulk_edit.py:127 +#: dcim/forms/bulk_import.py:104 dcim/forms/model_forms.py:126 +#: dcim/tables/sites.py:103 extras/forms/filtersets.py:582 +#: ipam/filtersets.py:982 ipam/forms/bulk_edit.py:488 +#: ipam/forms/bulk_import.py:492 ipam/forms/model_forms.py:571 +#: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:94 ipam/tables/vlans.py:205 +#: templates/circuits/circuitgroupassignment.html:22 +#: templates/dcim/interface.html:341 templates/dcim/site.html:37 +#: templates/ipam/inc/panels/fhrp_groups.html:23 templates/ipam/vlan.html:27 +#: templates/tenancy/tenant.html:20 templates/users/group.html:6 +#: templates/users/group.html:14 templates/virtualization/cluster.html:29 +#: templates/vpn/tunnel.html:29 templates/wireless/wirelesslan.html:18 +#: tenancy/forms/bulk_edit.py:44 tenancy/forms/bulk_import.py:41 +#: tenancy/forms/filtersets.py:48 tenancy/forms/filtersets.py:97 +#: tenancy/forms/model_forms.py:46 tenancy/forms/model_forms.py:129 +#: tenancy/tables/tenants.py:50 users/filtersets.py:62 users/filtersets.py:185 +#: users/forms/filtersets.py:31 users/forms/filtersets.py:37 +#: users/forms/filtersets.py:79 virtualization/forms/bulk_edit.py:66 +#: virtualization/forms/bulk_import.py:53 virtualization/forms/filtersets.py:91 +#: virtualization/forms/model_forms.py:70 virtualization/tables/clusters.py:70 +#: vpn/forms/bulk_edit.py:112 vpn/forms/bulk_import.py:158 +#: vpn/forms/filtersets.py:121 vpn/tables/crypto.py:31 vpn/tables/tunnels.py:45 +#: wireless/forms/bulk_edit.py:51 wireless/forms/bulk_import.py:38 +#: wireless/forms/filtersets.py:49 wireless/forms/model_forms.py:43 +#: wireless/tables/wirelesslan.py:52 +msgid "Group" +msgstr "" + +#: circuits/forms/model_forms.py:240 templates/circuits/circuitgroup.html:25 +msgid "Circuit Group" +msgstr "" + +#: circuits/forms/model_forms.py:260 +msgid "Circuit type" +msgstr "" + +#: circuits/forms/model_forms.py:271 +msgid "Group Assignment" +msgstr "" + +#: circuits/models/base.py:18 dcim/models/cables.py:69 +#: dcim/models/device_component_templates.py:525 +#: dcim/models/device_component_templates.py:625 +#: dcim/models/device_components.py:517 dcim/models/device_components.py:1063 +#: dcim/models/device_components.py:1134 dcim/models/device_components.py:1282 +#: dcim/models/devices.py:382 dcim/models/racks.py:227 extras/models/tags.py:29 +msgid "color" +msgstr "" + +#: circuits/models/circuits.py:33 +msgid "circuit type" +msgstr "" + +#: circuits/models/circuits.py:34 +msgid "circuit types" +msgstr "" + +#: circuits/models/circuits.py:45 circuits/models/virtual_circuits.py:38 +msgid "circuit ID" +msgstr "" + +#: circuits/models/circuits.py:46 circuits/models/virtual_circuits.py:39 +msgid "Unique circuit ID" +msgstr "" + +#: circuits/models/circuits.py:66 circuits/models/virtual_circuits.py:59 +#: core/models/data.py:52 core/models/jobs.py:95 dcim/models/cables.py:51 +#: dcim/models/device_components.py:488 dcim/models/device_components.py:1321 +#: dcim/models/devices.py:580 dcim/models/devices.py:1207 +#: dcim/models/modules.py:209 dcim/models/power.py:94 dcim/models/racks.py:294 +#: dcim/models/racks.py:677 dcim/models/sites.py:157 dcim/models/sites.py:281 +#: ipam/models/ip.py:243 ipam/models/ip.py:529 ipam/models/ip.py:758 +#: ipam/models/vlans.py:228 virtualization/models/clusters.py:70 +#: virtualization/models/virtualmachines.py:79 vpn/models/l2vpn.py:36 +#: vpn/models/tunnels.py:38 wireless/models.py:95 wireless/models.py:148 +msgid "status" +msgstr "" + +#: circuits/models/circuits.py:81 templates/core/plugin.html:20 +msgid "installed" +msgstr "" + +#: circuits/models/circuits.py:86 +msgid "terminates" +msgstr "" + +#: circuits/models/circuits.py:91 +msgid "commit rate (Kbps)" +msgstr "" + +#: circuits/models/circuits.py:92 +msgid "Committed rate" +msgstr "" + +#: circuits/models/circuits.py:141 +msgid "circuit" +msgstr "" + +#: circuits/models/circuits.py:142 +msgid "circuits" +msgstr "" + +#: circuits/models/circuits.py:171 +msgid "circuit group" +msgstr "" + +#: circuits/models/circuits.py:172 +msgid "circuit groups" +msgstr "" + +#: circuits/models/circuits.py:188 +msgid "member ID" +msgstr "" + +#: circuits/models/circuits.py:200 ipam/models/fhrp.py:96 +#: tenancy/models/contacts.py:118 +msgid "priority" +msgstr "" + +#: circuits/models/circuits.py:218 +msgid "Circuit group assignment" +msgstr "" + +#: circuits/models/circuits.py:219 +msgid "Circuit group assignments" +msgstr "" + +#: circuits/models/circuits.py:246 +msgid "termination side" +msgstr "" + +#: circuits/models/circuits.py:264 +msgid "port speed (Kbps)" +msgstr "" + +#: circuits/models/circuits.py:267 +msgid "Physical circuit speed" +msgstr "" + +#: circuits/models/circuits.py:272 +msgid "upstream speed (Kbps)" +msgstr "" + +#: circuits/models/circuits.py:273 +msgid "Upstream speed, if different from port speed" +msgstr "" + +#: circuits/models/circuits.py:278 +msgid "cross-connect ID" +msgstr "" + +#: circuits/models/circuits.py:279 +msgid "ID of the local cross-connect" +msgstr "" + +#: circuits/models/circuits.py:284 +msgid "patch panel/port(s)" +msgstr "" + +#: circuits/models/circuits.py:285 +msgid "Patch panel ID and port number(s)" +msgstr "" + +#: circuits/models/circuits.py:288 circuits/models/virtual_circuits.py:145 +#: dcim/models/device_component_templates.py:58 +#: dcim/models/device_components.py:64 dcim/models/racks.py:694 +#: extras/models/configs.py:41 extras/models/configs.py:94 +#: extras/models/configs.py:276 extras/models/customfields.py:127 +#: extras/models/models.py:65 extras/models/models.py:170 +#: extras/models/models.py:408 extras/models/models.py:479 +#: extras/models/models.py:558 extras/models/models.py:684 +#: extras/models/notifications.py:131 extras/models/tags.py:33 +#: ipam/models/vlans.py:384 netbox/models/__init__.py:115 +#: netbox/models/__init__.py:150 netbox/models/__init__.py:200 +#: users/models/permissions.py:24 users/models/tokens.py:59 +#: users/models/users.py:33 virtualization/models/virtualmachines.py:281 +msgid "description" +msgstr "" + +#: circuits/models/circuits.py:338 +msgid "circuit termination" +msgstr "" + +#: circuits/models/circuits.py:339 +msgid "circuit terminations" +msgstr "" + +#: circuits/models/circuits.py:351 +msgid "A circuit termination must attach to a terminating object." +msgstr "" + +#: circuits/models/providers.py:21 circuits/models/providers.py:63 +#: circuits/models/providers.py:98 core/models/data.py:39 +#: core/models/jobs.py:56 dcim/models/device_component_templates.py:44 +#: dcim/models/device_components.py:53 dcim/models/devices.py:524 +#: dcim/models/devices.py:1133 dcim/models/devices.py:1202 +#: dcim/models/modules.py:31 dcim/models/power.py:38 dcim/models/power.py:89 +#: dcim/models/racks.py:263 dcim/models/sites.py:145 +#: extras/models/configs.py:36 extras/models/configs.py:78 +#: extras/models/configs.py:272 extras/models/customfields.py:94 +#: extras/models/models.py:60 extras/models/models.py:165 +#: extras/models/models.py:308 extras/models/models.py:404 +#: extras/models/models.py:469 extras/models/models.py:554 +#: extras/models/models.py:679 extras/models/notifications.py:126 +#: extras/models/scripts.py:30 ipam/models/asns.py:18 ipam/models/fhrp.py:24 +#: ipam/models/services.py:51 ipam/models/services.py:80 +#: ipam/models/vlans.py:38 ipam/models/vlans.py:217 ipam/models/vlans.py:363 +#: ipam/models/vrfs.py:20 ipam/models/vrfs.py:75 netbox/models/__init__.py:142 +#: netbox/models/__init__.py:190 tenancy/models/contacts.py:56 +#: tenancy/models/tenants.py:19 tenancy/models/tenants.py:42 +#: users/models/permissions.py:20 users/models/users.py:28 +#: virtualization/models/clusters.py:52 +#: virtualization/models/virtualmachines.py:71 +#: virtualization/models/virtualmachines.py:276 +#: virtualization/models/virtualmachines.py:310 vpn/models/crypto.py:23 +#: vpn/models/crypto.py:69 vpn/models/crypto.py:128 vpn/models/crypto.py:180 +#: vpn/models/crypto.py:216 vpn/models/l2vpn.py:20 vpn/models/tunnels.py:32 +#: wireless/models.py:53 +msgid "name" +msgstr "" + +#: circuits/models/providers.py:24 +msgid "Full name of the provider" +msgstr "" + +#: circuits/models/providers.py:28 dcim/models/devices.py:89 +#: dcim/models/racks.py:143 dcim/models/sites.py:152 +#: extras/models/models.py:474 ipam/models/asns.py:24 ipam/models/vlans.py:43 +#: netbox/models/__init__.py:146 netbox/models/__init__.py:195 +#: tenancy/models/tenants.py:25 tenancy/models/tenants.py:47 +#: vpn/models/l2vpn.py:26 wireless/models.py:59 +msgid "slug" +msgstr "" + +#: circuits/models/providers.py:42 +msgid "provider" +msgstr "" + +#: circuits/models/providers.py:43 +msgid "providers" +msgstr "" + +#: circuits/models/providers.py:60 +msgid "account ID" +msgstr "" + +#: circuits/models/providers.py:83 +msgid "provider account" +msgstr "" + +#: circuits/models/providers.py:84 +msgid "provider accounts" +msgstr "" + +#: circuits/models/providers.py:110 +msgid "service ID" +msgstr "" + +#: circuits/models/providers.py:121 +msgid "provider network" +msgstr "" + +#: circuits/models/providers.py:122 +msgid "provider networks" +msgstr "" + +#: circuits/models/virtual_circuits.py:28 +msgid "virtual circuit type" +msgstr "" + +#: circuits/models/virtual_circuits.py:29 +msgid "virtual circuit types" +msgstr "" + +#: circuits/models/virtual_circuits.py:99 +msgid "virtual circuit" +msgstr "" + +#: circuits/models/virtual_circuits.py:100 +msgid "virtual circuits" +msgstr "" + +#: circuits/models/virtual_circuits.py:134 ipam/models/ip.py:200 +#: ipam/models/ip.py:765 vpn/models/tunnels.py:109 +msgid "role" +msgstr "" + +#: circuits/models/virtual_circuits.py:152 +msgid "virtual circuit termination" +msgstr "" + +#: circuits/models/virtual_circuits.py:153 +msgid "virtual circuit terminations" +msgstr "" + +#: circuits/tables/circuits.py:30 circuits/tables/circuits.py:168 +#: circuits/tables/providers.py:18 circuits/tables/providers.py:67 +#: circuits/tables/providers.py:97 circuits/tables/virtual_circuits.py:18 +#: core/tables/data.py:17 core/tables/jobs.py:16 core/tables/plugins.py:45 +#: core/tables/tasks.py:12 core/tables/tasks.py:117 dcim/forms/filtersets.py:66 +#: dcim/forms/object_create.py:43 dcim/tables/devices.py:63 +#: dcim/tables/devices.py:107 dcim/tables/devices.py:153 +#: dcim/tables/devices.py:312 dcim/tables/devices.py:425 +#: dcim/tables/devices.py:466 dcim/tables/devices.py:514 +#: dcim/tables/devices.py:568 dcim/tables/devices.py:591 +#: dcim/tables/devices.py:711 dcim/tables/devices.py:794 +#: dcim/tables/devices.py:840 dcim/tables/devices.py:902 +#: dcim/tables/devices.py:971 dcim/tables/devices.py:1036 +#: dcim/tables/devices.py:1055 dcim/tables/devices.py:1084 +#: dcim/tables/devices.py:1114 dcim/tables/devicetypes.py:31 +#: dcim/tables/devicetypes.py:227 dcim/tables/modules.py:17 +#: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:24 +#: dcim/tables/racks.py:117 dcim/tables/sites.py:24 dcim/tables/sites.py:58 +#: dcim/tables/sites.py:92 dcim/tables/sites.py:143 +#: extras/forms/filtersets.py:227 extras/tables/tables.py:64 +#: extras/tables/tables.py:128 extras/tables/tables.py:161 +#: extras/tables/tables.py:186 extras/tables/tables.py:241 +#: extras/tables/tables.py:284 extras/tables/tables.py:314 +#: extras/tables/tables.py:430 extras/tables/tables.py:447 +#: extras/tables/tables.py:470 extras/tables/tables.py:508 +#: extras/tables/tables.py:552 extras/tables/tables.py:594 +#: extras/tables/tables.py:620 ipam/forms/bulk_edit.py:396 +#: ipam/forms/filtersets.py:410 ipam/forms/filtersets.py:496 +#: ipam/tables/asn.py:16 ipam/tables/ip.py:32 ipam/tables/ip.py:107 +#: ipam/tables/services.py:16 ipam/tables/services.py:41 +#: ipam/tables/vlans.py:33 ipam/tables/vlans.py:86 ipam/tables/vlans.py:234 +#: ipam/tables/vrfs.py:26 ipam/tables/vrfs.py:68 +#: templates/circuits/circuitgroup.html:28 +#: templates/circuits/circuittype.html:22 +#: templates/circuits/provideraccount.html:28 +#: templates/circuits/providernetwork.html:24 +#: templates/circuits/virtualcircuittype.html:22 +#: templates/core/datasource.html:34 templates/core/job.html:17 +#: templates/core/plugin.html:54 templates/core/rq_worker.html:43 +#: templates/dcim/consoleport.html:28 templates/dcim/consoleserverport.html:28 +#: templates/dcim/devicebay.html:24 templates/dcim/devicerole.html:26 +#: templates/dcim/frontport.html:28 +#: templates/dcim/inc/interface_vlans_table.html:5 +#: templates/dcim/inc/panels/inventory_items.html:18 +#: templates/dcim/interface.html:38 templates/dcim/interface.html:222 +#: templates/dcim/inventoryitem.html:28 +#: templates/dcim/inventoryitemrole.html:18 templates/dcim/location.html:29 +#: templates/dcim/manufacturer.html:36 templates/dcim/modulebay.html:30 +#: templates/dcim/moduletypeprofile.html:16 templates/dcim/platform.html:29 +#: templates/dcim/poweroutlet.html:28 templates/dcim/powerport.html:28 +#: templates/dcim/rackrole.html:22 templates/dcim/rearport.html:28 +#: templates/dcim/region.html:29 templates/dcim/sitegroup.html:29 +#: templates/dcim/virtualdevicecontext.html:18 +#: templates/extras/configcontext.html:13 +#: templates/extras/configcontextprofile.html:13 +#: templates/extras/configtemplate.html:13 templates/extras/customfield.html:13 +#: templates/extras/customlink.html:13 templates/extras/eventrule.html:13 +#: templates/extras/exporttemplate.html:15 +#: templates/extras/imageattachment.html:17 +#: templates/extras/inc/script_list_content.html:32 +#: templates/extras/notificationgroup.html:14 +#: templates/extras/savedfilter.html:13 templates/extras/tableconfig.html:13 +#: templates/extras/tag.html:14 templates/extras/webhook.html:13 +#: templates/ipam/asnrange.html:15 templates/ipam/fhrpgroup.html:30 +#: templates/ipam/rir.html:22 templates/ipam/role.html:22 +#: templates/ipam/routetarget.html:13 templates/ipam/service.html:26 +#: templates/ipam/servicetemplate.html:15 templates/ipam/vlan.html:35 +#: templates/ipam/vlangroup.html:30 +#: templates/ipam/vlantranslationpolicy.html:14 +#: templates/tenancy/contact.html:35 templates/tenancy/contactgroup.html:21 +#: templates/tenancy/contactrole.html:18 templates/tenancy/tenantgroup.html:29 +#: templates/users/group.html:17 templates/users/objectpermission.html:17 +#: templates/virtualization/cluster.html:13 +#: templates/virtualization/clustergroup.html:22 +#: templates/virtualization/clustertype.html:22 +#: templates/virtualization/virtualdisk.html:25 +#: templates/virtualization/virtualmachine.html:15 +#: templates/virtualization/vminterface.html:25 templates/vpn/ikepolicy.html:13 +#: templates/vpn/ikeproposal.html:13 templates/vpn/ipsecpolicy.html:13 +#: templates/vpn/ipsecprofile.html:13 templates/vpn/ipsecprofile.html:36 +#: templates/vpn/ipsecprofile.html:69 templates/vpn/ipsecproposal.html:13 +#: templates/vpn/l2vpn.html:14 templates/vpn/tunnel.html:21 +#: templates/vpn/tunnelgroup.html:26 +#: templates/wireless/wirelesslangroup.html:29 tenancy/tables/contacts.py:19 +#: tenancy/tables/contacts.py:49 tenancy/tables/contacts.py:64 +#: tenancy/tables/tenants.py:16 tenancy/tables/tenants.py:46 users/tables.py:62 +#: users/tables.py:76 virtualization/forms/bulk_create.py:20 +#: virtualization/forms/object_create.py:13 +#: virtualization/forms/object_create.py:23 +#: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 +#: virtualization/tables/clusters.py:62 +#: virtualization/tables/virtualmachines.py:26 +#: virtualization/tables/virtualmachines.py:109 +#: virtualization/tables/virtualmachines.py:165 vpn/tables/crypto.py:18 +#: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 +#: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 +#: vpn/tables/tunnels.py:41 wireless/tables/wirelesslan.py:18 +#: wireless/tables/wirelesslan.py:92 +msgid "Name" +msgstr "" + +#: circuits/tables/circuits.py:39 circuits/tables/circuits.py:174 +#: circuits/tables/providers.py:43 circuits/tables/providers.py:77 +#: circuits/tables/virtual_circuits.py:27 netbox/navigation/menu.py:275 +#: netbox/navigation/menu.py:279 netbox/navigation/menu.py:281 +#: templates/circuits/provider.html:57 +#: templates/circuits/provideraccount.html:48 +#: templates/circuits/providernetwork.html:50 +msgid "Circuits" +msgstr "" + +#: circuits/tables/circuits.py:54 circuits/tables/virtual_circuits.py:42 +#: templates/circuits/circuit.html:26 templates/circuits/virtualcircuit.html:35 +#: templates/dcim/interface.html:174 +msgid "Circuit ID" +msgstr "" + +#: circuits/tables/circuits.py:71 wireless/forms/model_forms.py:165 +msgid "Side A" +msgstr "" + +#: circuits/tables/circuits.py:76 +msgid "Side Z" +msgstr "" + +#: circuits/tables/circuits.py:79 templates/circuits/circuit.html:65 +msgid "Commit Rate" +msgstr "" + +#: circuits/tables/circuits.py:83 circuits/tables/providers.py:46 +#: circuits/tables/providers.py:80 circuits/tables/providers.py:105 +#: circuits/tables/virtual_circuits.py:67 dcim/tables/devices.py:1097 +#: dcim/tables/devicetypes.py:97 dcim/tables/modules.py:27 +#: dcim/tables/modules.py:68 dcim/tables/modules.py:107 dcim/tables/power.py:39 +#: dcim/tables/power.py:96 dcim/tables/racks.py:88 dcim/tables/racks.py:148 +#: dcim/tables/racks.py:236 dcim/tables/sites.py:40 dcim/tables/sites.py:74 +#: dcim/tables/sites.py:121 dcim/tables/sites.py:179 +#: extras/forms/bulk_import.py:303 extras/tables/tables.py:706 +#: ipam/tables/asn.py:69 ipam/tables/fhrp.py:34 ipam/tables/ip.py:83 +#: ipam/tables/ip.py:227 ipam/tables/ip.py:286 ipam/tables/ip.py:355 +#: ipam/tables/services.py:25 ipam/tables/services.py:55 +#: ipam/tables/vlans.py:124 ipam/tables/vrfs.py:47 ipam/tables/vrfs.py:72 +#: templates/dcim/htmx/cable_edit.html:90 templates/generic/bulk_edit.html:86 +#: templates/inc/panels/comments.html:5 tenancy/tables/contacts.py:35 +#: tenancy/tables/contacts.py:76 tenancy/tables/tenants.py:32 +#: tenancy/tables/tenants.py:54 utilities/forms/fields/fields.py:30 +#: virtualization/tables/clusters.py:95 +#: virtualization/tables/virtualmachines.py:52 vpn/tables/crypto.py:37 +#: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 +#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:40 vpn/tables/tunnels.py:62 +#: wireless/tables/wirelesslan.py:31 wireless/tables/wirelesslan.py:70 +msgid "Comments" +msgstr "" + +#: circuits/tables/circuits.py:89 dcim/forms/filtersets.py:1693 +#: templates/tenancy/contact.html:94 tenancy/tables/contacts.py:81 +msgid "Assignments" +msgstr "" + +#: circuits/tables/circuits.py:116 dcim/forms/connections.py:86 +msgid "Side" +msgstr "" + +#: circuits/tables/circuits.py:119 +msgid "Termination Type" +msgstr "" + +#: circuits/tables/circuits.py:122 +msgid "Termination Point" +msgstr "" + +#: circuits/tables/circuits.py:134 dcim/tables/devices.py:168 +#: templates/dcim/sitegroup.html:26 +msgid "Site Group" +msgstr "" + +#: circuits/tables/circuits.py:149 templates/circuits/providernetwork.html:17 +#: templates/circuits/virtualcircuit.html:27 +#: templates/circuits/virtualcircuittermination.html:30 +#: templates/dcim/interface.html:170 +msgid "Provider Network" +msgstr "" + +#: circuits/tables/providers.py:23 +msgid "Accounts" +msgstr "" + +#: circuits/tables/providers.py:28 +msgid "Account Count" +msgstr "" + +#: circuits/tables/providers.py:37 dcim/tables/sites.py:113 +msgid "ASN Count" +msgstr "" + +#: circuits/tables/virtual_circuits.py:64 netbox/navigation/menu.py:235 +#: templates/circuits/virtualcircuit.html:87 templates/vpn/l2vpn.html:60 +#: templates/vpn/tunnel.html:72 vpn/tables/tunnels.py:59 +msgid "Terminations" +msgstr "" + +#: circuits/tables/virtual_circuits.py:108 dcim/forms/bulk_edit.py:812 +#: dcim/forms/bulk_edit.py:1370 dcim/forms/bulk_edit.py:1782 +#: dcim/forms/bulk_edit.py:1841 dcim/forms/bulk_import.py:737 +#: dcim/forms/bulk_import.py:799 dcim/forms/bulk_import.py:825 +#: dcim/forms/bulk_import.py:851 dcim/forms/bulk_import.py:871 +#: dcim/forms/bulk_import.py:927 dcim/forms/bulk_import.py:1087 +#: dcim/forms/bulk_import.py:1135 dcim/forms/bulk_import.py:1152 +#: dcim/forms/bulk_import.py:1164 dcim/forms/bulk_import.py:1212 +#: dcim/forms/bulk_import.py:1334 dcim/forms/bulk_import.py:1730 +#: dcim/forms/connections.py:29 dcim/forms/filtersets.py:140 +#: dcim/forms/filtersets.py:958 dcim/forms/filtersets.py:990 +#: dcim/forms/filtersets.py:1136 dcim/forms/filtersets.py:1328 +#: dcim/forms/filtersets.py:1353 dcim/forms/filtersets.py:1378 +#: dcim/forms/filtersets.py:1398 dcim/forms/filtersets.py:1432 +#: dcim/forms/filtersets.py:1553 dcim/forms/filtersets.py:1578 +#: dcim/forms/filtersets.py:1602 dcim/forms/filtersets.py:1620 +#: dcim/forms/filtersets.py:1637 dcim/forms/filtersets.py:1752 +#: dcim/forms/filtersets.py:1776 dcim/forms/filtersets.py:1800 +#: dcim/forms/model_forms.py:748 dcim/forms/model_forms.py:968 +#: dcim/forms/model_forms.py:1369 dcim/forms/model_forms.py:1854 +#: dcim/forms/model_forms.py:1927 dcim/forms/object_create.py:260 +#: dcim/tables/connections.py:22 dcim/tables/connections.py:41 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:308 +#: dcim/tables/devices.py:403 dcim/tables/devices.py:444 +#: dcim/tables/devices.py:486 dcim/tables/devices.py:536 +#: dcim/tables/devices.py:648 dcim/tables/devices.py:760 +#: dcim/tables/devices.py:816 dcim/tables/devices.py:862 +#: dcim/tables/devices.py:921 dcim/tables/devices.py:989 +#: dcim/tables/devices.py:1118 dcim/tables/modules.py:87 +#: extras/forms/filtersets.py:389 ipam/forms/bulk_import.py:306 +#: ipam/forms/filtersets.py:626 ipam/forms/model_forms.py:334 +#: ipam/tables/vlans.py:159 +#: templates/circuits/virtualcircuittermination.html:56 +#: templates/dcim/consoleport.html:20 templates/dcim/consoleserverport.html:20 +#: templates/dcim/device.html:15 templates/dcim/device.html:136 +#: templates/dcim/device_edit.html:12 templates/dcim/devicebay.html:20 +#: templates/dcim/devicebay.html:48 templates/dcim/frontport.html:20 +#: templates/dcim/interface.html:30 templates/dcim/interface.html:218 +#: templates/dcim/inventoryitem.html:20 templates/dcim/module.html:57 +#: templates/dcim/modulebay.html:20 templates/dcim/poweroutlet.html:20 +#: templates/dcim/powerport.html:20 templates/dcim/rearport.html:20 +#: templates/dcim/virtualchassis.html:55 +#: templates/dcim/virtualchassis_edit.html:55 +#: templates/dcim/virtualdevicecontext.html:22 +#: templates/virtualization/virtualmachine.html:116 +#: templates/vpn/tunneltermination.html:23 +#: templates/wireless/inc/wirelesslink_interface.html:6 +#: virtualization/filtersets.py:133 virtualization/forms/bulk_edit.py:119 +#: virtualization/forms/bulk_import.py:110 +#: virtualization/forms/filtersets.py:134 +#: virtualization/forms/model_forms.py:192 +#: virtualization/tables/virtualmachines.py:41 vpn/choices.py:52 +#: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:288 +#: vpn/forms/filtersets.py:286 vpn/forms/model_forms.py:91 +#: vpn/forms/model_forms.py:126 vpn/forms/model_forms.py:237 +#: vpn/forms/model_forms.py:456 wireless/forms/model_forms.py:104 +#: wireless/forms/model_forms.py:146 wireless/tables/wirelesslan.py:88 +msgid "Device" +msgstr "" + +#: circuits/views.py:394 +#, python-brace-format +msgid "No terminations have been defined for circuit {circuit}." +msgstr "" + +#: circuits/views.py:443 +#, python-brace-format +msgid "Swapped terminations for circuit {circuit}." +msgstr "" + +#: core/api/views.py:52 +msgid "This user does not have permission to synchronize this data source." +msgstr "" + +#: core/apps.py:34 +msgid "Object created" +msgstr "" + +#: core/apps.py:35 +msgid "Object updated" +msgstr "" + +#: core/apps.py:36 +msgid "Object deleted" +msgstr "" + +#: core/apps.py:37 +msgid "Job started" +msgstr "" + +#: core/apps.py:38 +msgid "Job completed" +msgstr "" + +#: core/apps.py:39 +msgid "Job failed" +msgstr "" + +#: core/apps.py:40 +msgid "Job errored" +msgstr "" + +#: core/choices.py:18 +msgid "New" +msgstr "" + +#: core/choices.py:19 core/constants.py:19 core/tables/tasks.py:16 +#: templates/core/rq_task.html:77 +msgid "Queued" +msgstr "" + +#: core/choices.py:20 +msgid "Syncing" +msgstr "" + +#: core/choices.py:21 core/choices.py:57 core/tables/jobs.py:43 +#: templates/core/job.html:59 +msgid "Completed" +msgstr "" + +#: core/choices.py:22 core/choices.py:59 core/constants.py:21 +#: core/tables/tasks.py:35 dcim/choices.py:206 dcim/choices.py:259 +#: dcim/choices.py:1917 dcim/choices.py:2007 virtualization/choices.py:48 +msgid "Failed" +msgstr "" + +#: core/choices.py:35 netbox/navigation/menu.py:359 +#: netbox/navigation/menu.py:363 templates/extras/script/base.html:14 +#: templates/extras/script_list.html:7 templates/extras/script_list.html:12 +#: templates/extras/script_result.html:17 +msgid "Scripts" +msgstr "" + +#: core/choices.py:36 templates/extras/report/base.html:13 +msgid "Reports" +msgstr "" + +#: core/choices.py:54 dcim/choices.py:154 +msgid "Pending" +msgstr "" + +#: core/choices.py:55 core/constants.py:24 core/tables/jobs.py:34 +#: core/tables/tasks.py:39 templates/core/job.html:46 +msgid "Scheduled" +msgstr "" + +#: core/choices.py:56 +msgid "Running" +msgstr "" + +#: core/choices.py:58 +msgid "Errored" +msgstr "" + +#: core/choices.py:82 +msgid "Minutely" +msgstr "" + +#: core/choices.py:83 +msgid "Hourly" +msgstr "" + +#: core/choices.py:84 +msgid "12 hours" +msgstr "" + +#: core/choices.py:85 +msgid "Daily" +msgstr "" + +#: core/choices.py:86 +msgid "Weekly" +msgstr "" + +#: core/choices.py:87 +msgid "30 days" +msgstr "" + +#: core/choices.py:103 core/tables/plugins.py:68 +#: templates/generic/object.html:61 +msgid "Updated" +msgstr "" + +#: core/choices.py:104 +msgid "Deleted" +msgstr "" + +#: core/constants.py:20 core/tables/tasks.py:31 +msgid "Finished" +msgstr "" + +#: core/constants.py:22 core/tables/jobs.py:40 templates/core/job.html:55 +#: templates/extras/htmx/script_result.html:8 +msgid "Started" +msgstr "" + +#: core/constants.py:23 core/tables/tasks.py:27 +msgid "Deferred" +msgstr "" + +#: core/constants.py:25 +msgid "Stopped" +msgstr "" + +#: core/constants.py:26 +msgid "Cancelled" +msgstr "" + +#: core/constants.py:30 extras/choices.py:164 +msgid "Debug" +msgstr "" + +#: core/constants.py:31 extras/choices.py:144 extras/choices.py:165 +msgid "Info" +msgstr "" + +#: core/constants.py:32 extras/choices.py:146 extras/choices.py:167 +msgid "Warning" +msgstr "" + +#: core/constants.py:33 netbox/tables/columns.py:584 templates/core/job.html:26 +msgid "Error" +msgstr "" + +#: core/data_backends.py:32 core/tables/plugins.py:53 +#: templates/core/plugin.html:88 templates/dcim/interface.html:273 +msgid "Local" +msgstr "" + +#: core/data_backends.py:50 core/tables/change_logging.py:20 +#: templates/account/profile.html:13 templates/users/user.html:15 +#: users/tables.py:31 +msgid "Username" +msgstr "" + +#: core/data_backends.py:52 core/data_backends.py:58 +msgid "Only used for cloning with HTTP(S)" +msgstr "" + +#: core/data_backends.py:56 templates/account/base.html:23 +#: templates/account/password.html:12 users/forms/model_forms.py:184 +msgid "Password" +msgstr "" + +#: core/data_backends.py:62 +msgid "Branch" +msgstr "" + +#: core/data_backends.py:120 +#, python-brace-format +msgid "Fetching remote data failed ({name}): {error}" +msgstr "" + +#: core/data_backends.py:133 +msgid "AWS access key ID" +msgstr "" + +#: core/data_backends.py:137 +msgid "AWS secret access key" +msgstr "" + +#: core/filtersets.py:57 extras/filtersets.py:254 extras/filtersets.py:599 +#: extras/filtersets.py:770 extras/filtersets.py:798 +msgid "Data source (ID)" +msgstr "" + +#: core/filtersets.py:63 +msgid "Data source (name)" +msgstr "" + +#: core/filtersets.py:180 dcim/filtersets.py:508 extras/filtersets.py:292 +#: extras/filtersets.py:344 extras/filtersets.py:389 extras/filtersets.py:411 +#: extras/filtersets.py:475 users/filtersets.py:28 +msgid "User (ID)" +msgstr "" + +#: core/filtersets.py:186 +msgid "User name" +msgstr "" + +#: core/forms/bulk_edit.py:26 core/forms/filtersets.py:43 +#: core/tables/data.py:27 dcim/choices.py:1965 dcim/forms/bulk_edit.py:1211 +#: dcim/forms/bulk_edit.py:1492 dcim/forms/filtersets.py:1468 +#: dcim/tables/devices.py:596 dcim/tables/devicetypes.py:231 +#: extras/forms/bulk_edit.py:127 extras/forms/bulk_edit.py:195 +#: extras/forms/bulk_edit.py:223 extras/forms/bulk_edit.py:282 +#: extras/forms/filtersets.py:150 extras/forms/filtersets.py:244 +#: extras/forms/filtersets.py:274 extras/forms/filtersets.py:339 +#: extras/tables/tables.py:168 extras/tables/tables.py:291 +#: extras/tables/tables.py:324 extras/tables/tables.py:484 +#: netbox/preferences.py:33 netbox/preferences.py:56 netbox/preferences.py:81 +#: templates/core/datasource.html:42 templates/dcim/interface.html:61 +#: templates/extras/customlink.html:17 templates/extras/eventrule.html:17 +#: templates/extras/savedfilter.html:25 templates/extras/tableconfig.html:33 +#: templates/users/objectpermission.html:25 +#: templates/virtualization/vminterface.html:29 users/forms/bulk_edit.py:89 +#: users/forms/filtersets.py:70 users/tables.py:83 +#: virtualization/forms/bulk_edit.py:199 virtualization/forms/filtersets.py:223 +msgid "Enabled" +msgstr "" + +#: core/forms/bulk_edit.py:36 core/forms/filtersets.py:50 +#: core/tables/data.py:30 templates/core/datasource.html:50 +msgid "Sync interval" +msgstr "" + +#: core/forms/bulk_edit.py:40 extras/forms/model_forms.py:306 +#: templates/extras/savedfilter.html:56 vpn/forms/filtersets.py:102 +#: vpn/forms/filtersets.py:132 vpn/forms/filtersets.py:156 +#: vpn/forms/filtersets.py:175 vpn/forms/model_forms.py:302 +#: vpn/forms/model_forms.py:323 vpn/forms/model_forms.py:339 +#: vpn/forms/model_forms.py:360 vpn/forms/model_forms.py:383 +msgid "Parameters" +msgstr "" + +#: core/forms/bulk_edit.py:44 templates/core/datasource.html:72 +msgid "Ignore rules" +msgstr "" + +#: core/forms/filtersets.py:30 core/forms/model_forms.py:100 +#: extras/forms/model_forms.py:267 extras/forms/model_forms.py:603 +#: extras/forms/model_forms.py:691 extras/forms/model_forms.py:744 +#: extras/tables/tables.py:206 extras/tables/tables.py:556 +#: extras/tables/tables.py:586 extras/tables/tables.py:624 +#: templates/core/datasource.html:31 templates/core/inc/datafile_panel.html:7 +#: templates/extras/configtemplate.html:37 +#: templates/extras/object_render_config.html:19 +msgid "Data Source" +msgstr "" + +#: core/forms/filtersets.py:60 core/forms/mixins.py:21 +#: templates/extras/imageattachment.html:30 +msgid "File" +msgstr "" + +#: core/forms/filtersets.py:65 core/forms/mixins.py:16 +#: extras/forms/bulk_import.py:164 extras/forms/filtersets.py:179 +#: extras/forms/filtersets.py:370 extras/forms/filtersets.py:401 +#: extras/forms/filtersets.py:488 +msgid "Data source" +msgstr "" + +#: core/forms/filtersets.py:76 extras/forms/filtersets.py:541 +msgid "Creation" +msgstr "" + +#: core/forms/filtersets.py:80 core/forms/filtersets.py:166 +#: extras/forms/filtersets.py:562 extras/tables/tables.py:255 +#: extras/tables/tables.py:318 extras/tables/tables.py:344 +#: extras/tables/tables.py:363 extras/tables/tables.py:395 +#: extras/tables/tables.py:695 templates/core/job.html:11 +#: templates/core/objectchange.html:52 templates/extras/tableconfig.html:21 +#: tenancy/tables/contacts.py:98 vpn/tables/l2vpn.py:62 +msgid "Object Type" +msgstr "" + +#: core/forms/filtersets.py:90 +msgid "Created after" +msgstr "" + +#: core/forms/filtersets.py:95 +msgid "Created before" +msgstr "" + +#: core/forms/filtersets.py:100 +msgid "Scheduled after" +msgstr "" + +#: core/forms/filtersets.py:105 +msgid "Scheduled before" +msgstr "" + +#: core/forms/filtersets.py:110 +msgid "Started after" +msgstr "" + +#: core/forms/filtersets.py:115 +msgid "Started before" +msgstr "" + +#: core/forms/filtersets.py:120 +msgid "Completed after" +msgstr "" + +#: core/forms/filtersets.py:125 +msgid "Completed before" +msgstr "" + +#: core/forms/filtersets.py:132 core/forms/filtersets.py:161 +#: dcim/forms/bulk_edit.py:496 dcim/forms/filtersets.py:476 +#: dcim/forms/model_forms.py:334 extras/forms/filtersets.py:557 +#: extras/forms/filtersets.py:577 extras/tables/tables.py:371 +#: extras/tables/tables.py:411 templates/core/objectchange.html:36 +#: templates/dcim/rackreservation.html:62 templates/extras/savedfilter.html:21 +#: templates/extras/tableconfig.html:29 templates/inc/user_menu.html:33 +#: templates/users/token.html:21 templates/users/user.html:4 +#: templates/users/user.html:12 users/filtersets.py:107 users/filtersets.py:174 +#: users/forms/filtersets.py:84 users/forms/filtersets.py:125 +#: users/forms/model_forms.py:169 users/forms/model_forms.py:206 +#: users/tables.py:19 +msgid "User" +msgstr "" + +#: core/forms/filtersets.py:140 core/tables/change_logging.py:15 +#: core/tables/jobs.py:69 extras/tables/tables.py:733 +#: extras/tables/tables.py:788 templates/core/objectchange.html:32 +msgid "Time" +msgstr "" + +#: core/forms/filtersets.py:145 extras/forms/filtersets.py:546 +msgid "After" +msgstr "" + +#: core/forms/filtersets.py:150 extras/forms/filtersets.py:551 +msgid "Before" +msgstr "" + +#: core/forms/filtersets.py:154 core/tables/change_logging.py:29 +#: extras/forms/model_forms.py:476 templates/core/objectchange.html:46 +#: templates/extras/eventrule.html:71 +msgid "Action" +msgstr "" + +#: core/forms/model_forms.py:55 core/tables/data.py:56 +#: templates/core/datafile.html:21 templates/extras/report/base.html:33 +#: templates/extras/script/base.html:32 +msgid "Source" +msgstr "" + +#: core/forms/model_forms.py:57 templates/core/datasource.html:14 +#: templates/core/datasource.html:20 utilities/templatetags/buttons.py:156 +msgid "Sync" +msgstr "" + +#: core/forms/model_forms.py:61 +msgid "Backend Parameters" +msgstr "" + +#: core/forms/model_forms.py:99 +msgid "File Upload" +msgstr "" + +#: core/forms/model_forms.py:111 +msgid "Cannot upload a file and sync from an existing file" +msgstr "" + +#: core/forms/model_forms.py:113 +msgid "Must upload a file or select a data file to sync" +msgstr "" + +#: core/forms/model_forms.py:156 templates/dcim/rack_elevation_list.html:6 +msgid "Rack Elevations" +msgstr "" + +#: core/forms/model_forms.py:160 dcim/choices.py:1836 +#: dcim/forms/bulk_edit.py:1054 dcim/forms/bulk_edit.py:1446 +#: dcim/forms/bulk_edit.py:1467 dcim/tables/racks.py:161 +#: netbox/navigation/menu.py:313 netbox/navigation/menu.py:317 +msgid "Power" +msgstr "" + +#: core/forms/model_forms.py:162 netbox/navigation/menu.py:161 +#: templates/core/inc/config_data.html:37 +msgid "IPAM" +msgstr "" + +#: core/forms/model_forms.py:163 netbox/navigation/menu.py:239 +#: templates/core/inc/config_data.html:50 vpn/forms/bulk_edit.py:77 +#: vpn/forms/filtersets.py:47 vpn/forms/model_forms.py:62 +#: vpn/forms/model_forms.py:147 +msgid "Security" +msgstr "" + +#: core/forms/model_forms.py:164 templates/core/inc/config_data.html:59 +msgid "Banners" +msgstr "" + +#: core/forms/model_forms.py:165 templates/core/inc/config_data.html:80 +msgid "Pagination" +msgstr "" + +#: core/forms/model_forms.py:166 extras/forms/bulk_edit.py:96 +#: extras/forms/filtersets.py:48 extras/forms/model_forms.py:121 +#: extras/forms/model_forms.py:134 templates/core/inc/config_data.html:93 +msgid "Validation" +msgstr "" + +#: core/forms/model_forms.py:167 templates/account/preferences.html:6 +msgid "User Preferences" +msgstr "" + +#: core/forms/model_forms.py:170 dcim/forms/filtersets.py:769 +#: templates/core/inc/config_data.html:127 users/forms/model_forms.py:75 +msgid "Miscellaneous" +msgstr "" + +#: core/forms/model_forms.py:172 +msgid "Config Revision" +msgstr "" + +#: core/forms/model_forms.py:211 +msgid "This parameter has been defined statically and cannot be modified." +msgstr "" + +#: core/forms/model_forms.py:219 +#, python-brace-format +msgid "Current value: {value}" +msgstr "" + +#: core/forms/model_forms.py:221 +msgid " (default)" +msgstr "" + +#: core/models/change_logging.py:29 +msgid "time" +msgstr "" + +#: core/models/change_logging.py:42 +msgid "user name" +msgstr "" + +#: core/models/change_logging.py:47 +msgid "request ID" +msgstr "" + +#: core/models/change_logging.py:52 +msgid "action" +msgstr "" + +#: core/models/change_logging.py:86 +msgid "message" +msgstr "" + +#: core/models/change_logging.py:92 +msgid "pre-change data" +msgstr "" + +#: core/models/change_logging.py:98 +msgid "post-change data" +msgstr "" + +#: core/models/change_logging.py:112 +msgid "object change" +msgstr "" + +#: core/models/change_logging.py:113 +msgid "object changes" +msgstr "" + +#: core/models/change_logging.py:129 +#, python-brace-format +msgid "Change logging is not supported for this object type ({type})." +msgstr "" + +#: core/models/config.py:21 core/models/data.py:269 core/models/files.py:29 +#: core/models/jobs.py:60 extras/models/models.py:839 +#: extras/models/notifications.py:39 extras/models/notifications.py:195 +#: netbox/models/features.py:61 users/models/tokens.py:34 +msgid "created" +msgstr "" + +#: core/models/config.py:25 +msgid "comment" +msgstr "" + +#: core/models/config.py:32 +msgid "configuration data" +msgstr "" + +#: core/models/config.py:39 +msgid "config revision" +msgstr "" + +#: core/models/config.py:40 +msgid "config revisions" +msgstr "" + +#: core/models/config.py:51 +msgid "Default configuration" +msgstr "" + +#: core/models/config.py:53 +msgid "Current configuration" +msgstr "" + +#: core/models/config.py:54 +#, python-brace-format +msgid "Config revision #{id}" +msgstr "" + +#: core/models/data.py:44 dcim/models/cables.py:44 +#: dcim/models/device_component_templates.py:200 +#: dcim/models/device_component_templates.py:235 +#: dcim/models/device_component_templates.py:271 +#: dcim/models/device_component_templates.py:336 +#: dcim/models/device_component_templates.py:421 +#: dcim/models/device_component_templates.py:520 +#: dcim/models/device_component_templates.py:620 +#: dcim/models/device_components.py:314 dcim/models/device_components.py:341 +#: dcim/models/device_components.py:372 dcim/models/device_components.py:494 +#: dcim/models/device_components.py:711 dcim/models/device_components.py:1058 +#: dcim/models/device_components.py:1129 dcim/models/power.py:100 +#: extras/models/customfields.py:80 extras/models/search.py:41 +#: virtualization/models/clusters.py:57 vpn/models/l2vpn.py:31 +msgid "type" +msgstr "" + +#: core/models/data.py:49 extras/choices.py:37 extras/models/models.py:176 +#: extras/tables/tables.py:798 templates/core/datasource.html:62 +#: templates/core/plugin.html:66 +msgid "URL" +msgstr "" + +#: core/models/data.py:59 dcim/models/device_component_templates.py:426 +#: dcim/models/device_components.py:549 extras/models/models.py:74 +#: extras/models/models.py:313 extras/models/models.py:494 +#: extras/models/models.py:573 users/models/permissions.py:29 +msgid "enabled" +msgstr "" + +#: core/models/data.py:63 +msgid "sync interval" +msgstr "" + +#: core/models/data.py:69 +msgid "ignore rules" +msgstr "" + +#: core/models/data.py:71 +msgid "Patterns (one per line) matching files to ignore when syncing" +msgstr "" + +#: core/models/data.py:74 extras/models/models.py:502 +msgid "parameters" +msgstr "" + +#: core/models/data.py:79 +msgid "last synced" +msgstr "" + +#: core/models/data.py:87 +msgid "data source" +msgstr "" + +#: core/models/data.py:88 +msgid "data sources" +msgstr "" + +#: core/models/data.py:125 +#, python-brace-format +msgid "Unknown backend type: {type}" +msgstr "" + +#: core/models/data.py:167 +msgid "Cannot initiate sync; syncing already in progress." +msgstr "" + +#: core/models/data.py:180 +msgid "" +"There was an error initializing the backend. A dependency needs to be " +"installed: " +msgstr "" + +#: core/models/data.py:273 core/models/files.py:33 netbox/models/features.py:67 +msgid "last updated" +msgstr "" + +#: core/models/data.py:283 dcim/models/cables.py:528 +msgid "path" +msgstr "" + +#: core/models/data.py:286 +msgid "File path relative to the data source's root" +msgstr "" + +#: core/models/data.py:290 ipam/models/ip.py:510 +msgid "size" +msgstr "" + +#: core/models/data.py:293 +msgid "hash" +msgstr "" + +#: core/models/data.py:297 +msgid "Length must be 64 hexadecimal characters." +msgstr "" + +#: core/models/data.py:299 +msgid "SHA256 hash of the file data" +msgstr "" + +#: core/models/data.py:313 +msgid "data file" +msgstr "" + +#: core/models/data.py:314 +msgid "data files" +msgstr "" + +#: core/models/data.py:387 +msgid "auto sync record" +msgstr "" + +#: core/models/data.py:388 +msgid "auto sync records" +msgstr "" + +#: core/models/files.py:39 +msgid "file root" +msgstr "" + +#: core/models/files.py:44 +msgid "file path" +msgstr "" + +#: core/models/files.py:46 +msgid "File path relative to the designated root path" +msgstr "" + +#: core/models/files.py:60 +msgid "managed file" +msgstr "" + +#: core/models/files.py:61 +msgid "managed files" +msgstr "" + +#: core/models/files.py:108 +#, python-brace-format +msgid "A {model} with this file path already exists ({path})." +msgstr "" + +#: core/models/jobs.py:64 +msgid "scheduled" +msgstr "" + +#: core/models/jobs.py:69 +msgid "interval" +msgstr "" + +#: core/models/jobs.py:75 +msgid "Recurrence interval (in minutes)" +msgstr "" + +#: core/models/jobs.py:78 +msgid "started" +msgstr "" + +#: core/models/jobs.py:83 +msgid "completed" +msgstr "" + +#: core/models/jobs.py:101 extras/models/models.py:105 +msgid "data" +msgstr "" + +#: core/models/jobs.py:107 +msgid "error" +msgstr "" + +#: core/models/jobs.py:112 +msgid "job ID" +msgstr "" + +#: core/models/jobs.py:116 +msgid "log entries" +msgstr "" + +#: core/models/jobs.py:132 +msgid "job" +msgstr "" + +#: core/models/jobs.py:133 +msgid "jobs" +msgstr "" + +#: core/models/jobs.py:163 +#, python-brace-format +msgid "Jobs cannot be assigned to this object type ({type})." +msgstr "" + +#: core/models/jobs.py:216 +#, python-brace-format +msgid "Invalid status for job termination. Choices are: {choices}" +msgstr "" + +#: core/models/jobs.py:273 +msgid "" +"enqueue() cannot be called with values for both schedule_at and immediate." +msgstr "" + +#: core/models/object_types.py:188 +msgid "object type" +msgstr "" + +#: core/models/object_types.py:189 extras/models/models.py:56 +msgid "object types" +msgstr "" + +#: core/object_actions.py:15 +msgid "Sync Data" +msgstr "" + +#: core/signals.py:176 +#, python-brace-format +msgid "Deletion is prevented by a protection rule: {message}" +msgstr "" + +#: core/tables/change_logging.py:25 templates/account/profile.html:17 +#: templates/users/user.html:19 +msgid "Full Name" +msgstr "" + +#: core/tables/change_logging.py:37 core/tables/jobs.py:23 extras/choices.py:41 +#: extras/tables/tables.py:258 extras/tables/tables.py:347 +#: extras/tables/tables.py:366 extras/tables/tables.py:398 +#: extras/tables/tables.py:478 extras/tables/tables.py:539 +#: extras/tables/tables.py:700 extras/tables/tables.py:741 +#: extras/tables/tables.py:795 netbox/tables/tables.py:276 +#: templates/core/objectchange.html:58 templates/extras/eventrule.html:78 +#: templates/extras/journalentry.html:18 tenancy/tables/contacts.py:101 +#: vpn/tables/l2vpn.py:67 +msgid "Object" +msgstr "" + +#: core/tables/change_logging.py:42 templates/core/objectchange.html:74 +msgid "Request ID" +msgstr "" + +#: core/tables/change_logging.py:45 core/tables/jobs.py:76 +#: extras/tables/tables.py:744 extras/tables/tables.py:801 +#: templates/core/objectchange.html:68 +msgid "Message" +msgstr "" + +#: core/tables/config.py:21 users/forms/filtersets.py:44 users/tables.py:39 +msgid "Is Active" +msgstr "" + +#: core/tables/data.py:33 +msgid "Last Synced" +msgstr "" + +#: core/tables/data.py:36 templates/core/datasource.html:118 +msgid "Files" +msgstr "" + +#: core/tables/data.py:60 templates/core/datafile.html:25 +msgid "Path" +msgstr "" + +#: core/tables/data.py:64 templates/extras/inc/result_pending.html:7 +msgid "Last updated" +msgstr "" + +#: core/tables/jobs.py:12 core/tables/tasks.py:77 +#: dcim/tables/devicetypes.py:169 extras/tables/tables.py:232 +#: extras/tables/tables.py:529 extras/tables/tables.py:766 +#: netbox/tables/tables.py:222 templates/dcim/virtualchassis_edit.html:56 +#: utilities/forms/forms.py:118 wireless/tables/wirelesslink.py:16 +msgid "ID" +msgstr "" + +#: core/tables/jobs.py:37 +msgid "Interval" +msgstr "" + +#: core/tables/jobs.py:46 +msgid "Log Entries" +msgstr "" + +#: core/tables/jobs.py:73 extras/tables/tables.py:738 +#: extras/tables/tables.py:792 +msgid "Level" +msgstr "" + +#: core/tables/jobs.py:80 +msgid "No log entries" +msgstr "" + +#: core/tables/plugins.py:15 templates/vpn/ipsecprofile.html:44 +#: vpn/forms/bulk_edit.py:141 vpn/forms/bulk_import.py:172 +#: vpn/tables/crypto.py:61 +msgid "Version" +msgstr "" + +#: core/tables/plugins.py:20 templates/core/datafile.html:32 +msgid "Last Updated" +msgstr "" + +#: core/tables/plugins.py:24 +msgid "Minimum NetBox Version" +msgstr "" + +#: core/tables/plugins.py:28 +msgid "Maximum NetBox Version" +msgstr "" + +#: core/tables/plugins.py:32 core/tables/plugins.py:79 +msgid "No plugin data found" +msgstr "" + +#: core/tables/plugins.py:49 templates/core/plugin.html:62 +msgid "Author" +msgstr "" + +#: core/tables/plugins.py:62 templates/core/plugin.html:84 +msgid "Certified" +msgstr "" + +#: core/tables/plugins.py:65 +msgid "Published" +msgstr "" + +#: core/tables/plugins.py:71 +msgid "Installed Version" +msgstr "" + +#: core/tables/plugins.py:75 +msgid "Latest Version" +msgstr "" + +#: core/tables/tasks.py:19 +msgid "Oldest Task" +msgstr "" + +#: core/tables/tasks.py:43 templates/core/rq_worker_list.html:39 +msgid "Workers" +msgstr "" + +#: core/tables/tasks.py:47 vpn/tables/tunnels.py:90 +msgid "Host" +msgstr "" + +#: core/tables/tasks.py:51 ipam/forms/filtersets.py:609 +msgid "Port" +msgstr "" + +#: core/tables/tasks.py:55 +msgid "DB" +msgstr "" + +#: core/tables/tasks.py:59 +msgid "Scheduler PID" +msgstr "" + +#: core/tables/tasks.py:63 +msgid "No queues found" +msgstr "" + +#: core/tables/tasks.py:83 +msgid "Enqueued" +msgstr "" + +#: core/tables/tasks.py:86 +msgid "Ended" +msgstr "" + +#: core/tables/tasks.py:95 templates/core/rq_task.html:85 +msgid "Callable" +msgstr "" + +#: core/tables/tasks.py:99 +msgid "No tasks found" +msgstr "" + +#: core/tables/tasks.py:120 templates/core/rq_worker.html:47 +msgid "State" +msgstr "" + +#: core/tables/tasks.py:123 templates/core/rq_worker.html:51 +msgid "Birth" +msgstr "" + +#: core/tables/tasks.py:126 templates/core/rq_worker.html:59 +msgid "PID" +msgstr "" + +#: core/tables/tasks.py:130 +msgid "No workers found" +msgstr "" + +#: core/utils.py:84 core/utils.py:150 core/views.py:428 +#, python-brace-format +msgid "Job {job_id} not found" +msgstr "" + +#: core/utils.py:102 core/utils.py:118 +#, python-brace-format +msgid "Job {id} not found." +msgstr "" + +#: core/views.py:92 +#, python-brace-format +msgid "Queued job #{id} to sync {datasource}" +msgstr "" + +#: core/views.py:196 templates/extras/htmx/script_result.html:43 +msgid "Log" +msgstr "" + +#: core/views.py:364 +#, python-brace-format +msgid "Restored configuration revision #{id}" +msgstr "" + +#: core/views.py:467 +#, python-brace-format +msgid "Job {id} has been deleted." +msgstr "" + +#: core/views.py:469 +#, python-brace-format +msgid "Error deleting job {id}: {error}" +msgstr "" + +#: core/views.py:478 +#, python-brace-format +msgid "Job {id} has been re-enqueued." +msgstr "" + +#: core/views.py:487 +#, python-brace-format +msgid "Job {id} has been enqueued." +msgstr "" + +#: core/views.py:496 +#, python-brace-format +msgid "Job {id} has been stopped." +msgstr "" + +#: core/views.py:498 +#, python-brace-format +msgid "Failed to stop job {id}" +msgstr "" + +#: core/views.py:652 +msgid "Plugins catalog could not be loaded" +msgstr "" + +#: core/views.py:688 +#, python-brace-format +msgid "Plugin {name} not found" +msgstr "" + +#: dcim/api/serializers_/device_components.py:263 +msgid "Interface mode does not support q-in-q service vlan" +msgstr "" + +#: dcim/api/serializers_/device_components.py:270 +msgid "Interface mode does not support untagged vlan" +msgstr "" + +#: dcim/api/serializers_/device_components.py:275 +#: dcim/api/serializers_/device_components.py:280 +msgid "Interface mode does not support tagged vlans" +msgstr "" + +#: dcim/api/serializers_/devices.py:53 dcim/api/serializers_/devicetypes.py:27 +msgid "Position (U)" +msgstr "" + +#: dcim/api/serializers_/racks.py:113 templates/dcim/rack.html:28 +msgid "Facility ID" +msgstr "" + +#: dcim/choices.py:21 virtualization/choices.py:21 +msgid "Staging" +msgstr "" + +#: dcim/choices.py:23 dcim/choices.py:208 dcim/choices.py:260 +#: dcim/choices.py:1859 dcim/choices.py:2008 virtualization/choices.py:23 +#: virtualization/choices.py:49 vpn/choices.py:282 +msgid "Decommissioning" +msgstr "" + +#: dcim/choices.py:24 +msgid "Retired" +msgstr "" + +#: dcim/choices.py:65 +msgid "2-post frame" +msgstr "" + +#: dcim/choices.py:66 +msgid "4-post frame" +msgstr "" + +#: dcim/choices.py:67 +msgid "4-post cabinet" +msgstr "" + +#: dcim/choices.py:68 +msgid "Wall-mounted frame" +msgstr "" + +#: dcim/choices.py:69 +msgid "Wall-mounted frame (vertical)" +msgstr "" + +#: dcim/choices.py:70 +msgid "Wall-mounted cabinet" +msgstr "" + +#: dcim/choices.py:71 +msgid "Wall-mounted cabinet (vertical)" +msgstr "" + +#: dcim/choices.py:83 dcim/choices.py:84 dcim/choices.py:85 dcim/choices.py:86 +#, python-brace-format +msgid "{n} inches" +msgstr "" + +#: dcim/choices.py:100 ipam/choices.py:32 ipam/choices.py:50 ipam/choices.py:70 +#: ipam/choices.py:155 wireless/choices.py:26 +msgid "Reserved" +msgstr "" + +#: dcim/choices.py:101 templates/dcim/device.html:265 +#: utilities/templates/widgets/splitmultiselect.html:5 +msgid "Available" +msgstr "" + +#: dcim/choices.py:104 ipam/choices.py:33 ipam/choices.py:51 ipam/choices.py:71 +#: ipam/choices.py:156 wireless/choices.py:28 +msgid "Deprecated" +msgstr "" + +#: dcim/choices.py:114 templates/dcim/inc/panels/racktype_dimensions.html:51 +msgid "Millimeters" +msgstr "" + +#: dcim/choices.py:115 dcim/choices.py:1881 +msgid "Inches" +msgstr "" + +#: dcim/choices.py:137 dcim/choices.py:227 dcim/choices.py:275 +msgid "Front to rear" +msgstr "" + +#: dcim/choices.py:138 dcim/choices.py:228 dcim/choices.py:276 +msgid "Rear to front" +msgstr "" + +#: dcim/choices.py:156 +msgid "Stale" +msgstr "" + +#: dcim/choices.py:170 dcim/forms/bulk_edit.py:76 dcim/forms/bulk_edit.py:96 +#: dcim/forms/bulk_edit.py:188 dcim/forms/bulk_edit.py:668 +#: dcim/forms/bulk_edit.py:702 dcim/forms/bulk_edit.py:1497 +#: dcim/forms/bulk_import.py:64 dcim/forms/bulk_import.py:78 +#: dcim/forms/bulk_import.py:141 dcim/forms/bulk_import.py:502 +#: dcim/forms/bulk_import.py:530 dcim/forms/bulk_import.py:656 +#: dcim/forms/bulk_import.py:932 dcim/forms/bulk_import.py:1229 +#: dcim/forms/filtersets.py:243 dcim/forms/filtersets.py:721 +#: dcim/forms/filtersets.py:732 dcim/forms/model_forms.py:80 +#: dcim/forms/model_forms.py:100 dcim/forms/model_forms.py:180 +#: dcim/forms/model_forms.py:519 dcim/forms/model_forms.py:541 +#: dcim/forms/model_forms.py:1220 dcim/forms/model_forms.py:1689 +#: dcim/forms/object_import.py:177 dcim/tables/devices.py:67 +#: dcim/tables/devices.py:111 dcim/tables/devices.py:719 +#: dcim/tables/devices.py:929 dcim/tables/devices.py:1016 +#: dcim/tables/devices.py:1175 dcim/tables/sites.py:28 dcim/tables/sites.py:62 +#: dcim/tables/sites.py:147 ipam/forms/bulk_import.py:578 +#: ipam/forms/model_forms.py:770 ipam/tables/fhrp.py:59 ipam/tables/ip.py:336 +#: ipam/tables/services.py:45 templates/dcim/devicerole.html:34 +#: templates/dcim/interface.html:108 templates/dcim/interface.html:366 +#: templates/dcim/location.html:41 templates/dcim/platform.html:37 +#: templates/dcim/region.html:37 templates/dcim/sitegroup.html:37 +#: templates/ipam/service.html:30 templates/tenancy/contactgroup.html:29 +#: templates/tenancy/tenantgroup.html:37 +#: templates/virtualization/vminterface.html:39 +#: templates/wireless/wirelesslangroup.html:37 tenancy/forms/bulk_edit.py:27 +#: tenancy/forms/bulk_edit.py:67 tenancy/forms/bulk_import.py:25 +#: tenancy/forms/bulk_import.py:59 tenancy/forms/model_forms.py:25 +#: tenancy/forms/model_forms.py:69 tenancy/tables/contacts.py:23 +#: tenancy/tables/tenants.py:20 virtualization/forms/bulk_edit.py:189 +#: virtualization/forms/bulk_import.py:162 +#: virtualization/tables/virtualmachines.py:132 wireless/forms/bulk_edit.py:26 +#: wireless/forms/bulk_import.py:23 wireless/forms/model_forms.py:23 +#: wireless/tables/wirelesslan.py:22 +msgid "Parent" +msgstr "" + +#: dcim/choices.py:171 +msgid "Child" +msgstr "" + +#: dcim/choices.py:185 templates/dcim/device.html:355 +#: templates/dcim/rack.html:133 templates/dcim/rack_elevation_list.html:20 +#: templates/dcim/rackreservation.html:80 +msgid "Front" +msgstr "" + +#: dcim/choices.py:186 templates/dcim/device.html:361 +#: templates/dcim/rack.html:139 templates/dcim/rack_elevation_list.html:21 +#: templates/dcim/rackreservation.html:86 +msgid "Rear" +msgstr "" + +#: dcim/choices.py:205 dcim/choices.py:258 dcim/choices.py:2006 +#: virtualization/choices.py:47 +msgid "Staged" +msgstr "" + +#: dcim/choices.py:207 +msgid "Inventory" +msgstr "" + +#: dcim/choices.py:229 dcim/choices.py:277 +msgid "Left to right" +msgstr "" + +#: dcim/choices.py:230 dcim/choices.py:278 +msgid "Right to left" +msgstr "" + +#: dcim/choices.py:231 dcim/choices.py:279 +msgid "Side to rear" +msgstr "" + +#: dcim/choices.py:232 +msgid "Rear to side" +msgstr "" + +#: dcim/choices.py:233 +msgid "Bottom to top" +msgstr "" + +#: dcim/choices.py:234 +msgid "Top to bottom" +msgstr "" + +#: dcim/choices.py:235 dcim/choices.py:280 dcim/choices.py:1562 +msgid "Passive" +msgstr "" + +#: dcim/choices.py:236 +msgid "Mixed" +msgstr "" + +#: dcim/choices.py:508 dcim/choices.py:761 +msgid "NEMA (Non-locking)" +msgstr "" + +#: dcim/choices.py:530 dcim/choices.py:783 +msgid "NEMA (Locking)" +msgstr "" + +#: dcim/choices.py:554 dcim/choices.py:807 +msgid "California Style" +msgstr "" + +#: dcim/choices.py:562 +msgid "International/ITA" +msgstr "" + +#: dcim/choices.py:598 dcim/choices.py:843 +msgid "Proprietary" +msgstr "" + +#: dcim/choices.py:606 dcim/choices.py:853 dcim/choices.py:1474 +#: dcim/choices.py:1476 dcim/choices.py:1712 dcim/choices.py:1714 +#: netbox/navigation/menu.py:209 +msgid "Other" +msgstr "" + +#: dcim/choices.py:815 +msgid "ITA/International" +msgstr "" + +#: dcim/choices.py:883 +msgid "Physical" +msgstr "" + +#: dcim/choices.py:884 dcim/choices.py:1151 +msgid "Virtual" +msgstr "" + +#: dcim/choices.py:885 dcim/choices.py:1351 dcim/forms/bulk_edit.py:1652 +#: dcim/forms/filtersets.py:1427 dcim/forms/model_forms.py:1130 +#: dcim/forms/model_forms.py:1583 netbox/navigation/menu.py:147 +#: netbox/navigation/menu.py:151 templates/dcim/interface.html:267 +msgid "Wireless" +msgstr "" + +#: dcim/choices.py:1149 +msgid "Virtual interfaces" +msgstr "" + +#: dcim/choices.py:1152 dcim/forms/bulk_edit.py:1505 +#: dcim/forms/bulk_import.py:939 dcim/forms/model_forms.py:1112 +#: dcim/tables/devices.py:723 templates/dcim/interface.html:112 +#: templates/virtualization/vminterface.html:43 +#: virtualization/forms/bulk_edit.py:194 +#: virtualization/forms/bulk_import.py:169 +#: virtualization/tables/virtualmachines.py:136 +msgid "Bridge" +msgstr "" + +#: dcim/choices.py:1153 +msgid "Link Aggregation Group (LAG)" +msgstr "" + +#: dcim/choices.py:1157 +msgid "FastEthernet (100 Mbps)" +msgstr "" + +#: dcim/choices.py:1166 +msgid "GigabitEthernet (1 Gbps)" +msgstr "" + +#: dcim/choices.py:1184 +msgid "2.5/5 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1191 +msgid "10 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1206 +msgid "25 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1216 +msgid "40 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1226 +msgid "50 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1236 +msgid "100 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1257 +msgid "200 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1271 +msgid "400 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1289 +msgid "800 Gbps Ethernet" +msgstr "" + +#: dcim/choices.py:1298 +msgid "Pluggable transceivers" +msgstr "" + +#: dcim/choices.py:1335 +msgid "Backplane Ethernet" +msgstr "" + +#: dcim/choices.py:1367 +msgid "Cellular" +msgstr "" + +#: dcim/choices.py:1419 dcim/forms/filtersets.py:392 +#: dcim/forms/filtersets.py:846 dcim/forms/filtersets.py:1048 +#: dcim/forms/filtersets.py:1651 templates/dcim/inventoryitem.html:56 +#: templates/dcim/virtualchassis_edit.html:58 +msgid "Serial" +msgstr "" + +#: dcim/choices.py:1434 +msgid "Coaxial" +msgstr "" + +#: dcim/choices.py:1455 +msgid "Stacking" +msgstr "" + +#: dcim/choices.py:1507 +msgid "Half" +msgstr "" + +#: dcim/choices.py:1508 +msgid "Full" +msgstr "" + +#: dcim/choices.py:1509 netbox/preferences.py:42 wireless/choices.py:480 +msgid "Auto" +msgstr "" + +#: dcim/choices.py:1521 +msgid "Access" +msgstr "" + +#: dcim/choices.py:1522 ipam/tables/vlans.py:151 ipam/tables/vlans.py:196 +#: templates/dcim/inc/interface_vlans_table.html:7 +msgid "Tagged" +msgstr "" + +#: dcim/choices.py:1523 +msgid "Tagged (All)" +msgstr "" + +#: dcim/choices.py:1524 templates/ipam/vlan_edit.html:26 +msgid "Q-in-Q (802.1ad)" +msgstr "" + +#: dcim/choices.py:1553 +msgid "IEEE Standard" +msgstr "" + +#: dcim/choices.py:1564 +msgid "Passive 24V (2-pair)" +msgstr "" + +#: dcim/choices.py:1565 +msgid "Passive 24V (4-pair)" +msgstr "" + +#: dcim/choices.py:1566 +msgid "Passive 48V (2-pair)" +msgstr "" + +#: dcim/choices.py:1567 +msgid "Passive 48V (4-pair)" +msgstr "" + +#: dcim/choices.py:1640 +msgid "Copper" +msgstr "" + +#: dcim/choices.py:1663 +msgid "Fiber Optic" +msgstr "" + +#: dcim/choices.py:1699 dcim/choices.py:1842 +msgid "USB" +msgstr "" + +#: dcim/choices.py:1777 +msgid "Copper - Twisted Pair (UTP/STP)" +msgstr "" + +#: dcim/choices.py:1791 +msgid "Copper - Twinax (DAC)" +msgstr "" + +#: dcim/choices.py:1798 +msgid "Copper - Coaxial" +msgstr "" + +#: dcim/choices.py:1813 +msgid "Fiber - Multimode" +msgstr "" + +#: dcim/choices.py:1824 +msgid "Fiber - Single-mode" +msgstr "" + +#: dcim/choices.py:1832 +msgid "Fiber - Other" +msgstr "" + +#: dcim/choices.py:1857 dcim/forms/filtersets.py:1312 +msgid "Connected" +msgstr "" + +#: dcim/choices.py:1876 netbox/choices.py:177 +msgid "Kilometers" +msgstr "" + +#: dcim/choices.py:1877 netbox/choices.py:178 +#: templates/dcim/cable_trace.html:65 +msgid "Meters" +msgstr "" + +#: dcim/choices.py:1878 +msgid "Centimeters" +msgstr "" + +#: dcim/choices.py:1879 netbox/choices.py:179 +msgid "Miles" +msgstr "" + +#: dcim/choices.py:1880 netbox/choices.py:180 +#: templates/dcim/cable_trace.html:66 +msgid "Feet" +msgstr "" + +#: dcim/choices.py:1928 +msgid "Redundant" +msgstr "" + +#: dcim/choices.py:1949 +msgid "Single phase" +msgstr "" + +#: dcim/choices.py:1950 +msgid "Three-phase" +msgstr "" + +#: dcim/choices.py:1966 extras/choices.py:53 netbox/preferences.py:32 +#: netbox/preferences.py:55 netbox/preferences.py:80 +#: templates/extras/customfield.html:78 vpn/choices.py:20 +#: wireless/choices.py:27 +msgid "Disabled" +msgstr "" + +#: dcim/choices.py:1967 +msgid "Faulty" +msgstr "" + +#: dcim/fields.py:48 +#, python-brace-format +msgid "Invalid MAC address format: {value}" +msgstr "" + +#: dcim/fields.py:77 +#, python-brace-format +msgid "Invalid WWN format: {value}" +msgstr "" + +#: dcim/filtersets.py:89 +msgid "Parent region (ID)" +msgstr "" + +#: dcim/filtersets.py:95 +msgid "Parent region (slug)" +msgstr "" + +#: dcim/filtersets.py:119 +msgid "Parent site group (ID)" +msgstr "" + +#: dcim/filtersets.py:125 +msgid "Parent site group (slug)" +msgstr "" + +#: dcim/filtersets.py:167 extras/filtersets.py:422 ipam/filtersets.py:838 +#: ipam/filtersets.py:976 +msgid "Group (ID)" +msgstr "" + +#: dcim/filtersets.py:173 +msgid "Group (slug)" +msgstr "" + +#: dcim/filtersets.py:179 dcim/filtersets.py:184 +msgid "AS (ID)" +msgstr "" + +#: dcim/filtersets.py:249 +msgid "Parent location (ID)" +msgstr "" + +#: dcim/filtersets.py:255 +msgid "Parent location (slug)" +msgstr "" + +#: dcim/filtersets.py:299 dcim/filtersets.py:384 dcim/filtersets.py:546 +#: dcim/filtersets.py:714 dcim/filtersets.py:918 dcim/filtersets.py:1015 +#: dcim/filtersets.py:1055 dcim/filtersets.py:1400 dcim/filtersets.py:2196 +msgid "Manufacturer (ID)" +msgstr "" + +#: dcim/filtersets.py:305 dcim/filtersets.py:390 dcim/filtersets.py:552 +#: dcim/filtersets.py:720 dcim/filtersets.py:924 dcim/filtersets.py:1021 +#: dcim/filtersets.py:1061 dcim/filtersets.py:1406 dcim/filtersets.py:2202 +msgid "Manufacturer (slug)" +msgstr "" + +#: dcim/filtersets.py:396 +msgid "Rack type (slug)" +msgstr "" + +#: dcim/filtersets.py:400 +msgid "Rack type (ID)" +msgstr "" + +#: dcim/filtersets.py:414 dcim/filtersets.py:928 dcim/filtersets.py:1077 +#: dcim/filtersets.py:2206 ipam/filtersets.py:376 ipam/filtersets.py:488 +#: ipam/filtersets.py:986 virtualization/filtersets.py:177 +msgid "Role (ID)" +msgstr "" + +#: dcim/filtersets.py:420 dcim/filtersets.py:934 dcim/filtersets.py:1084 +#: dcim/filtersets.py:2212 extras/filtersets.py:695 ipam/filtersets.py:382 +#: ipam/filtersets.py:494 ipam/filtersets.py:992 +#: virtualization/filtersets.py:184 +msgid "Role (slug)" +msgstr "" + +#: dcim/filtersets.py:450 dcim/filtersets.py:1156 dcim/filtersets.py:1476 +#: dcim/filtersets.py:1574 dcim/filtersets.py:2604 +msgid "Rack (ID)" +msgstr "" + +#: dcim/filtersets.py:514 extras/filtersets.py:298 extras/filtersets.py:350 +#: extras/filtersets.py:395 extras/filtersets.py:417 extras/filtersets.py:481 +#: users/filtersets.py:113 users/filtersets.py:180 +msgid "User (name)" +msgstr "" + +#: dcim/filtersets.py:558 +msgid "Default platform (ID)" +msgstr "" + +#: dcim/filtersets.py:565 +msgid "Default platform (slug)" +msgstr "" + +#: dcim/filtersets.py:568 dcim/forms/filtersets.py:531 +msgid "Has a front image" +msgstr "" + +#: dcim/filtersets.py:572 dcim/forms/filtersets.py:538 +msgid "Has a rear image" +msgstr "" + +#: dcim/filtersets.py:577 dcim/filtersets.py:724 dcim/filtersets.py:1225 +#: dcim/forms/filtersets.py:545 dcim/forms/filtersets.py:654 +#: dcim/forms/filtersets.py:885 +msgid "Has console ports" +msgstr "" + +#: dcim/filtersets.py:581 dcim/filtersets.py:728 dcim/filtersets.py:1229 +#: dcim/forms/filtersets.py:552 dcim/forms/filtersets.py:661 +#: dcim/forms/filtersets.py:892 +msgid "Has console server ports" +msgstr "" + +#: dcim/filtersets.py:585 dcim/filtersets.py:732 dcim/filtersets.py:1233 +#: dcim/forms/filtersets.py:559 dcim/forms/filtersets.py:668 +#: dcim/forms/filtersets.py:899 +msgid "Has power ports" +msgstr "" + +#: dcim/filtersets.py:589 dcim/filtersets.py:736 dcim/filtersets.py:1237 +#: dcim/forms/filtersets.py:566 dcim/forms/filtersets.py:675 +#: dcim/forms/filtersets.py:906 +msgid "Has power outlets" +msgstr "" + +#: dcim/filtersets.py:593 dcim/filtersets.py:740 dcim/filtersets.py:1241 +#: dcim/forms/filtersets.py:573 dcim/forms/filtersets.py:682 +#: dcim/forms/filtersets.py:913 +msgid "Has interfaces" +msgstr "" + +#: dcim/filtersets.py:597 dcim/filtersets.py:744 dcim/filtersets.py:1245 +#: dcim/forms/filtersets.py:580 dcim/forms/filtersets.py:689 +#: dcim/forms/filtersets.py:920 +msgid "Has pass-through ports" +msgstr "" + +#: dcim/filtersets.py:601 dcim/filtersets.py:1249 dcim/forms/filtersets.py:594 +msgid "Has module bays" +msgstr "" + +#: dcim/filtersets.py:605 dcim/filtersets.py:1253 dcim/forms/filtersets.py:587 +msgid "Has device bays" +msgstr "" + +#: dcim/filtersets.py:609 dcim/forms/filtersets.py:601 +msgid "Has inventory items" +msgstr "" + +#: dcim/filtersets.py:704 extras/filtersets.py:629 +msgid "Profile (ID)" +msgstr "" + +#: dcim/filtersets.py:710 extras/filtersets.py:635 +msgid "Profile (name)" +msgstr "" + +#: dcim/filtersets.py:792 dcim/filtersets.py:1071 dcim/filtersets.py:1595 +msgid "Device type (ID)" +msgstr "" + +#: dcim/filtersets.py:808 dcim/filtersets.py:1411 +msgid "Module type (ID)" +msgstr "" + +#: dcim/filtersets.py:840 dcim/filtersets.py:1761 +msgid "Power port (ID)" +msgstr "" + +#: dcim/filtersets.py:914 dcim/filtersets.py:2192 +msgid "Parent inventory item (ID)" +msgstr "" + +#: dcim/filtersets.py:957 dcim/filtersets.py:1029 dcim/filtersets.py:1221 +#: virtualization/filtersets.py:209 +msgid "Config template (ID)" +msgstr "" + +#: dcim/filtersets.py:961 dcim/filtersets.py:973 +msgid "Parent device role (ID)" +msgstr "" + +#: dcim/filtersets.py:967 dcim/filtersets.py:980 +msgid "Parent device role (slug)" +msgstr "" + +#: dcim/filtersets.py:991 +msgid "Immediate parent platform (ID)" +msgstr "" + +#: dcim/filtersets.py:997 +msgid "Immediate parent platform (slug)" +msgstr "" + +#: dcim/filtersets.py:1003 +msgid "Parent platform (ID)" +msgstr "" + +#: dcim/filtersets.py:1010 +msgid "Parent platform (slug)" +msgstr "" + +#: dcim/filtersets.py:1067 +msgid "Device type (slug)" +msgstr "" + +#: dcim/filtersets.py:1089 +msgid "Parent Device (ID)" +msgstr "" + +#: dcim/filtersets.py:1095 virtualization/filtersets.py:190 +msgid "Platform (ID)" +msgstr "" + +#: dcim/filtersets.py:1102 extras/filtersets.py:706 +#: virtualization/filtersets.py:197 +msgid "Platform (slug)" +msgstr "" + +#: dcim/filtersets.py:1138 dcim/filtersets.py:1460 dcim/filtersets.py:1558 +#: dcim/filtersets.py:2294 dcim/filtersets.py:2536 dcim/filtersets.py:2595 +msgid "Site name (slug)" +msgstr "" + +#: dcim/filtersets.py:1161 +msgid "Parent bay (ID)" +msgstr "" + +#: dcim/filtersets.py:1165 +msgid "VM cluster (ID)" +msgstr "" + +#: dcim/filtersets.py:1171 extras/filtersets.py:728 +#: virtualization/filtersets.py:102 +msgid "Cluster group (slug)" +msgstr "" + +#: dcim/filtersets.py:1176 virtualization/filtersets.py:96 +msgid "Cluster group (ID)" +msgstr "" + +#: dcim/filtersets.py:1182 +msgid "Device model (slug)" +msgstr "" + +#: dcim/filtersets.py:1193 dcim/forms/bulk_edit.py:556 +msgid "Is full depth" +msgstr "" + +#: dcim/filtersets.py:1197 dcim/forms/filtersets.py:855 +#: dcim/forms/filtersets.py:1483 dcim/forms/filtersets.py:1699 +#: dcim/forms/model_forms.py:1900 dcim/models/devices.py:1303 +#: dcim/models/devices.py:1323 virtualization/filtersets.py:201 +#: virtualization/filtersets.py:273 virtualization/forms/filtersets.py:178 +#: virtualization/forms/filtersets.py:231 +msgid "MAC address" +msgstr "" + +#: dcim/filtersets.py:1204 dcim/filtersets.py:1368 dcim/forms/filtersets.py:864 +#: dcim/forms/filtersets.py:967 virtualization/filtersets.py:205 +#: virtualization/forms/filtersets.py:182 +msgid "Has a primary IP" +msgstr "" + +#: dcim/filtersets.py:1208 +msgid "Has an out-of-band IP" +msgstr "" + +#: dcim/filtersets.py:1213 +msgid "Virtual chassis (ID)" +msgstr "" + +#: dcim/filtersets.py:1217 +msgid "Is a virtual chassis member" +msgstr "" + +#: dcim/filtersets.py:1258 +msgid "OOB IP (ID)" +msgstr "" + +#: dcim/filtersets.py:1262 +msgid "Has virtual device context" +msgstr "" + +#: dcim/filtersets.py:1351 +msgid "VDC (ID)" +msgstr "" + +#: dcim/filtersets.py:1356 +msgid "Device model" +msgstr "" + +#: dcim/filtersets.py:1417 +msgid "Module type (model)" +msgstr "" + +#: dcim/filtersets.py:1423 +msgid "Module bay (ID)" +msgstr "" + +#: dcim/filtersets.py:1482 dcim/filtersets.py:1580 +msgid "Rack (name)" +msgstr "" + +#: dcim/filtersets.py:1486 dcim/filtersets.py:1584 dcim/filtersets.py:1786 +#: ipam/filtersets.py:607 ipam/filtersets.py:848 ipam/filtersets.py:1165 +#: virtualization/filtersets.py:127 vpn/filtersets.py:383 +msgid "Device (ID)" +msgstr "" + +#: dcim/filtersets.py:1492 dcim/filtersets.py:1590 dcim/filtersets.py:1781 +#: ipam/filtersets.py:602 ipam/filtersets.py:843 ipam/filtersets.py:1160 +#: vpn/filtersets.py:378 +msgid "Device (name)" +msgstr "" + +#: dcim/filtersets.py:1601 +msgid "Device type (model)" +msgstr "" + +#: dcim/filtersets.py:1606 +msgid "Device role (ID)" +msgstr "" + +#: dcim/filtersets.py:1612 +msgid "Device role (slug)" +msgstr "" + +#: dcim/filtersets.py:1617 +msgid "Virtual Chassis (ID)" +msgstr "" + +#: dcim/filtersets.py:1623 dcim/forms/filtersets.py:112 +#: dcim/forms/object_create.py:430 dcim/tables/devices.py:229 +#: netbox/navigation/menu.py:79 templates/dcim/device.html:31 +#: templates/dcim/device.html:126 templates/dcim/device_edit.html:95 +#: templates/dcim/virtualchassis.html:10 +#: templates/dcim/virtualchassis_edit.html:28 +msgid "Virtual Chassis" +msgstr "" + +#: dcim/filtersets.py:1632 dcim/filtersets.py:2299 tenancy/filtersets.py:250 +msgid "Tenant (ID)" +msgstr "" + +#: dcim/filtersets.py:1638 dcim/filtersets.py:2305 extras/filtersets.py:755 +#: tenancy/filtersets.py:256 +msgid "Tenant (slug)" +msgstr "" + +#: dcim/filtersets.py:1658 +msgid "Module (ID)" +msgstr "" + +#: dcim/filtersets.py:1665 +msgid "Cable (ID)" +msgstr "" + +#: dcim/filtersets.py:1791 ipam/filtersets.py:612 ipam/filtersets.py:853 +#: ipam/filtersets.py:1170 vpn/filtersets.py:389 +msgid "Virtual machine (name)" +msgstr "" + +#: dcim/filtersets.py:1796 ipam/filtersets.py:617 ipam/filtersets.py:858 +#: ipam/filtersets.py:1175 virtualization/filtersets.py:253 +#: virtualization/filtersets.py:304 vpn/filtersets.py:394 +msgid "Virtual machine (ID)" +msgstr "" + +#: dcim/filtersets.py:1802 ipam/filtersets.py:623 vpn/filtersets.py:98 +#: vpn/filtersets.py:400 +msgid "Interface (name)" +msgstr "" + +#: dcim/filtersets.py:1813 ipam/filtersets.py:634 vpn/filtersets.py:109 +#: vpn/filtersets.py:411 +msgid "VM interface (name)" +msgstr "" + +#: dcim/filtersets.py:1818 ipam/filtersets.py:639 vpn/filtersets.py:114 +msgid "VM interface (ID)" +msgstr "" + +#: dcim/filtersets.py:1822 ipam/filtersets.py:652 +msgid "Is assigned" +msgstr "" + +#: dcim/filtersets.py:1826 dcim/forms/bulk_import.py:1355 +#: ipam/forms/bulk_import.py:334 +msgid "Is primary" +msgstr "" + +#: dcim/filtersets.py:1891 templates/dcim/interface.html:81 +#: templates/virtualization/vminterface.html:55 +#: virtualization/forms/model_forms.py:393 +msgid "802.1Q Mode" +msgstr "" + +#: dcim/filtersets.py:1895 ipam/forms/bulk_import.py:192 +#: vpn/forms/bulk_import.py:313 +msgid "Assigned VLAN" +msgstr "" + +#: dcim/filtersets.py:1899 +msgid "Assigned VID" +msgstr "" + +#: dcim/filtersets.py:1904 dcim/forms/bulk_edit.py:1618 +#: dcim/forms/bulk_import.py:1024 dcim/forms/filtersets.py:1536 +#: dcim/forms/model_forms.py:1549 dcim/models/device_components.py:810 +#: dcim/tables/devices.py:677 ipam/filtersets.py:335 ipam/filtersets.py:346 +#: ipam/filtersets.py:478 ipam/filtersets.py:579 ipam/filtersets.py:590 +#: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:282 +#: ipam/forms/bulk_edit.py:329 ipam/forms/bulk_import.py:160 +#: ipam/forms/bulk_import.py:245 ipam/forms/bulk_import.py:281 +#: ipam/forms/filtersets.py:69 ipam/forms/filtersets.py:180 +#: ipam/forms/filtersets.py:332 ipam/forms/model_forms.py:66 +#: ipam/forms/model_forms.py:209 ipam/forms/model_forms.py:257 +#: ipam/forms/model_forms.py:311 ipam/forms/model_forms.py:475 +#: ipam/forms/model_forms.py:489 ipam/forms/model_forms.py:503 +#: ipam/models/ip.py:223 ipam/models/ip.py:519 ipam/models/ip.py:748 +#: ipam/models/vrfs.py:61 ipam/tables/ip.py:189 ipam/tables/ip.py:262 +#: ipam/tables/ip.py:318 ipam/tables/ip.py:418 +#: templates/dcim/interface.html:152 templates/ipam/ipaddress.html:18 +#: templates/ipam/iprange.html:47 templates/ipam/prefix.html:19 +#: templates/ipam/vrf.html:7 templates/ipam/vrf.html:13 +#: templates/virtualization/vminterface.html:90 +#: virtualization/forms/bulk_edit.py:243 +#: virtualization/forms/bulk_import.py:216 +#: virtualization/forms/filtersets.py:236 +#: virtualization/forms/model_forms.py:366 +#: virtualization/models/virtualmachines.py:336 +#: virtualization/tables/virtualmachines.py:113 +msgid "VRF" +msgstr "" + +#: dcim/filtersets.py:1910 ipam/filtersets.py:341 ipam/filtersets.py:352 +#: ipam/filtersets.py:484 ipam/filtersets.py:585 ipam/filtersets.py:596 +msgid "VRF (RD)" +msgstr "" + +#: dcim/filtersets.py:1915 ipam/filtersets.py:1024 vpn/filtersets.py:346 +msgid "L2VPN (ID)" +msgstr "" + +#: dcim/filtersets.py:1921 dcim/forms/filtersets.py:1541 +#: dcim/tables/devices.py:613 ipam/filtersets.py:1030 +#: ipam/forms/filtersets.py:592 ipam/tables/vlans.py:116 +#: templates/dcim/interface.html:99 templates/ipam/vlan.html:82 +#: templates/vpn/l2vpntermination.html:12 +#: virtualization/forms/filtersets.py:241 vpn/forms/bulk_import.py:285 +#: vpn/forms/filtersets.py:257 vpn/forms/model_forms.py:412 +#: vpn/forms/model_forms.py:430 vpn/models/l2vpn.py:68 vpn/tables/l2vpn.py:58 +msgid "L2VPN" +msgstr "" + +#: dcim/filtersets.py:1926 ipam/filtersets.py:1107 +msgid "VLAN Translation Policy (ID)" +msgstr "" + +#: dcim/filtersets.py:1932 dcim/forms/filtersets.py:1507 +#: dcim/forms/model_forms.py:1566 dcim/models/device_components.py:612 +#: ipam/forms/filtersets.py:511 ipam/forms/model_forms.py:714 +#: templates/ipam/vlantranslationpolicy.html:11 +#: virtualization/forms/bulk_edit.py:248 virtualization/forms/filtersets.py:251 +#: virtualization/forms/model_forms.py:371 +msgid "VLAN Translation Policy" +msgstr "" + +#: dcim/filtersets.py:1966 +msgid "Virtual Chassis Interfaces for Device when device is master" +msgstr "" + +#: dcim/filtersets.py:1971 +msgid "Virtual Chassis Interfaces for Device when device is master (ID)" +msgstr "" + +#: dcim/filtersets.py:1976 +msgid "Virtual Chassis Interfaces for Device" +msgstr "" + +#: dcim/filtersets.py:1981 +msgid "Virtual Chassis Interfaces for Device (ID)" +msgstr "" + +#: dcim/filtersets.py:1985 +msgid "Kind of interface" +msgstr "" + +#: dcim/filtersets.py:1990 virtualization/filtersets.py:264 +msgid "Parent interface (ID)" +msgstr "" + +#: dcim/filtersets.py:1995 virtualization/filtersets.py:269 +msgid "Bridged interface (ID)" +msgstr "" + +#: dcim/filtersets.py:2000 +msgid "LAG interface (ID)" +msgstr "" + +#: dcim/filtersets.py:2008 dcim/tables/devices.py:635 +#: dcim/tables/devices.py:1164 templates/dcim/interface.html:131 +#: templates/dcim/macaddress.html:11 templates/dcim/macaddress.html:14 +#: templates/virtualization/vminterface.html:79 +msgid "MAC Address" +msgstr "" + +#: dcim/filtersets.py:2013 virtualization/filtersets.py:278 +msgid "Primary MAC address (ID)" +msgstr "" + +#: dcim/filtersets.py:2019 dcim/forms/model_forms.py:1553 +#: virtualization/filtersets.py:284 virtualization/forms/model_forms.py:309 +msgid "Primary MAC address" +msgstr "" + +#: dcim/filtersets.py:2041 dcim/filtersets.py:2053 +#: dcim/forms/filtersets.py:1443 dcim/forms/model_forms.py:1880 +#: templates/dcim/virtualdevicecontext.html:15 +msgid "Virtual Device Context" +msgstr "" + +#: dcim/filtersets.py:2047 +msgid "Virtual Device Context (Identifier)" +msgstr "" + +#: dcim/filtersets.py:2058 templates/wireless/wirelesslan.html:11 +#: wireless/forms/model_forms.py:57 +msgid "Wireless LAN" +msgstr "" + +#: dcim/filtersets.py:2062 dcim/tables/devices.py:664 +msgid "Wireless link" +msgstr "" + +#: dcim/filtersets.py:2072 +msgid "Virtual circuit termination (ID)" +msgstr "" + +#: dcim/filtersets.py:2159 +msgid "Parent module bay (ID)" +msgstr "" + +#: dcim/filtersets.py:2164 +msgid "Installed module (ID)" +msgstr "" + +#: dcim/filtersets.py:2175 +msgid "Installed device (ID)" +msgstr "" + +#: dcim/filtersets.py:2181 +msgid "Installed device (name)" +msgstr "" + +#: dcim/filtersets.py:2251 +msgid "Master (ID)" +msgstr "" + +#: dcim/filtersets.py:2257 +msgid "Master (name)" +msgstr "" + +#: dcim/filtersets.py:2341 dcim/forms/filtersets.py:1162 +msgid "Unterminated" +msgstr "" + +#: dcim/filtersets.py:2599 +msgid "Power panel (ID)" +msgstr "" + +#: dcim/forms/bulk_create.py:40 extras/forms/filtersets.py:474 +#: extras/forms/model_forms.py:596 extras/forms/model_forms.py:680 +#: extras/forms/model_forms.py:732 netbox/forms/base.py:87 +#: netbox/forms/mixins.py:111 netbox/tables/columns.py:490 +#: templates/circuits/inc/circuit_termination.html:32 +#: templates/generic/bulk_edit.html:65 templates/inc/panels/tags.html:5 +#: utilities/forms/fields/fields.py:91 +msgid "Tags" +msgstr "" + +#: dcim/forms/bulk_create.py:115 dcim/forms/filtersets.py:1607 +#: dcim/forms/model_forms.py:602 dcim/forms/model_forms.py:661 +#: dcim/forms/object_create.py:208 dcim/forms/object_create.py:357 +#: dcim/tables/devices.py:183 dcim/tables/devices.py:770 +#: dcim/tables/devicetypes.py:253 templates/dcim/device.html:49 +#: templates/dcim/device.html:137 templates/dcim/modulebay.html:38 +#: templates/dcim/virtualchassis.html:56 +#: templates/dcim/virtualchassis_edit.html:59 +msgid "Position" +msgstr "" + +#: dcim/forms/bulk_create.py:117 +msgid "" +"Alphanumeric ranges are supported. (Must match the number of names being " +"created.)" +msgstr "" + +#: dcim/forms/bulk_edit.py:137 dcim/forms/bulk_edit.py:207 +#: dcim/forms/filtersets.py:251 templates/dcim/location.html:58 +#: templates/dcim/site.html:56 +msgid "Facility" +msgstr "" + +#: dcim/forms/bulk_edit.py:147 +msgid "Contact name" +msgstr "" + +#: dcim/forms/bulk_edit.py:152 +msgid "Contact phone" +msgstr "" + +#: dcim/forms/bulk_edit.py:158 +msgid "Contact E-mail" +msgstr "" + +#: dcim/forms/bulk_edit.py:161 dcim/forms/bulk_import.py:127 +#: dcim/forms/model_forms.py:138 +msgid "Time zone" +msgstr "" + +#: dcim/forms/bulk_edit.py:245 dcim/forms/bulk_edit.py:535 +#: dcim/forms/bulk_edit.py:623 dcim/forms/bulk_edit.py:707 +#: dcim/forms/bulk_edit.py:732 dcim/forms/bulk_edit.py:825 +#: dcim/forms/bulk_edit.py:1356 dcim/forms/bulk_edit.py:1792 +#: dcim/forms/bulk_import.py:189 dcim/forms/bulk_import.py:405 +#: dcim/forms/bulk_import.py:454 dcim/forms/bulk_import.py:540 +#: dcim/forms/bulk_import.py:576 dcim/forms/bulk_import.py:1223 +#: dcim/forms/filtersets.py:317 dcim/forms/filtersets.py:376 +#: dcim/forms/filtersets.py:508 dcim/forms/filtersets.py:646 +#: dcim/forms/filtersets.py:737 dcim/forms/filtersets.py:819 +#: dcim/forms/filtersets.py:1032 dcim/forms/filtersets.py:1648 +#: dcim/forms/model_forms.py:219 dcim/forms/model_forms.py:355 +#: dcim/forms/model_forms.py:367 dcim/forms/model_forms.py:439 +#: dcim/forms/model_forms.py:546 dcim/forms/model_forms.py:1233 +#: dcim/forms/model_forms.py:1702 dcim/forms/object_import.py:188 +#: dcim/tables/devices.py:115 dcim/tables/devices.py:190 +#: dcim/tables/devices.py:999 dcim/tables/devicetypes.py:85 +#: dcim/tables/devicetypes.py:315 dcim/tables/modules.py:49 +#: dcim/tables/modules.py:95 dcim/tables/racks.py:58 dcim/tables/racks.py:135 +#: templates/dcim/devicetype.html:14 templates/dcim/inventoryitem.html:48 +#: templates/dcim/manufacturer.html:33 templates/dcim/module.html:95 +#: templates/dcim/modulebay.html:62 templates/dcim/moduletype.html:31 +#: templates/dcim/platform.html:41 templates/dcim/racktype.html:16 +msgid "Manufacturer" +msgstr "" + +#: dcim/forms/bulk_edit.py:250 dcim/forms/bulk_edit.py:403 +#: dcim/forms/bulk_import.py:198 dcim/forms/bulk_import.py:277 +#: dcim/forms/filtersets.py:264 +#: templates/dcim/inc/panels/racktype_dimensions.html:6 +msgid "Form factor" +msgstr "" + +#: dcim/forms/bulk_edit.py:255 dcim/forms/bulk_edit.py:408 +#: dcim/forms/bulk_import.py:206 dcim/forms/bulk_import.py:280 +#: dcim/forms/filtersets.py:269 +#: templates/dcim/inc/panels/racktype_dimensions.html:10 +msgid "Width" +msgstr "" + +#: dcim/forms/bulk_edit.py:261 dcim/forms/bulk_edit.py:414 +#: dcim/forms/bulk_import.py:287 templates/dcim/devicetype.html:37 +msgid "Height (U)" +msgstr "" + +#: dcim/forms/bulk_edit.py:270 dcim/forms/bulk_edit.py:419 +#: dcim/forms/filtersets.py:283 +msgid "Descending units" +msgstr "" + +#: dcim/forms/bulk_edit.py:273 dcim/forms/bulk_edit.py:422 +msgid "Outer width" +msgstr "" + +#: dcim/forms/bulk_edit.py:278 dcim/forms/bulk_edit.py:427 +msgid "Outer height" +msgstr "" + +#: dcim/forms/bulk_edit.py:283 dcim/forms/bulk_edit.py:432 +msgid "Outer depth" +msgstr "" + +#: dcim/forms/bulk_edit.py:288 dcim/forms/bulk_edit.py:437 +#: dcim/forms/bulk_import.py:211 dcim/forms/bulk_import.py:290 +msgid "Outer unit" +msgstr "" + +#: dcim/forms/bulk_edit.py:293 dcim/forms/bulk_edit.py:442 +msgid "Mounting depth" +msgstr "" + +#: dcim/forms/bulk_edit.py:298 dcim/forms/bulk_edit.py:325 +#: dcim/forms/bulk_edit.py:452 dcim/forms/bulk_edit.py:480 +#: dcim/forms/bulk_edit.py:569 dcim/forms/bulk_edit.py:592 +#: dcim/forms/bulk_edit.py:637 dcim/forms/bulk_edit.py:659 +#: dcim/forms/bulk_import.py:418 dcim/forms/bulk_import.py:465 +#: dcim/forms/filtersets.py:289 dcim/forms/filtersets.py:311 +#: dcim/forms/filtersets.py:331 dcim/forms/filtersets.py:410 +#: dcim/forms/filtersets.py:502 dcim/forms/filtersets.py:608 +#: dcim/forms/filtersets.py:635 dcim/forms/filtersets.py:701 +#: dcim/forms/model_forms.py:234 dcim/forms/model_forms.py:316 +#: dcim/tables/devicetypes.py:111 dcim/tables/modules.py:57 +#: dcim/tables/racks.py:78 dcim/tables/racks.py:179 +#: extras/forms/bulk_edit.py:57 extras/forms/bulk_edit.py:137 +#: extras/forms/bulk_edit.py:191 extras/forms/bulk_edit.py:219 +#: extras/forms/bulk_edit.py:315 extras/forms/bulk_edit.py:347 +#: extras/forms/bulk_import.py:275 extras/forms/filtersets.py:70 +#: extras/forms/filtersets.py:164 extras/forms/filtersets.py:258 +#: extras/forms/filtersets.py:288 extras/forms/model_forms.py:574 +#: ipam/forms/bulk_edit.py:193 templates/dcim/device.html:330 +#: templates/dcim/devicetype.html:49 templates/dcim/moduletype.html:51 +#: templates/dcim/rack.html:81 templates/dcim/racktype.html:37 +#: templates/extras/configcontext.html:17 templates/extras/customlink.html:25 +#: templates/extras/savedfilter.html:33 templates/extras/tableconfig.html:41 +#: templates/extras/tag.html:32 templates/ipam/role.html:30 +msgid "Weight" +msgstr "" + +#: dcim/forms/bulk_edit.py:303 dcim/forms/bulk_edit.py:457 +#: dcim/forms/filtersets.py:294 +msgid "Max weight" +msgstr "" + +#: dcim/forms/bulk_edit.py:308 dcim/forms/bulk_edit.py:462 +#: dcim/forms/bulk_edit.py:574 dcim/forms/bulk_edit.py:642 +#: dcim/forms/bulk_import.py:217 dcim/forms/bulk_import.py:302 +#: dcim/forms/bulk_import.py:423 dcim/forms/bulk_import.py:470 +#: dcim/forms/filtersets.py:299 dcim/forms/filtersets.py:612 +#: dcim/forms/filtersets.py:705 +msgid "Weight unit" +msgstr "" + +#: dcim/forms/bulk_edit.py:322 dcim/forms/filtersets.py:309 +#: dcim/forms/model_forms.py:230 dcim/forms/model_forms.py:269 +#: templates/dcim/rack.html:45 templates/dcim/racktype.html:13 +msgid "Rack Type" +msgstr "" + +#: dcim/forms/bulk_edit.py:324 dcim/forms/bulk_edit.py:478 +#: dcim/forms/model_forms.py:233 dcim/forms/model_forms.py:315 +msgid "Outer Dimensions" +msgstr "" + +#: dcim/forms/bulk_edit.py:327 dcim/forms/model_forms.py:235 +#: dcim/forms/model_forms.py:317 extras/tables/tables.py:250 +#: templates/dcim/device.html:321 +#: templates/dcim/inc/panels/racktype_dimensions.html:3 +#: templates/extras/imageattachment.html:40 +msgid "Dimensions" +msgstr "" + +#: dcim/forms/bulk_edit.py:329 dcim/forms/filtersets.py:310 +#: dcim/forms/filtersets.py:330 dcim/forms/model_forms.py:237 +#: templates/dcim/inc/panels/racktype_numbering.html:3 +msgid "Numbering" +msgstr "" + +#: dcim/forms/bulk_edit.py:388 dcim/forms/bulk_import.py:267 +#: dcim/forms/filtersets.py:384 +msgid "Rack type" +msgstr "" + +#: dcim/forms/bulk_edit.py:395 dcim/forms/bulk_edit.py:788 +#: dcim/forms/bulk_edit.py:849 templates/dcim/device.html:110 +#: templates/dcim/module.html:77 templates/dcim/modulebay.html:70 +#: templates/dcim/rack.html:57 templates/virtualization/virtualmachine.html:35 +msgid "Serial Number" +msgstr "" + +#: dcim/forms/bulk_edit.py:398 dcim/forms/filtersets.py:396 +#: dcim/forms/filtersets.py:850 dcim/forms/filtersets.py:1052 +#: dcim/forms/filtersets.py:1655 +msgid "Asset tag" +msgstr "" + +#: dcim/forms/bulk_edit.py:447 dcim/forms/bulk_edit.py:564 +#: dcim/forms/bulk_edit.py:632 dcim/forms/bulk_edit.py:781 +#: dcim/forms/bulk_import.py:296 dcim/forms/bulk_import.py:459 +#: dcim/forms/bulk_import.py:670 dcim/forms/filtersets.py:387 +#: dcim/forms/filtersets.py:525 dcim/forms/filtersets.py:696 +#: dcim/forms/filtersets.py:841 templates/dcim/device.html:104 +#: templates/dcim/devicetype.html:65 templates/dcim/moduletype.html:47 +#: templates/dcim/rack.html:65 +msgid "Airflow" +msgstr "" + +#: dcim/forms/bulk_edit.py:476 dcim/forms/bulk_edit.py:995 +#: dcim/forms/bulk_import.py:351 dcim/forms/bulk_import.py:354 +#: dcim/forms/bulk_import.py:643 dcim/forms/bulk_import.py:1666 +#: dcim/forms/bulk_import.py:1670 dcim/forms/filtersets.py:107 +#: dcim/forms/filtersets.py:328 dcim/forms/filtersets.py:414 +#: dcim/forms/filtersets.py:428 dcim/forms/filtersets.py:466 +#: dcim/forms/filtersets.py:809 dcim/forms/filtersets.py:1022 +#: dcim/forms/filtersets.py:1120 dcim/forms/filtersets.py:1252 +#: dcim/forms/model_forms.py:280 dcim/forms/model_forms.py:324 +#: dcim/forms/model_forms.py:593 dcim/forms/model_forms.py:874 +#: dcim/forms/object_create.py:404 dcim/tables/devices.py:179 +#: dcim/tables/power.py:70 dcim/tables/racks.py:225 +#: ipam/forms/filtersets.py:467 templates/dcim/device.html:36 +#: templates/dcim/inc/cable_termination.html:16 +#: templates/dcim/powerfeed.html:28 templates/dcim/rack.html:13 +#: templates/dcim/rack/base.html:4 templates/dcim/rackreservation.html:19 +#: templates/dcim/rackreservation.html:36 +#: virtualization/forms/model_forms.py:113 +msgid "Rack" +msgstr "" + +#: dcim/forms/bulk_edit.py:479 dcim/forms/bulk_edit.py:814 +#: dcim/forms/filtersets.py:329 dcim/forms/filtersets.py:407 +#: dcim/forms/filtersets.py:495 dcim/forms/filtersets.py:630 +#: dcim/forms/filtersets.py:758 dcim/forms/filtersets.py:980 +#: dcim/forms/model_forms.py:448 dcim/forms/model_forms.py:788 +#: dcim/forms/model_forms.py:1770 templates/dcim/device_edit.html:22 +msgid "Hardware" +msgstr "" + +#: dcim/forms/bulk_edit.py:540 dcim/forms/bulk_import.py:411 +#: dcim/forms/filtersets.py:513 dcim/forms/model_forms.py:372 +msgid "Default platform" +msgstr "" + +#: dcim/forms/bulk_edit.py:545 dcim/forms/bulk_edit.py:628 +#: dcim/forms/filtersets.py:516 dcim/forms/filtersets.py:649 +msgid "Part number" +msgstr "" + +#: dcim/forms/bulk_edit.py:549 +msgid "U height" +msgstr "" + +#: dcim/forms/bulk_edit.py:561 dcim/tables/devicetypes.py:107 +msgid "Exclude from utilization" +msgstr "" + +#: dcim/forms/bulk_edit.py:590 dcim/forms/model_forms.py:387 +#: dcim/forms/model_forms.py:1027 dcim/forms/model_forms.py:1069 +#: dcim/forms/model_forms.py:1096 dcim/forms/model_forms.py:1124 +#: dcim/forms/model_forms.py:1155 dcim/forms/model_forms.py:1174 +#: dcim/forms/model_forms.py:1192 dcim/forms/object_create.py:123 +#: dcim/tables/devicetypes.py:82 templates/dcim/device.html:94 +#: templates/dcim/devicebay.html:52 templates/dcim/module.html:61 +msgid "Device Type" +msgstr "" + +#: dcim/forms/bulk_edit.py:599 dcim/forms/model_forms.py:414 +#: extras/forms/model_forms.py:591 templates/dcim/moduletypeprofile.html:32 +msgid "Schema" +msgstr "" + +#: dcim/forms/bulk_edit.py:611 dcim/forms/bulk_edit.py:618 +#: dcim/forms/bulk_import.py:448 dcim/forms/filtersets.py:641 +#: dcim/forms/model_forms.py:421 dcim/forms/model_forms.py:434 +#: dcim/tables/modules.py:45 extras/forms/filtersets.py:396 +#: extras/forms/model_forms.py:615 extras/tables/tables.py:583 +#: templates/account/base.html:7 templates/dcim/moduletype.html:27 +#: templates/extras/configcontext.html:21 templates/inc/user_menu.html:40 +#: vpn/forms/bulk_edit.py:255 vpn/forms/filtersets.py:194 +#: vpn/forms/model_forms.py:382 +msgid "Profile" +msgstr "" + +#: dcim/forms/bulk_edit.py:656 dcim/forms/model_forms.py:447 +#: dcim/forms/model_forms.py:1028 dcim/forms/model_forms.py:1070 +#: dcim/forms/model_forms.py:1097 dcim/forms/model_forms.py:1125 +#: dcim/forms/model_forms.py:1156 dcim/forms/model_forms.py:1175 +#: dcim/forms/model_forms.py:1193 dcim/forms/object_create.py:124 +#: dcim/tables/modules.py:54 dcim/tables/modules.py:100 +#: templates/dcim/module.html:92 templates/dcim/modulebay.html:66 +#: templates/dcim/moduletype.html:24 +msgid "Module Type" +msgstr "" + +#: dcim/forms/bulk_edit.py:660 dcim/forms/model_forms.py:390 +#: templates/dcim/devicetype.html:11 +msgid "Chassis" +msgstr "" + +#: dcim/forms/bulk_edit.py:679 dcim/models/devices.py:387 +#: dcim/tables/devices.py:82 +msgid "VM role" +msgstr "" + +#: dcim/forms/bulk_edit.py:682 dcim/forms/bulk_edit.py:712 +#: dcim/forms/bulk_edit.py:796 dcim/forms/bulk_import.py:512 +#: dcim/forms/bulk_import.py:516 dcim/forms/bulk_import.py:547 +#: dcim/forms/bulk_import.py:551 dcim/forms/bulk_import.py:676 +#: dcim/forms/bulk_import.py:680 dcim/forms/filtersets.py:716 +#: dcim/forms/filtersets.py:742 dcim/forms/filtersets.py:860 +#: dcim/forms/model_forms.py:513 dcim/forms/model_forms.py:552 +#: dcim/forms/model_forms.py:670 virtualization/forms/bulk_import.py:143 +#: virtualization/forms/bulk_import.py:144 +#: virtualization/forms/filtersets.py:194 +#: virtualization/forms/model_forms.py:222 +msgid "Config template" +msgstr "" + +#: dcim/forms/bulk_edit.py:737 dcim/forms/bulk_edit.py:1150 +#: dcim/forms/bulk_import.py:582 dcim/forms/filtersets.py:117 +#: dcim/forms/model_forms.py:615 dcim/forms/model_forms.py:991 +#: dcim/forms/model_forms.py:1008 extras/filtersets.py:684 +msgid "Device type" +msgstr "" + +#: dcim/forms/bulk_edit.py:748 dcim/forms/bulk_import.py:563 +#: dcim/forms/filtersets.py:122 dcim/forms/model_forms.py:623 +msgid "Device role" +msgstr "" + +#: dcim/forms/bulk_edit.py:771 dcim/forms/bulk_import.py:588 +#: dcim/forms/filtersets.py:833 dcim/forms/model_forms.py:564 +#: dcim/forms/model_forms.py:628 dcim/tables/devices.py:205 +#: extras/filtersets.py:700 templates/dcim/device.html:192 +#: templates/dcim/platform.html:26 +#: templates/virtualization/virtualmachine.html:27 +#: virtualization/forms/bulk_edit.py:142 +#: virtualization/forms/bulk_import.py:133 +#: virtualization/forms/filtersets.py:174 +#: virtualization/forms/model_forms.py:210 +#: virtualization/tables/virtualmachines.py:49 +msgid "Platform" +msgstr "" + +#: dcim/forms/bulk_edit.py:801 dcim/forms/bulk_import.py:607 +#: dcim/forms/filtersets.py:765 dcim/forms/filtersets.py:935 +#: dcim/forms/model_forms.py:637 dcim/tables/devices.py:225 +#: extras/filtersets.py:733 extras/forms/filtersets.py:390 +#: ipam/forms/filtersets.py:439 ipam/forms/filtersets.py:472 +#: templates/dcim/device.html:245 templates/virtualization/cluster.html:10 +#: templates/virtualization/virtualmachine.html:92 +#: templates/virtualization/virtualmachine.html:101 +#: virtualization/filtersets.py:123 virtualization/filtersets.py:248 +#: virtualization/forms/bulk_edit.py:111 +#: virtualization/forms/bulk_import.py:103 +#: virtualization/forms/filtersets.py:105 +#: virtualization/forms/filtersets.py:129 +#: virtualization/forms/filtersets.py:212 +#: virtualization/forms/model_forms.py:78 +#: virtualization/forms/model_forms.py:183 +#: virtualization/tables/virtualmachines.py:37 +msgid "Cluster" +msgstr "" + +#: dcim/forms/bulk_edit.py:815 templates/extras/dashboard/widget_config.html:7 +#: virtualization/forms/bulk_edit.py:173 +msgid "Configuration" +msgstr "" + +#: dcim/forms/bulk_edit.py:816 netbox/navigation/menu.py:252 +#: templates/dcim/device_edit.html:80 +msgid "Virtualization" +msgstr "" + +#: dcim/forms/bulk_edit.py:830 dcim/forms/bulk_import.py:749 +#: dcim/forms/model_forms.py:765 dcim/forms/model_forms.py:1016 +msgid "Module type" +msgstr "" + +#: dcim/forms/bulk_edit.py:884 dcim/forms/bulk_edit.py:1073 +#: dcim/forms/bulk_edit.py:1092 dcim/forms/bulk_edit.py:1115 +#: dcim/forms/bulk_edit.py:1157 dcim/forms/bulk_edit.py:1201 +#: dcim/forms/bulk_edit.py:1252 dcim/forms/bulk_edit.py:1279 +#: dcim/forms/bulk_edit.py:1306 dcim/forms/bulk_edit.py:1324 +#: dcim/forms/bulk_edit.py:1342 dcim/forms/filtersets.py:70 +#: dcim/forms/object_create.py:46 templates/dcim/cable.html:32 +#: templates/dcim/consoleport.html:32 templates/dcim/consoleserverport.html:32 +#: templates/dcim/devicebay.html:28 templates/dcim/frontport.html:32 +#: templates/dcim/inc/panels/inventory_items.html:19 +#: templates/dcim/interface.html:42 templates/dcim/inventoryitem.html:32 +#: templates/dcim/modulebay.html:34 templates/dcim/poweroutlet.html:32 +#: templates/dcim/powerport.html:32 templates/dcim/rearport.html:32 +#: templates/extras/customfield.html:26 templates/generic/bulk_import.html:193 +msgid "Label" +msgstr "" + +#: dcim/forms/bulk_edit.py:893 dcim/forms/filtersets.py:1153 +#: templates/dcim/cable.html:50 +msgid "Length" +msgstr "" + +#: dcim/forms/bulk_edit.py:898 dcim/forms/bulk_import.py:1488 +#: dcim/forms/bulk_import.py:1491 dcim/forms/filtersets.py:1157 +msgid "Length unit" +msgstr "" + +#: dcim/forms/bulk_edit.py:922 templates/dcim/virtualchassis.html:13 +msgid "Domain" +msgstr "" + +#: dcim/forms/bulk_edit.py:990 dcim/forms/bulk_import.py:1653 +#: dcim/forms/filtersets.py:1243 dcim/forms/model_forms.py:868 +msgid "Power panel" +msgstr "" + +#: dcim/forms/bulk_edit.py:1012 dcim/forms/bulk_import.py:1689 +#: dcim/forms/filtersets.py:1265 templates/dcim/powerfeed.html:83 +msgid "Supply" +msgstr "" + +#: dcim/forms/bulk_edit.py:1018 dcim/forms/bulk_import.py:1694 +#: dcim/forms/filtersets.py:1270 templates/dcim/powerfeed.html:95 +msgid "Phase" +msgstr "" + +#: dcim/forms/bulk_edit.py:1024 dcim/forms/filtersets.py:1275 +#: templates/dcim/powerfeed.html:87 +msgid "Voltage" +msgstr "" + +#: dcim/forms/bulk_edit.py:1028 dcim/forms/filtersets.py:1279 +#: templates/dcim/powerfeed.html:91 +msgid "Amperage" +msgstr "" + +#: dcim/forms/bulk_edit.py:1032 dcim/forms/filtersets.py:1283 +msgid "Max utilization" +msgstr "" + +#: dcim/forms/bulk_edit.py:1125 +msgid "Maximum draw" +msgstr "" + +#: dcim/forms/bulk_edit.py:1128 dcim/models/device_component_templates.py:282 +#: dcim/models/device_components.py:384 +msgid "Maximum power draw (watts)" +msgstr "" + +#: dcim/forms/bulk_edit.py:1131 +msgid "Allocated draw" +msgstr "" + +#: dcim/forms/bulk_edit.py:1134 dcim/models/device_component_templates.py:289 +#: dcim/models/device_components.py:391 +msgid "Allocated power draw (watts)" +msgstr "" + +#: dcim/forms/bulk_edit.py:1167 dcim/forms/bulk_import.py:882 +#: dcim/forms/model_forms.py:1085 dcim/forms/model_forms.py:1439 +#: dcim/forms/model_forms.py:1754 dcim/forms/object_import.py:55 +msgid "Power port" +msgstr "" + +#: dcim/forms/bulk_edit.py:1172 dcim/forms/bulk_import.py:889 +msgid "Feed leg" +msgstr "" + +#: dcim/forms/bulk_edit.py:1218 dcim/forms/bulk_edit.py:1539 +msgid "Management only" +msgstr "" + +#: dcim/forms/bulk_edit.py:1228 dcim/forms/bulk_edit.py:1545 +#: dcim/forms/bulk_import.py:975 dcim/forms/filtersets.py:1492 +#: dcim/forms/object_import.py:90 dcim/models/device_component_templates.py:446 +#: dcim/models/device_components.py:782 +msgid "PoE mode" +msgstr "" + +#: dcim/forms/bulk_edit.py:1234 dcim/forms/bulk_edit.py:1551 +#: dcim/forms/bulk_import.py:981 dcim/forms/filtersets.py:1497 +#: dcim/forms/object_import.py:95 dcim/models/device_component_templates.py:453 +#: dcim/models/device_components.py:789 +msgid "PoE type" +msgstr "" + +#: dcim/forms/bulk_edit.py:1240 dcim/forms/filtersets.py:1512 +#: dcim/forms/object_import.py:100 +msgid "Wireless role" +msgstr "" + +#: dcim/forms/bulk_edit.py:1377 dcim/forms/model_forms.py:787 +#: dcim/forms/model_forms.py:1384 dcim/tables/devices.py:345 +#: templates/dcim/consoleport.html:24 templates/dcim/consoleserverport.html:24 +#: templates/dcim/frontport.html:24 templates/dcim/interface.html:34 +#: templates/dcim/module.html:54 templates/dcim/modulebay.html:26 +#: templates/dcim/modulebay.html:58 templates/dcim/poweroutlet.html:24 +#: templates/dcim/powerport.html:24 templates/dcim/rearport.html:24 +msgid "Module" +msgstr "" + +#: dcim/forms/bulk_edit.py:1519 dcim/tables/devices.py:728 +#: templates/dcim/interface.html:116 +msgid "LAG" +msgstr "" + +#: dcim/forms/bulk_edit.py:1524 dcim/forms/model_forms.py:1466 +msgid "Virtual device contexts" +msgstr "" + +#: dcim/forms/bulk_edit.py:1530 dcim/forms/bulk_import.py:810 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1338 +#: dcim/forms/filtersets.py:1363 dcim/forms/filtersets.py:1456 +#: dcim/tables/devices.py:661 +#: templates/circuits/inc/circuit_termination_fields.html:62 +#: templates/dcim/consoleport.html:40 templates/dcim/consoleserverport.html:40 +msgid "Speed" +msgstr "" + +#: dcim/forms/bulk_edit.py:1559 dcim/forms/bulk_import.py:984 +#: templates/vpn/ikepolicy.html:25 templates/vpn/ipsecprofile.html:21 +#: templates/vpn/ipsecprofile.html:48 virtualization/forms/bulk_edit.py:215 +#: virtualization/forms/bulk_import.py:176 vpn/forms/bulk_edit.py:146 +#: vpn/forms/bulk_edit.py:232 vpn/forms/bulk_import.py:176 +#: vpn/forms/bulk_import.py:234 vpn/forms/filtersets.py:140 +#: vpn/forms/filtersets.py:183 vpn/forms/filtersets.py:197 +#: vpn/tables/crypto.py:64 vpn/tables/crypto.py:162 +msgid "Mode" +msgstr "" + +#: dcim/forms/bulk_edit.py:1567 dcim/forms/bulk_import.py:990 +#: dcim/forms/model_forms.py:1515 ipam/forms/bulk_import.py:174 +#: ipam/forms/filtersets.py:561 ipam/models/vlans.py:93 +#: virtualization/forms/bulk_edit.py:222 +#: virtualization/forms/bulk_import.py:182 +#: virtualization/forms/model_forms.py:333 +msgid "VLAN group" +msgstr "" + +#: dcim/forms/bulk_edit.py:1576 dcim/forms/bulk_import.py:997 +#: dcim/forms/model_forms.py:1521 dcim/tables/devices.py:622 +#: virtualization/forms/bulk_edit.py:230 +#: virtualization/forms/bulk_import.py:189 +#: virtualization/forms/model_forms.py:338 +msgid "Untagged VLAN" +msgstr "" + +#: dcim/forms/bulk_edit.py:1585 dcim/forms/bulk_import.py:1004 +#: dcim/forms/model_forms.py:1530 dcim/tables/devices.py:628 +#: virtualization/forms/bulk_edit.py:238 +#: virtualization/forms/bulk_import.py:196 +#: virtualization/forms/model_forms.py:347 +msgid "Tagged VLANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1588 +msgid "Add tagged VLANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1597 +msgid "Remove tagged VLANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1608 dcim/forms/bulk_import.py:1017 +#: dcim/forms/model_forms.py:1539 virtualization/forms/bulk_import.py:209 +#: virtualization/forms/model_forms.py:356 +msgid "Q-in-Q Service VLAN" +msgstr "" + +#: dcim/forms/bulk_edit.py:1623 dcim/forms/model_forms.py:1502 +msgid "Wireless LAN group" +msgstr "" + +#: dcim/forms/bulk_edit.py:1628 dcim/forms/model_forms.py:1507 +#: dcim/tables/devices.py:670 netbox/navigation/menu.py:153 +#: templates/dcim/interface.html:337 wireless/tables/wirelesslan.py:28 +msgid "Wireless LANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1637 dcim/forms/filtersets.py:1424 +#: dcim/forms/model_forms.py:1573 ipam/forms/bulk_edit.py:269 +#: ipam/forms/bulk_edit.py:367 ipam/forms/filtersets.py:177 +#: netbox/navigation/menu.py:109 templates/dcim/interface.html:128 +#: templates/ipam/prefix.html:91 templates/virtualization/vminterface.html:76 +#: virtualization/forms/filtersets.py:205 +#: virtualization/forms/model_forms.py:376 +msgid "Addressing" +msgstr "" + +#: dcim/forms/bulk_edit.py:1638 dcim/forms/filtersets.py:757 +#: dcim/forms/model_forms.py:1574 virtualization/forms/model_forms.py:377 +msgid "Operation" +msgstr "" + +#: dcim/forms/bulk_edit.py:1639 dcim/forms/filtersets.py:1425 +#: dcim/forms/model_forms.py:1129 dcim/forms/model_forms.py:1576 +msgid "PoE" +msgstr "" + +#: dcim/forms/bulk_edit.py:1640 dcim/forms/model_forms.py:1575 +#: templates/dcim/interface.html:105 virtualization/forms/bulk_edit.py:254 +#: virtualization/forms/model_forms.py:378 +msgid "Related Interfaces" +msgstr "" + +#: dcim/forms/bulk_edit.py:1642 dcim/forms/filtersets.py:1426 +#: dcim/forms/model_forms.py:1579 virtualization/forms/bulk_edit.py:257 +#: virtualization/forms/filtersets.py:206 +#: virtualization/forms/model_forms.py:381 +msgid "802.1Q Switching" +msgstr "" + +#: dcim/forms/bulk_edit.py:1647 +msgid "Add/Remove" +msgstr "" + +#: dcim/forms/bulk_edit.py:1706 dcim/forms/bulk_edit.py:1708 +msgid "Interface mode must be specified to assign VLANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1713 +msgid "An access interface cannot have tagged VLANs assigned." +msgstr "" + +#: dcim/forms/bulk_import.py:68 +msgid "Name of parent region" +msgstr "" + +#: dcim/forms/bulk_import.py:82 +msgid "Name of parent site group" +msgstr "" + +#: dcim/forms/bulk_import.py:101 +msgid "Assigned region" +msgstr "" + +#: dcim/forms/bulk_import.py:108 tenancy/forms/bulk_import.py:45 +#: wireless/forms/bulk_import.py:42 +msgid "Assigned group" +msgstr "" + +#: dcim/forms/bulk_import.py:127 +msgid "available options" +msgstr "" + +#: dcim/forms/bulk_import.py:138 dcim/forms/bulk_import.py:633 +#: dcim/forms/bulk_import.py:1650 ipam/forms/bulk_import.py:489 +#: virtualization/forms/bulk_import.py:69 +#: virtualization/forms/bulk_import.py:100 +msgid "Assigned site" +msgstr "" + +#: dcim/forms/bulk_import.py:145 +msgid "Parent location" +msgstr "" + +#: dcim/forms/bulk_import.py:147 +msgid "Location not found." +msgstr "" + +#: dcim/forms/bulk_import.py:192 +msgid "The manufacturer of this rack type" +msgstr "" + +#: dcim/forms/bulk_import.py:203 +msgid "The lowest-numbered position in the rack" +msgstr "" + +#: dcim/forms/bulk_import.py:208 dcim/forms/bulk_import.py:283 +msgid "Rail-to-rail width (in inches)" +msgstr "" + +#: dcim/forms/bulk_import.py:214 dcim/forms/bulk_import.py:293 +msgid "Unit for outer dimensions" +msgstr "" + +#: dcim/forms/bulk_import.py:220 dcim/forms/bulk_import.py:305 +msgid "Unit for rack weights" +msgstr "" + +#: dcim/forms/bulk_import.py:252 +msgid "Name of assigned tenant" +msgstr "" + +#: dcim/forms/bulk_import.py:264 +msgid "Name of assigned role" +msgstr "" + +#: dcim/forms/bulk_import.py:271 +msgid "Rack type model" +msgstr "" + +#: dcim/forms/bulk_import.py:299 dcim/forms/bulk_import.py:462 +#: dcim/forms/bulk_import.py:673 +msgid "Airflow direction" +msgstr "" + +#: dcim/forms/bulk_import.py:331 +msgid "Width must be set if not specifying a rack type." +msgstr "" + +#: dcim/forms/bulk_import.py:333 +msgid "U height must be set if not specifying a rack type." +msgstr "" + +#: dcim/forms/bulk_import.py:341 +msgid "Parent site" +msgstr "" + +#: dcim/forms/bulk_import.py:348 dcim/forms/bulk_import.py:1663 +msgid "Rack's location (if any)" +msgstr "" + +#: dcim/forms/bulk_import.py:357 dcim/forms/model_forms.py:329 +#: dcim/tables/racks.py:230 templates/dcim/rackreservation.html:12 +#: templates/dcim/rackreservation.html:45 +msgid "Units" +msgstr "" + +#: dcim/forms/bulk_import.py:360 +msgid "Comma-separated list of individual unit numbers" +msgstr "" + +#: dcim/forms/bulk_import.py:408 +msgid "The manufacturer which produces this device type" +msgstr "" + +#: dcim/forms/bulk_import.py:415 +msgid "The default platform for devices of this type (optional)" +msgstr "" + +#: dcim/forms/bulk_import.py:420 +msgid "Device weight" +msgstr "" + +#: dcim/forms/bulk_import.py:426 +msgid "Unit for device weight" +msgstr "" + +#: dcim/forms/bulk_import.py:467 +msgid "Module weight" +msgstr "" + +#: dcim/forms/bulk_import.py:473 +msgid "Unit for module weight" +msgstr "" + +#: dcim/forms/bulk_import.py:478 +msgid "Attribute values for the assigned profile, passed as a dictionary" +msgstr "" + +#: dcim/forms/bulk_import.py:493 +msgid "Profile must be specified if attribute data is provided." +msgstr "" + +#: dcim/forms/bulk_import.py:506 +msgid "Parent Device Role" +msgstr "" + +#: dcim/forms/bulk_import.py:508 +msgid "Device role not found." +msgstr "" + +#: dcim/forms/bulk_import.py:534 +msgid "Parent platform" +msgstr "" + +#: dcim/forms/bulk_import.py:536 +msgid "Platform not found." +msgstr "" + +#: dcim/forms/bulk_import.py:544 +msgid "Limit platform assignments to this manufacturer" +msgstr "" + +#: dcim/forms/bulk_import.py:566 dcim/forms/bulk_import.py:1733 +#: tenancy/forms/bulk_import.py:111 +msgid "Assigned role" +msgstr "" + +#: dcim/forms/bulk_import.py:579 +msgid "Device type manufacturer" +msgstr "" + +#: dcim/forms/bulk_import.py:585 +msgid "Device type model" +msgstr "" + +#: dcim/forms/bulk_import.py:592 virtualization/forms/bulk_import.py:137 +msgid "Assigned platform" +msgstr "" + +#: dcim/forms/bulk_import.py:600 dcim/forms/bulk_import.py:604 +#: dcim/forms/model_forms.py:651 +msgid "Virtual chassis" +msgstr "" + +#: dcim/forms/bulk_import.py:611 +msgid "Virtualization cluster" +msgstr "" + +#: dcim/forms/bulk_import.py:640 +msgid "Assigned location (if any)" +msgstr "" + +#: dcim/forms/bulk_import.py:647 +msgid "Assigned rack (if any)" +msgstr "" + +#: dcim/forms/bulk_import.py:650 +msgid "Face" +msgstr "" + +#: dcim/forms/bulk_import.py:653 +msgid "Mounted rack face" +msgstr "" + +#: dcim/forms/bulk_import.py:660 +msgid "Parent device (for child devices)" +msgstr "" + +#: dcim/forms/bulk_import.py:663 +msgid "Device bay" +msgstr "" + +#: dcim/forms/bulk_import.py:667 +msgid "Device bay in which this device is installed (for child devices)" +msgstr "" + +#: dcim/forms/bulk_import.py:740 +msgid "The device in which this module is installed" +msgstr "" + +#: dcim/forms/bulk_import.py:743 dcim/forms/model_forms.py:755 +msgid "Module bay" +msgstr "" + +#: dcim/forms/bulk_import.py:746 +msgid "The module bay in which this module is installed" +msgstr "" + +#: dcim/forms/bulk_import.py:752 +msgid "The type of module" +msgstr "" + +#: dcim/forms/bulk_import.py:760 dcim/forms/model_forms.py:774 +msgid "Replicate components" +msgstr "" + +#: dcim/forms/bulk_import.py:762 +msgid "" +"Automatically populate components associated with this module type (enabled " +"by default)" +msgstr "" + +#: dcim/forms/bulk_import.py:765 dcim/forms/model_forms.py:780 +msgid "Adopt components" +msgstr "" + +#: dcim/forms/bulk_import.py:767 dcim/forms/model_forms.py:783 +msgid "Adopt already existing components" +msgstr "" + +#: dcim/forms/bulk_import.py:807 dcim/forms/bulk_import.py:833 +#: dcim/forms/bulk_import.py:859 +msgid "Port type" +msgstr "" + +#: dcim/forms/bulk_import.py:815 dcim/forms/bulk_import.py:841 +msgid "Port speed in bps" +msgstr "" + +#: dcim/forms/bulk_import.py:879 +msgid "Outlet type" +msgstr "" + +#: dcim/forms/bulk_import.py:886 +msgid "Local power port which feeds this outlet" +msgstr "" + +#: dcim/forms/bulk_import.py:892 +msgid "Electrical phase (for three-phase circuits)" +msgstr "" + +#: dcim/forms/bulk_import.py:936 dcim/forms/model_forms.py:1477 +#: virtualization/forms/bulk_import.py:166 +#: virtualization/forms/model_forms.py:317 +msgid "Parent interface" +msgstr "" + +#: dcim/forms/bulk_import.py:943 dcim/forms/model_forms.py:1485 +#: virtualization/forms/bulk_import.py:173 +#: virtualization/forms/model_forms.py:325 +msgid "Bridged interface" +msgstr "" + +#: dcim/forms/bulk_import.py:946 +msgid "Lag" +msgstr "" + +#: dcim/forms/bulk_import.py:950 +msgid "Parent LAG interface" +msgstr "" + +#: dcim/forms/bulk_import.py:953 +msgid "Vdcs" +msgstr "" + +#: dcim/forms/bulk_import.py:958 +msgid "VDC names separated by commas, encased with double quotes. Example:" +msgstr "" + +#: dcim/forms/bulk_import.py:964 +msgid "Physical medium" +msgstr "" + +#: dcim/forms/bulk_import.py:967 dcim/forms/filtersets.py:1463 +msgid "Duplex" +msgstr "" + +#: dcim/forms/bulk_import.py:972 +msgid "Poe mode" +msgstr "" + +#: dcim/forms/bulk_import.py:978 +msgid "Poe type" +msgstr "" + +#: dcim/forms/bulk_import.py:987 virtualization/forms/bulk_import.py:179 +msgid "IEEE 802.1Q operational mode (for L2 interfaces)" +msgstr "" + +#: dcim/forms/bulk_import.py:994 virtualization/forms/bulk_import.py:186 +msgid "Filter VLANs available for assignment by group" +msgstr "" + +#: dcim/forms/bulk_import.py:1001 virtualization/forms/bulk_import.py:193 +msgid "Assigned untagged VLAN ID (filtered by VLAN group)" +msgstr "" + +#: dcim/forms/bulk_import.py:1010 virtualization/forms/bulk_import.py:202 +msgid "" +"Assigned tagged VLAN IDs separated by commas, encased with double quotes " +"(filtered by VLAN group). Example:" +msgstr "" + +#: dcim/forms/bulk_import.py:1021 virtualization/forms/bulk_import.py:213 +msgid "Assigned Q-in-Q Service VLAN ID (filtered by VLAN group)" +msgstr "" + +#: dcim/forms/bulk_import.py:1028 ipam/forms/bulk_import.py:164 +#: ipam/forms/bulk_import.py:249 ipam/forms/bulk_import.py:285 +#: ipam/forms/filtersets.py:210 ipam/forms/filtersets.py:293 +#: ipam/forms/filtersets.py:360 virtualization/forms/bulk_import.py:220 +msgid "Assigned VRF" +msgstr "" + +#: dcim/forms/bulk_import.py:1031 +msgid "Rf role" +msgstr "" + +#: dcim/forms/bulk_import.py:1034 +msgid "Wireless role (AP/station)" +msgstr "" + +#: dcim/forms/bulk_import.py:1078 +#, python-brace-format +msgid "VDC {vdc} is not assigned to device {device}" +msgstr "" + +#: dcim/forms/bulk_import.py:1092 dcim/forms/model_forms.py:1143 +#: dcim/forms/model_forms.py:1762 dcim/forms/object_import.py:117 +msgid "Rear port" +msgstr "" + +#: dcim/forms/bulk_import.py:1095 +msgid "Corresponding rear port" +msgstr "" + +#: dcim/forms/bulk_import.py:1100 dcim/forms/bulk_import.py:1141 +#: dcim/forms/bulk_import.py:1478 +msgid "Physical medium classification" +msgstr "" + +#: dcim/forms/bulk_import.py:1169 dcim/tables/devices.py:883 +msgid "Installed device" +msgstr "" + +#: dcim/forms/bulk_import.py:1173 +msgid "Child device installed within this bay" +msgstr "" + +#: dcim/forms/bulk_import.py:1175 +msgid "Child device not found." +msgstr "" + +#: dcim/forms/bulk_import.py:1233 +msgid "Parent inventory item" +msgstr "" + +#: dcim/forms/bulk_import.py:1236 +msgid "Component type" +msgstr "" + +#: dcim/forms/bulk_import.py:1240 +msgid "Component Type" +msgstr "" + +#: dcim/forms/bulk_import.py:1243 +msgid "Component name" +msgstr "" + +#: dcim/forms/bulk_import.py:1245 +msgid "Component Name" +msgstr "" + +#: dcim/forms/bulk_import.py:1288 dcim/forms/bulk_import.py:1306 +msgid "Component name must be specified when component type is specified" +msgstr "" + +#: dcim/forms/bulk_import.py:1298 +#, python-brace-format +msgid "Component not found: {device} - {component_name}" +msgstr "" + +#: dcim/forms/bulk_import.py:1311 +msgid "Component type must be specified when component name is specified" +msgstr "" + +#: dcim/forms/bulk_import.py:1338 ipam/forms/bulk_import.py:310 +msgid "Parent device of assigned interface (if any)" +msgstr "" + +#: dcim/forms/bulk_import.py:1341 ipam/forms/bulk_import.py:313 +#: virtualization/filtersets.py:259 virtualization/filtersets.py:310 +#: virtualization/forms/bulk_edit.py:182 virtualization/forms/bulk_edit.py:316 +#: virtualization/forms/bulk_import.py:157 +#: virtualization/forms/bulk_import.py:259 +#: virtualization/forms/filtersets.py:220 +#: virtualization/forms/filtersets.py:266 +#: virtualization/forms/model_forms.py:293 vpn/forms/bulk_import.py:93 +#: vpn/forms/bulk_import.py:295 +msgid "Virtual machine" +msgstr "" + +#: dcim/forms/bulk_import.py:1345 ipam/forms/bulk_import.py:317 +msgid "Parent VM of assigned interface (if any)" +msgstr "" + +#: dcim/forms/bulk_import.py:1352 ipam/filtersets.py:1035 +#: ipam/forms/bulk_import.py:324 +msgid "Assigned interface" +msgstr "" + +#: dcim/forms/bulk_import.py:1356 +msgid "Make this the primary MAC address for the assigned interface" +msgstr "" + +#: dcim/forms/bulk_import.py:1393 +msgid "Must specify the parent device or VM when assigning an interface" +msgstr "" + +#: dcim/forms/bulk_import.py:1419 +msgid "Side A site" +msgstr "" + +#: dcim/forms/bulk_import.py:1423 wireless/forms/bulk_import.py:94 +msgid "Site of parent device A (if any)" +msgstr "" + +#: dcim/forms/bulk_import.py:1426 +msgid "Side A device" +msgstr "" + +#: dcim/forms/bulk_import.py:1429 dcim/forms/bulk_import.py:1454 +msgid "Device name" +msgstr "" + +#: dcim/forms/bulk_import.py:1432 +msgid "Side A type" +msgstr "" + +#: dcim/forms/bulk_import.py:1438 +msgid "Side A name" +msgstr "" + +#: dcim/forms/bulk_import.py:1439 dcim/forms/bulk_import.py:1464 +msgid "Termination name" +msgstr "" + +#: dcim/forms/bulk_import.py:1444 +msgid "Side B site" +msgstr "" + +#: dcim/forms/bulk_import.py:1448 wireless/forms/bulk_import.py:115 +msgid "Site of parent device B (if any)" +msgstr "" + +#: dcim/forms/bulk_import.py:1451 +msgid "Side B device" +msgstr "" + +#: dcim/forms/bulk_import.py:1457 +msgid "Side B type" +msgstr "" + +#: dcim/forms/bulk_import.py:1463 +msgid "Side B name" +msgstr "" + +#: dcim/forms/bulk_import.py:1472 wireless/forms/bulk_import.py:134 +msgid "Connection status" +msgstr "" + +#: dcim/forms/bulk_import.py:1497 +msgid "Color name (e.g. \"Red\") or hex code (e.g. \"f44336\")" +msgstr "" + +#: dcim/forms/bulk_import.py:1549 +#, python-brace-format +msgid "Side {side_upper}: {device} {termination_object} is already connected" +msgstr "" + +#: dcim/forms/bulk_import.py:1555 +#, python-brace-format +msgid "{side_upper} side termination not found: {device} {name}" +msgstr "" + +#: dcim/forms/bulk_import.py:1576 +#, python-brace-format +msgid "" +"{color} did not match any used color name and was longer than six " +"characters: invalid hex." +msgstr "" + +#: dcim/forms/bulk_import.py:1601 dcim/forms/model_forms.py:904 +#: dcim/tables/devices.py:1088 templates/dcim/device.html:138 +#: templates/dcim/virtualchassis.html:17 templates/dcim/virtualchassis.html:57 +msgid "Master" +msgstr "" + +#: dcim/forms/bulk_import.py:1605 +msgid "Master device" +msgstr "" + +#: dcim/forms/bulk_import.py:1622 +msgid "Name of parent site" +msgstr "" + +#: dcim/forms/bulk_import.py:1656 +msgid "Upstream power panel" +msgstr "" + +#: dcim/forms/bulk_import.py:1686 +msgid "Primary or redundant" +msgstr "" + +#: dcim/forms/bulk_import.py:1691 +msgid "Supply type (AC/DC)" +msgstr "" + +#: dcim/forms/bulk_import.py:1696 +msgid "Single or three-phase" +msgstr "" + +#: dcim/forms/bulk_import.py:1747 dcim/forms/model_forms.py:1860 +#: templates/dcim/device.html:196 templates/dcim/virtualdevicecontext.html:30 +#: templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "" + +#: dcim/forms/bulk_import.py:1751 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "" + +#: dcim/forms/bulk_import.py:1754 dcim/forms/model_forms.py:1869 +#: templates/dcim/device.html:212 templates/dcim/virtualdevicecontext.html:41 +#: templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "" + +#: dcim/forms/bulk_import.py:1758 +msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" +msgstr "" + +#: dcim/forms/common.py:19 dcim/models/device_components.py:559 +#: templates/dcim/interface.html:57 +#: templates/virtualization/vminterface.html:51 +#: virtualization/forms/bulk_edit.py:207 +msgid "MTU" +msgstr "" + +#: dcim/forms/common.py:59 +#, python-brace-format +msgid "" +"The tagged VLANs ({vlans}) must belong to the same site as the interface's " +"parent device/VM, or they must be global" +msgstr "" + +#: dcim/forms/common.py:126 +msgid "" +"Cannot install module with placeholder values in a module bay with no " +"position defined." +msgstr "" + +#: dcim/forms/common.py:132 +#, python-brace-format +msgid "" +"Cannot install module with placeholder values in a module bay tree {level} " +"in tree but {tokens} placeholders given." +msgstr "" + +#: dcim/forms/common.py:147 +#, python-brace-format +msgid "Cannot adopt {model} {name} as it already belongs to a module" +msgstr "" + +#: dcim/forms/common.py:156 +#, python-brace-format +msgid "A {model} named {name} already exists" +msgstr "" + +#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:856 +#: dcim/tables/power.py:66 templates/dcim/inc/cable_termination.html:40 +#: templates/dcim/powerfeed.html:24 templates/dcim/powerpanel.html:19 +#: templates/dcim/trace/powerpanel.html:4 +msgid "Power Panel" +msgstr "" + +#: dcim/forms/connections.py:63 dcim/forms/model_forms.py:884 +#: templates/dcim/powerfeed.html:21 templates/dcim/powerport.html:80 +msgid "Power Feed" +msgstr "" + +#: dcim/forms/filtersets.py:145 dcim/tables/devices.py:327 +msgid "Device Status" +msgstr "" + +#: dcim/forms/filtersets.py:158 +msgid "Parent region" +msgstr "" + +#: dcim/forms/filtersets.py:172 tenancy/forms/bulk_import.py:29 +#: tenancy/forms/bulk_import.py:63 tenancy/forms/filtersets.py:33 +#: tenancy/forms/filtersets.py:62 wireless/forms/bulk_import.py:27 +#: wireless/forms/filtersets.py:27 +msgid "Parent group" +msgstr "" + +#: dcim/forms/filtersets.py:406 +msgid "Function" +msgstr "" + +#: dcim/forms/filtersets.py:427 dcim/forms/model_forms.py:340 +#: dcim/tables/racks.py:210 +msgid "Reservation" +msgstr "" + +#: dcim/forms/filtersets.py:497 dcim/forms/model_forms.py:392 +#: netbox/views/generic/feature_views.py:97 +#: templates/inc/panels/image_attachments.html:6 +msgid "Images" +msgstr "" + +#: dcim/forms/filtersets.py:500 dcim/forms/filtersets.py:633 +#: dcim/forms/filtersets.py:763 +msgid "Components" +msgstr "" + +#: dcim/forms/filtersets.py:520 +msgid "Subdevice role" +msgstr "" + +#: dcim/forms/filtersets.py:827 dcim/tables/racks.py:54 +#: templates/dcim/module.html:99 templates/dcim/racktype.html:20 +msgid "Model" +msgstr "" + +#: dcim/forms/filtersets.py:871 +msgid "Has an OOB IP" +msgstr "" + +#: dcim/forms/filtersets.py:878 +msgid "Virtual chassis member" +msgstr "" + +#: dcim/forms/filtersets.py:927 +msgid "Has virtual device contexts" +msgstr "" + +#: dcim/forms/filtersets.py:940 extras/filtersets.py:722 +#: ipam/forms/filtersets.py:477 virtualization/forms/filtersets.py:118 +msgid "Cluster group" +msgstr "" + +#: dcim/forms/filtersets.py:1295 +msgid "Cabled" +msgstr "" + +#: dcim/forms/filtersets.py:1302 +msgid "Occupied" +msgstr "" + +#: dcim/forms/filtersets.py:1330 dcim/forms/filtersets.py:1355 +#: dcim/forms/filtersets.py:1380 dcim/forms/filtersets.py:1400 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:396 +#: dcim/tables/devices.py:692 +#: templates/circuits/inc/circuit_termination_fields.html:16 +#: templates/dcim/consoleport.html:55 templates/dcim/consoleserverport.html:55 +#: templates/dcim/frontport.html:69 templates/dcim/interface.html:197 +#: templates/dcim/powerfeed.html:110 templates/dcim/poweroutlet.html:73 +#: templates/dcim/powerport.html:59 templates/dcim/rearport.html:65 +msgid "Connection" +msgstr "" + +#: dcim/forms/filtersets.py:1446 extras/forms/bulk_edit.py:427 +#: extras/forms/bulk_import.py:298 extras/forms/filtersets.py:565 +#: extras/forms/model_forms.py:793 extras/tables/tables.py:703 +#: templates/extras/journalentry.html:30 +msgid "Kind" +msgstr "" + +#: dcim/forms/filtersets.py:1475 +msgid "Mgmt only" +msgstr "" + +#: dcim/forms/filtersets.py:1487 dcim/forms/model_forms.py:1561 +#: dcim/models/device_components.py:735 templates/dcim/interface.html:142 +msgid "WWN" +msgstr "" + +#: dcim/forms/filtersets.py:1502 virtualization/forms/filtersets.py:246 +msgid "802.1Q mode" +msgstr "" + +#: dcim/forms/filtersets.py:1517 +msgid "Wireless channel" +msgstr "" + +#: dcim/forms/filtersets.py:1521 +msgid "Channel frequency (MHz)" +msgstr "" + +#: dcim/forms/filtersets.py:1525 +msgid "Channel width (MHz)" +msgstr "" + +#: dcim/forms/filtersets.py:1529 templates/dcim/interface.html:91 +msgid "Transmit power (dBm)" +msgstr "" + +#: dcim/forms/filtersets.py:1555 dcim/forms/filtersets.py:1580 +#: dcim/tables/devices.py:359 templates/dcim/cable.html:12 +#: templates/dcim/cable_trace.html:46 templates/dcim/frontport.html:77 +#: templates/dcim/htmx/cable_edit.html:53 +#: templates/dcim/inc/connection_endpoints.html:4 +#: templates/dcim/rearport.html:73 templates/dcim/trace/cable.html:7 +msgid "Cable" +msgstr "" + +#: dcim/forms/filtersets.py:1659 dcim/tables/devices.py:1008 +msgid "Discovered" +msgstr "" + +#: dcim/forms/filtersets.py:1704 ipam/forms/filtersets.py:371 +msgid "Assigned Device" +msgstr "" + +#: dcim/forms/filtersets.py:1709 ipam/forms/filtersets.py:376 +msgid "Assigned VM" +msgstr "" + +#: dcim/forms/filtersets.py:1713 ipam/forms/filtersets.py:390 +msgid "Assigned to an interface" +msgstr "" + +#: dcim/forms/filtersets.py:1720 +msgid "Primary MAC of an interface" +msgstr "" + +#: dcim/forms/formsets.py:20 +#, python-brace-format +msgid "A virtual chassis member already exists in position {vc_position}." +msgstr "" + +#: dcim/forms/mixins.py:27 dcim/forms/mixins.py:88 ipam/forms/bulk_edit.py:425 +#: ipam/forms/model_forms.py:611 +msgid "Scope type" +msgstr "" + +#: dcim/forms/mixins.py:30 dcim/forms/mixins.py:91 ipam/forms/bulk_edit.py:270 +#: ipam/forms/bulk_edit.py:428 ipam/forms/bulk_edit.py:447 +#: ipam/forms/filtersets.py:181 ipam/forms/model_forms.py:232 +#: ipam/forms/model_forms.py:614 ipam/forms/model_forms.py:624 +#: ipam/tables/ip.py:195 ipam/tables/vlans.py:40 templates/ipam/prefix.html:48 +#: templates/ipam/vlangroup.html:38 templates/virtualization/cluster.html:42 +#: templates/wireless/wirelesslan.html:26 virtualization/forms/bulk_edit.py:91 +#: virtualization/forms/filtersets.py:47 virtualization/forms/model_forms.py:79 +#: virtualization/tables/clusters.py:80 wireless/forms/bulk_edit.py:94 +#: wireless/forms/filtersets.py:37 wireless/forms/model_forms.py:58 +#: wireless/tables/wirelesslan.py:62 +msgid "Scope" +msgstr "" + +#: dcim/forms/mixins.py:56 dcim/forms/mixins.py:128 dcim/models/mixins.py:94 +#, python-brace-format +msgid "Please select a {scope_type}." +msgstr "" + +#: dcim/forms/mixins.py:117 ipam/forms/bulk_import.py:462 +msgid "Scope type (app & model)" +msgstr "" + +#: dcim/forms/model_forms.py:150 +msgid "Contact Info" +msgstr "" + +#: dcim/forms/model_forms.py:207 templates/dcim/rackrole.html:19 +msgid "Rack Role" +msgstr "" + +#: dcim/forms/model_forms.py:225 dcim/forms/model_forms.py:381 +#: dcim/forms/model_forms.py:557 utilities/forms/fields/fields.py:48 +msgid "Slug" +msgstr "" + +#: dcim/forms/model_forms.py:273 +msgid "Select a pre-defined rack type, or set physical characteristics below." +msgstr "" + +#: dcim/forms/model_forms.py:282 +msgid "Inventory Control" +msgstr "" + +#: dcim/forms/model_forms.py:331 +msgid "" +"Comma-separated list of numeric unit IDs. A range may be specified using a " +"hyphen." +msgstr "" + +#: dcim/forms/model_forms.py:416 extras/forms/model_forms.py:593 +msgid "Enter a valid JSON schema to define supported attributes." +msgstr "" + +#: dcim/forms/model_forms.py:449 +msgid "Profile & Attributes" +msgstr "" + +#: dcim/forms/model_forms.py:528 templates/dcim/devicerole.html:23 +msgid "Device Role" +msgstr "" + +#: dcim/forms/model_forms.py:604 dcim/models/devices.py:570 +msgid "The lowest-numbered unit occupied by the device" +msgstr "" + +#: dcim/forms/model_forms.py:662 +msgid "The position in the virtual chassis this device is identified by" +msgstr "" + +#: dcim/forms/model_forms.py:667 +msgid "The priority of the device in the virtual chassis" +msgstr "" + +#: dcim/forms/model_forms.py:777 +msgid "Automatically populate components associated with this module type" +msgstr "" + +#: dcim/forms/model_forms.py:886 +msgid "Characteristics" +msgstr "" + +#: dcim/forms/model_forms.py:1043 +#, python-brace-format +msgid "" +"Alphanumeric ranges are supported for bulk creation. Mixed cases and types " +"within a single range are not supported (example: [ge,xe]-0/0/[0-9]). The token {module}, if present, will be automatically " +"replaced with the position value when creating a new module." +msgstr "" + +#: dcim/forms/model_forms.py:1245 +msgid "Console port template" +msgstr "" + +#: dcim/forms/model_forms.py:1253 +msgid "Console server port template" +msgstr "" + +#: dcim/forms/model_forms.py:1261 +msgid "Front port template" +msgstr "" + +#: dcim/forms/model_forms.py:1269 +msgid "Interface template" +msgstr "" + +#: dcim/forms/model_forms.py:1277 +msgid "Power outlet template" +msgstr "" + +#: dcim/forms/model_forms.py:1285 +msgid "Power port template" +msgstr "" + +#: dcim/forms/model_forms.py:1293 +msgid "Rear port template" +msgstr "" + +#: dcim/forms/model_forms.py:1303 dcim/forms/model_forms.py:1774 +#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:17 +#: templates/dcim/consoleserverport.html:73 templates/dcim/frontport.html:112 +msgid "Console Port" +msgstr "" + +#: dcim/forms/model_forms.py:1304 dcim/forms/model_forms.py:1775 +#: templates/dcim/consoleport.html:73 templates/dcim/consoleserverport.html:17 +#: templates/dcim/frontport.html:109 +msgid "Console Server Port" +msgstr "" + +#: dcim/forms/model_forms.py:1305 dcim/forms/model_forms.py:1776 +#: templates/circuits/inc/circuit_termination_fields.html:53 +#: templates/dcim/consoleport.html:76 templates/dcim/consoleserverport.html:76 +#: templates/dcim/frontport.html:17 templates/dcim/frontport.html:115 +#: templates/dcim/interface.html:244 templates/dcim/rearport.html:105 +msgid "Front Port" +msgstr "" + +#: dcim/forms/model_forms.py:1306 dcim/forms/model_forms.py:1777 +#: dcim/tables/devices.py:773 +#: templates/circuits/inc/circuit_termination_fields.html:54 +#: templates/dcim/consoleport.html:79 templates/dcim/consoleserverport.html:79 +#: templates/dcim/frontport.html:50 templates/dcim/frontport.html:118 +#: templates/dcim/interface.html:247 templates/dcim/rearport.html:17 +#: templates/dcim/rearport.html:108 +msgid "Rear Port" +msgstr "" + +#: dcim/forms/model_forms.py:1307 dcim/forms/model_forms.py:1778 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:543 +#: templates/dcim/poweroutlet.html:58 templates/dcim/powerport.html:17 +msgid "Power Port" +msgstr "" + +#: dcim/forms/model_forms.py:1308 dcim/forms/model_forms.py:1779 +#: templates/dcim/poweroutlet.html:17 templates/dcim/powerport.html:77 +msgid "Power Outlet" +msgstr "" + +#: dcim/forms/model_forms.py:1310 dcim/forms/model_forms.py:1781 +msgid "Component Assignment" +msgstr "" + +#: dcim/forms/model_forms.py:1356 dcim/forms/model_forms.py:1828 +msgid "An InventoryItem can only be assigned to a single component." +msgstr "" + +#: dcim/forms/model_forms.py:1493 +msgid "LAG interface" +msgstr "" + +#: dcim/forms/model_forms.py:1516 +msgid "Filter VLANs available for assignment by group." +msgstr "" + +#: dcim/forms/model_forms.py:1671 +msgid "Child Device" +msgstr "" + +#: dcim/forms/model_forms.py:1672 +msgid "" +"Child devices must first be created and assigned to the site and rack of the " +"parent device." +msgstr "" + +#: dcim/forms/model_forms.py:1714 +msgid "Console port" +msgstr "" + +#: dcim/forms/model_forms.py:1722 +msgid "Console server port" +msgstr "" + +#: dcim/forms/model_forms.py:1730 +msgid "Front port" +msgstr "" + +#: dcim/forms/model_forms.py:1746 +msgid "Power outlet" +msgstr "" + +#: dcim/forms/model_forms.py:1768 templates/dcim/inventoryitem.html:17 +msgid "Inventory Item" +msgstr "" + +#: dcim/forms/model_forms.py:1842 templates/dcim/inventoryitemrole.html:15 +msgid "Inventory Item Role" +msgstr "" + +#: dcim/forms/model_forms.py:1912 +msgid "VM Interface" +msgstr "" + +#: dcim/forms/model_forms.py:1928 ipam/forms/filtersets.py:631 +#: ipam/forms/model_forms.py:335 ipam/tables/vlans.py:174 +#: templates/virtualization/virtualdisk.html:21 +#: templates/virtualization/virtualmachine.html:12 +#: templates/virtualization/vminterface.html:21 +#: templates/vpn/tunneltermination.html:25 +#: virtualization/forms/filtersets.py:203 +#: virtualization/forms/filtersets.py:260 +#: virtualization/forms/model_forms.py:227 +#: virtualization/tables/virtualmachines.py:105 +#: virtualization/tables/virtualmachines.py:161 vpn/choices.py:53 +#: vpn/forms/filtersets.py:304 vpn/forms/model_forms.py:161 +#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 +#: vpn/forms/model_forms.py:457 +msgid "Virtual Machine" +msgstr "" + +#: dcim/forms/model_forms.py:1967 +msgid "A MAC address can only be assigned to a single object." +msgstr "" + +#: dcim/forms/object_create.py:48 dcim/forms/object_create.py:210 +#: dcim/forms/object_create.py:359 +msgid "" +"Alphanumeric ranges are supported. (Must match the number of objects being " +"created.)" +msgstr "" + +#: dcim/forms/object_create.py:72 +#, python-brace-format +msgid "" +"The provided pattern specifies {value_count} values, but {pattern_count} are " +"expected." +msgstr "" + +#: dcim/forms/object_create.py:114 dcim/forms/object_create.py:274 +#: dcim/tables/devices.py:275 +msgid "Rear ports" +msgstr "" + +#: dcim/forms/object_create.py:115 dcim/forms/object_create.py:275 +msgid "Select one rear port assignment for each front port being created." +msgstr "" + +#: dcim/forms/object_create.py:175 +#, python-brace-format +msgid "" +"The number of front port templates to be created ({frontport_count}) must " +"match the selected number of rear port positions ({rearport_count})." +msgstr "" + +#: dcim/forms/object_create.py:324 +#, python-brace-format +msgid "" +"The number of front ports to be created ({frontport_count}) must match the " +"selected number of rear port positions ({rearport_count})." +msgstr "" + +#: dcim/forms/object_create.py:413 dcim/tables/devices.py:1094 +#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:43 +#: templates/dcim/virtualchassis_edit.html:51 templates/ipam/fhrpgroup.html:38 +msgid "Members" +msgstr "" + +#: dcim/forms/object_create.py:423 +msgid "Initial position" +msgstr "" + +#: dcim/forms/object_create.py:426 +msgid "" +"Position of the first member device. Increases by one for each additional " +"member." +msgstr "" + +#: dcim/forms/object_create.py:431 +msgid "Member Devices" +msgstr "" + +#: dcim/forms/object_create.py:446 +msgid "A position must be specified for the first VC member." +msgstr "" + +#: dcim/models/cables.py:64 dcim/models/device_component_templates.py:52 +#: dcim/models/device_components.py:58 extras/models/customfields.py:113 +msgid "label" +msgstr "" + +#: dcim/models/cables.py:73 +msgid "length" +msgstr "" + +#: dcim/models/cables.py:80 +msgid "length unit" +msgstr "" + +#: dcim/models/cables.py:98 +msgid "cable" +msgstr "" + +#: dcim/models/cables.py:99 +msgid "cables" +msgstr "" + +#: dcim/models/cables.py:192 +msgid "Must specify a unit when setting a cable length" +msgstr "" + +#: dcim/models/cables.py:195 +msgid "Must define A and B terminations when creating a new cable." +msgstr "" + +#: dcim/models/cables.py:202 +msgid "Cannot connect different termination types to same end of cable." +msgstr "" + +#: dcim/models/cables.py:210 +#, python-brace-format +msgid "Incompatible termination types: {type_a} and {type_b}" +msgstr "" + +#: dcim/models/cables.py:220 +msgid "A and B terminations cannot connect to the same object." +msgstr "" + +#: dcim/models/cables.py:337 ipam/models/asns.py:38 +msgid "end" +msgstr "" + +#: dcim/models/cables.py:386 +msgid "cable termination" +msgstr "" + +#: dcim/models/cables.py:387 +msgid "cable terminations" +msgstr "" + +#: dcim/models/cables.py:400 +#, python-brace-format +msgid "" +"Cannot connect a cable to {obj_parent} > {obj} because it is marked as " +"connected." +msgstr "" + +#: dcim/models/cables.py:417 +#, python-brace-format +msgid "" +"Duplicate termination found for {app_label}.{model} {termination_id}: cable " +"{cable_pk}" +msgstr "" + +#: dcim/models/cables.py:427 +#, python-brace-format +msgid "Cables cannot be terminated to {type_display} interfaces" +msgstr "" + +#: dcim/models/cables.py:434 +msgid "Circuit terminations attached to a provider network may not be cabled." +msgstr "" + +#: dcim/models/cables.py:532 extras/models/configs.py:99 +msgid "is active" +msgstr "" + +#: dcim/models/cables.py:536 +msgid "is complete" +msgstr "" + +#: dcim/models/cables.py:540 +msgid "is split" +msgstr "" + +#: dcim/models/cables.py:548 +msgid "cable path" +msgstr "" + +#: dcim/models/cables.py:549 +msgid "cable paths" +msgstr "" + +#: dcim/models/cables.py:624 +msgid "All originating terminations must be attached to the same link" +msgstr "" + +#: dcim/models/cables.py:636 +msgid "All mid-span terminations must have the same termination type" +msgstr "" + +#: dcim/models/cables.py:644 +msgid "All mid-span terminations must have the same parent object" +msgstr "" + +#: dcim/models/cables.py:668 +msgid "All links must be cable or wireless" +msgstr "" + +#: dcim/models/cables.py:670 +msgid "All links must match first link type" +msgstr "" + +#: dcim/models/cables.py:753 +msgid "" +"All positions counts within the path on opposite ends of links must match" +msgstr "" + +#: dcim/models/cables.py:762 +msgid "Remote termination position filter is missing" +msgstr "" + +#: dcim/models/device_component_templates.py:47 +#, python-brace-format +msgid "" +"{module} is accepted as a substitution for the module bay position when " +"attached to a module type." +msgstr "" + +#: dcim/models/device_component_templates.py:55 +#: dcim/models/device_components.py:61 +msgid "Physical label" +msgstr "" + +#: dcim/models/device_component_templates.py:100 +msgid "Component templates cannot be moved to a different device type." +msgstr "" + +#: dcim/models/device_component_templates.py:151 +msgid "" +"A component template cannot be associated with both a device type and a " +"module type." +msgstr "" + +#: dcim/models/device_component_templates.py:155 +msgid "" +"A component template must be associated with either a device type or a " +"module type." +msgstr "" + +#: dcim/models/device_component_templates.py:210 +msgid "console port template" +msgstr "" + +#: dcim/models/device_component_templates.py:211 +msgid "console port templates" +msgstr "" + +#: dcim/models/device_component_templates.py:245 +msgid "console server port template" +msgstr "" + +#: dcim/models/device_component_templates.py:246 +msgid "console server port templates" +msgstr "" + +#: dcim/models/device_component_templates.py:278 +#: dcim/models/device_components.py:380 +msgid "maximum draw" +msgstr "" + +#: dcim/models/device_component_templates.py:285 +#: dcim/models/device_components.py:387 +msgid "allocated draw" +msgstr "" + +#: dcim/models/device_component_templates.py:295 +msgid "power port template" +msgstr "" + +#: dcim/models/device_component_templates.py:296 +msgid "power port templates" +msgstr "" + +#: dcim/models/device_component_templates.py:316 +#: dcim/models/device_components.py:407 +#, python-brace-format +msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." +msgstr "" + +#: dcim/models/device_component_templates.py:350 +#: dcim/models/device_components.py:509 +msgid "feed leg" +msgstr "" + +#: dcim/models/device_component_templates.py:355 +#: dcim/models/device_components.py:514 +msgid "Phase (for three-phase feeds)" +msgstr "" + +#: dcim/models/device_component_templates.py:361 +msgid "power outlet template" +msgstr "" + +#: dcim/models/device_component_templates.py:362 +msgid "power outlet templates" +msgstr "" + +#: dcim/models/device_component_templates.py:371 +#, python-brace-format +msgid "Parent power port ({power_port}) must belong to the same device type" +msgstr "" + +#: dcim/models/device_component_templates.py:377 +#, python-brace-format +msgid "Parent power port ({power_port}) must belong to the same module type" +msgstr "" + +#: dcim/models/device_component_templates.py:431 +#: dcim/models/device_components.py:717 +msgid "management only" +msgstr "" + +#: dcim/models/device_component_templates.py:439 +#: dcim/models/device_components.py:583 +msgid "bridge interface" +msgstr "" + +#: dcim/models/device_component_templates.py:460 +#: dcim/models/device_components.py:743 +msgid "wireless role" +msgstr "" + +#: dcim/models/device_component_templates.py:466 +msgid "interface template" +msgstr "" + +#: dcim/models/device_component_templates.py:467 +msgid "interface templates" +msgstr "" + +#: dcim/models/device_component_templates.py:476 +#, python-brace-format +msgid "Bridge interface ({bridge}) must belong to the same device type" +msgstr "" + +#: dcim/models/device_component_templates.py:482 +#, python-brace-format +msgid "Bridge interface ({bridge}) must belong to the same module type" +msgstr "" + +#: dcim/models/device_component_templates.py:534 +#: dcim/models/device_components.py:1072 +msgid "rear port position" +msgstr "" + +#: dcim/models/device_component_templates.py:559 +msgid "front port template" +msgstr "" + +#: dcim/models/device_component_templates.py:560 +msgid "front port templates" +msgstr "" + +#: dcim/models/device_component_templates.py:570 +#, python-brace-format +msgid "Rear port ({name}) must belong to the same device type" +msgstr "" + +#: dcim/models/device_component_templates.py:576 +#, python-brace-format +msgid "" +"Invalid rear port position ({position}); rear port {name} has only {count} " +"positions" +msgstr "" + +#: dcim/models/device_component_templates.py:629 +#: dcim/models/device_components.py:1138 +msgid "positions" +msgstr "" + +#: dcim/models/device_component_templates.py:640 +msgid "rear port template" +msgstr "" + +#: dcim/models/device_component_templates.py:641 +msgid "rear port templates" +msgstr "" + +#: dcim/models/device_component_templates.py:670 +#: dcim/models/device_components.py:1185 +msgid "position" +msgstr "" + +#: dcim/models/device_component_templates.py:673 +#: dcim/models/device_components.py:1188 +msgid "Identifier to reference when renaming installed components" +msgstr "" + +#: dcim/models/device_component_templates.py:679 +msgid "module bay template" +msgstr "" + +#: dcim/models/device_component_templates.py:680 +msgid "module bay templates" +msgstr "" + +#: dcim/models/device_component_templates.py:707 +msgid "device bay template" +msgstr "" + +#: dcim/models/device_component_templates.py:708 +msgid "device bay templates" +msgstr "" + +#: dcim/models/device_component_templates.py:722 +#, python-brace-format +msgid "" +"Subdevice role of device type ({device_type}) must be set to \"parent\" to " +"allow device bays." +msgstr "" + +#: dcim/models/device_component_templates.py:777 +#: dcim/models/device_components.py:1342 +msgid "part ID" +msgstr "" + +#: dcim/models/device_component_templates.py:779 +#: dcim/models/device_components.py:1344 +msgid "Manufacturer-assigned part identifier" +msgstr "" + +#: dcim/models/device_component_templates.py:796 +msgid "inventory item template" +msgstr "" + +#: dcim/models/device_component_templates.py:797 +msgid "inventory item templates" +msgstr "" + +#: dcim/models/device_components.py:124 +msgid "Components cannot be moved to a different device." +msgstr "" + +#: dcim/models/device_components.py:171 +msgid "cable end" +msgstr "" + +#: dcim/models/device_components.py:178 +msgid "mark connected" +msgstr "" + +#: dcim/models/device_components.py:180 +msgid "Treat as if a cable is connected" +msgstr "" + +#: dcim/models/device_components.py:198 +msgid "Must specify cable end (A or B) when attaching a cable." +msgstr "" + +#: dcim/models/device_components.py:202 +msgid "Cable end must not be set without a cable." +msgstr "" + +#: dcim/models/device_components.py:206 +msgid "Cannot mark as connected with a cable attached." +msgstr "" + +#: dcim/models/device_components.py:233 +#, python-brace-format +msgid "{class_name} models must declare a parent_object property" +msgstr "" + +#: dcim/models/device_components.py:319 dcim/models/device_components.py:346 +#: dcim/models/device_components.py:377 dcim/models/device_components.py:499 +msgid "Physical port type" +msgstr "" + +#: dcim/models/device_components.py:322 dcim/models/device_components.py:349 +msgid "speed" +msgstr "" + +#: dcim/models/device_components.py:326 dcim/models/device_components.py:353 +msgid "Port speed in bits per second" +msgstr "" + +#: dcim/models/device_components.py:332 +msgid "console port" +msgstr "" + +#: dcim/models/device_components.py:333 +msgid "console ports" +msgstr "" + +#: dcim/models/device_components.py:359 +msgid "console server port" +msgstr "" + +#: dcim/models/device_components.py:360 +msgid "console server ports" +msgstr "" + +#: dcim/models/device_components.py:397 +msgid "power port" +msgstr "" + +#: dcim/models/device_components.py:398 +msgid "power ports" +msgstr "" + +#: dcim/models/device_components.py:524 +msgid "power outlet" +msgstr "" + +#: dcim/models/device_components.py:525 +msgid "power outlets" +msgstr "" + +#: dcim/models/device_components.py:533 +#, python-brace-format +msgid "Parent power port ({power_port}) must belong to the same device" +msgstr "" + +#: dcim/models/device_components.py:562 vpn/models/crypto.py:80 +#: vpn/models/crypto.py:222 +msgid "mode" +msgstr "" + +#: dcim/models/device_components.py:567 +msgid "IEEE 802.1Q tagging strategy" +msgstr "" + +#: dcim/models/device_components.py:575 +msgid "parent interface" +msgstr "" + +#: dcim/models/device_components.py:591 +msgid "untagged VLAN" +msgstr "" + +#: dcim/models/device_components.py:597 +msgid "tagged VLANs" +msgstr "" + +#: dcim/models/device_components.py:605 dcim/tables/devices.py:631 +#: ipam/forms/bulk_edit.py:521 ipam/forms/bulk_import.py:524 +#: ipam/forms/filtersets.py:587 ipam/forms/model_forms.py:694 +#: ipam/tables/vlans.py:109 templates/dcim/interface.html:86 +#: templates/ipam/vlan.html:77 templates/virtualization/vminterface.html:60 +msgid "Q-in-Q SVLAN" +msgstr "" + +#: dcim/models/device_components.py:620 +msgid "primary MAC address" +msgstr "" + +#: dcim/models/device_components.py:632 +msgid "Only Q-in-Q interfaces may specify a service VLAN." +msgstr "" + +#: dcim/models/device_components.py:643 +#, python-brace-format +msgid "" +"MAC address {mac_address} is assigned to a different interface ({interface})." +msgstr "" + +#: dcim/models/device_components.py:708 +msgid "parent LAG" +msgstr "" + +#: dcim/models/device_components.py:718 +msgid "This interface is used only for out-of-band management" +msgstr "" + +#: dcim/models/device_components.py:723 +msgid "speed (Kbps)" +msgstr "" + +#: dcim/models/device_components.py:726 +msgid "duplex" +msgstr "" + +#: dcim/models/device_components.py:736 +msgid "64-bit World Wide Name" +msgstr "" + +#: dcim/models/device_components.py:750 +msgid "wireless channel" +msgstr "" + +#: dcim/models/device_components.py:757 +msgid "channel frequency (MHz)" +msgstr "" + +#: dcim/models/device_components.py:758 dcim/models/device_components.py:766 +msgid "Populated by selected channel (if set)" +msgstr "" + +#: dcim/models/device_components.py:775 +msgid "transmit power (dBm)" +msgstr "" + +#: dcim/models/device_components.py:802 wireless/models.py:117 +msgid "wireless LANs" +msgstr "" + +#: dcim/models/device_components.py:850 +#: virtualization/models/virtualmachines.py:364 +msgid "interface" +msgstr "" + +#: dcim/models/device_components.py:851 +#: virtualization/models/virtualmachines.py:365 +msgid "interfaces" +msgstr "" + +#: dcim/models/device_components.py:859 +#, python-brace-format +msgid "{display_type} interfaces cannot have a cable attached." +msgstr "" + +#: dcim/models/device_components.py:867 +#, python-brace-format +msgid "{display_type} interfaces cannot be marked as connected." +msgstr "" + +#: dcim/models/device_components.py:876 +#: virtualization/models/virtualmachines.py:375 +msgid "An interface cannot be its own parent." +msgstr "" + +#: dcim/models/device_components.py:880 +msgid "Only virtual interfaces may be assigned to a parent interface." +msgstr "" + +#: dcim/models/device_components.py:887 +#, python-brace-format +msgid "" +"The selected parent interface ({interface}) belongs to a different device " +"({device})" +msgstr "" + +#: dcim/models/device_components.py:893 +#, python-brace-format +msgid "" +"The selected parent interface ({interface}) belongs to {device}, which is " +"not part of virtual chassis {virtual_chassis}." +msgstr "" + +#: dcim/models/device_components.py:909 +#, python-brace-format +msgid "" +"The selected bridge interface ({bridge}) belongs to a different device " +"({device})." +msgstr "" + +#: dcim/models/device_components.py:915 +#, python-brace-format +msgid "" +"The selected bridge interface ({interface}) belongs to {device}, which is " +"not part of virtual chassis {virtual_chassis}." +msgstr "" + +#: dcim/models/device_components.py:926 +msgid "Virtual interfaces cannot have a parent LAG interface." +msgstr "" + +#: dcim/models/device_components.py:930 +msgid "A LAG interface cannot be its own parent." +msgstr "" + +#: dcim/models/device_components.py:937 +#, python-brace-format +msgid "" +"The selected LAG interface ({lag}) belongs to a different device ({device})." +msgstr "" + +#: dcim/models/device_components.py:943 +#, python-brace-format +msgid "" +"The selected LAG interface ({lag}) belongs to {device}, which is not part of " +"virtual chassis {virtual_chassis}." +msgstr "" + +#: dcim/models/device_components.py:953 +msgid "Channel may be set only on wireless interfaces." +msgstr "" + +#: dcim/models/device_components.py:959 +msgid "Channel frequency may be set only on wireless interfaces." +msgstr "" + +#: dcim/models/device_components.py:963 +msgid "Cannot specify custom frequency with channel selected." +msgstr "" + +#: dcim/models/device_components.py:969 +msgid "Channel width may be set only on wireless interfaces." +msgstr "" + +#: dcim/models/device_components.py:971 +msgid "Cannot specify custom width with channel selected." +msgstr "" + +#: dcim/models/device_components.py:975 +msgid "Interface mode does not support an untagged vlan." +msgstr "" + +#: dcim/models/device_components.py:981 +#, python-brace-format +msgid "" +"The untagged VLAN ({untagged_vlan}) must belong to the same site as the " +"interface's parent device, or it must be global." +msgstr "" + +#: dcim/models/device_components.py:1078 +msgid "Mapped position on corresponding rear port" +msgstr "" + +#: dcim/models/device_components.py:1094 +msgid "front port" +msgstr "" + +#: dcim/models/device_components.py:1095 +msgid "front ports" +msgstr "" + +#: dcim/models/device_components.py:1106 +#, python-brace-format +msgid "Rear port ({rear_port}) must belong to the same device" +msgstr "" + +#: dcim/models/device_components.py:1114 +#, python-brace-format +msgid "" +"Invalid rear port position ({rear_port_position}): Rear port {name} has only " +"{positions} positions." +msgstr "" + +#: dcim/models/device_components.py:1144 +msgid "Number of front ports which may be mapped" +msgstr "" + +#: dcim/models/device_components.py:1149 +msgid "rear port" +msgstr "" + +#: dcim/models/device_components.py:1150 +msgid "rear ports" +msgstr "" + +#: dcim/models/device_components.py:1161 +#, python-brace-format +msgid "" +"The number of positions cannot be less than the number of mapped front ports " +"({frontport_count})" +msgstr "" + +#: dcim/models/device_components.py:1202 +msgid "module bay" +msgstr "" + +#: dcim/models/device_components.py:1203 +msgid "module bays" +msgstr "" + +#: dcim/models/device_components.py:1217 dcim/models/modules.py:257 +msgid "A module bay cannot belong to a module installed within it." +msgstr "" + +#: dcim/models/device_components.py:1245 +msgid "device bay" +msgstr "" + +#: dcim/models/device_components.py:1246 +msgid "device bays" +msgstr "" + +#: dcim/models/device_components.py:1253 +#, python-brace-format +msgid "This type of device ({device_type}) does not support device bays." +msgstr "" + +#: dcim/models/device_components.py:1259 +msgid "Cannot install a device into itself." +msgstr "" + +#: dcim/models/device_components.py:1267 +#, python-brace-format +msgid "" +"Cannot install the specified device; device is already installed in {bay}." +msgstr "" + +#: dcim/models/device_components.py:1288 +msgid "inventory item role" +msgstr "" + +#: dcim/models/device_components.py:1289 +msgid "inventory item roles" +msgstr "" + +#: dcim/models/device_components.py:1348 dcim/models/devices.py:533 +#: dcim/models/modules.py:217 dcim/models/racks.py:310 +#: virtualization/models/virtualmachines.py:125 +msgid "serial number" +msgstr "" + +#: dcim/models/device_components.py:1356 dcim/models/devices.py:541 +#: dcim/models/modules.py:224 dcim/models/racks.py:317 +msgid "asset tag" +msgstr "" + +#: dcim/models/device_components.py:1357 +msgid "A unique tag used to identify this item" +msgstr "" + +#: dcim/models/device_components.py:1360 +msgid "discovered" +msgstr "" + +#: dcim/models/device_components.py:1362 +msgid "This item was automatically discovered" +msgstr "" + +#: dcim/models/device_components.py:1380 +msgid "inventory item" +msgstr "" + +#: dcim/models/device_components.py:1381 +msgid "inventory items" +msgstr "" + +#: dcim/models/device_components.py:1389 +msgid "Cannot assign self as parent." +msgstr "" + +#: dcim/models/device_components.py:1397 +msgid "Parent inventory item does not belong to the same device." +msgstr "" + +#: dcim/models/device_components.py:1403 +msgid "Cannot move an inventory item with dependent children" +msgstr "" + +#: dcim/models/device_components.py:1411 +msgid "Cannot assign inventory item to component on another device" +msgstr "" + +#: dcim/models/devices.py:60 +msgid "manufacturer" +msgstr "" + +#: dcim/models/devices.py:61 +msgid "manufacturers" +msgstr "" + +#: dcim/models/devices.py:85 dcim/models/modules.py:73 dcim/models/racks.py:139 +msgid "model" +msgstr "" + +#: dcim/models/devices.py:98 +msgid "default platform" +msgstr "" + +#: dcim/models/devices.py:101 dcim/models/modules.py:77 +msgid "part number" +msgstr "" + +#: dcim/models/devices.py:104 dcim/models/modules.py:80 +msgid "Discrete part number (optional)" +msgstr "" + +#: dcim/models/devices.py:110 dcim/models/racks.py:53 +msgid "height (U)" +msgstr "" + +#: dcim/models/devices.py:114 +msgid "exclude from utilization" +msgstr "" + +#: dcim/models/devices.py:115 +msgid "Devices of this type are excluded when calculating rack utilization." +msgstr "" + +#: dcim/models/devices.py:119 +msgid "is full depth" +msgstr "" + +#: dcim/models/devices.py:120 +msgid "Device consumes both front and rear rack faces." +msgstr "" + +#: dcim/models/devices.py:127 +msgid "parent/child status" +msgstr "" + +#: dcim/models/devices.py:128 +msgid "" +"Parent devices house child devices in device bays. Leave blank if this " +"device type is neither a parent nor a child." +msgstr "" + +#: dcim/models/devices.py:132 dcim/models/devices.py:586 +#: dcim/models/modules.py:83 dcim/models/racks.py:321 +msgid "airflow" +msgstr "" + +#: dcim/models/devices.py:209 +msgid "device type" +msgstr "" + +#: dcim/models/devices.py:210 +msgid "device types" +msgstr "" + +#: dcim/models/devices.py:292 +msgid "U height must be in increments of 0.5 rack units." +msgstr "" + +#: dcim/models/devices.py:309 +#, python-brace-format +msgid "" +"Device {device} in rack {rack} does not have sufficient space to accommodate " +"a height of {height}U" +msgstr "" + +#: dcim/models/devices.py:324 +#, python-brace-format +msgid "" +"Unable to set 0U height: Found {racked_instance_count} " +"instances already mounted within racks." +msgstr "" + +#: dcim/models/devices.py:333 +msgid "" +"Must delete all device bay templates associated with this device before " +"declassifying it as a parent device." +msgstr "" + +#: dcim/models/devices.py:339 +msgid "Child device types must be 0U." +msgstr "" + +#: dcim/models/devices.py:388 +msgid "Virtual machines may be assigned to this role" +msgstr "" + +#: dcim/models/devices.py:411 +msgid "A top-level device role with this name already exists." +msgstr "" + +#: dcim/models/devices.py:421 +msgid "A top-level device role with this slug already exists." +msgstr "" + +#: dcim/models/devices.py:424 +msgid "device role" +msgstr "" + +#: dcim/models/devices.py:425 +msgid "device roles" +msgstr "" + +#: dcim/models/devices.py:439 +msgid "Optionally limit this platform to devices of a certain manufacturer" +msgstr "" + +#: dcim/models/devices.py:453 +msgid "platform" +msgstr "" + +#: dcim/models/devices.py:454 +msgid "platforms" +msgstr "" + +#: dcim/models/devices.py:464 +msgid "Platform name must be unique." +msgstr "" + +#: dcim/models/devices.py:474 +msgid "Platform slug must be unique." +msgstr "" + +#: dcim/models/devices.py:507 +msgid "The function this device serves" +msgstr "" + +#: dcim/models/devices.py:534 +msgid "Chassis serial number, assigned by the manufacturer" +msgstr "" + +#: dcim/models/devices.py:542 dcim/models/modules.py:225 +msgid "A unique tag used to identify this device" +msgstr "" + +#: dcim/models/devices.py:569 +msgid "position (U)" +msgstr "" + +#: dcim/models/devices.py:577 +msgid "rack face" +msgstr "" + +#: dcim/models/devices.py:598 dcim/models/devices.py:1223 +#: virtualization/models/virtualmachines.py:94 +msgid "primary IPv4" +msgstr "" + +#: dcim/models/devices.py:606 dcim/models/devices.py:1231 +#: virtualization/models/virtualmachines.py:102 +msgid "primary IPv6" +msgstr "" + +#: dcim/models/devices.py:614 +msgid "out-of-band IP" +msgstr "" + +#: dcim/models/devices.py:631 +msgid "VC position" +msgstr "" + +#: dcim/models/devices.py:634 +msgid "Virtual chassis position" +msgstr "" + +#: dcim/models/devices.py:637 +msgid "VC priority" +msgstr "" + +#: dcim/models/devices.py:641 +msgid "Virtual chassis master election priority" +msgstr "" + +#: dcim/models/devices.py:644 dcim/models/sites.py:211 +msgid "latitude" +msgstr "" + +#: dcim/models/devices.py:653 dcim/models/devices.py:665 +#: dcim/models/sites.py:220 dcim/models/sites.py:232 +msgid "GPS coordinate in decimal format (xx.yyyyyy)" +msgstr "" + +#: dcim/models/devices.py:656 dcim/models/sites.py:223 +msgid "longitude" +msgstr "" + +#: dcim/models/devices.py:739 +msgid "Device name must be unique per site." +msgstr "" + +#: dcim/models/devices.py:750 +msgid "device" +msgstr "" + +#: dcim/models/devices.py:751 +msgid "devices" +msgstr "" + +#: dcim/models/devices.py:770 +#, python-brace-format +msgid "Rack {rack} does not belong to site {site}." +msgstr "" + +#: dcim/models/devices.py:775 +#, python-brace-format +msgid "Location {location} does not belong to site {site}." +msgstr "" + +#: dcim/models/devices.py:781 +#, python-brace-format +msgid "Rack {rack} does not belong to location {location}." +msgstr "" + +#: dcim/models/devices.py:788 +msgid "Cannot select a rack face without assigning a rack." +msgstr "" + +#: dcim/models/devices.py:792 +msgid "Cannot select a rack position without assigning a rack." +msgstr "" + +#: dcim/models/devices.py:798 +msgid "Position must be in increments of 0.5 rack units." +msgstr "" + +#: dcim/models/devices.py:802 +msgid "Must specify rack face when defining rack position." +msgstr "" + +#: dcim/models/devices.py:810 +#, python-brace-format +msgid "A 0U device type ({device_type}) cannot be assigned to a rack position." +msgstr "" + +#: dcim/models/devices.py:821 +msgid "" +"Child device types cannot be assigned to a rack face. This is an attribute " +"of the parent device." +msgstr "" + +#: dcim/models/devices.py:828 +msgid "" +"Child device types cannot be assigned to a rack position. This is an " +"attribute of the parent device." +msgstr "" + +#: dcim/models/devices.py:842 +#, python-brace-format +msgid "" +"U{position} is already occupied or does not have sufficient space to " +"accommodate this device type: {device_type} ({u_height}U)" +msgstr "" + +#: dcim/models/devices.py:857 +#, python-brace-format +msgid "{ip} is not an IPv4 address." +msgstr "" + +#: dcim/models/devices.py:869 dcim/models/devices.py:887 +#, python-brace-format +msgid "The specified IP address ({ip}) is not assigned to this device." +msgstr "" + +#: dcim/models/devices.py:875 +#, python-brace-format +msgid "{ip} is not an IPv6 address." +msgstr "" + +#: dcim/models/devices.py:905 +#, python-brace-format +msgid "" +"The assigned platform is limited to {platform_manufacturer} device types, " +"but this device's type belongs to {devicetype_manufacturer}." +msgstr "" + +#: dcim/models/devices.py:916 +#, python-brace-format +msgid "The assigned cluster belongs to a different site ({site})" +msgstr "" + +#: dcim/models/devices.py:923 +#, python-brace-format +msgid "The assigned cluster belongs to a different location ({location})" +msgstr "" + +#: dcim/models/devices.py:931 +msgid "A device assigned to a virtual chassis must have its position defined." +msgstr "" + +#: dcim/models/devices.py:937 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" + +#: dcim/models/devices.py:1138 +msgid "domain" +msgstr "" + +#: dcim/models/devices.py:1151 dcim/models/devices.py:1152 +msgid "virtual chassis" +msgstr "" + +#: dcim/models/devices.py:1164 +#, python-brace-format +msgid "The selected master ({master}) is not assigned to this virtual chassis." +msgstr "" + +#: dcim/models/devices.py:1179 +#, python-brace-format +msgid "" +"Unable to delete virtual chassis {self}. There are member interfaces which " +"form a cross-chassis LAG interfaces." +msgstr "" + +#: dcim/models/devices.py:1212 vpn/models/l2vpn.py:42 +msgid "identifier" +msgstr "" + +#: dcim/models/devices.py:1213 +msgid "Numeric identifier unique to the parent device" +msgstr "" + +#: dcim/models/devices.py:1241 extras/models/customfields.py:231 +#: extras/models/models.py:111 extras/models/models.py:800 +#: netbox/models/__init__.py:120 netbox/models/__init__.py:155 +msgid "comments" +msgstr "" + +#: dcim/models/devices.py:1257 +msgid "virtual device context" +msgstr "" + +#: dcim/models/devices.py:1258 +msgid "virtual device contexts" +msgstr "" + +#: dcim/models/devices.py:1287 +#, python-brace-format +msgid "{ip} is not an IPv{family} address." +msgstr "" + +#: dcim/models/devices.py:1293 +msgid "Primary IP address must belong to an interface on the assigned device." +msgstr "" + +#: dcim/models/devices.py:1324 +msgid "MAC addresses" +msgstr "" + +#: dcim/models/devices.py:1356 +msgid "" +"Cannot unassign MAC Address while it is designated as the primary MAC for an " +"object" +msgstr "" + +#: dcim/models/devices.py:1360 +msgid "" +"Cannot reassign MAC Address while it is designated as the primary MAC for an " +"object" +msgstr "" + +#: dcim/models/mixins.py:131 virtualization/models/virtualmachines.py:390 +msgid "An interface cannot be bridged to itself." +msgstr "" + +#: dcim/models/mixins.py:136 +msgid "Virtual interfaces cannot have a PoE mode." +msgstr "" + +#: dcim/models/mixins.py:140 +msgid "Virtual interfaces cannot have a PoE type." +msgstr "" + +#: dcim/models/mixins.py:146 +msgid "Must specify PoE mode when designating a PoE type." +msgstr "" + +#: dcim/models/mixins.py:151 +msgid "Wireless role may be set only on wireless interfaces." +msgstr "" + +#: dcim/models/modules.py:39 extras/models/configs.py:49 +msgid "schema" +msgstr "" + +#: dcim/models/modules.py:46 +msgid "module type profile" +msgstr "" + +#: dcim/models/modules.py:47 +msgid "module type profiles" +msgstr "" + +#: dcim/models/modules.py:92 +msgid "attributes" +msgstr "" + +#: dcim/models/modules.py:108 +msgid "module type" +msgstr "" + +#: dcim/models/modules.py:109 +msgid "module types" +msgstr "" + +#: dcim/models/modules.py:139 +#, python-brace-format +msgid "Invalid schema: {error}" +msgstr "" + +#: dcim/models/modules.py:232 +msgid "module" +msgstr "" + +#: dcim/models/modules.py:233 +msgid "modules" +msgstr "" + +#: dcim/models/modules.py:246 +#, python-brace-format +msgid "" +"Module must be installed within a module bay belonging to the assigned " +"device ({device})." +msgstr "" + +#: dcim/models/power.py:55 +msgid "power panel" +msgstr "" + +#: dcim/models/power.py:56 +msgid "power panels" +msgstr "" + +#: dcim/models/power.py:67 +#, python-brace-format +msgid "" +"Location {location} ({location_site}) is in a different site than {site}" +msgstr "" + +#: dcim/models/power.py:106 +msgid "supply" +msgstr "" + +#: dcim/models/power.py:112 +msgid "phase" +msgstr "" + +#: dcim/models/power.py:118 +msgid "voltage" +msgstr "" + +#: dcim/models/power.py:123 +msgid "amperage" +msgstr "" + +#: dcim/models/power.py:128 +msgid "max utilization" +msgstr "" + +#: dcim/models/power.py:131 +msgid "Maximum permissible draw (percentage)" +msgstr "" + +#: dcim/models/power.py:134 +msgid "available power" +msgstr "" + +#: dcim/models/power.py:162 +msgid "power feed" +msgstr "" + +#: dcim/models/power.py:163 +msgid "power feeds" +msgstr "" + +#: dcim/models/power.py:174 +#, python-brace-format +msgid "" +"Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " +"are in different sites." +msgstr "" + +#: dcim/models/power.py:185 +msgid "Voltage cannot be negative for AC supply" +msgstr "" + +#: dcim/models/racks.py:46 +msgid "width" +msgstr "" + +#: dcim/models/racks.py:47 +msgid "Rail-to-rail width" +msgstr "" + +#: dcim/models/racks.py:55 +msgid "Height in rack units" +msgstr "" + +#: dcim/models/racks.py:59 +msgid "starting unit" +msgstr "" + +#: dcim/models/racks.py:61 +msgid "Starting unit for rack" +msgstr "" + +#: dcim/models/racks.py:65 +msgid "descending units" +msgstr "" + +#: dcim/models/racks.py:66 +msgid "Units are numbered top-to-bottom" +msgstr "" + +#: dcim/models/racks.py:71 +msgid "outer width" +msgstr "" + +#: dcim/models/racks.py:74 +msgid "Outer dimension of rack (width)" +msgstr "" + +#: dcim/models/racks.py:77 +msgid "outer height" +msgstr "" + +#: dcim/models/racks.py:80 +msgid "Outer dimension of rack (height)" +msgstr "" + +#: dcim/models/racks.py:83 +msgid "outer depth" +msgstr "" + +#: dcim/models/racks.py:86 +msgid "Outer dimension of rack (depth)" +msgstr "" + +#: dcim/models/racks.py:89 +msgid "outer unit" +msgstr "" + +#: dcim/models/racks.py:96 +msgid "mounting depth" +msgstr "" + +#: dcim/models/racks.py:100 +msgid "" +"Maximum depth of a mounted device, in millimeters. For four-post racks, this " +"is the distance between the front and rear rails." +msgstr "" + +#: dcim/models/racks.py:108 +msgid "max weight" +msgstr "" + +#: dcim/models/racks.py:111 +msgid "Maximum load capacity for the rack" +msgstr "" + +#: dcim/models/racks.py:131 dcim/models/racks.py:253 +msgid "form factor" +msgstr "" + +#: dcim/models/racks.py:168 +msgid "rack type" +msgstr "" + +#: dcim/models/racks.py:169 +msgid "rack types" +msgstr "" + +#: dcim/models/racks.py:183 dcim/models/racks.py:375 +msgid "Must specify a unit when setting an outer dimension" +msgstr "" + +#: dcim/models/racks.py:187 dcim/models/racks.py:379 +msgid "Must specify a unit when setting a maximum weight" +msgstr "" + +#: dcim/models/racks.py:233 +msgid "rack role" +msgstr "" + +#: dcim/models/racks.py:234 +msgid "rack roles" +msgstr "" + +#: dcim/models/racks.py:271 +msgid "facility ID" +msgstr "" + +#: dcim/models/racks.py:272 +msgid "Locally-assigned identifier" +msgstr "" + +#: dcim/models/racks.py:305 ipam/forms/bulk_import.py:204 +#: ipam/forms/bulk_import.py:268 ipam/forms/bulk_import.py:303 +#: ipam/forms/bulk_import.py:515 virtualization/forms/bulk_import.py:123 +msgid "Functional role" +msgstr "" + +#: dcim/models/racks.py:318 +msgid "A unique tag used to identify this rack" +msgstr "" + +#: dcim/models/racks.py:358 +msgid "rack" +msgstr "" + +#: dcim/models/racks.py:359 +msgid "racks" +msgstr "" + +#: dcim/models/racks.py:371 +#, python-brace-format +msgid "Assigned location must belong to parent site ({site})." +msgstr "" + +#: dcim/models/racks.py:394 +#, python-brace-format +msgid "" +"Rack must be at least {min_height}U tall to house currently installed " +"devices." +msgstr "" + +#: dcim/models/racks.py:403 +#, python-brace-format +msgid "" +"Rack unit numbering must begin at {position} or less to house currently " +"installed devices." +msgstr "" + +#: dcim/models/racks.py:411 +#, python-brace-format +msgid "Location must be from the same site, {site}." +msgstr "" + +#: dcim/models/racks.py:673 +msgid "units" +msgstr "" + +#: dcim/models/racks.py:705 +msgid "rack reservation" +msgstr "" + +#: dcim/models/racks.py:706 +msgid "rack reservations" +msgstr "" + +#: dcim/models/racks.py:720 +#, python-brace-format +msgid "Invalid unit(s) for {height}U rack: {unit_list}" +msgstr "" + +#: dcim/models/racks.py:733 +#, python-brace-format +msgid "The following units have already been reserved: {unit_list}" +msgstr "" + +#: dcim/models/sites.py:56 +msgid "A top-level region with this name already exists." +msgstr "" + +#: dcim/models/sites.py:66 +msgid "A top-level region with this slug already exists." +msgstr "" + +#: dcim/models/sites.py:69 +msgid "region" +msgstr "" + +#: dcim/models/sites.py:70 +msgid "regions" +msgstr "" + +#: dcim/models/sites.py:112 +msgid "A top-level site group with this name already exists." +msgstr "" + +#: dcim/models/sites.py:122 +msgid "A top-level site group with this slug already exists." +msgstr "" + +#: dcim/models/sites.py:125 +msgid "site group" +msgstr "" + +#: dcim/models/sites.py:126 +msgid "site groups" +msgstr "" + +#: dcim/models/sites.py:148 +msgid "Full name of the site" +msgstr "" + +#: dcim/models/sites.py:184 dcim/models/sites.py:294 +msgid "facility" +msgstr "" + +#: dcim/models/sites.py:187 dcim/models/sites.py:297 +msgid "Local facility ID or description" +msgstr "" + +#: dcim/models/sites.py:199 +msgid "physical address" +msgstr "" + +#: dcim/models/sites.py:202 +msgid "Physical location of the building" +msgstr "" + +#: dcim/models/sites.py:205 +msgid "shipping address" +msgstr "" + +#: dcim/models/sites.py:208 +msgid "If different from the physical address" +msgstr "" + +#: dcim/models/sites.py:256 +msgid "site" +msgstr "" + +#: dcim/models/sites.py:257 +msgid "sites" +msgstr "" + +#: dcim/models/sites.py:330 +msgid "A location with this name already exists within the specified site." +msgstr "" + +#: dcim/models/sites.py:340 +msgid "A location with this slug already exists within the specified site." +msgstr "" + +#: dcim/models/sites.py:343 +msgid "location" +msgstr "" + +#: dcim/models/sites.py:344 +msgid "locations" +msgstr "" + +#: dcim/models/sites.py:355 +#, python-brace-format +msgid "Parent location ({parent}) must belong to the same site ({site})." +msgstr "" + +#: dcim/object_actions.py:15 templates/dcim/device/base.html:21 +#: templates/dcim/devicetype/base.html:18 +#: templates/dcim/inc/moduletype_buttons.html:9 templates/dcim/module.html:18 +#: templates/virtualization/buttons/bulk_add_components.html:4 +#: templates/virtualization/virtualmachine/base.html:22 +#: virtualization/object_actions.py:14 +msgid "Add Components" +msgstr "" + +#: dcim/object_actions.py:32 +msgid "Disconnect Selected" +msgstr "" + +#: dcim/tables/cables.py:55 +msgid "Termination A" +msgstr "" + +#: dcim/tables/cables.py:60 +msgid "Termination B" +msgstr "" + +#: dcim/tables/cables.py:66 wireless/forms/bulk_import.py:97 +#: wireless/tables/wirelesslink.py:22 +msgid "Device A" +msgstr "" + +#: dcim/tables/cables.py:72 wireless/forms/bulk_import.py:118 +#: wireless/tables/wirelesslink.py:31 +msgid "Device B" +msgstr "" + +#: dcim/tables/cables.py:78 +msgid "Location A" +msgstr "" + +#: dcim/tables/cables.py:84 +msgid "Location B" +msgstr "" + +#: dcim/tables/cables.py:90 +msgid "Rack A" +msgstr "" + +#: dcim/tables/cables.py:96 +msgid "Rack B" +msgstr "" + +#: dcim/tables/cables.py:102 wireless/forms/bulk_import.py:90 +msgid "Site A" +msgstr "" + +#: dcim/tables/cables.py:108 wireless/forms/bulk_import.py:111 +msgid "Site B" +msgstr "" + +#: dcim/tables/cables.py:117 +msgid "Color Name" +msgstr "" + +#: dcim/tables/connections.py:31 dcim/tables/connections.py:50 +#: dcim/tables/connections.py:71 +#: templates/dcim/inc/connection_endpoints.html:16 +msgid "Reachable" +msgstr "" + +#: dcim/tables/devices.py:73 dcim/tables/devices.py:125 +#: dcim/tables/racks.py:153 dcim/tables/sites.py:118 dcim/tables/sites.py:165 +#: extras/tables/tables.py:668 netbox/navigation/menu.py:69 +#: netbox/navigation/menu.py:73 netbox/navigation/menu.py:75 +#: virtualization/forms/model_forms.py:122 virtualization/tables/clusters.py:87 +#: virtualization/views.py:243 +msgid "Devices" +msgstr "" + +#: dcim/tables/devices.py:78 dcim/tables/devices.py:130 +#: virtualization/tables/clusters.py:92 +msgid "VMs" +msgstr "" + +#: dcim/tables/devices.py:119 dcim/tables/devices.py:239 +#: extras/forms/model_forms.py:743 templates/dcim/device.html:118 +#: templates/dcim/devicerole.html:48 templates/dcim/platform.html:45 +#: templates/extras/configtemplate.html:10 +#: templates/extras/object_render_config.html:12 +#: templates/extras/object_render_config.html:15 +#: templates/virtualization/virtualmachine.html:48 +#: virtualization/tables/virtualmachines.py:77 +msgid "Config Template" +msgstr "" + +#: dcim/tables/devices.py:200 dcim/tables/devicetypes.py:103 +msgid "U Height" +msgstr "" + +#: dcim/tables/devices.py:210 dcim/tables/devices.py:1128 +#: ipam/forms/bulk_import.py:597 ipam/forms/model_forms.py:317 +#: ipam/forms/model_forms.py:330 ipam/tables/ip.py:314 ipam/tables/ip.py:381 +#: ipam/tables/ip.py:391 ipam/tables/ip.py:414 templates/ipam/ipaddress.html:11 +#: virtualization/tables/virtualmachines.py:65 +msgid "IP Address" +msgstr "" + +#: dcim/tables/devices.py:214 dcim/tables/devices.py:1132 +#: virtualization/tables/virtualmachines.py:56 +msgid "IPv4 Address" +msgstr "" + +#: dcim/tables/devices.py:218 dcim/tables/devices.py:1136 +#: virtualization/tables/virtualmachines.py:60 +msgid "IPv6 Address" +msgstr "" + +#: dcim/tables/devices.py:233 +msgid "VC Position" +msgstr "" + +#: dcim/tables/devices.py:236 +msgid "VC Priority" +msgstr "" + +#: dcim/tables/devices.py:243 templates/dcim/device_edit.html:40 +#: templates/dcim/devicebay_populate.html:16 +msgid "Parent Device" +msgstr "" + +#: dcim/tables/devices.py:248 +msgid "Position (Device Bay)" +msgstr "" + +#: dcim/tables/devices.py:257 +msgid "Console ports" +msgstr "" + +#: dcim/tables/devices.py:260 +msgid "Console server ports" +msgstr "" + +#: dcim/tables/devices.py:263 +msgid "Power ports" +msgstr "" + +#: dcim/tables/devices.py:266 +msgid "Power outlets" +msgstr "" + +#: dcim/tables/devices.py:269 dcim/tables/devices.py:1141 +#: dcim/tables/devicetypes.py:133 dcim/views.py:1215 dcim/views.py:1528 +#: dcim/views.py:2318 netbox/navigation/menu.py:95 +#: netbox/navigation/menu.py:259 +#: templates/dcim/buttons/bulk_add_components.html:38 +#: templates/dcim/device/base.html:37 templates/dcim/devicetype/base.html:34 +#: templates/dcim/inc/moduletype_buttons.html:25 templates/dcim/module.html:34 +#: templates/dcim/virtualdevicecontext.html:61 +#: templates/dcim/virtualdevicecontext.html:81 +#: templates/virtualization/buttons/bulk_add_components.html:10 +#: templates/virtualization/virtualmachine/base.html:27 +#: virtualization/tables/virtualmachines.py:71 virtualization/views.py:362 +#: wireless/tables/wirelesslan.py:67 +msgid "Interfaces" +msgstr "" + +#: dcim/tables/devices.py:272 +msgid "Front ports" +msgstr "" + +#: dcim/tables/devices.py:278 +msgid "Device bays" +msgstr "" + +#: dcim/tables/devices.py:281 +msgid "Module bays" +msgstr "" + +#: dcim/tables/devices.py:284 +msgid "Inventory items" +msgstr "" + +#: dcim/tables/devices.py:317 +msgid "Device Location" +msgstr "" + +#: dcim/tables/devices.py:322 +msgid "Device Site" +msgstr "" + +#: dcim/tables/devices.py:337 dcim/tables/modules.py:91 +#: templates/dcim/module.html:65 templates/dcim/modulebay.html:17 +msgid "Module Bay" +msgstr "" + +#: dcim/tables/devices.py:350 dcim/tables/devicetypes.py:52 +#: dcim/tables/devicetypes.py:148 dcim/views.py:1290 dcim/views.py:2404 +#: netbox/navigation/menu.py:104 +#: templates/dcim/buttons/bulk_add_components.html:66 +#: templates/dcim/device/base.html:52 templates/dcim/devicetype/base.html:49 +#: templates/dcim/inc/panels/inventory_items.html:6 +#: templates/dcim/inventoryitemrole.html:32 +msgid "Inventory Items" +msgstr "" + +#: dcim/tables/devices.py:365 +msgid "Cable Color" +msgstr "" + +#: dcim/tables/devices.py:371 +msgid "Link Peers" +msgstr "" + +#: dcim/tables/devices.py:374 +msgid "Mark Connected" +msgstr "" + +#: dcim/tables/devices.py:493 +msgid "Maximum draw (W)" +msgstr "" + +#: dcim/tables/devices.py:496 +msgid "Allocated draw (W)" +msgstr "" + +#: dcim/tables/devices.py:601 ipam/forms/model_forms.py:787 +#: ipam/tables/fhrp.py:28 ipam/views.py:689 ipam/views.py:790 +#: netbox/navigation/menu.py:165 netbox/navigation/menu.py:167 +#: templates/dcim/interface.html:396 templates/ipam/ipaddress_bulk_add.html:15 +#: templates/ipam/service.html:42 templates/virtualization/vminterface.html:107 +#: vpn/tables/tunnels.py:101 +msgid "IP Addresses" +msgstr "" + +#: dcim/tables/devices.py:607 netbox/navigation/menu.py:211 +#: templates/ipam/inc/panels/fhrp_groups.html:6 +msgid "FHRP Groups" +msgstr "" + +#: dcim/tables/devices.py:619 templates/dcim/interface.html:95 +#: templates/virtualization/vminterface.html:65 templates/vpn/tunnel.html:18 +#: templates/vpn/tunneltermination.html:13 vpn/forms/bulk_edit.py:76 +#: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:46 +#: vpn/forms/filtersets.py:87 vpn/forms/model_forms.py:61 +#: vpn/forms/model_forms.py:146 vpn/tables/tunnels.py:80 +msgid "Tunnel" +msgstr "" + +#: dcim/tables/devices.py:655 dcim/tables/devicetypes.py:234 +#: templates/dcim/interface.html:65 +msgid "Management Only" +msgstr "" + +#: dcim/tables/devices.py:674 +msgid "VDCs" +msgstr "" + +#: dcim/tables/devices.py:681 templates/dcim/interface.html:163 +msgid "Virtual Circuit" +msgstr "" + +#: dcim/tables/devices.py:933 templates/dcim/modulebay.html:53 +msgid "Installed Module" +msgstr "" + +#: dcim/tables/devices.py:936 +msgid "Module Serial" +msgstr "" + +#: dcim/tables/devices.py:940 +msgid "Module Asset Tag" +msgstr "" + +#: dcim/tables/devices.py:949 +msgid "Module Status" +msgstr "" + +#: dcim/tables/devices.py:1003 dcim/tables/devicetypes.py:319 +#: templates/dcim/inventoryitem.html:44 +msgid "Component" +msgstr "" + +#: dcim/tables/devices.py:1061 +msgid "Items" +msgstr "" + +#: dcim/tables/devicetypes.py:37 netbox/navigation/menu.py:60 +#: netbox/navigation/menu.py:62 +msgid "Rack Types" +msgstr "" + +#: dcim/tables/devicetypes.py:42 netbox/navigation/menu.py:84 +#: netbox/navigation/menu.py:86 +msgid "Device Types" +msgstr "" + +#: dcim/tables/devicetypes.py:47 netbox/navigation/menu.py:87 +#: templates/dcim/moduletypeprofile.html:45 +msgid "Module Types" +msgstr "" + +#: dcim/tables/devicetypes.py:57 extras/forms/filtersets.py:444 +#: extras/forms/model_forms.py:650 extras/tables/tables.py:663 +#: netbox/navigation/menu.py:78 +msgid "Platforms" +msgstr "" + +#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:29 +msgid "Default Platform" +msgstr "" + +#: dcim/tables/devicetypes.py:93 templates/dcim/devicetype.html:45 +msgid "Full Depth" +msgstr "" + +#: dcim/tables/devicetypes.py:118 dcim/tables/modules.py:65 +#: dcim/tables/racks.py:93 +msgid "Instances" +msgstr "" + +#: dcim/tables/devicetypes.py:121 dcim/views.py:1155 dcim/views.py:1468 +#: dcim/views.py:2253 netbox/navigation/menu.py:98 +#: templates/dcim/buttons/bulk_add_components.html:10 +#: templates/dcim/device/base.html:25 templates/dcim/devicetype/base.html:22 +#: templates/dcim/inc/moduletype_buttons.html:13 templates/dcim/module.html:22 +msgid "Console Ports" +msgstr "" + +#: dcim/tables/devicetypes.py:124 dcim/views.py:1170 dcim/views.py:1483 +#: dcim/views.py:2269 netbox/navigation/menu.py:99 +#: templates/dcim/buttons/bulk_add_components.html:17 +#: templates/dcim/device/base.html:28 templates/dcim/devicetype/base.html:25 +#: templates/dcim/inc/moduletype_buttons.html:16 templates/dcim/module.html:25 +msgid "Console Server Ports" +msgstr "" + +#: dcim/tables/devicetypes.py:127 dcim/views.py:1185 dcim/views.py:1498 +#: dcim/views.py:2285 netbox/navigation/menu.py:100 +#: templates/dcim/buttons/bulk_add_components.html:24 +#: templates/dcim/device/base.html:31 templates/dcim/devicetype/base.html:28 +#: templates/dcim/inc/moduletype_buttons.html:19 templates/dcim/module.html:28 +msgid "Power Ports" +msgstr "" + +#: dcim/tables/devicetypes.py:130 dcim/views.py:1200 dcim/views.py:1513 +#: dcim/views.py:2301 netbox/navigation/menu.py:101 +#: templates/dcim/buttons/bulk_add_components.html:31 +#: templates/dcim/device/base.html:34 templates/dcim/devicetype/base.html:31 +#: templates/dcim/inc/moduletype_buttons.html:22 templates/dcim/module.html:31 +msgid "Power Outlets" +msgstr "" + +#: dcim/tables/devicetypes.py:136 dcim/views.py:1230 dcim/views.py:1543 +#: dcim/views.py:2340 netbox/navigation/menu.py:96 +#: templates/dcim/device/base.html:40 templates/dcim/devicetype/base.html:37 +#: templates/dcim/inc/moduletype_buttons.html:28 templates/dcim/module.html:37 +msgid "Front Ports" +msgstr "" + +#: dcim/tables/devicetypes.py:139 dcim/views.py:1245 dcim/views.py:1558 +#: dcim/views.py:2356 netbox/navigation/menu.py:97 +#: templates/dcim/buttons/bulk_add_components.html:45 +#: templates/dcim/device/base.html:43 templates/dcim/devicetype/base.html:40 +#: templates/dcim/inc/moduletype_buttons.html:31 templates/dcim/module.html:40 +msgid "Rear Ports" +msgstr "" + +#: dcim/tables/devicetypes.py:142 dcim/views.py:1275 dcim/views.py:2388 +#: netbox/navigation/menu.py:103 +#: templates/dcim/buttons/bulk_add_components.html:52 +#: templates/dcim/device/base.html:49 templates/dcim/devicetype/base.html:46 +msgid "Device Bays" +msgstr "" + +#: dcim/tables/devicetypes.py:145 dcim/views.py:1260 dcim/views.py:1573 +#: dcim/views.py:2372 netbox/navigation/menu.py:102 +#: templates/dcim/buttons/bulk_add_components.html:59 +#: templates/dcim/device/base.html:46 templates/dcim/devicetype/base.html:43 +#: templates/dcim/inc/moduletype_buttons.html:34 templates/dcim/module.html:43 +msgid "Module Bays" +msgstr "" + +#: dcim/tables/power.py:36 netbox/navigation/menu.py:319 +#: templates/dcim/powerpanel.html:51 +msgid "Power Feeds" +msgstr "" + +#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:99 +msgid "Max Utilization" +msgstr "" + +#: dcim/tables/power.py:84 +msgid "Available Power (VA)" +msgstr "" + +#: dcim/tables/racks.py:30 dcim/tables/sites.py:160 +#: netbox/navigation/menu.py:43 netbox/navigation/menu.py:47 +#: netbox/navigation/menu.py:49 +msgid "Racks" +msgstr "" + +#: dcim/tables/racks.py:63 dcim/tables/racks.py:145 +#: templates/dcim/device.html:324 +#: templates/dcim/inc/panels/racktype_dimensions.html:14 +msgid "Height" +msgstr "" + +#: dcim/tables/racks.py:67 dcim/tables/racks.py:168 +#: templates/dcim/inc/panels/racktype_dimensions.html:18 +msgid "Outer Width" +msgstr "" + +#: dcim/tables/racks.py:71 dcim/tables/racks.py:172 +#: templates/dcim/inc/panels/racktype_dimensions.html:28 +msgid "Outer Height" +msgstr "" + +#: dcim/tables/racks.py:75 dcim/tables/racks.py:176 +#: templates/dcim/inc/panels/racktype_dimensions.html:38 +msgid "Outer Depth" +msgstr "" + +#: dcim/tables/racks.py:83 dcim/tables/racks.py:184 +msgid "Max Weight" +msgstr "" + +#: dcim/tables/racks.py:157 +msgid "Space" +msgstr "" + +#: dcim/tables/sites.py:34 dcim/tables/sites.py:68 +#: extras/forms/filtersets.py:424 extras/forms/model_forms.py:630 +#: ipam/forms/bulk_edit.py:134 ipam/forms/model_forms.py:160 +#: ipam/tables/asn.py:66 netbox/navigation/menu.py:15 +#: netbox/navigation/menu.py:19 +msgid "Sites" +msgstr "" + +#: dcim/tables/sites.py:170 netbox/navigation/menu.py:203 +msgid "VLAN Groups" +msgstr "" + +#: dcim/tests/test_api.py:50 +msgid "Test case must set peer_termination_type" +msgstr "" + +#: dcim/views.py:129 +#, python-brace-format +msgid "Disconnected {count} {type}" +msgstr "" + +#: dcim/views.py:893 netbox/navigation/menu.py:51 +msgid "Reservations" +msgstr "" + +#: dcim/views.py:912 templates/dcim/location.html:91 +#: templates/dcim/site.html:140 +msgid "Non-Racked Devices" +msgstr "" + +#: dcim/views.py:2417 extras/forms/filtersets.py:386 +#: extras/forms/model_forms.py:690 templates/extras/configcontext.html:10 +#: virtualization/forms/model_forms.py:232 virtualization/views.py:399 +msgid "Config Context" +msgstr "" + +#: dcim/views.py:2427 virtualization/views.py:409 +msgid "Render Config" +msgstr "" + +#: dcim/views.py:2440 extras/tables/tables.py:673 netbox/navigation/menu.py:256 +#: netbox/navigation/menu.py:258 virtualization/views.py:224 +msgid "Virtual Machines" +msgstr "" + +#: dcim/views.py:3237 +#, python-brace-format +msgid "Installed device {device} in bay {device_bay}." +msgstr "" + +#: dcim/views.py:3278 +#, python-brace-format +msgid "Removed device {device} from bay {device_bay}." +msgstr "" + +#: dcim/views.py:3391 ipam/tables/ip.py:181 +msgid "Children" +msgstr "" + +#: dcim/views.py:3864 +#, python-brace-format +msgid "Added member {device}" +msgstr "" + +#: dcim/views.py:3909 +#, python-brace-format +msgid "Unable to remove master device {device} from the virtual chassis." +msgstr "" + +#: dcim/views.py:3920 +#, python-brace-format +msgid "Removed {device} from virtual chassis {chassis}" +msgstr "" + +#: extras/api/customfields.py:89 +#, python-brace-format +msgid "Unknown related object(s): {name}" +msgstr "" + +#: extras/api/serializers_/customfields.py:74 +msgid "Changing the type of custom fields is not supported." +msgstr "" + +#: extras/api/serializers_/scripts.py:75 extras/api/serializers_/scripts.py:85 +msgid "Scheduling is not enabled for this script." +msgstr "" + +#: extras/api/serializers_/scripts.py:77 extras/forms/reports.py:45 +#: extras/forms/scripts.py:53 +msgid "Scheduled time must be in the future." +msgstr "" + +#: extras/choices.py:30 extras/forms/misc.py:14 +msgid "Text" +msgstr "" + +#: extras/choices.py:31 +msgid "Text (long)" +msgstr "" + +#: extras/choices.py:32 +msgid "Integer" +msgstr "" + +#: extras/choices.py:33 +msgid "Decimal" +msgstr "" + +#: extras/choices.py:34 +msgid "Boolean (true/false)" +msgstr "" + +#: extras/choices.py:35 +msgid "Date" +msgstr "" + +#: extras/choices.py:36 +msgid "Date & time" +msgstr "" + +#: extras/choices.py:38 +msgid "JSON" +msgstr "" + +#: extras/choices.py:39 +msgid "Selection" +msgstr "" + +#: extras/choices.py:40 +msgid "Multiple selection" +msgstr "" + +#: extras/choices.py:42 +msgid "Multiple objects" +msgstr "" + +#: extras/choices.py:54 +msgid "Loose" +msgstr "" + +#: extras/choices.py:55 +msgid "Exact" +msgstr "" + +#: extras/choices.py:66 +msgid "Always" +msgstr "" + +#: extras/choices.py:67 +msgid "If set" +msgstr "" + +#: extras/choices.py:68 extras/choices.py:81 +msgid "Hidden" +msgstr "" + +#: extras/choices.py:79 +msgid "Yes" +msgstr "" + +#: extras/choices.py:80 +msgid "No" +msgstr "" + +#: extras/choices.py:108 templates/tenancy/contact.html:67 +#: tenancy/forms/bulk_edit.py:130 tenancy/forms/bulk_import.py:88 +#: tenancy/forms/model_forms.py:104 wireless/forms/model_forms.py:173 +msgid "Link" +msgstr "" + +#: extras/choices.py:124 +msgid "Newest" +msgstr "" + +#: extras/choices.py:125 +msgid "Oldest" +msgstr "" + +#: extras/choices.py:126 +msgid "Alphabetical (A-Z)" +msgstr "" + +#: extras/choices.py:127 +msgid "Alphabetical (Z-A)" +msgstr "" + +#: extras/choices.py:145 extras/choices.py:166 +msgid "Success" +msgstr "" + +#: extras/choices.py:147 +msgid "Danger" +msgstr "" + +#: extras/choices.py:168 +msgid "Failure" +msgstr "" + +#: extras/choices.py:222 netbox/choices.py:59 netbox/choices.py:104 +msgid "Blue" +msgstr "" + +#: extras/choices.py:223 netbox/choices.py:58 netbox/choices.py:105 +msgid "Indigo" +msgstr "" + +#: extras/choices.py:224 netbox/choices.py:56 netbox/choices.py:106 +msgid "Purple" +msgstr "" + +#: extras/choices.py:225 netbox/choices.py:53 netbox/choices.py:107 +msgid "Pink" +msgstr "" + +#: extras/choices.py:226 netbox/choices.py:52 netbox/choices.py:108 +msgid "Red" +msgstr "" + +#: extras/choices.py:227 netbox/choices.py:70 netbox/choices.py:109 +msgid "Orange" +msgstr "" + +#: extras/choices.py:228 netbox/choices.py:68 netbox/choices.py:110 +msgid "Yellow" +msgstr "" + +#: extras/choices.py:229 netbox/choices.py:65 netbox/choices.py:111 +msgid "Green" +msgstr "" + +#: extras/choices.py:230 netbox/choices.py:62 netbox/choices.py:112 +msgid "Teal" +msgstr "" + +#: extras/choices.py:231 netbox/choices.py:61 netbox/choices.py:113 +msgid "Cyan" +msgstr "" + +#: extras/choices.py:232 netbox/choices.py:114 +msgid "Gray" +msgstr "" + +#: extras/choices.py:233 netbox/choices.py:76 netbox/choices.py:115 +msgid "Black" +msgstr "" + +#: extras/choices.py:234 netbox/choices.py:77 netbox/choices.py:116 +msgid "White" +msgstr "" + +#: extras/choices.py:249 extras/forms/model_forms.py:433 +#: extras/forms/model_forms.py:510 templates/extras/webhook.html:10 +msgid "Webhook" +msgstr "" + +#: extras/choices.py:250 extras/forms/model_forms.py:498 +#: templates/extras/script/base.html:29 +msgid "Script" +msgstr "" + +#: extras/choices.py:251 +msgid "Notification" +msgstr "" + +#: extras/conditions.py:59 +#, python-brace-format +msgid "Unknown operator: {op}. Must be one of: {operators}" +msgstr "" + +#: extras/conditions.py:63 +#, python-brace-format +msgid "Unsupported value type: {value}" +msgstr "" + +#: extras/conditions.py:65 +#, python-brace-format +msgid "Invalid type for {op} operation: {value}" +msgstr "" + +#: extras/conditions.py:144 +#, python-brace-format +msgid "Ruleset must be a dictionary, not {ruleset}." +msgstr "" + +#: extras/conditions.py:149 +msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation." +msgstr "" + +#: extras/conditions.py:161 +msgid "Incorrect key(s) informed. Please check documentation." +msgstr "" + +#: extras/dashboard/forms.py:38 +msgid "Widget type" +msgstr "" + +#: extras/dashboard/utils.py:36 +#, python-brace-format +msgid "Unregistered widget class: {name}" +msgstr "" + +#: extras/dashboard/widgets.py:148 +#, python-brace-format +msgid "{class_name} must define a render() method." +msgstr "" + +#: extras/dashboard/widgets.py:167 +msgid "Note" +msgstr "" + +#: extras/dashboard/widgets.py:168 +msgid "Display some arbitrary custom content. Markdown is supported." +msgstr "" + +#: extras/dashboard/widgets.py:181 templates/core/system.html:34 +#: templates/core/system.html:163 +msgid "Object Counts" +msgstr "" + +#: extras/dashboard/widgets.py:182 +msgid "" +"Display a set of NetBox models and the number of objects created for each " +"type." +msgstr "" + +#: extras/dashboard/widgets.py:192 +msgid "Filters to apply when counting the number of objects" +msgstr "" + +#: extras/dashboard/widgets.py:200 +msgid "Invalid format. Object filters must be passed as a dictionary." +msgstr "" + +#: extras/dashboard/widgets.py:234 +msgid "Object List" +msgstr "" + +#: extras/dashboard/widgets.py:235 +msgid "Display an arbitrary list of objects." +msgstr "" + +#: extras/dashboard/widgets.py:248 +msgid "The default number of objects to display" +msgstr "" + +#: extras/dashboard/widgets.py:260 +msgid "Invalid format. URL parameters must be passed as a dictionary." +msgstr "" + +#: extras/dashboard/widgets.py:269 +msgid "Invalid model selection: {self['model'].data} is not supported." +msgstr "" + +#: extras/dashboard/widgets.py:309 +msgid "RSS Feed" +msgstr "" + +#: extras/dashboard/widgets.py:316 +msgid "Embed an RSS feed from an external website." +msgstr "" + +#: extras/dashboard/widgets.py:323 +msgid "Feed URL" +msgstr "" + +#: extras/dashboard/widgets.py:327 +msgid "Requires external connection" +msgstr "" + +#: extras/dashboard/widgets.py:333 +msgid "The maximum number of objects to display" +msgstr "" + +#: extras/dashboard/widgets.py:338 +msgid "How long to stored the cached content (in seconds)" +msgstr "" + +#: extras/dashboard/widgets.py:344 +msgid "Timeout value for fetching the feed (in seconds)" +msgstr "" + +#: extras/dashboard/widgets.py:401 templates/account/base.html:10 +#: templates/account/bookmarks.html:7 templates/inc/user_menu.html:43 +msgid "Bookmarks" +msgstr "" + +#: extras/dashboard/widgets.py:405 +msgid "Show your personal bookmarks" +msgstr "" + +#: extras/events.py:164 +#, python-brace-format +msgid "Unknown action type for an event rule: {action_type}" +msgstr "" + +#: extras/events.py:209 +#, python-brace-format +msgid "Cannot import events pipeline {name} error: {error}" +msgstr "" + +#: extras/filtersets.py:49 +msgid "Script module (ID)" +msgstr "" + +#: extras/filtersets.py:258 extras/filtersets.py:603 extras/filtersets.py:774 +#: extras/filtersets.py:802 +msgid "Data file (ID)" +msgstr "" + +#: extras/filtersets.py:428 users/filtersets.py:68 users/filtersets.py:191 +msgid "Group (name)" +msgstr "" + +#: extras/filtersets.py:711 virtualization/forms/filtersets.py:124 +msgid "Cluster type" +msgstr "" + +#: extras/filtersets.py:717 virtualization/filtersets.py:61 +#: virtualization/filtersets.py:113 +msgid "Cluster type (slug)" +msgstr "" + +#: extras/filtersets.py:738 tenancy/forms/forms.py:16 tenancy/forms/forms.py:40 +msgid "Tenant group" +msgstr "" + +#: extras/filtersets.py:744 tenancy/filtersets.py:193 tenancy/filtersets.py:213 +msgid "Tenant group (slug)" +msgstr "" + +#: extras/filtersets.py:760 extras/forms/model_forms.py:579 +#: templates/extras/tag.html:11 +msgid "Tag" +msgstr "" + +#: extras/filtersets.py:766 +msgid "Tag (slug)" +msgstr "" + +#: extras/filtersets.py:830 extras/forms/filtersets.py:530 +msgid "Has local config context data" +msgstr "" + +#: extras/forms/bulk_edit.py:39 extras/forms/filtersets.py:66 +msgid "Group name" +msgstr "" + +#: extras/forms/bulk_edit.py:47 extras/forms/filtersets.py:74 +#: extras/tables/tables.py:71 templates/extras/customfield.html:38 +#: templates/generic/bulk_import.html:149 +msgid "Required" +msgstr "" + +#: extras/forms/bulk_edit.py:52 extras/forms/filtersets.py:81 +msgid "Must be unique" +msgstr "" + +#: extras/forms/bulk_edit.py:65 extras/forms/bulk_import.py:61 +#: extras/forms/filtersets.py:95 extras/models/customfields.py:215 +msgid "UI visible" +msgstr "" + +#: extras/forms/bulk_edit.py:70 extras/forms/bulk_import.py:67 +#: extras/forms/filtersets.py:100 extras/models/customfields.py:222 +msgid "UI editable" +msgstr "" + +#: extras/forms/bulk_edit.py:75 extras/forms/filtersets.py:103 +msgid "Is cloneable" +msgstr "" + +#: extras/forms/bulk_edit.py:80 extras/forms/filtersets.py:110 +msgid "Minimum value" +msgstr "" + +#: extras/forms/bulk_edit.py:84 extras/forms/filtersets.py:114 +msgid "Maximum value" +msgstr "" + +#: extras/forms/bulk_edit.py:88 extras/forms/filtersets.py:118 +msgid "Validation regex" +msgstr "" + +#: extras/forms/bulk_edit.py:95 extras/forms/filtersets.py:47 +#: extras/forms/model_forms.py:81 templates/extras/customfield.html:70 +msgid "Behavior" +msgstr "" + +#: extras/forms/bulk_edit.py:132 extras/forms/filtersets.py:157 +msgid "New window" +msgstr "" + +#: extras/forms/bulk_edit.py:141 +msgid "Button class" +msgstr "" + +#: extras/forms/bulk_edit.py:158 extras/forms/bulk_edit.py:383 +#: extras/forms/filtersets.py:196 extras/forms/filtersets.py:508 +#: extras/models/mixins.py:100 +msgid "MIME type" +msgstr "" + +#: extras/forms/bulk_edit.py:163 extras/forms/bulk_edit.py:388 +#: extras/forms/filtersets.py:199 extras/forms/filtersets.py:511 +msgid "File name" +msgstr "" + +#: extras/forms/bulk_edit.py:167 extras/forms/bulk_edit.py:392 +#: extras/forms/filtersets.py:203 extras/forms/filtersets.py:515 +msgid "File extension" +msgstr "" + +#: extras/forms/bulk_edit.py:172 extras/forms/bulk_edit.py:397 +#: extras/forms/filtersets.py:207 extras/forms/filtersets.py:519 +msgid "As attachment" +msgstr "" + +#: extras/forms/bulk_edit.py:200 extras/forms/bulk_edit.py:228 +#: extras/forms/filtersets.py:251 extras/forms/filtersets.py:281 +#: extras/tables/tables.py:294 extras/tables/tables.py:327 +#: templates/extras/savedfilter.html:29 templates/extras/tableconfig.html:37 +msgid "Shared" +msgstr "" + +#: extras/forms/bulk_edit.py:251 extras/forms/filtersets.py:310 +#: extras/models/models.py:186 +msgid "HTTP method" +msgstr "" + +#: extras/forms/bulk_edit.py:255 extras/forms/filtersets.py:304 +#: templates/extras/webhook.html:30 +msgid "Payload URL" +msgstr "" + +#: extras/forms/bulk_edit.py:260 extras/models/models.py:226 +msgid "SSL verification" +msgstr "" + +#: extras/forms/bulk_edit.py:263 templates/extras/webhook.html:38 +msgid "Secret" +msgstr "" + +#: extras/forms/bulk_edit.py:268 +msgid "CA file path" +msgstr "" + +#: extras/forms/bulk_edit.py:289 extras/forms/bulk_import.py:231 +#: extras/forms/model_forms.py:457 +msgid "Event types" +msgstr "" + +#: extras/forms/bulk_edit.py:356 +msgid "Is active" +msgstr "" + +#: extras/forms/bulk_edit.py:402 extras/forms/bulk_import.py:179 +#: extras/forms/filtersets.py:499 +msgid "Auto sync enabled" +msgstr "" + +#: extras/forms/bulk_import.py:38 extras/forms/bulk_import.py:119 +#: extras/forms/bulk_import.py:140 extras/forms/bulk_import.py:201 +#: extras/forms/bulk_import.py:225 extras/forms/bulk_import.py:279 +#: extras/forms/filtersets.py:53 extras/forms/filtersets.py:145 +#: extras/forms/filtersets.py:239 extras/forms/filtersets.py:269 +#: extras/forms/model_forms.py:52 extras/forms/model_forms.py:224 +#: extras/forms/model_forms.py:256 extras/forms/model_forms.py:299 +#: extras/forms/model_forms.py:452 extras/forms/model_forms.py:569 +#: users/forms/model_forms.py:311 +msgid "Object types" +msgstr "" + +#: extras/forms/bulk_import.py:40 extras/forms/bulk_import.py:121 +#: extras/forms/bulk_import.py:142 extras/forms/bulk_import.py:203 +#: extras/forms/bulk_import.py:227 extras/forms/bulk_import.py:281 +#: tenancy/forms/bulk_import.py:101 +msgid "One or more assigned object types" +msgstr "" + +#: extras/forms/bulk_import.py:45 +msgid "Field data type (e.g. text, integer, etc.)" +msgstr "" + +#: extras/forms/bulk_import.py:48 extras/forms/filtersets.py:222 +#: extras/forms/filtersets.py:326 extras/forms/model_forms.py:325 +#: extras/forms/model_forms.py:384 extras/forms/model_forms.py:421 +#: tenancy/forms/filtersets.py:92 +msgid "Object type" +msgstr "" + +#: extras/forms/bulk_import.py:51 +msgid "Object type (for object or multi-object fields)" +msgstr "" + +#: extras/forms/bulk_import.py:54 extras/forms/filtersets.py:90 +msgid "Choice set" +msgstr "" + +#: extras/forms/bulk_import.py:58 +msgid "Choice set (for selection fields)" +msgstr "" + +#: extras/forms/bulk_import.py:64 +msgid "Whether the custom field is displayed in the UI" +msgstr "" + +#: extras/forms/bulk_import.py:70 +msgid "Whether the custom field is editable in the UI" +msgstr "" + +#: extras/forms/bulk_import.py:86 +msgid "The base set of predefined choices to use (if any)" +msgstr "" + +#: extras/forms/bulk_import.py:92 +msgid "" +"Quoted string of comma-separated field choices with optional labels " +"separated by colon: \"choice1:First Choice,choice2:Second Choice\"" +msgstr "" + +#: extras/forms/bulk_import.py:124 extras/models/models.py:335 +msgid "button class" +msgstr "" + +#: extras/forms/bulk_import.py:127 extras/models/models.py:339 +msgid "" +"The class of the first link in a group will be used for the dropdown button" +msgstr "" + +#: extras/forms/bulk_import.py:168 +msgid "Data source which provides the data file" +msgstr "" + +#: extras/forms/bulk_import.py:171 extras/forms/filtersets.py:184 +#: extras/forms/filtersets.py:375 extras/forms/filtersets.py:406 +#: extras/forms/filtersets.py:493 netbox/choices.py:132 +#: utilities/forms/bulk_import.py:28 +msgid "Data file" +msgstr "" + +#: extras/forms/bulk_import.py:175 +msgid "Data file containing the template code" +msgstr "" + +#: extras/forms/bulk_import.py:180 +msgid "" +"Enable automatic synchronization of template content when the data file is " +"updated" +msgstr "" + +#: extras/forms/bulk_import.py:195 extras/forms/model_forms.py:291 +#: extras/forms/model_forms.py:771 +msgid "Must specify either local content or a data file" +msgstr "" + +#: extras/forms/bulk_import.py:232 +msgid "The event type(s) which will trigger this rule" +msgstr "" + +#: extras/forms/bulk_import.py:235 +msgid "Action object" +msgstr "" + +#: extras/forms/bulk_import.py:237 +msgid "Webhook name or script as dotted path module.Class" +msgstr "" + +#: extras/forms/bulk_import.py:258 +#, python-brace-format +msgid "Webhook {name} not found" +msgstr "" + +#: extras/forms/bulk_import.py:267 +#, python-brace-format +msgid "Script {name} not found" +msgstr "" + +#: extras/forms/bulk_import.py:295 +msgid "Assigned object type" +msgstr "" + +#: extras/forms/bulk_import.py:300 +msgid "The classification of entry" +msgstr "" + +#: extras/forms/bulk_import.py:316 extras/forms/model_forms.py:400 +#: netbox/navigation/menu.py:414 templates/extras/notificationgroup.html:41 +#: templates/users/group.html:29 users/forms/model_forms.py:250 +#: users/forms/model_forms.py:262 users/forms/model_forms.py:337 +#: users/tables.py:106 +msgid "Users" +msgstr "" + +#: extras/forms/bulk_import.py:320 +msgid "User names separated by commas, encased with double quotes" +msgstr "" + +#: extras/forms/bulk_import.py:323 extras/forms/model_forms.py:395 +#: netbox/navigation/menu.py:295 netbox/navigation/menu.py:434 +#: templates/extras/notificationgroup.html:31 templates/tenancy/contact.html:21 +#: tenancy/forms/bulk_edit.py:144 tenancy/forms/filtersets.py:78 +#: tenancy/forms/model_forms.py:99 tenancy/tables/contacts.py:68 +#: tenancy/tables/contacts.py:115 users/forms/model_forms.py:195 +#: users/forms/model_forms.py:207 users/forms/model_forms.py:342 +#: users/tables.py:35 users/tables.py:110 +msgid "Groups" +msgstr "" + +#: extras/forms/bulk_import.py:327 +msgid "Group names separated by commas, encased with double quotes" +msgstr "" + +#: extras/forms/filtersets.py:46 +msgid "Type Options" +msgstr "" + +#: extras/forms/filtersets.py:58 extras/forms/model_forms.py:61 +msgid "Related object type" +msgstr "" + +#: extras/forms/filtersets.py:63 +msgid "Field type" +msgstr "" + +#: extras/forms/filtersets.py:127 extras/forms/model_forms.py:162 +#: extras/tables/tables.py:97 templates/generic/bulk_import.html:185 +msgid "Choices" +msgstr "" + +#: extras/forms/filtersets.py:173 extras/forms/filtersets.py:365 +#: extras/forms/filtersets.py:387 extras/forms/filtersets.py:482 +#: extras/forms/model_forms.py:685 templates/core/job.html:69 +#: templates/extras/eventrule.html:84 +msgid "Data" +msgstr "" + +#: extras/forms/filtersets.py:174 extras/forms/filtersets.py:483 +#: extras/forms/model_forms.py:269 extras/forms/model_forms.py:746 +msgid "Rendering" +msgstr "" + +#: extras/forms/filtersets.py:192 +msgid "Content types" +msgstr "" + +#: extras/forms/filtersets.py:300 extras/models/models.py:191 +msgid "HTTP content type" +msgstr "" + +#: extras/forms/filtersets.py:331 +msgid "Event type" +msgstr "" + +#: extras/forms/filtersets.py:336 +msgid "Action type" +msgstr "" + +#: extras/forms/filtersets.py:352 +msgid "Tagged object type" +msgstr "" + +#: extras/forms/filtersets.py:357 +msgid "Allowed object type" +msgstr "" + +#: extras/forms/filtersets.py:414 extras/forms/model_forms.py:620 +#: netbox/navigation/menu.py:17 +msgid "Regions" +msgstr "" + +#: extras/forms/filtersets.py:419 extras/forms/model_forms.py:625 +msgid "Site groups" +msgstr "" + +#: extras/forms/filtersets.py:429 extras/forms/model_forms.py:635 +#: netbox/navigation/menu.py:20 templates/dcim/site.html:127 +msgid "Locations" +msgstr "" + +#: extras/forms/filtersets.py:434 extras/forms/model_forms.py:640 +msgid "Device types" +msgstr "" + +#: extras/forms/filtersets.py:439 extras/forms/model_forms.py:645 +msgid "Roles" +msgstr "" + +#: extras/forms/filtersets.py:449 extras/forms/model_forms.py:655 +msgid "Cluster types" +msgstr "" + +#: extras/forms/filtersets.py:454 extras/forms/model_forms.py:660 +msgid "Cluster groups" +msgstr "" + +#: extras/forms/filtersets.py:459 extras/forms/model_forms.py:665 +#: netbox/navigation/menu.py:264 netbox/navigation/menu.py:266 +#: templates/virtualization/clustertype.html:30 +#: virtualization/tables/clusters.py:23 virtualization/tables/clusters.py:45 +msgid "Clusters" +msgstr "" + +#: extras/forms/filtersets.py:464 extras/forms/model_forms.py:670 +msgid "Tenant groups" +msgstr "" + +#: extras/forms/model_forms.py:54 +msgid "The type(s) of object that have this custom field" +msgstr "" + +#: extras/forms/model_forms.py:57 +msgid "Default value" +msgstr "" + +#: extras/forms/model_forms.py:63 +msgid "Type of the related object (for object/multi-object fields only)" +msgstr "" + +#: extras/forms/model_forms.py:66 templates/extras/customfield.html:60 +msgid "Related object filter" +msgstr "" + +#: extras/forms/model_forms.py:68 +msgid "Specify query parameters as a JSON object." +msgstr "" + +#: extras/forms/model_forms.py:78 templates/extras/customfield.html:10 +msgid "Custom Field" +msgstr "" + +#: extras/forms/model_forms.py:90 +msgid "" +"The type of data stored in this field. For object/multi-object fields, " +"select the related object type below." +msgstr "" + +#: extras/forms/model_forms.py:93 +msgid "" +"This will be displayed as help text for the form field. Markdown is " +"supported." +msgstr "" + +#: extras/forms/model_forms.py:148 +msgid "Related Object" +msgstr "" + +#: extras/forms/model_forms.py:175 +msgid "" +"Enter one choice per line. An optional label may be specified for each " +"choice by appending it with a colon. Example:" +msgstr "" + +#: extras/forms/model_forms.py:231 templates/extras/customlink.html:10 +msgid "Custom Link" +msgstr "" + +#: extras/forms/model_forms.py:233 +msgid "Templates" +msgstr "" + +#: extras/forms/model_forms.py:245 +#, python-brace-format +msgid "" +"Jinja2 template code for the link text. Reference the object as {example}. " +"Links which render as empty text will not be displayed." +msgstr "" + +#: extras/forms/model_forms.py:249 +#, python-brace-format +msgid "" +"Jinja2 template code for the link URL. Reference the object as {example}." +msgstr "" + +#: extras/forms/model_forms.py:260 extras/forms/model_forms.py:737 +msgid "Template code" +msgstr "" + +#: extras/forms/model_forms.py:266 templates/extras/exporttemplate.html:12 +msgid "Export Template" +msgstr "" + +#: extras/forms/model_forms.py:284 extras/forms/model_forms.py:764 +msgid "Template content is populated from the remote source selected below." +msgstr "" + +#: extras/forms/model_forms.py:305 netbox/forms/mixins.py:90 +#: templates/extras/savedfilter.html:10 +msgid "Saved Filter" +msgstr "" + +#: extras/forms/model_forms.py:331 templates/account/preferences.html:50 +#: templates/extras/tableconfig.html:62 +msgid "Ordering" +msgstr "" + +#: extras/forms/model_forms.py:333 +msgid "" +"Enter a comma-separated list of column names. Prepend a name with a hyphen " +"to reverse the order." +msgstr "" + +#: extras/forms/model_forms.py:342 utilities/forms/forms.py:163 +msgid "Available Columns" +msgstr "" + +#: extras/forms/model_forms.py:349 utilities/forms/forms.py:171 +msgid "Selected Columns" +msgstr "" + +#: extras/forms/model_forms.py:414 +msgid "A notification group specify at least one user or group." +msgstr "" + +#: extras/forms/model_forms.py:436 templates/extras/webhook.html:23 +msgid "HTTP Request" +msgstr "" + +#: extras/forms/model_forms.py:438 templates/extras/webhook.html:44 +msgid "SSL" +msgstr "" + +#: extras/forms/model_forms.py:460 +msgid "Action choice" +msgstr "" + +#: extras/forms/model_forms.py:465 +msgid "Enter conditions in JSON format." +msgstr "" + +#: extras/forms/model_forms.py:469 +msgid "" +"Enter parameters to pass to the action in JSON format." +msgstr "" + +#: extras/forms/model_forms.py:474 templates/extras/eventrule.html:10 +msgid "Event Rule" +msgstr "" + +#: extras/forms/model_forms.py:475 +msgid "Triggers" +msgstr "" + +#: extras/forms/model_forms.py:522 +msgid "Notification group" +msgstr "" + +#: extras/forms/model_forms.py:602 +#: templates/extras/configcontextprofile.html:10 +msgid "Config Context Profile" +msgstr "" + +#: extras/forms/model_forms.py:675 netbox/navigation/menu.py:26 +#: tenancy/tables/tenants.py:26 +msgid "Tenants" +msgstr "" + +#: extras/forms/model_forms.py:719 +msgid "Data is populated from the remote source selected below." +msgstr "" + +#: extras/forms/model_forms.py:725 +msgid "Must specify either local data or a data file" +msgstr "" + +#: extras/forms/model_forms.py:787 +msgid "If no name is specified, the file name will be used." +msgstr "" + +#: extras/forms/reports.py:17 extras/forms/scripts.py:25 +msgid "Schedule at" +msgstr "" + +#: extras/forms/reports.py:18 +msgid "Schedule execution of report to a set time" +msgstr "" + +#: extras/forms/reports.py:23 extras/forms/scripts.py:31 +msgid "Recurs every" +msgstr "" + +#: extras/forms/reports.py:27 +msgid "Interval at which this report is re-run (in minutes)" +msgstr "" + +#: extras/forms/reports.py:35 extras/forms/scripts.py:43 +#, python-brace-format +msgid " (current time: {now})" +msgstr "" + +#: extras/forms/scripts.py:19 +msgid "Commit changes" +msgstr "" + +#: extras/forms/scripts.py:20 +msgid "Commit changes to the database (uncheck for a dry-run)" +msgstr "" + +#: extras/forms/scripts.py:26 +msgid "Schedule execution of script to a set time" +msgstr "" + +#: extras/forms/scripts.py:35 +msgid "Interval at which this script is re-run (in minutes)" +msgstr "" + +#: extras/jobs.py:64 +msgid "Database changes have been reverted automatically." +msgstr "" + +#: extras/jobs.py:70 +msgid "Script aborted with error: " +msgstr "" + +#: extras/jobs.py:81 +msgid "An exception occurred: " +msgstr "" + +#: extras/jobs.py:87 +msgid "Database changes have been reverted due to error." +msgstr "" + +#: extras/management/commands/reindex.py:67 +msgid "No indexers found!" +msgstr "" + +#: extras/models/configs.py:50 +msgid "" +"A JSON schema specifying the structure of the context data for this profile" +msgstr "" + +#: extras/models/configs.py:57 +msgid "config context profile" +msgstr "" + +#: extras/models/configs.py:58 +msgid "config context profiles" +msgstr "" + +#: extras/models/configs.py:90 extras/models/models.py:325 +#: extras/models/models.py:490 extras/models/models.py:569 +#: extras/models/search.py:48 extras/models/tags.py:44 ipam/models/ip.py:194 +#: netbox/models/mixins.py:16 +msgid "weight" +msgstr "" + +#: extras/models/configs.py:178 +msgid "config context" +msgstr "" + +#: extras/models/configs.py:179 +msgid "config contexts" +msgstr "" + +#: extras/models/configs.py:197 extras/models/configs.py:260 +msgid "JSON data must be in object form. Example:" +msgstr "" + +#: extras/models/configs.py:205 +#, python-brace-format +msgid "Data does not conform to profile schema: {error}" +msgstr "" + +#: extras/models/configs.py:224 +msgid "" +"Local config context data takes precedence over source contexts in the final " +"rendered config context" +msgstr "" + +#: extras/models/configs.py:283 +msgid "config template" +msgstr "" + +#: extras/models/configs.py:284 +msgid "config templates" +msgstr "" + +#: extras/models/customfields.py:77 +msgid "The object(s) to which this field applies." +msgstr "" + +#: extras/models/customfields.py:84 +msgid "The type of data this custom field holds" +msgstr "" + +#: extras/models/customfields.py:91 +msgid "The type of NetBox object this field maps to (for object fields)" +msgstr "" + +#: extras/models/customfields.py:97 +msgid "Internal field name" +msgstr "" + +#: extras/models/customfields.py:101 +msgid "Only alphanumeric characters and underscores are allowed." +msgstr "" + +#: extras/models/customfields.py:106 +msgid "Double underscores are not permitted in custom field names." +msgstr "" + +#: extras/models/customfields.py:117 +msgid "" +"Name of the field as displayed to users (if not provided, 'the field's name " +"will be used)" +msgstr "" + +#: extras/models/customfields.py:121 extras/models/models.py:329 +msgid "group name" +msgstr "" + +#: extras/models/customfields.py:124 +msgid "Custom fields within the same group will be displayed together" +msgstr "" + +#: extras/models/customfields.py:132 +msgid "required" +msgstr "" + +#: extras/models/customfields.py:134 +msgid "" +"This field is required when creating new objects or editing an existing " +"object." +msgstr "" + +#: extras/models/customfields.py:137 +msgid "must be unique" +msgstr "" + +#: extras/models/customfields.py:139 +msgid "The value of this field must be unique for the assigned object" +msgstr "" + +#: extras/models/customfields.py:142 +msgid "search weight" +msgstr "" + +#: extras/models/customfields.py:145 +msgid "" +"Weighting for search. Lower values are considered more important. Fields " +"with a search weight of zero will be ignored." +msgstr "" + +#: extras/models/customfields.py:150 +msgid "filter logic" +msgstr "" + +#: extras/models/customfields.py:154 +msgid "" +"Loose matches any instance of a given string; exact matches the entire field." +msgstr "" + +#: extras/models/customfields.py:157 +msgid "default" +msgstr "" + +#: extras/models/customfields.py:161 +msgid "" +"Default value for the field (must be a JSON value). Encapsulate strings with " +"double quotes (e.g. \"Foo\")." +msgstr "" + +#: extras/models/customfields.py:168 +msgid "" +"Filter the object selection choices using a query_params dict (must be a " +"JSON value).Encapsulate strings with double quotes (e.g. \"Foo\")." +msgstr "" + +#: extras/models/customfields.py:174 +msgid "display weight" +msgstr "" + +#: extras/models/customfields.py:175 +msgid "Fields with higher weights appear lower in a form." +msgstr "" + +#: extras/models/customfields.py:182 +msgid "minimum value" +msgstr "" + +#: extras/models/customfields.py:183 +msgid "Minimum allowed value (for numeric fields)" +msgstr "" + +#: extras/models/customfields.py:190 +msgid "maximum value" +msgstr "" + +#: extras/models/customfields.py:191 +msgid "Maximum allowed value (for numeric fields)" +msgstr "" + +#: extras/models/customfields.py:197 +msgid "validation regex" +msgstr "" + +#: extras/models/customfields.py:199 +#, python-brace-format +msgid "" +"Regular expression to enforce on text field values. Use ^ and $ to force " +"matching of entire string. For example, ^[A-Z]{3}$ will limit " +"values to exactly three uppercase letters." +msgstr "" + +#: extras/models/customfields.py:207 +msgid "choice set" +msgstr "" + +#: extras/models/customfields.py:216 +msgid "Specifies whether the custom field is displayed in the UI" +msgstr "" + +#: extras/models/customfields.py:223 +msgid "Specifies whether the custom field value can be edited in the UI" +msgstr "" + +#: extras/models/customfields.py:227 +msgid "is cloneable" +msgstr "" + +#: extras/models/customfields.py:228 +msgid "Replicate this value when cloning objects" +msgstr "" + +#: extras/models/customfields.py:245 +msgid "custom field" +msgstr "" + +#: extras/models/customfields.py:246 +msgid "custom fields" +msgstr "" + +#: extras/models/customfields.py:348 +#, python-brace-format +msgid "Invalid default value \"{value}\": {error}" +msgstr "" + +#: extras/models/customfields.py:355 +msgid "A minimum value may be set only for numeric fields" +msgstr "" + +#: extras/models/customfields.py:357 +msgid "A maximum value may be set only for numeric fields" +msgstr "" + +#: extras/models/customfields.py:367 +msgid "Regular expression validation is supported only for text and URL fields" +msgstr "" + +#: extras/models/customfields.py:373 +msgid "Uniqueness cannot be enforced for boolean fields" +msgstr "" + +#: extras/models/customfields.py:383 +msgid "Selection fields must specify a set of choices." +msgstr "" + +#: extras/models/customfields.py:387 +msgid "Choices may be set only on selection fields." +msgstr "" + +#: extras/models/customfields.py:394 +msgid "Object fields must define an object type." +msgstr "" + +#: extras/models/customfields.py:398 +#, python-brace-format +msgid "{type} fields may not define an object type." +msgstr "" + +#: extras/models/customfields.py:405 +msgid "A related object filter can be defined only for object fields." +msgstr "" + +#: extras/models/customfields.py:409 +msgid "Filter must be defined as a dictionary mapping attributes to values." +msgstr "" + +#: extras/models/customfields.py:488 +msgid "True" +msgstr "" + +#: extras/models/customfields.py:489 +msgid "False" +msgstr "" + +#: extras/models/customfields.py:542 extras/models/customfields.py:590 +#, python-brace-format +msgid "Values must match this regex: {regex}" +msgstr "" + +#: extras/models/customfields.py:692 extras/models/customfields.py:699 +msgid "Value must be a string." +msgstr "" + +#: extras/models/customfields.py:694 extras/models/customfields.py:701 +#, python-brace-format +msgid "Value must match regex '{regex}'" +msgstr "" + +#: extras/models/customfields.py:706 +msgid "Value must be an integer." +msgstr "" + +#: extras/models/customfields.py:709 extras/models/customfields.py:724 +#, python-brace-format +msgid "Value must be at least {minimum}" +msgstr "" + +#: extras/models/customfields.py:713 extras/models/customfields.py:728 +#, python-brace-format +msgid "Value must not exceed {maximum}" +msgstr "" + +#: extras/models/customfields.py:721 +msgid "Value must be a decimal." +msgstr "" + +#: extras/models/customfields.py:733 +msgid "Value must be true or false." +msgstr "" + +#: extras/models/customfields.py:741 +msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." +msgstr "" + +#: extras/models/customfields.py:750 +msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." +msgstr "" + +#: extras/models/customfields.py:757 +#, python-brace-format +msgid "Invalid choice ({value}) for choice set {choiceset}." +msgstr "" + +#: extras/models/customfields.py:767 +#, python-brace-format +msgid "Invalid choice(s) ({value}) for choice set {choiceset}." +msgstr "" + +#: extras/models/customfields.py:776 +#, python-brace-format +msgid "Value must be an object ID, not {type}" +msgstr "" + +#: extras/models/customfields.py:782 +#, python-brace-format +msgid "Value must be a list of object IDs, not {type}" +msgstr "" + +#: extras/models/customfields.py:786 +#, python-brace-format +msgid "Found invalid object ID: {id}" +msgstr "" + +#: extras/models/customfields.py:789 +msgid "Required field cannot be empty." +msgstr "" + +#: extras/models/customfields.py:809 +msgid "Base set of predefined choices (optional)" +msgstr "" + +#: extras/models/customfields.py:821 +msgid "Choices are automatically ordered alphabetically" +msgstr "" + +#: extras/models/customfields.py:828 +msgid "custom field choice set" +msgstr "" + +#: extras/models/customfields.py:829 +msgid "custom field choice sets" +msgstr "" + +#: extras/models/customfields.py:871 +msgid "Must define base or extra choices." +msgstr "" + +#: extras/models/customfields.py:895 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" + +#: extras/models/dashboard.py:18 +msgid "layout" +msgstr "" + +#: extras/models/dashboard.py:22 +msgid "config" +msgstr "" + +#: extras/models/dashboard.py:27 +msgid "dashboard" +msgstr "" + +#: extras/models/dashboard.py:28 +msgid "dashboards" +msgstr "" + +#: extras/models/mixins.py:85 +msgid "template code" +msgstr "" + +#: extras/models/mixins.py:86 +msgid "Jinja template code." +msgstr "" + +#: extras/models/mixins.py:89 +msgid "environment parameters" +msgstr "" + +#: extras/models/mixins.py:94 +#, python-brace-format +msgid "" +"Any additional parameters to pass when constructing " +"the Jinja environment" +msgstr "" + +#: extras/models/mixins.py:101 +#, python-brace-format +msgid "Defaults to {default}" +msgstr "" + +#: extras/models/mixins.py:106 +msgid "Filename to give to the rendered export file" +msgstr "" + +#: extras/models/mixins.py:109 +msgid "file extension" +msgstr "" + +#: extras/models/mixins.py:112 +msgid "Extension to append to the rendered filename" +msgstr "" + +#: extras/models/mixins.py:115 +msgid "as attachment" +msgstr "" + +#: extras/models/mixins.py:117 +msgid "Download file as attachment" +msgstr "" + +#: extras/models/mixins.py:124 +#, python-brace-format +msgid "{class_name} must implement a get_context() method." +msgstr "" + +#: extras/models/models.py:57 +msgid "The object(s) to which this rule applies." +msgstr "" + +#: extras/models/models.py:71 +msgid "The types of event which will trigger this rule." +msgstr "" + +#: extras/models/models.py:78 +msgid "conditions" +msgstr "" + +#: extras/models/models.py:81 +msgid "" +"A set of conditions which determine whether the event will be generated." +msgstr "" + +#: extras/models/models.py:89 +msgid "action type" +msgstr "" + +#: extras/models/models.py:108 +msgid "Additional data to pass to the action object" +msgstr "" + +#: extras/models/models.py:120 +msgid "event rule" +msgstr "" + +#: extras/models/models.py:121 +msgid "event rules" +msgstr "" + +#: extras/models/models.py:178 +msgid "" +"This URL will be called using the HTTP method defined when the webhook is " +"called. Jinja2 template processing is supported with the same context as the " +"request body." +msgstr "" + +#: extras/models/models.py:193 +msgid "" +"The complete list of official content types is available here." +msgstr "" + +#: extras/models/models.py:198 +msgid "additional headers" +msgstr "" + +#: extras/models/models.py:201 +msgid "" +"User-supplied HTTP headers to be sent with the request in addition to the " +"HTTP content type. Headers should be defined in the format Name: " +"Value. Jinja2 template processing is supported with the same context " +"as the request body (below)." +msgstr "" + +#: extras/models/models.py:207 +msgid "body template" +msgstr "" + +#: extras/models/models.py:210 +msgid "" +"Jinja2 template for a custom request body. If blank, a JSON object " +"representing the change will be included. Available context data includes: " +"event, model, timestamp, " +"username, request_id, and data." +msgstr "" + +#: extras/models/models.py:216 +msgid "secret" +msgstr "" + +#: extras/models/models.py:220 +msgid "" +"When provided, the request will include a X-Hook-Signature " +"header containing a HMAC hex digest of the payload body using the secret as " +"the key. The secret is not transmitted in the request." +msgstr "" + +#: extras/models/models.py:227 +msgid "Enable SSL certificate verification. Disable with caution!" +msgstr "" + +#: extras/models/models.py:233 templates/extras/webhook.html:51 +msgid "CA File Path" +msgstr "" + +#: extras/models/models.py:235 +msgid "" +"The specific CA certificate file to use for SSL verification. Leave blank to " +"use the system defaults." +msgstr "" + +#: extras/models/models.py:246 +msgid "webhook" +msgstr "" + +#: extras/models/models.py:247 +msgid "webhooks" +msgstr "" + +#: extras/models/models.py:265 +msgid "Do not specify a CA certificate file if SSL verification is disabled." +msgstr "" + +#: extras/models/models.py:305 +msgid "The object type(s) to which this link applies." +msgstr "" + +#: extras/models/models.py:317 +msgid "link text" +msgstr "" + +#: extras/models/models.py:318 +msgid "Jinja2 template code for link text" +msgstr "" + +#: extras/models/models.py:321 +msgid "link URL" +msgstr "" + +#: extras/models/models.py:322 +msgid "Jinja2 template code for link URL" +msgstr "" + +#: extras/models/models.py:332 +msgid "Links with the same group will appear as a dropdown menu" +msgstr "" + +#: extras/models/models.py:342 +msgid "new window" +msgstr "" + +#: extras/models/models.py:344 +msgid "Force link to open in a new window" +msgstr "" + +#: extras/models/models.py:353 +msgid "custom link" +msgstr "" + +#: extras/models/models.py:354 +msgid "custom links" +msgstr "" + +#: extras/models/models.py:401 +msgid "The object type(s) to which this template applies." +msgstr "" + +#: extras/models/models.py:419 +msgid "export template" +msgstr "" + +#: extras/models/models.py:420 +msgid "export templates" +msgstr "" + +#: extras/models/models.py:437 +#, python-brace-format +msgid "\"{name}\" is a reserved name. Please choose a different name." +msgstr "" + +#: extras/models/models.py:466 +msgid "The object type(s) to which this filter applies." +msgstr "" + +#: extras/models/models.py:498 extras/models/models.py:577 +msgid "shared" +msgstr "" + +#: extras/models/models.py:511 +msgid "saved filter" +msgstr "" + +#: extras/models/models.py:512 +msgid "saved filters" +msgstr "" + +#: extras/models/models.py:530 +msgid "Filter parameters must be stored as a dictionary of keyword arguments." +msgstr "" + +#: extras/models/models.py:547 +msgid "The table's object type" +msgstr "" + +#: extras/models/models.py:550 +msgid "table" +msgstr "" + +#: extras/models/models.py:593 +msgid "table config" +msgstr "" + +#: extras/models/models.py:594 +msgid "table configs" +msgstr "" + +#: extras/models/models.py:632 +#, python-brace-format +msgid "Unknown table: {name}" +msgstr "" + +#: extras/models/models.py:643 extras/models/models.py:650 +#, python-brace-format +msgid "Unknown column: {name}" +msgstr "" + +#: extras/models/models.py:673 +msgid "image height" +msgstr "" + +#: extras/models/models.py:676 +msgid "image width" +msgstr "" + +#: extras/models/models.py:698 +msgid "image attachment" +msgstr "" + +#: extras/models/models.py:699 +msgid "image attachments" +msgstr "" + +#: extras/models/models.py:713 +#, python-brace-format +msgid "Image attachments cannot be assigned to this object type ({type})." +msgstr "" + +#: extras/models/models.py:794 +msgid "kind" +msgstr "" + +#: extras/models/models.py:808 +msgid "journal entry" +msgstr "" + +#: extras/models/models.py:809 +msgid "journal entries" +msgstr "" + +#: extras/models/models.py:827 +#, python-brace-format +msgid "Journaling is not supported for this object type ({type})." +msgstr "" + +#: extras/models/models.py:869 +msgid "bookmark" +msgstr "" + +#: extras/models/models.py:870 +msgid "bookmarks" +msgstr "" + +#: extras/models/models.py:886 +#, python-brace-format +msgid "Bookmarks cannot be assigned to this object type ({type})." +msgstr "" + +#: extras/models/notifications.py:43 +msgid "read" +msgstr "" + +#: extras/models/notifications.py:66 +msgid "event" +msgstr "" + +#: extras/models/notifications.py:84 +msgid "notification" +msgstr "" + +#: extras/models/notifications.py:85 +msgid "notifications" +msgstr "" + +#: extras/models/notifications.py:99 extras/models/notifications.py:243 +#, python-brace-format +msgid "Objects of this type ({type}) do not support notifications." +msgstr "" + +#: extras/models/notifications.py:137 users/models/users.py:58 +#: users/models/users.py:77 +msgid "groups" +msgstr "" + +#: extras/models/notifications.py:143 users/models/users.py:93 +msgid "users" +msgstr "" + +#: extras/models/notifications.py:158 +msgid "notification group" +msgstr "" + +#: extras/models/notifications.py:159 +msgid "notification groups" +msgstr "" + +#: extras/models/notifications.py:226 +msgid "subscription" +msgstr "" + +#: extras/models/notifications.py:227 +msgid "subscriptions" +msgstr "" + +#: extras/models/scripts.py:42 +msgid "is executable" +msgstr "" + +#: extras/models/scripts.py:64 +msgid "script" +msgstr "" + +#: extras/models/scripts.py:65 +msgid "scripts" +msgstr "" + +#: extras/models/scripts.py:111 +msgid "script module" +msgstr "" + +#: extras/models/scripts.py:112 +msgid "script modules" +msgstr "" + +#: extras/models/search.py:22 +msgid "timestamp" +msgstr "" + +#: extras/models/search.py:37 +msgid "field" +msgstr "" + +#: extras/models/search.py:45 +msgid "value" +msgstr "" + +#: extras/models/search.py:56 +msgid "cached value" +msgstr "" + +#: extras/models/search.py:57 +msgid "cached values" +msgstr "" + +#: extras/models/tags.py:41 +msgid "The object type(s) to which this tag can be applied." +msgstr "" + +#: extras/models/tags.py:54 +msgid "tag" +msgstr "" + +#: extras/models/tags.py:55 +msgid "tags" +msgstr "" + +#: extras/models/tags.py:84 +msgid "tagged item" +msgstr "" + +#: extras/models/tags.py:85 +msgid "tagged items" +msgstr "" + +#: extras/scripts.py:494 +msgid "Script Data" +msgstr "" + +#: extras/scripts.py:498 +msgid "Script Execution Parameters" +msgstr "" + +#: extras/scripts.py:595 +msgid "load_yaml is deprecated and will be removed in v4.5" +msgstr "" + +#: extras/scripts.py:610 +msgid "load_json is deprecated and will be removed in v4.5" +msgstr "" + +#: extras/tables/columns.py:12 templates/htmx/notifications.html:29 +msgid "Dismiss" +msgstr "" + +#: extras/tables/tables.py:68 extras/tables/tables.py:165 +#: extras/tables/tables.py:190 extras/tables/tables.py:288 +#: extras/tables/tables.py:481 extras/tables/tables.py:515 +#: templates/extras/customfield.html:105 templates/extras/eventrule.html:27 +#: templates/users/objectpermission.html:64 users/tables.py:80 +msgid "Object Types" +msgstr "" + +#: extras/tables/tables.py:75 +msgid "Validate Uniqueness" +msgstr "" + +#: extras/tables/tables.py:79 +msgid "Visible" +msgstr "" + +#: extras/tables/tables.py:82 +msgid "Editable" +msgstr "" + +#: extras/tables/tables.py:88 +msgid "Related Object Type" +msgstr "" + +#: extras/tables/tables.py:92 templates/extras/customfield.html:51 +msgid "Choice Set" +msgstr "" + +#: extras/tables/tables.py:100 +msgid "Is Cloneable" +msgstr "" + +#: extras/tables/tables.py:104 templates/extras/customfield.html:118 +msgid "Minimum Value" +msgstr "" + +#: extras/tables/tables.py:107 templates/extras/customfield.html:122 +msgid "Maximum Value" +msgstr "" + +#: extras/tables/tables.py:110 +msgid "Validation Regex" +msgstr "" + +#: extras/tables/tables.py:143 +msgid "Count" +msgstr "" + +#: extras/tables/tables.py:146 +msgid "Order Alphabetically" +msgstr "" + +#: extras/tables/tables.py:171 templates/extras/customlink.html:33 +msgid "New Window" +msgstr "" + +#: extras/tables/tables.py:193 extras/tables/tables.py:640 +#: templates/extras/configtemplate.html:21 +#: templates/extras/exporttemplate.html:23 +msgid "MIME Type" +msgstr "" + +#: extras/tables/tables.py:196 extras/tables/tables.py:643 +#: templates/extras/configtemplate.html:25 +#: templates/extras/exporttemplate.html:27 +msgid "File Name" +msgstr "" + +#: extras/tables/tables.py:199 extras/tables/tables.py:646 +#: templates/extras/configtemplate.html:29 +#: templates/extras/exporttemplate.html:31 +msgid "File Extension" +msgstr "" + +#: extras/tables/tables.py:202 extras/tables/tables.py:649 +msgid "As Attachment" +msgstr "" + +#: extras/tables/tables.py:210 extras/tables/tables.py:560 +#: extras/tables/tables.py:590 extras/tables/tables.py:628 +#: templates/core/datafile.html:18 templates/core/inc/datafile_panel.html:4 +#: templates/core/inc/datafile_panel.html:17 +#: templates/extras/configtemplate.html:47 +#: templates/extras/object_render_config.html:23 +#: templates/generic/bulk_import.html:35 +msgid "Data File" +msgstr "" + +#: extras/tables/tables.py:215 extras/tables/tables.py:565 +#: extras/tables/tables.py:602 extras/tables/tables.py:633 +msgid "Synced" +msgstr "" + +#: extras/tables/tables.py:236 templates/extras/imageattachment.html:57 +msgid "Image" +msgstr "" + +#: extras/tables/tables.py:245 templates/extras/imageattachment.html:33 +msgid "Filename" +msgstr "" + +#: extras/tables/tables.py:264 templates/core/datafile.html:36 +#: templates/extras/imageattachment.html:44 templates/ipam/iprange.html:25 +#: templates/virtualization/virtualdisk.html:29 +#: virtualization/tables/virtualmachines.py:169 +msgid "Size" +msgstr "" + +#: extras/tables/tables.py:321 +msgid "Table Name" +msgstr "" + +#: extras/tables/tables.py:408 +msgid "Read" +msgstr "" + +#: extras/tables/tables.py:451 +msgid "SSL Validation" +msgstr "" + +#: extras/tables/tables.py:487 templates/extras/eventrule.html:37 +msgid "Event Types" +msgstr "" + +#: extras/tables/tables.py:636 templates/extras/configtemplate.html:66 +msgid "Auto Sync Enabled" +msgstr "" + +#: extras/tables/tables.py:658 netbox/navigation/menu.py:77 +#: templates/dcim/devicerole.html:8 +msgid "Device Roles" +msgstr "" + +#: extras/tables/tables.py:711 +msgid "Comments (Short)" +msgstr "" + +#: extras/tables/tables.py:730 extras/tables/tables.py:782 +msgid "Line" +msgstr "" + +#: extras/tables/tables.py:785 +msgid "Method" +msgstr "" + +#: extras/templatetags/dashboard.py:16 +msgid "An error was encountered when attempting to render this widget:" +msgstr "" + +#: extras/templatetags/dashboard.py:17 +msgid "Please try reconfiguring the widget, or remove it from your dashboard." +msgstr "" + +#: extras/validators.py:15 +#, python-format +msgid "Ensure this value is equal to %(limit_value)s." +msgstr "" + +#: extras/validators.py:26 +#, python-format +msgid "Ensure this value does not equal %(limit_value)s." +msgstr "" + +#: extras/validators.py:37 +msgid "This field must be empty." +msgstr "" + +#: extras/validators.py:52 +msgid "This field must not be empty." +msgstr "" + +#: extras/validators.py:94 +msgid "Validation rules must be passed as a dictionary" +msgstr "" + +#: extras/validators.py:119 +#, python-brace-format +msgid "Custom validation failed for {attribute}: {exception}" +msgstr "" + +#: extras/validators.py:133 +#, python-brace-format +msgid "Invalid attribute \"{name}\" for request" +msgstr "" + +#: extras/validators.py:150 +#, python-brace-format +msgid "Invalid attribute \"{name}\" for {model}" +msgstr "" + +#: extras/views.py:1125 +#, python-brace-format +msgid "An error occurred while rendering the template: {error}" +msgstr "" + +#: extras/views.py:1288 +msgid "Your dashboard has been reset." +msgstr "" + +#: extras/views.py:1334 +msgid "Added widget: " +msgstr "" + +#: extras/views.py:1375 +msgid "Updated widget: " +msgstr "" + +#: extras/views.py:1411 +msgid "Deleted widget: " +msgstr "" + +#: extras/views.py:1413 +msgid "Error deleting widget: " +msgstr "" + +#: extras/views.py:1518 +msgid "Unable to run script: RQ worker process not running." +msgstr "" + +#: ipam/api/field_serializers.py:17 +msgid "Enter a valid IPv4 or IPv6 address with optional mask." +msgstr "" + +#: ipam/api/field_serializers.py:24 +#, python-brace-format +msgid "Invalid IP address format: {data}" +msgstr "" + +#: ipam/api/field_serializers.py:37 +msgid "Enter a valid IPv4 or IPv6 prefix and mask in CIDR notation." +msgstr "" + +#: ipam/api/field_serializers.py:44 +#, python-brace-format +msgid "Invalid IP prefix format: {data}" +msgstr "" + +#: ipam/api/views.py:383 +msgid "" +"Insufficient space is available to accommodate the requested prefix size(s)" +msgstr "" + +#: ipam/choices.py:30 +msgid "Container" +msgstr "" + +#: ipam/choices.py:72 +msgid "DHCP" +msgstr "" + +#: ipam/choices.py:73 +msgid "SLAAC" +msgstr "" + +#: ipam/choices.py:89 +msgid "Loopback" +msgstr "" + +#: ipam/choices.py:91 +msgid "Anycast" +msgstr "" + +#: ipam/choices.py:115 +msgid "Standard" +msgstr "" + +#: ipam/choices.py:120 +msgid "CheckPoint" +msgstr "" + +#: ipam/choices.py:123 +msgid "Cisco" +msgstr "" + +#: ipam/choices.py:137 +msgid "Plaintext" +msgstr "" + +#: ipam/choices.py:166 templates/ipam/service.html:23 +msgid "Service" +msgstr "" + +#: ipam/choices.py:167 +msgid "Customer" +msgstr "" + +#: ipam/fields.py:39 +#, python-brace-format +msgid "Invalid IP address format: {address}" +msgstr "" + +#: ipam/filtersets.py:52 vpn/filtersets.py:308 +msgid "Import target" +msgstr "" + +#: ipam/filtersets.py:58 vpn/filtersets.py:314 +msgid "Import target (name)" +msgstr "" + +#: ipam/filtersets.py:63 vpn/filtersets.py:319 +msgid "Export target" +msgstr "" + +#: ipam/filtersets.py:69 vpn/filtersets.py:325 +msgid "Export target (name)" +msgstr "" + +#: ipam/filtersets.py:90 +msgid "Importing VRF" +msgstr "" + +#: ipam/filtersets.py:96 +msgid "Import VRF (RD)" +msgstr "" + +#: ipam/filtersets.py:101 +msgid "Exporting VRF" +msgstr "" + +#: ipam/filtersets.py:107 +msgid "Export VRF (RD)" +msgstr "" + +#: ipam/filtersets.py:112 +msgid "Importing L2VPN" +msgstr "" + +#: ipam/filtersets.py:118 +msgid "Importing L2VPN (identifier)" +msgstr "" + +#: ipam/filtersets.py:123 +msgid "Exporting L2VPN" +msgstr "" + +#: ipam/filtersets.py:129 +msgid "Exporting L2VPN (identifier)" +msgstr "" + +#: ipam/filtersets.py:159 ipam/filtersets.py:300 ipam/forms/model_forms.py:230 +#: ipam/tables/ip.py:159 templates/ipam/prefix.html:12 +msgid "Prefix" +msgstr "" + +#: ipam/filtersets.py:163 ipam/filtersets.py:202 ipam/filtersets.py:227 +msgid "RIR (ID)" +msgstr "" + +#: ipam/filtersets.py:169 ipam/filtersets.py:208 ipam/filtersets.py:233 +msgid "RIR (slug)" +msgstr "" + +#: ipam/filtersets.py:304 +msgid "Within prefix" +msgstr "" + +#: ipam/filtersets.py:308 +msgid "Within and including prefix" +msgstr "" + +#: ipam/filtersets.py:312 +msgid "Prefixes which contain this prefix or IP" +msgstr "" + +#: ipam/filtersets.py:323 ipam/filtersets.py:567 ipam/forms/bulk_edit.py:332 +#: ipam/forms/filtersets.py:205 ipam/forms/filtersets.py:355 +msgid "Mask length" +msgstr "" + +#: ipam/filtersets.py:358 +msgid "VLAN Group (ID)" +msgstr "" + +#: ipam/filtersets.py:364 +msgid "VLAN Group (slug)" +msgstr "" + +#: ipam/filtersets.py:368 vpn/filtersets.py:431 +msgid "VLAN (ID)" +msgstr "" + +#: ipam/filtersets.py:372 vpn/filtersets.py:426 +msgid "VLAN number (1-4094)" +msgstr "" + +#: ipam/filtersets.py:466 ipam/filtersets.py:470 ipam/filtersets.py:562 +#: ipam/forms/model_forms.py:507 templates/tenancy/contact.html:63 +#: tenancy/forms/bulk_edit.py:125 +msgid "Address" +msgstr "" + +#: ipam/filtersets.py:474 +msgid "Ranges which contain this prefix or IP" +msgstr "" + +#: ipam/filtersets.py:502 ipam/filtersets.py:558 +msgid "Parent prefix" +msgstr "" + +#: ipam/filtersets.py:644 +msgid "FHRP group (ID)" +msgstr "" + +#: ipam/filtersets.py:648 +msgid "Is assigned to an interface" +msgstr "" + +#: ipam/filtersets.py:664 +msgid "Application Service (ID)" +msgstr "" + +#: ipam/filtersets.py:669 +msgid "NAT inside IP address (ID)" +msgstr "" + +#: ipam/filtersets.py:1015 +msgid "Q-in-Q SVLAN (ID)" +msgstr "" + +#: ipam/filtersets.py:1019 +msgid "Q-in-Q SVLAN number (1-4094)" +msgstr "" + +#: ipam/filtersets.py:1040 +msgid "Assigned VM interface" +msgstr "" + +#: ipam/filtersets.py:1113 +msgid "VLAN Translation Policy (name)" +msgstr "" + +#: ipam/filtersets.py:1180 +msgid "FHRP Group (name)" +msgstr "" + +#: ipam/filtersets.py:1185 +msgid "FHRP Group (ID)" +msgstr "" + +#: ipam/filtersets.py:1190 +msgid "IP address (ID)" +msgstr "" + +#: ipam/filtersets.py:1196 ipam/models/ip.py:816 +msgid "IP address" +msgstr "" + +#: ipam/filtersets.py:1248 +msgid "Primary IPv4 (ID)" +msgstr "" + +#: ipam/filtersets.py:1254 +msgid "Primary IPv4 (address)" +msgstr "" + +#: ipam/filtersets.py:1259 +msgid "Primary IPv6 (ID)" +msgstr "" + +#: ipam/filtersets.py:1265 +msgid "Primary IPv6 (address)" +msgstr "" + +#: ipam/formfields.py:14 +msgid "Enter a valid IPv4 or IPv6 address (without a mask)." +msgstr "" + +#: ipam/formfields.py:32 +#, python-brace-format +msgid "Invalid IPv4/IPv6 address format: {address}" +msgstr "" + +#: ipam/formfields.py:37 +msgid "This field requires an IP address without a mask." +msgstr "" + +#: ipam/formfields.py:39 ipam/formfields.py:61 +msgid "Please specify a valid IPv4 or IPv6 address." +msgstr "" + +#: ipam/formfields.py:44 +msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." +msgstr "" + +#: ipam/formfields.py:56 +msgid "CIDR mask (e.g. /24) is required." +msgstr "" + +#: ipam/forms/bulk_create.py:13 +msgid "Address pattern" +msgstr "" + +#: ipam/forms/bulk_edit.py:53 +msgid "Enforce unique space" +msgstr "" + +#: ipam/forms/bulk_edit.py:91 +msgid "Is private" +msgstr "" + +#: ipam/forms/bulk_edit.py:112 ipam/forms/bulk_edit.py:141 +#: ipam/forms/bulk_edit.py:166 ipam/forms/bulk_import.py:92 +#: ipam/forms/bulk_import.py:112 ipam/forms/bulk_import.py:132 +#: ipam/forms/filtersets.py:113 ipam/forms/filtersets.py:128 +#: ipam/forms/filtersets.py:151 ipam/forms/model_forms.py:100 +#: ipam/forms/model_forms.py:113 ipam/forms/model_forms.py:136 +#: ipam/forms/model_forms.py:155 ipam/models/asns.py:32 ipam/models/asns.py:101 +#: ipam/models/ip.py:72 ipam/models/ip.py:88 ipam/tables/asn.py:20 +#: ipam/tables/asn.py:45 templates/ipam/aggregate.html:18 +#: templates/ipam/asn.html:27 templates/ipam/asnrange.html:19 +#: templates/ipam/rir.html:19 +msgid "RIR" +msgstr "" + +#: ipam/forms/bulk_edit.py:174 +msgid "Date added" +msgstr "" + +#: ipam/forms/bulk_edit.py:213 ipam/forms/filtersets.py:266 +#: ipam/forms/model_forms.py:622 ipam/forms/model_forms.py:670 +#: ipam/tables/ip.py:202 templates/ipam/vlan_edit.html:49 +#: templates/ipam/vlangroup.html:27 +msgid "VLAN Group" +msgstr "" + +#: ipam/forms/bulk_edit.py:218 ipam/forms/bulk_import.py:188 +#: ipam/forms/filtersets.py:271 ipam/forms/model_forms.py:218 +#: ipam/models/vlans.py:290 ipam/tables/ip.py:207 templates/ipam/prefix.html:56 +#: templates/ipam/vlan.html:12 templates/ipam/vlan/base.html:6 +#: templates/ipam/vlan_edit.html:14 templates/wireless/wirelesslan.html:38 +#: vpn/forms/bulk_import.py:309 vpn/forms/filtersets.py:295 +#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:455 +#: wireless/forms/bulk_edit.py:58 wireless/forms/bulk_import.py:50 +#: wireless/forms/model_forms.py:52 wireless/models.py:102 +msgid "VLAN" +msgstr "" + +#: ipam/forms/bulk_edit.py:229 +msgid "Prefix length" +msgstr "" + +#: ipam/forms/bulk_edit.py:252 ipam/forms/filtersets.py:251 +#: templates/ipam/prefix.html:81 +msgid "Is a pool" +msgstr "" + +#: ipam/forms/bulk_edit.py:257 ipam/forms/bulk_edit.py:307 +#: ipam/forms/filtersets.py:258 ipam/forms/filtersets.py:316 +#: ipam/models/ip.py:262 +msgid "Treat as fully utilized" +msgstr "" + +#: ipam/forms/bulk_edit.py:271 ipam/forms/filtersets.py:179 +#: ipam/forms/model_forms.py:233 +msgid "VLAN Assignment" +msgstr "" + +#: ipam/forms/bulk_edit.py:302 ipam/forms/filtersets.py:309 +msgid "Treat as populated" +msgstr "" + +#: ipam/forms/bulk_edit.py:355 ipam/models/ip.py:800 +msgid "DNS name" +msgstr "" + +#: ipam/forms/bulk_edit.py:376 ipam/forms/bulk_edit.py:573 +#: ipam/forms/bulk_import.py:443 ipam/forms/bulk_import.py:561 +#: ipam/forms/bulk_import.py:589 ipam/forms/filtersets.py:414 +#: ipam/forms/filtersets.py:604 templates/ipam/fhrpgroup.html:22 +#: templates/ipam/inc/panels/fhrp_groups.html:24 templates/ipam/service.html:34 +#: templates/ipam/servicetemplate.html:19 +msgid "Protocol" +msgstr "" + +#: ipam/forms/bulk_edit.py:383 ipam/forms/filtersets.py:421 +#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:26 +msgid "Group ID" +msgstr "" + +#: ipam/forms/bulk_edit.py:388 ipam/forms/filtersets.py:426 +#: wireless/forms/bulk_edit.py:71 wireless/forms/bulk_edit.py:119 +#: wireless/forms/bulk_import.py:64 wireless/forms/bulk_import.py:67 +#: wireless/forms/bulk_import.py:144 wireless/forms/bulk_import.py:147 +#: wireless/forms/filtersets.py:57 wireless/forms/filtersets.py:116 +msgid "Authentication type" +msgstr "" + +#: ipam/forms/bulk_edit.py:393 ipam/forms/filtersets.py:430 +msgid "Authentication key" +msgstr "" + +#: ipam/forms/bulk_edit.py:410 ipam/forms/filtersets.py:407 +#: ipam/forms/model_forms.py:518 netbox/navigation/menu.py:410 +#: templates/ipam/fhrpgroup.html:49 +#: templates/wireless/inc/authentication_attrs.html:5 +#: wireless/forms/bulk_edit.py:95 wireless/forms/bulk_edit.py:153 +#: wireless/forms/filtersets.py:39 wireless/forms/filtersets.py:104 +#: wireless/forms/model_forms.py:60 wireless/forms/model_forms.py:176 +msgid "Authentication" +msgstr "" + +#: ipam/forms/bulk_edit.py:435 ipam/models/vlans.py:62 +msgid "VLAN ID ranges" +msgstr "" + +#: ipam/forms/bulk_edit.py:516 ipam/forms/bulk_import.py:518 +#: ipam/forms/filtersets.py:579 ipam/models/vlans.py:250 +#: ipam/tables/vlans.py:106 +msgid "Q-in-Q role" +msgstr "" + +#: ipam/forms/bulk_edit.py:533 +msgid "Q-in-Q" +msgstr "" + +#: ipam/forms/bulk_edit.py:534 +msgid "Site & Group" +msgstr "" + +#: ipam/forms/bulk_edit.py:557 ipam/forms/bulk_import.py:548 +#: ipam/forms/model_forms.py:726 ipam/tables/vlans.py:259 +#: templates/ipam/vlantranslationrule.html:14 vpn/forms/model_forms.py:322 +#: vpn/forms/model_forms.py:359 +msgid "Policy" +msgstr "" + +#: ipam/forms/bulk_edit.py:578 ipam/forms/model_forms.py:744 +#: ipam/forms/model_forms.py:777 ipam/tables/services.py:20 +#: ipam/tables/services.py:50 templates/ipam/service.html:38 +#: templates/ipam/servicetemplate.html:23 +msgid "Ports" +msgstr "" + +#: ipam/forms/bulk_import.py:51 +msgid "Import route targets" +msgstr "" + +#: ipam/forms/bulk_import.py:57 +msgid "Export route targets" +msgstr "" + +#: ipam/forms/bulk_import.py:95 ipam/forms/bulk_import.py:115 +#: ipam/forms/bulk_import.py:135 +msgid "Assigned RIR" +msgstr "" + +#: ipam/forms/bulk_import.py:178 +msgid "VLAN's group (if any)" +msgstr "" + +#: ipam/forms/bulk_import.py:181 +msgid "VLAN Site" +msgstr "" + +#: ipam/forms/bulk_import.py:185 +msgid "VLAN's site (if any)" +msgstr "" + +#: ipam/forms/bulk_import.py:214 virtualization/forms/bulk_import.py:85 +#: wireless/forms/bulk_import.py:83 +msgid "Scope ID" +msgstr "" + +#: ipam/forms/bulk_import.py:327 ipam/forms/filtersets.py:636 +#: ipam/forms/model_forms.py:306 ipam/forms/model_forms.py:336 +#: ipam/forms/model_forms.py:517 templates/ipam/fhrpgroup.html:19 +msgid "FHRP Group" +msgstr "" + +#: ipam/forms/bulk_import.py:331 +msgid "Assigned FHRP Group name" +msgstr "" + +#: ipam/forms/bulk_import.py:335 +msgid "Make this the primary IP for the assigned device" +msgstr "" + +#: ipam/forms/bulk_import.py:339 +msgid "Is out-of-band" +msgstr "" + +#: ipam/forms/bulk_import.py:340 +msgid "Designate this as the out-of-band IP address for the assigned device" +msgstr "" + +#: ipam/forms/bulk_import.py:394 +msgid "No device or virtual machine specified; cannot set as primary IP" +msgstr "" + +#: ipam/forms/bulk_import.py:398 +msgid "No device specified; cannot set as out-of-band IP" +msgstr "" + +#: ipam/forms/bulk_import.py:402 +msgid "Cannot set out-of-band IP for virtual machines" +msgstr "" + +#: ipam/forms/bulk_import.py:406 +msgid "No interface specified; cannot set as primary IP" +msgstr "" + +#: ipam/forms/bulk_import.py:410 +msgid "No interface specified; cannot set as out-of-band IP" +msgstr "" + +#: ipam/forms/bulk_import.py:447 +msgid "Auth type" +msgstr "" + +#: ipam/forms/bulk_import.py:496 +msgid "Assigned VLAN group" +msgstr "" + +#: ipam/forms/bulk_import.py:528 +msgid "Service VLAN (for Q-in-Q/802.1ad customer VLANs)" +msgstr "" + +#: ipam/forms/bulk_import.py:551 ipam/models/vlans.py:369 +msgid "VLAN translation policy" +msgstr "" + +#: ipam/forms/bulk_import.py:563 ipam/forms/bulk_import.py:591 +msgid "IP protocol" +msgstr "" + +#: ipam/forms/bulk_import.py:575 +msgid "Parent type (app & model)" +msgstr "" + +#: ipam/forms/bulk_import.py:582 +msgid "Parent object name" +msgstr "" + +#: ipam/forms/bulk_import.py:586 +msgid "Parent object ID" +msgstr "" + +#: ipam/forms/bulk_import.py:638 +msgid "" +"One of parent or parent_object_id must be included with parent_object_type" +msgstr "" + +#: ipam/forms/bulk_import.py:651 +#, python-brace-format +msgid "{ip} is not assigned to this parent." +msgstr "" + +#: ipam/forms/filtersets.py:49 ipam/forms/model_forms.py:67 +#: netbox/navigation/menu.py:196 vpn/forms/model_forms.py:413 +msgid "Route Targets" +msgstr "" + +#: ipam/forms/filtersets.py:55 ipam/forms/model_forms.py:54 +#: vpn/forms/filtersets.py:235 vpn/forms/model_forms.py:400 +msgid "Import targets" +msgstr "" + +#: ipam/forms/filtersets.py:60 ipam/forms/model_forms.py:59 +#: vpn/forms/filtersets.py:240 vpn/forms/model_forms.py:405 +msgid "Export targets" +msgstr "" + +#: ipam/forms/filtersets.py:75 +msgid "Imported by VRF" +msgstr "" + +#: ipam/forms/filtersets.py:80 +msgid "Exported by VRF" +msgstr "" + +#: ipam/forms/filtersets.py:89 ipam/tables/ip.py:36 templates/ipam/rir.html:30 +msgid "Private" +msgstr "" + +#: ipam/forms/filtersets.py:108 ipam/forms/filtersets.py:200 +#: ipam/forms/filtersets.py:288 ipam/forms/filtersets.py:350 +msgid "Address family" +msgstr "" + +#: ipam/forms/filtersets.py:122 templates/ipam/asnrange.html:25 +msgid "Range" +msgstr "" + +#: ipam/forms/filtersets.py:131 +msgid "Start" +msgstr "" + +#: ipam/forms/filtersets.py:135 +msgid "End" +msgstr "" + +#: ipam/forms/filtersets.py:195 +msgid "Search within" +msgstr "" + +#: ipam/forms/filtersets.py:216 ipam/forms/filtersets.py:366 +msgid "Present in VRF" +msgstr "" + +#: ipam/forms/filtersets.py:334 +msgid "Device/VM" +msgstr "" + +#: ipam/forms/filtersets.py:345 +msgid "Parent Prefix" +msgstr "" + +#: ipam/forms/filtersets.py:397 templates/ipam/ipaddress.html:51 +msgid "DNS Name" +msgstr "" + +#: ipam/forms/filtersets.py:440 ipam/models/vlans.py:291 ipam/tables/ip.py:123 +#: ipam/tables/vlans.py:52 ipam/views.py:1094 netbox/navigation/menu.py:200 +#: netbox/navigation/menu.py:202 +msgid "VLANs" +msgstr "" + +#: ipam/forms/filtersets.py:482 +msgid "Contains VLAN ID" +msgstr "" + +#: ipam/forms/filtersets.py:516 ipam/models/vlans.py:389 +msgid "Local VLAN ID" +msgstr "" + +#: ipam/forms/filtersets.py:521 ipam/models/vlans.py:397 +msgid "Remote VLAN ID" +msgstr "" + +#: ipam/forms/filtersets.py:531 +msgid "Q-in-Q/802.1ad" +msgstr "" + +#: ipam/forms/filtersets.py:576 ipam/models/vlans.py:209 +#: templates/ipam/vlan.html:31 +msgid "VLAN ID" +msgstr "" + +#: ipam/forms/model_forms.py:84 templates/ipam/routetarget.html:10 +msgid "Route Target" +msgstr "" + +#: ipam/forms/model_forms.py:119 ipam/tables/ip.py:64 +#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:38 +msgid "Aggregate" +msgstr "" + +#: ipam/forms/model_forms.py:141 templates/ipam/asnrange.html:12 +msgid "ASN Range" +msgstr "" + +#: ipam/forms/model_forms.py:270 templates/ipam/iprange.html:10 +msgid "IP Range" +msgstr "" + +#: ipam/forms/model_forms.py:321 +msgid "Make this the primary IP for the device/VM" +msgstr "" + +#: ipam/forms/model_forms.py:325 +msgid "Make this the out-of-band IP for the device" +msgstr "" + +#: ipam/forms/model_forms.py:340 +msgid "NAT IP (Inside)" +msgstr "" + +#: ipam/forms/model_forms.py:402 +msgid "An IP address can only be assigned to a single object." +msgstr "" + +#: ipam/forms/model_forms.py:409 +msgid "Cannot reassign primary IP address for the parent device/VM" +msgstr "" + +#: ipam/forms/model_forms.py:413 +msgid "Cannot reassign out-of-Band IP address for the parent device" +msgstr "" + +#: ipam/forms/model_forms.py:423 +msgid "" +"Only IP addresses assigned to an interface can be designated as primary IPs." +msgstr "" + +#: ipam/forms/model_forms.py:431 +msgid "" +"Only IP addresses assigned to a device interface can be designated as the " +"out-of-band IP for a device." +msgstr "" + +#: ipam/forms/model_forms.py:519 +msgid "Virtual IP Address" +msgstr "" + +#: ipam/forms/model_forms.py:596 +msgid "Assignment already exists" +msgstr "" + +#: ipam/forms/model_forms.py:605 templates/ipam/vlangroup.html:42 +msgid "VLAN IDs" +msgstr "" + +#: ipam/forms/model_forms.py:623 +msgid "Child VLANs" +msgstr "" + +#: ipam/forms/model_forms.py:681 +msgid "" +"The direct assignment of VLANs to a site is deprecated and will be removed " +"in a future release. Users are encouraged to utilize VLAN groups for this " +"purpose." +msgstr "" + +#: ipam/forms/model_forms.py:732 templates/ipam/vlantranslationrule.html:11 +msgid "VLAN Translation Rule" +msgstr "" + +#: ipam/forms/model_forms.py:749 ipam/forms/model_forms.py:782 +msgid "" +"Comma-separated list of one or more port numbers. A range may be specified " +"using a hyphen." +msgstr "" + +#: ipam/forms/model_forms.py:754 templates/ipam/servicetemplate.html:12 +msgid "Application Service Template" +msgstr "" + +#: ipam/forms/model_forms.py:767 +msgid "Parent type" +msgstr "" + +#: ipam/forms/model_forms.py:794 +msgid "Port(s)" +msgstr "" + +#: ipam/forms/model_forms.py:795 ipam/forms/model_forms.py:861 +msgid "Application Service" +msgstr "" + +#: ipam/forms/model_forms.py:849 +msgid "Application Service template" +msgstr "" + +#: ipam/forms/model_forms.py:858 +msgid "From Template" +msgstr "" + +#: ipam/forms/model_forms.py:859 +msgid "Custom" +msgstr "" + +#: ipam/forms/model_forms.py:891 +msgid "" +"Must specify name, protocol, and port(s) if not using an application service " +"template." +msgstr "" + +#: ipam/models/asns.py:35 +msgid "start" +msgstr "" + +#: ipam/models/asns.py:52 +msgid "ASN range" +msgstr "" + +#: ipam/models/asns.py:53 +msgid "ASN ranges" +msgstr "" + +#: ipam/models/asns.py:70 +#, python-brace-format +msgid "Starting ASN ({start}) must be lower than ending ASN ({end})." +msgstr "" + +#: ipam/models/asns.py:102 +msgid "Regional Internet Registry responsible for this AS number space" +msgstr "" + +#: ipam/models/asns.py:107 +msgid "16- or 32-bit autonomous system number" +msgstr "" + +#: ipam/models/fhrp.py:21 +msgid "group ID" +msgstr "" + +#: ipam/models/fhrp.py:29 ipam/models/services.py:21 +msgid "protocol" +msgstr "" + +#: ipam/models/fhrp.py:38 wireless/models.py:29 +msgid "authentication type" +msgstr "" + +#: ipam/models/fhrp.py:43 +msgid "authentication key" +msgstr "" + +#: ipam/models/fhrp.py:62 +msgid "FHRP group" +msgstr "" + +#: ipam/models/fhrp.py:63 +msgid "FHRP groups" +msgstr "" + +#: ipam/models/fhrp.py:116 +msgid "FHRP group assignment" +msgstr "" + +#: ipam/models/fhrp.py:117 +msgid "FHRP group assignments" +msgstr "" + +#: ipam/models/ip.py:66 +msgid "private" +msgstr "" + +#: ipam/models/ip.py:67 +msgid "IP space managed by this RIR is considered private" +msgstr "" + +#: ipam/models/ip.py:73 netbox/navigation/menu.py:189 +msgid "RIRs" +msgstr "" + +#: ipam/models/ip.py:82 +msgid "IPv4 or IPv6 network" +msgstr "" + +#: ipam/models/ip.py:89 +msgid "Regional Internet Registry responsible for this IP space" +msgstr "" + +#: ipam/models/ip.py:99 +msgid "date added" +msgstr "" + +#: ipam/models/ip.py:113 +msgid "aggregate" +msgstr "" + +#: ipam/models/ip.py:114 +msgid "aggregates" +msgstr "" + +#: ipam/models/ip.py:127 +msgid "Cannot create aggregate with /0 mask." +msgstr "" + +#: ipam/models/ip.py:139 +#, python-brace-format +msgid "" +"Aggregates cannot overlap. {prefix} is already covered by an existing " +"aggregate ({aggregate})." +msgstr "" + +#: ipam/models/ip.py:153 +#, python-brace-format +msgid "" +"Prefixes cannot overlap aggregates. {prefix} covers an existing aggregate " +"({aggregate})." +msgstr "" + +#: ipam/models/ip.py:201 +msgid "roles" +msgstr "" + +#: ipam/models/ip.py:214 ipam/models/ip.py:283 +msgid "prefix" +msgstr "" + +#: ipam/models/ip.py:215 +msgid "IPv4 or IPv6 network with mask" +msgstr "" + +#: ipam/models/ip.py:244 +msgid "Operational status of this prefix" +msgstr "" + +#: ipam/models/ip.py:252 +msgid "The primary function of this prefix" +msgstr "" + +#: ipam/models/ip.py:255 +msgid "is a pool" +msgstr "" + +#: ipam/models/ip.py:257 +msgid "All IP addresses within this prefix are considered usable" +msgstr "" + +#: ipam/models/ip.py:260 ipam/models/ip.py:549 +msgid "mark utilized" +msgstr "" + +#: ipam/models/ip.py:284 +msgid "prefixes" +msgstr "" + +#: ipam/models/ip.py:311 +msgid "Cannot create prefix with /0 mask." +msgstr "" + +#: ipam/models/ip.py:318 ipam/models/ip.py:904 +#, python-brace-format +msgid "VRF {vrf}" +msgstr "" + +#: ipam/models/ip.py:318 ipam/models/ip.py:904 +msgid "global table" +msgstr "" + +#: ipam/models/ip.py:320 +#, python-brace-format +msgid "Duplicate prefix found in {table}: {prefix}" +msgstr "" + +#: ipam/models/ip.py:502 +msgid "start address" +msgstr "" + +#: ipam/models/ip.py:503 ipam/models/ip.py:507 ipam/models/ip.py:740 +msgid "IPv4 or IPv6 address (with mask)" +msgstr "" + +#: ipam/models/ip.py:506 +msgid "end address" +msgstr "" + +#: ipam/models/ip.py:533 +msgid "Operational status of this range" +msgstr "" + +#: ipam/models/ip.py:541 +msgid "The primary function of this range" +msgstr "" + +#: ipam/models/ip.py:544 +msgid "mark populated" +msgstr "" + +#: ipam/models/ip.py:546 +msgid "Prevent the creation of IP addresses within this range" +msgstr "" + +#: ipam/models/ip.py:551 +msgid "Report space as fully utilized" +msgstr "" + +#: ipam/models/ip.py:560 +msgid "IP range" +msgstr "" + +#: ipam/models/ip.py:561 +msgid "IP ranges" +msgstr "" + +#: ipam/models/ip.py:574 +msgid "Starting and ending IP address versions must match" +msgstr "" + +#: ipam/models/ip.py:580 +msgid "Starting and ending IP address masks must match" +msgstr "" + +#: ipam/models/ip.py:587 +#, python-brace-format +msgid "" +"Ending address must be greater than the starting address ({start_address})" +msgstr "" + +#: ipam/models/ip.py:615 +#, python-brace-format +msgid "Defined addresses overlap with range {overlapping_range} in VRF {vrf}" +msgstr "" + +#: ipam/models/ip.py:624 +#, python-brace-format +msgid "Defined range exceeds maximum supported size ({max_size})" +msgstr "" + +#: ipam/models/ip.py:739 tenancy/models/contacts.py:75 +msgid "address" +msgstr "" + +#: ipam/models/ip.py:762 +msgid "The operational status of this IP" +msgstr "" + +#: ipam/models/ip.py:770 +msgid "The functional role of this IP" +msgstr "" + +#: ipam/models/ip.py:793 templates/ipam/ipaddress.html:72 +msgid "NAT (inside)" +msgstr "" + +#: ipam/models/ip.py:794 +msgid "The IP for which this address is the \"outside\" IP" +msgstr "" + +#: ipam/models/ip.py:801 +msgid "Hostname or FQDN (not case-sensitive)" +msgstr "" + +#: ipam/models/ip.py:817 ipam/models/services.py:86 +msgid "IP addresses" +msgstr "" + +#: ipam/models/ip.py:875 +msgid "Cannot create IP address with /0 mask." +msgstr "" + +#: ipam/models/ip.py:881 +#, python-brace-format +msgid "{ip} is a network ID, which may not be assigned to an interface." +msgstr "" + +#: ipam/models/ip.py:892 +#, python-brace-format +msgid "{ip} is a broadcast address, which may not be assigned to an interface." +msgstr "" + +#: ipam/models/ip.py:906 +#, python-brace-format +msgid "Duplicate IP address found in {table}: {ipaddress}" +msgstr "" + +#: ipam/models/ip.py:922 +#, python-brace-format +msgid "Cannot create IP address {ip} inside range {range}." +msgstr "" + +#: ipam/models/ip.py:943 +msgid "" +"Cannot reassign IP address while it is designated as the primary IP for the " +"parent object" +msgstr "" + +#: ipam/models/ip.py:949 +msgid "Only IPv6 addresses can be assigned SLAAC status" +msgstr "" + +#: ipam/models/services.py:32 +msgid "port numbers" +msgstr "" + +#: ipam/models/services.py:58 +msgid "application service template" +msgstr "" + +#: ipam/models/services.py:59 +msgid "application service templates" +msgstr "" + +#: ipam/models/services.py:87 +msgid "" +"The specific IP addresses (if any) to which this application service is bound" +msgstr "" + +#: ipam/models/services.py:97 +msgid "application service" +msgstr "" + +#: ipam/models/services.py:98 +msgid "application services" +msgstr "" + +#: ipam/models/vlans.py:94 +msgid "VLAN groups" +msgstr "" + +#: ipam/models/vlans.py:101 +msgid "Cannot set scope_type without scope_id." +msgstr "" + +#: ipam/models/vlans.py:103 +msgid "Cannot set scope_id without scope_type." +msgstr "" + +#: ipam/models/vlans.py:111 +#, python-brace-format +msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" +msgstr "" + +#: ipam/models/vlans.py:117 +#, python-brace-format +msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" +msgstr "" + +#: ipam/models/vlans.py:124 +#, python-brace-format +msgid "" +"Ending VLAN ID in range must be greater than or equal to the starting VLAN " +"ID ({range})" +msgstr "" + +#: ipam/models/vlans.py:130 +msgid "Ranges cannot overlap." +msgstr "" + +#: ipam/models/vlans.py:198 +msgid "The specific site to which this VLAN is assigned (if any)" +msgstr "" + +#: ipam/models/vlans.py:206 +msgid "VLAN group (optional)" +msgstr "" + +#: ipam/models/vlans.py:214 ipam/models/vlans.py:394 ipam/models/vlans.py:402 +msgid "Numeric VLAN ID (1-4094)" +msgstr "" + +#: ipam/models/vlans.py:232 +msgid "Operational status of this VLAN" +msgstr "" + +#: ipam/models/vlans.py:240 +msgid "The primary function of this VLAN" +msgstr "" + +#: ipam/models/vlans.py:255 +msgid "Customer/service VLAN designation (for Q-in-Q/IEEE 802.1ad)" +msgstr "" + +#: ipam/models/vlans.py:304 +#, python-brace-format +msgid "" +"VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " +"site {site}." +msgstr "" + +#: ipam/models/vlans.py:311 +#, python-brace-format +msgid "" +"The assigned site {site} is not a member of the assigned group {group} " +"(scope: {scope})." +msgstr "" + +#: ipam/models/vlans.py:320 +#, python-brace-format +msgid "VID must be in ranges {ranges} for VLANs in group {group}" +msgstr "" + +#: ipam/models/vlans.py:327 +msgid "Only Q-in-Q customer VLANs maybe assigned to a service VLAN." +msgstr "" + +#: ipam/models/vlans.py:333 +msgid "A Q-in-Q customer VLAN must be assigned to a service VLAN." +msgstr "" + +#: ipam/models/vlans.py:370 +msgid "VLAN translation policies" +msgstr "" + +#: ipam/models/vlans.py:411 +msgid "VLAN translation rule" +msgstr "" + +#: ipam/models/vrfs.py:29 +msgid "route distinguisher" +msgstr "" + +#: ipam/models/vrfs.py:30 +msgid "Unique route distinguisher (as defined in RFC 4364)" +msgstr "" + +#: ipam/models/vrfs.py:41 +msgid "enforce unique space" +msgstr "" + +#: ipam/models/vrfs.py:42 +msgid "Prevent duplicate prefixes/IP addresses within this VRF" +msgstr "" + +#: ipam/models/vrfs.py:62 netbox/navigation/menu.py:193 +#: netbox/navigation/menu.py:195 +msgid "VRFs" +msgstr "" + +#: ipam/models/vrfs.py:78 +msgid "Route target value (formatted in accordance with RFC 4360)" +msgstr "" + +#: ipam/models/vrfs.py:91 +msgid "route target" +msgstr "" + +#: ipam/models/vrfs.py:92 +msgid "route targets" +msgstr "" + +#: ipam/tables/asn.py:52 +msgid "ASDOT" +msgstr "" + +#: ipam/tables/asn.py:57 +msgid "Site Count" +msgstr "" + +#: ipam/tables/asn.py:62 +msgid "Provider Count" +msgstr "" + +#: ipam/tables/ip.py:42 netbox/navigation/menu.py:186 +#: netbox/navigation/menu.py:188 +msgid "Aggregates" +msgstr "" + +#: ipam/tables/ip.py:72 +msgid "Added" +msgstr "" + +#: ipam/tables/ip.py:75 ipam/tables/ip.py:113 ipam/tables/vlans.py:121 +#: ipam/views.py:425 netbox/navigation/menu.py:172 +#: netbox/navigation/menu.py:174 templates/ipam/vlan.html:100 +msgid "Prefixes" +msgstr "" + +#: ipam/tables/ip.py:78 ipam/tables/ip.py:222 ipam/tables/ip.py:281 +#: ipam/tables/vlans.py:56 templates/dcim/device.html:266 +#: templates/ipam/aggregate.html:24 templates/ipam/iprange.html:37 +#: templates/ipam/prefix.html:102 +msgid "Utilization" +msgstr "" + +#: ipam/tables/ip.py:118 netbox/navigation/menu.py:168 +msgid "IP Ranges" +msgstr "" + +#: ipam/tables/ip.py:168 +msgid "Prefix (Flat)" +msgstr "" + +#: ipam/tables/ip.py:172 +msgid "Depth" +msgstr "" + +#: ipam/tables/ip.py:192 ipam/tables/vlans.py:37 +#: virtualization/tables/clusters.py:77 wireless/tables/wirelesslan.py:59 +msgid "Scope Type" +msgstr "" + +#: ipam/tables/ip.py:214 +msgid "Pool" +msgstr "" + +#: ipam/tables/ip.py:218 ipam/tables/ip.py:277 templates/ipam/iprange.html:33 +msgid "Marked Utilized" +msgstr "" + +#: ipam/tables/ip.py:257 +msgid "Start address" +msgstr "" + +#: ipam/tables/ip.py:273 templates/ipam/iprange.html:29 +msgid "Marked Populated" +msgstr "" + +#: ipam/tables/ip.py:341 +msgid "NAT (Inside)" +msgstr "" + +#: ipam/tables/ip.py:346 +msgid "NAT (Outside)" +msgstr "" + +#: ipam/tables/ip.py:351 +msgid "Assigned" +msgstr "" + +#: ipam/tables/ip.py:397 templates/vpn/l2vpntermination.html:16 +#: vpn/forms/filtersets.py:251 +msgid "Assigned Object" +msgstr "" + +#: ipam/tables/vlans.py:46 +msgid "VID Ranges" +msgstr "" + +#: ipam/tables/vlans.py:83 ipam/tables/vlans.py:193 +#: templates/dcim/inc/interface_vlans_table.html:4 +msgid "VID" +msgstr "" + +#: ipam/tables/vlans.py:240 templates/ipam/vlantranslationpolicy.html:22 +msgid "Rules" +msgstr "" + +#: ipam/tables/vlans.py:263 templates/ipam/vlantranslationrule.html:18 +msgid "Local VID" +msgstr "" + +#: ipam/tables/vlans.py:267 templates/ipam/vlantranslationrule.html:22 +msgid "Remote VID" +msgstr "" + +#: ipam/tables/vrfs.py:30 +msgid "RD" +msgstr "" + +#: ipam/tables/vrfs.py:33 +msgid "Unique" +msgstr "" + +#: ipam/tables/vrfs.py:37 vpn/tables/l2vpn.py:30 +msgid "Import Targets" +msgstr "" + +#: ipam/tables/vrfs.py:42 vpn/tables/l2vpn.py:35 +msgid "Export Targets" +msgstr "" + +#: ipam/utils.py:30 +msgid "1 IP available" +msgstr "" + +#: ipam/utils.py:32 +#, python-brace-format +msgid "{count} IPs available" +msgstr "" + +#: ipam/utils.py:33 +msgid "Many IPs available" +msgstr "" + +#: ipam/validators.py:9 +#, python-brace-format +msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" +msgstr "" + +#: ipam/validators.py:16 +#, python-format +msgid "The prefix length must be less than or equal to %(limit_value)s." +msgstr "" + +#: ipam/validators.py:24 +#, python-format +msgid "The prefix length must be greater than or equal to %(limit_value)s." +msgstr "" + +#: ipam/validators.py:33 +msgid "" +"Only alphanumeric characters, asterisks, hyphens, periods, and underscores " +"are allowed in DNS names" +msgstr "" + +#: ipam/views.py:65 ipam/views.py:1402 +msgid "Device Interfaces" +msgstr "" + +#: ipam/views.py:70 ipam/views.py:1420 +msgid "VM Interfaces" +msgstr "" + +#: ipam/views.py:626 +msgid "Child Prefixes" +msgstr "" + +#: ipam/views.py:662 +msgid "Child Ranges" +msgstr "" + +#: ipam/views.py:1015 +msgid "Related IPs" +msgstr "" + +#: netbox/api/fields.py:66 +msgid "This field may not be blank." +msgstr "" + +#: netbox/api/fields.py:71 +msgid "" +"Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " +"or list." +msgstr "" + +#: netbox/api/fields.py:92 +#, python-brace-format +msgid "{value} is not a valid choice." +msgstr "" + +#: netbox/api/fields.py:105 +#, python-brace-format +msgid "Invalid content type: {content_type}" +msgstr "" + +#: netbox/api/fields.py:106 +msgid "Invalid value. Specify a content type as '.'." +msgstr "" + +#: netbox/api/fields.py:168 +msgid "Ranges must be specified in the form (lower, upper)." +msgstr "" + +#: netbox/api/fields.py:170 +msgid "Range boundaries must be defined as integers." +msgstr "" + +#: netbox/api/serializers/fields.py:40 +#, python-brace-format +msgid "{class_name} must implement get_view_name()" +msgstr "" + +#: netbox/authentication/__init__.py:138 +#, python-brace-format +msgid "Invalid permission {permission} for model {model}" +msgstr "" + +#: netbox/choices.py:51 +msgid "Dark Red" +msgstr "" + +#: netbox/choices.py:54 +msgid "Rose" +msgstr "" + +#: netbox/choices.py:55 +msgid "Fuchsia" +msgstr "" + +#: netbox/choices.py:57 +msgid "Dark Purple" +msgstr "" + +#: netbox/choices.py:60 +msgid "Light Blue" +msgstr "" + +#: netbox/choices.py:63 +msgid "Aqua" +msgstr "" + +#: netbox/choices.py:64 +msgid "Dark Green" +msgstr "" + +#: netbox/choices.py:66 +msgid "Light Green" +msgstr "" + +#: netbox/choices.py:67 +msgid "Lime" +msgstr "" + +#: netbox/choices.py:69 +msgid "Amber" +msgstr "" + +#: netbox/choices.py:71 +msgid "Dark Orange" +msgstr "" + +#: netbox/choices.py:72 +msgid "Brown" +msgstr "" + +#: netbox/choices.py:73 +msgid "Light Grey" +msgstr "" + +#: netbox/choices.py:74 +msgid "Grey" +msgstr "" + +#: netbox/choices.py:75 +msgid "Dark Grey" +msgstr "" + +#: netbox/choices.py:103 templates/extras/script_result.html:56 +#: templates/extras/tableconfig.html:76 +msgid "Default" +msgstr "" + +#: netbox/choices.py:130 +msgid "Direct" +msgstr "" + +#: netbox/choices.py:131 +msgid "Upload" +msgstr "" + +#: netbox/choices.py:143 netbox/choices.py:158 +msgid "Auto-detect" +msgstr "" + +#: netbox/choices.py:159 +msgid "Comma" +msgstr "" + +#: netbox/choices.py:160 +msgid "Semicolon" +msgstr "" + +#: netbox/choices.py:161 +msgid "Pipe" +msgstr "" + +#: netbox/choices.py:162 +msgid "Tab" +msgstr "" + +#: netbox/choices.py:195 templates/dcim/device.html:333 +#: templates/dcim/rack.html:107 +msgid "Kilograms" +msgstr "" + +#: netbox/choices.py:196 +msgid "Grams" +msgstr "" + +#: netbox/choices.py:197 templates/dcim/device.html:334 +#: templates/dcim/rack.html:108 +msgid "Pounds" +msgstr "" + +#: netbox/choices.py:198 +msgid "Ounces" +msgstr "" + +#: netbox/config/__init__.py:67 +#, python-brace-format +msgid "Invalid configuration parameter: {item}" +msgstr "" + +#: netbox/config/parameters.py:22 templates/core/inc/config_data.html:62 +msgid "Login banner" +msgstr "" + +#: netbox/config/parameters.py:24 +msgid "Additional content to display on the login page" +msgstr "" + +#: netbox/config/parameters.py:33 templates/core/inc/config_data.html:66 +msgid "Maintenance banner" +msgstr "" + +#: netbox/config/parameters.py:35 +msgid "Additional content to display when in maintenance mode" +msgstr "" + +#: netbox/config/parameters.py:44 templates/core/inc/config_data.html:70 +msgid "Top banner" +msgstr "" + +#: netbox/config/parameters.py:46 +msgid "Additional content to display at the top of every page" +msgstr "" + +#: netbox/config/parameters.py:55 templates/core/inc/config_data.html:74 +msgid "Bottom banner" +msgstr "" + +#: netbox/config/parameters.py:57 +msgid "Additional content to display at the bottom of every page" +msgstr "" + +#: netbox/config/parameters.py:68 +msgid "Globally unique IP space" +msgstr "" + +#: netbox/config/parameters.py:70 +msgid "Enforce unique IP addressing within the global table" +msgstr "" + +#: netbox/config/parameters.py:75 templates/core/inc/config_data.html:44 +msgid "Prefer IPv4" +msgstr "" + +#: netbox/config/parameters.py:77 +msgid "Prefer IPv4 addresses over IPv6" +msgstr "" + +#: netbox/config/parameters.py:84 +msgid "Rack unit height" +msgstr "" + +#: netbox/config/parameters.py:86 +msgid "Default unit height for rendered rack elevations" +msgstr "" + +#: netbox/config/parameters.py:91 +msgid "Rack unit width" +msgstr "" + +#: netbox/config/parameters.py:93 +msgid "Default unit width for rendered rack elevations" +msgstr "" + +#: netbox/config/parameters.py:100 +msgid "Powerfeed voltage" +msgstr "" + +#: netbox/config/parameters.py:102 +msgid "Default voltage for powerfeeds" +msgstr "" + +#: netbox/config/parameters.py:107 +msgid "Powerfeed amperage" +msgstr "" + +#: netbox/config/parameters.py:109 +msgid "Default amperage for powerfeeds" +msgstr "" + +#: netbox/config/parameters.py:114 +msgid "Powerfeed max utilization" +msgstr "" + +#: netbox/config/parameters.py:116 +msgid "Default max utilization for powerfeeds" +msgstr "" + +#: netbox/config/parameters.py:123 templates/core/inc/config_data.html:53 +msgid "Allowed URL schemes" +msgstr "" + +#: netbox/config/parameters.py:128 +msgid "Permitted schemes for URLs in user-provided content" +msgstr "" + +#: netbox/config/parameters.py:136 +msgid "Default page size" +msgstr "" + +#: netbox/config/parameters.py:142 +msgid "Maximum page size" +msgstr "" + +#: netbox/config/parameters.py:150 templates/core/inc/config_data.html:96 +msgid "Custom validators" +msgstr "" + +#: netbox/config/parameters.py:152 +msgid "Custom validation rules (JSON)" +msgstr "" + +#: netbox/config/parameters.py:160 templates/core/inc/config_data.html:104 +msgid "Protection rules" +msgstr "" + +#: netbox/config/parameters.py:162 +msgid "Deletion protection rules (JSON)" +msgstr "" + +#: netbox/config/parameters.py:172 templates/core/inc/config_data.html:117 +msgid "Default preferences" +msgstr "" + +#: netbox/config/parameters.py:174 +msgid "Default preferences for new users" +msgstr "" + +#: netbox/config/parameters.py:181 templates/core/inc/config_data.html:129 +msgid "Maintenance mode" +msgstr "" + +#: netbox/config/parameters.py:183 +msgid "Enable maintenance mode" +msgstr "" + +#: netbox/config/parameters.py:188 templates/core/inc/config_data.html:133 +msgid "NetBox Copilot enabled" +msgstr "" + +#: netbox/config/parameters.py:191 +msgid "" +"Enable the NetBox Copilot AI agent globally. If enabled, users can toggle " +"the agent individually." +msgstr "" + +#: netbox/config/parameters.py:197 templates/core/inc/config_data.html:137 +msgid "GraphQL enabled" +msgstr "" + +#: netbox/config/parameters.py:199 +msgid "Enable the GraphQL API" +msgstr "" + +#: netbox/config/parameters.py:204 templates/core/inc/config_data.html:141 +msgid "Changelog retention" +msgstr "" + +#: netbox/config/parameters.py:206 +msgid "Days to retain changelog history (set to zero for unlimited)" +msgstr "" + +#: netbox/config/parameters.py:211 +msgid "Job result retention" +msgstr "" + +#: netbox/config/parameters.py:213 +msgid "Days to retain job result history (set to zero for unlimited)" +msgstr "" + +#: netbox/config/parameters.py:218 templates/core/inc/config_data.html:149 +msgid "Maps URL" +msgstr "" + +#: netbox/config/parameters.py:220 +msgid "Base URL for mapping geographic locations" +msgstr "" + +#: netbox/forms/__init__.py:12 +msgid "Partial match" +msgstr "" + +#: netbox/forms/__init__.py:13 +msgid "Exact match" +msgstr "" + +#: netbox/forms/__init__.py:14 +msgid "Starts with" +msgstr "" + +#: netbox/forms/__init__.py:15 +msgid "Ends with" +msgstr "" + +#: netbox/forms/__init__.py:16 +msgid "Regex" +msgstr "" + +#: netbox/forms/__init__.py:34 +msgid "Object type(s)" +msgstr "" + +#: netbox/forms/__init__.py:40 +msgid "Lookup" +msgstr "" + +#: netbox/forms/base.py:91 +msgid "" +"Tag slugs separated by commas, encased with double quotes (e.g. \"tag1,tag2," +"tag3\")" +msgstr "" + +#: netbox/forms/base.py:149 +msgid "Add tags" +msgstr "" + +#: netbox/forms/base.py:154 +msgid "Remove tags" +msgstr "" + +#: netbox/forms/mixins.py:58 +#, python-brace-format +msgid "{class_name} must specify a model class." +msgstr "" + +#: netbox/models/features.py:294 +#, python-brace-format +msgid "Unknown field name '{name}' in custom field data." +msgstr "" + +#: netbox/models/features.py:300 +#, python-brace-format +msgid "Invalid value for custom field '{name}': {error}" +msgstr "" + +#: netbox/models/features.py:309 +#, python-brace-format +msgid "Custom field '{name}' must have a unique value." +msgstr "" + +#: netbox/models/features.py:316 +#, python-brace-format +msgid "Missing required custom field '{name}'." +msgstr "" + +#: netbox/models/features.py:506 +msgid "Remote data source" +msgstr "" + +#: netbox/models/features.py:516 +msgid "data path" +msgstr "" + +#: netbox/models/features.py:520 +msgid "Path to remote file (relative to data source root)" +msgstr "" + +#: netbox/models/features.py:523 +msgid "auto sync enabled" +msgstr "" + +#: netbox/models/features.py:525 +msgid "Enable automatic synchronization of data when the data file is updated" +msgstr "" + +#: netbox/models/features.py:528 +msgid "date synced" +msgstr "" + +#: netbox/models/features.py:622 +#, python-brace-format +msgid "{class_name} must implement a sync_data() method." +msgstr "" + +#: netbox/models/mixins.py:23 +msgid "weight unit" +msgstr "" + +#: netbox/models/mixins.py:53 +msgid "Must specify a unit when setting a weight" +msgstr "" + +#: netbox/models/mixins.py:58 +msgid "distance" +msgstr "" + +#: netbox/models/mixins.py:65 +msgid "distance unit" +msgstr "" + +#: netbox/models/mixins.py:100 +msgid "Must specify a unit when setting a distance" +msgstr "" + +#: netbox/navigation/menu.py:11 +msgid "Organization" +msgstr "" + +#: netbox/navigation/menu.py:18 +msgid "Site Groups" +msgstr "" + +#: netbox/navigation/menu.py:27 +msgid "Tenant Groups" +msgstr "" + +#: netbox/navigation/menu.py:34 +msgid "Contact Groups" +msgstr "" + +#: netbox/navigation/menu.py:35 templates/tenancy/contactrole.html:8 +msgid "Contact Roles" +msgstr "" + +#: netbox/navigation/menu.py:36 +msgid "Contact Assignments" +msgstr "" + +#: netbox/navigation/menu.py:50 +msgid "Rack Roles" +msgstr "" + +#: netbox/navigation/menu.py:54 +msgid "Elevations" +msgstr "" + +#: netbox/navigation/menu.py:76 +msgid "Modules" +msgstr "" + +#: netbox/navigation/menu.py:80 templates/dcim/device.html:166 +#: templates/dcim/virtualdevicecontext.html:8 +msgid "Virtual Device Contexts" +msgstr "" + +#: netbox/navigation/menu.py:88 +msgid "Module Type Profiles" +msgstr "" + +#: netbox/navigation/menu.py:89 +msgid "Manufacturers" +msgstr "" + +#: netbox/navigation/menu.py:93 +msgid "Device Components" +msgstr "" + +#: netbox/navigation/menu.py:105 templates/dcim/inventoryitemrole.html:8 +msgid "Inventory Item Roles" +msgstr "" + +#: netbox/navigation/menu.py:111 templates/dcim/interface.html:413 +#: templates/virtualization/vminterface.html:124 +msgid "MAC Addresses" +msgstr "" + +#: netbox/navigation/menu.py:118 netbox/navigation/menu.py:122 +#: templates/dcim/interface.html:182 +msgid "Connections" +msgstr "" + +#: netbox/navigation/menu.py:124 +msgid "Cables" +msgstr "" + +#: netbox/navigation/menu.py:125 +msgid "Wireless Links" +msgstr "" + +#: netbox/navigation/menu.py:128 +msgid "Interface Connections" +msgstr "" + +#: netbox/navigation/menu.py:133 +msgid "Console Connections" +msgstr "" + +#: netbox/navigation/menu.py:138 +msgid "Power Connections" +msgstr "" + +#: netbox/navigation/menu.py:154 +msgid "Wireless LAN Groups" +msgstr "" + +#: netbox/navigation/menu.py:175 +msgid "Prefix & VLAN Roles" +msgstr "" + +#: netbox/navigation/menu.py:181 +msgid "ASN Ranges" +msgstr "" + +#: netbox/navigation/menu.py:204 +msgid "VLAN Translation Policies" +msgstr "" + +#: netbox/navigation/menu.py:205 templates/ipam/vlantranslationpolicy.html:46 +msgid "VLAN Translation Rules" +msgstr "" + +#: netbox/navigation/menu.py:212 +msgid "Application Service Templates" +msgstr "" + +#: netbox/navigation/menu.py:213 templates/dcim/device.html:308 +#: templates/ipam/ipaddress.html:118 +#: templates/virtualization/virtualmachine.html:156 +msgid "Application Services" +msgstr "" + +#: netbox/navigation/menu.py:220 +msgid "VPN" +msgstr "" + +#: netbox/navigation/menu.py:224 netbox/navigation/menu.py:226 +#: vpn/tables/tunnels.py:24 +msgid "Tunnels" +msgstr "" + +#: netbox/navigation/menu.py:227 templates/vpn/tunnelgroup.html:8 +msgid "Tunnel Groups" +msgstr "" + +#: netbox/navigation/menu.py:228 +msgid "Tunnel Terminations" +msgstr "" + +#: netbox/navigation/menu.py:232 netbox/navigation/menu.py:234 +#: vpn/models/l2vpn.py:69 +msgid "L2VPNs" +msgstr "" + +#: netbox/navigation/menu.py:241 +msgid "IKE Proposals" +msgstr "" + +#: netbox/navigation/menu.py:242 templates/vpn/ikeproposal.html:41 +msgid "IKE Policies" +msgstr "" + +#: netbox/navigation/menu.py:243 +msgid "IPSec Proposals" +msgstr "" + +#: netbox/navigation/menu.py:244 templates/vpn/ipsecproposal.html:37 +msgid "IPSec Policies" +msgstr "" + +#: netbox/navigation/menu.py:245 templates/vpn/ikepolicy.html:38 +#: templates/vpn/ipsecpolicy.html:25 +msgid "IPSec Profiles" +msgstr "" + +#: netbox/navigation/menu.py:260 +#: templates/virtualization/buttons/bulk_add_components.html:17 +#: templates/virtualization/virtualmachine.html:176 +#: templates/virtualization/virtualmachine/base.html:32 +#: virtualization/tables/virtualmachines.py:74 virtualization/views.py:384 +msgid "Virtual Disks" +msgstr "" + +#: netbox/navigation/menu.py:267 +msgid "Cluster Types" +msgstr "" + +#: netbox/navigation/menu.py:268 +msgid "Cluster Groups" +msgstr "" + +#: netbox/navigation/menu.py:282 +msgid "Circuit Types" +msgstr "" + +#: netbox/navigation/menu.py:283 +msgid "Circuit Terminations" +msgstr "" + +#: netbox/navigation/menu.py:287 netbox/navigation/menu.py:289 +#: templates/circuits/providernetwork.html:55 +msgid "Virtual Circuits" +msgstr "" + +#: netbox/navigation/menu.py:290 +msgid "Virtual Circuit Types" +msgstr "" + +#: netbox/navigation/menu.py:291 +msgid "Virtual Circuit Terminations" +msgstr "" + +#: netbox/navigation/menu.py:297 +msgid "Circuit Groups" +msgstr "" + +#: netbox/navigation/menu.py:298 templates/circuits/circuit.html:76 +#: templates/circuits/virtualcircuit.html:69 +msgid "Group Assignments" +msgstr "" + +#: netbox/navigation/menu.py:302 netbox/navigation/menu.py:304 +msgid "Providers" +msgstr "" + +#: netbox/navigation/menu.py:305 templates/circuits/provider.html:51 +msgid "Provider Accounts" +msgstr "" + +#: netbox/navigation/menu.py:306 +msgid "Provider Networks" +msgstr "" + +#: netbox/navigation/menu.py:320 +msgid "Power Panels" +msgstr "" + +#: netbox/navigation/menu.py:331 +msgid "Configurations" +msgstr "" + +#: netbox/navigation/menu.py:333 +msgid "Config Contexts" +msgstr "" + +#: netbox/navigation/menu.py:334 +msgid "Config Context Profiles" +msgstr "" + +#: netbox/navigation/menu.py:335 +msgid "Config Templates" +msgstr "" + +#: netbox/navigation/menu.py:342 netbox/navigation/menu.py:346 +msgid "Customization" +msgstr "" + +#: netbox/navigation/menu.py:348 templates/dcim/device_edit.html:105 +#: templates/dcim/htmx/cable_edit.html:83 +#: templates/dcim/virtualchassis_edit.html:44 +#: templates/generic/bulk_edit.html:76 templates/htmx/form.html:19 +#: templates/inc/filter_list.html:30 templates/inc/panels/custom_fields.html:7 +#: templates/ipam/ipaddress_bulk_add.html:35 templates/ipam/vlan_edit.html:71 +msgid "Custom Fields" +msgstr "" + +#: netbox/navigation/menu.py:349 +msgid "Custom Field Choices" +msgstr "" + +#: netbox/navigation/menu.py:350 +msgid "Custom Links" +msgstr "" + +#: netbox/navigation/menu.py:351 +msgid "Export Templates" +msgstr "" + +#: netbox/navigation/menu.py:352 +msgid "Saved Filters" +msgstr "" + +#: netbox/navigation/menu.py:353 +msgid "Table Configs" +msgstr "" + +#: netbox/navigation/menu.py:355 +msgid "Image Attachments" +msgstr "" + +#: netbox/navigation/menu.py:373 +msgid "Operations" +msgstr "" + +#: netbox/navigation/menu.py:377 +msgid "Integrations" +msgstr "" + +#: netbox/navigation/menu.py:379 +msgid "Data Sources" +msgstr "" + +#: netbox/navigation/menu.py:380 +msgid "Event Rules" +msgstr "" + +#: netbox/navigation/menu.py:381 +msgid "Webhooks" +msgstr "" + +#: netbox/navigation/menu.py:385 netbox/navigation/menu.py:389 +#: netbox/views/generic/feature_views.py:200 +#: templates/extras/report/base.html:37 templates/extras/script/base.html:36 +msgid "Jobs" +msgstr "" + +#: netbox/navigation/menu.py:395 +msgid "Logging" +msgstr "" + +#: netbox/navigation/menu.py:397 +msgid "Notification Groups" +msgstr "" + +#: netbox/navigation/menu.py:398 +msgid "Journal Entries" +msgstr "" + +#: netbox/navigation/menu.py:399 templates/core/objectchange.html:9 +#: templates/core/objectchange_list.html:4 +msgid "Change Log" +msgstr "" + +#: netbox/navigation/menu.py:406 templates/inc/user_menu.html:29 +msgid "Admin" +msgstr "" + +#: netbox/navigation/menu.py:454 templates/account/base.html:27 +#: templates/inc/user_menu.html:52 +msgid "API Tokens" +msgstr "" + +#: netbox/navigation/menu.py:461 users/forms/model_forms.py:201 +#: users/forms/model_forms.py:209 users/forms/model_forms.py:256 +#: users/forms/model_forms.py:263 +msgid "Permissions" +msgstr "" + +#: netbox/navigation/menu.py:469 netbox/navigation/menu.py:473 +#: templates/core/system.html:7 +msgid "System" +msgstr "" + +#: netbox/navigation/menu.py:478 netbox/navigation/menu.py:526 +#: templates/500.html:35 templates/account/preferences.html:22 +#: templates/core/plugin.html:13 templates/core/plugin_list.html:7 +#: templates/core/plugin_list.html:12 templates/core/system.html:29 +msgid "Plugins" +msgstr "" + +#: netbox/navigation/menu.py:483 +msgid "Configuration History" +msgstr "" + +#: netbox/navigation/menu.py:489 templates/core/rq_task.html:8 +#: templates/core/rq_task_list.html:22 +msgid "Background Tasks" +msgstr "" + +#: netbox/object_actions.py:87 +#: templates/circuits/inc/circuit_termination.html:10 +#: templates/dcim/manufacturer.html:11 +#: templates/extras/tableconfig_edit.html:29 +#: templates/generic/bulk_add_component.html:22 +#: templates/users/objectpermission.html:38 +#: utilities/templates/helpers/table_config_form.html:20 +#: utilities/templates/widgets/splitmultiselect.html:11 +#: utilities/templatetags/buttons.py:175 +msgid "Add" +msgstr "" + +#: netbox/object_actions.py:97 utilities/templates/buttons/clone.html:4 +msgid "Clone" +msgstr "" + +#: netbox/object_actions.py:113 +#: templates/circuits/inc/circuit_termination.html:15 +#: templates/circuits/inc/circuit_termination_fields.html:37 +#: templates/dcim/inc/panels/inventory_items.html:32 +#: templates/dcim/powerpanel.html:56 +#: templates/extras/inc/script_list_content.html:16 +#: templates/generic/object_edit.html:47 +#: templates/ipam/inc/ipaddress_edit_header.html:7 +#: templates/ipam/inc/panels/fhrp_groups.html:43 +#: utilities/templatetags/buttons.py:135 +msgid "Edit" +msgstr "" + +#: netbox/object_actions.py:124 +#: templates/circuits/inc/circuit_termination.html:23 +#: templates/dcim/inc/panels/inventory_items.html:37 +#: templates/dcim/powerpanel.html:66 +#: templates/extras/inc/script_list_content.html:21 +#: templates/generic/bulk_delete.html:21 templates/generic/bulk_delete.html:79 +#: templates/generic/object_delete.html:19 templates/htmx/delete_form.html:70 +#: templates/ipam/inc/panels/fhrp_groups.html:48 +#: templates/users/objectpermission.html:46 +#: utilities/templatetags/buttons.py:146 +msgid "Delete" +msgstr "" + +#: netbox/object_actions.py:135 utilities/templatetags/buttons.py:190 +msgid "Import" +msgstr "" + +#: netbox/object_actions.py:145 utilities/templatetags/buttons.py:207 +msgid "Export" +msgstr "" + +#: netbox/object_actions.py:173 utilities/templatetags/buttons.py:227 +msgid "Edit Selected" +msgstr "" + +#: netbox/object_actions.py:184 +msgid "Rename Selected" +msgstr "" + +#: netbox/object_actions.py:195 utilities/templatetags/buttons.py:244 +msgid "Delete Selected" +msgstr "" + +#: netbox/plugins/navigation.py:55 netbox/plugins/navigation.py:88 +msgid "Permissions must be passed as a tuple or list." +msgstr "" + +#: netbox/plugins/navigation.py:59 +msgid "Buttons must be passed as a tuple or list." +msgstr "" + +#: netbox/plugins/navigation.py:92 +msgid "Button color must be a choice within ButtonColorChoices." +msgstr "" + +#: netbox/plugins/registration.py:26 +#, python-brace-format +msgid "" +"PluginTemplateExtension class {template_extension} was passed as an instance!" +msgstr "" + +#: netbox/plugins/registration.py:32 +#, python-brace-format +msgid "" +"{template_extension} is not a subclass of netbox.plugins." +"PluginTemplateExtension!" +msgstr "" + +#: netbox/plugins/registration.py:49 +#, python-brace-format +msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "" + +#: netbox/plugins/registration.py:60 +#, python-brace-format +msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" +msgstr "" + +#: netbox/plugins/registration.py:65 +#, python-brace-format +msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" +msgstr "" + +#: netbox/plugins/templates.py:42 +msgid "extra_context must be a dictionary" +msgstr "" + +#: netbox/preferences.py:30 +msgid "HTMX Navigation" +msgstr "" + +#: netbox/preferences.py:35 +msgid "Enable dynamic UI navigation" +msgstr "" + +#: netbox/preferences.py:37 +msgid "Experimental feature" +msgstr "" + +#: netbox/preferences.py:40 +msgid "Language" +msgstr "" + +#: netbox/preferences.py:45 +msgid "Forces UI translation to the specified language" +msgstr "" + +#: netbox/preferences.py:47 +msgid "Support for translation has been disabled locally" +msgstr "" + +#: netbox/preferences.py:53 +msgid "NetBox Copilot" +msgstr "" + +#: netbox/preferences.py:58 +msgid "Enable the NetBox Copilot AI agent" +msgstr "" + +#: netbox/preferences.py:62 +msgid "Page length" +msgstr "" + +#: netbox/preferences.py:64 +msgid "The default number of objects to display per page" +msgstr "" + +#: netbox/preferences.py:68 +msgid "Paginator placement" +msgstr "" + +#: netbox/preferences.py:70 +msgid "Bottom" +msgstr "" + +#: netbox/preferences.py:71 +msgid "Top" +msgstr "" + +#: netbox/preferences.py:72 +msgid "Both" +msgstr "" + +#: netbox/preferences.py:75 +msgid "Where the paginator controls will be displayed relative to a table" +msgstr "" + +#: netbox/preferences.py:78 +msgid "Striped table rows" +msgstr "" + +#: netbox/preferences.py:83 +msgid "Render table rows with alternating colors to increase readability" +msgstr "" + +#: netbox/preferences.py:88 +msgid "Data format" +msgstr "" + +#: netbox/preferences.py:93 +msgid "The preferred syntax for displaying generic data within the UI" +msgstr "" + +#: netbox/preferences.py:96 utilities/forms/bulk_import.py:38 +msgid "CSV delimiter" +msgstr "" + +#: netbox/preferences.py:99 +msgid "The character used to separate fields in CSV data" +msgstr "" + +#: netbox/registry.py:14 +#, python-brace-format +msgid "Invalid store: {key}" +msgstr "" + +#: netbox/registry.py:17 +msgid "Cannot add stores to registry after initialization" +msgstr "" + +#: netbox/registry.py:20 +msgid "Cannot delete stores from registry" +msgstr "" + +#: netbox/settings.py:822 +msgid "Czech" +msgstr "" + +#: netbox/settings.py:823 +msgid "Danish" +msgstr "" + +#: netbox/settings.py:824 +msgid "German" +msgstr "" + +#: netbox/settings.py:825 +msgid "English" +msgstr "" + +#: netbox/settings.py:826 +msgid "Spanish" +msgstr "" + +#: netbox/settings.py:827 +msgid "French" +msgstr "" + +#: netbox/settings.py:828 +msgid "Italian" +msgstr "" + +#: netbox/settings.py:829 +msgid "Japanese" +msgstr "" + +#: netbox/settings.py:830 +msgid "Latvian" +msgstr "" + +#: netbox/settings.py:831 +msgid "Dutch" +msgstr "" + +#: netbox/settings.py:832 +msgid "Polish" +msgstr "" + +#: netbox/settings.py:833 +msgid "Portuguese" +msgstr "" + +#: netbox/settings.py:834 +msgid "Russian" +msgstr "" + +#: netbox/settings.py:835 +msgid "Turkish" +msgstr "" + +#: netbox/settings.py:836 +msgid "Ukrainian" +msgstr "" + +#: netbox/settings.py:837 +msgid "Chinese" +msgstr "" + +#: netbox/tables/columns.py:178 +msgid "Select all" +msgstr "" + +#: netbox/tables/columns.py:191 +msgid "Toggle all" +msgstr "" + +#: netbox/tables/columns.py:311 templates/inc/table_controls_htmx.html:35 +msgid "Toggle Dropdown" +msgstr "" + +#: netbox/tables/tables.py:58 +#, python-brace-format +msgid "No {model_name} found" +msgstr "" + +#: netbox/tables/tables.py:281 templates/generic/bulk_import.html:148 +msgid "Field" +msgstr "" + +#: netbox/tables/tables.py:284 +msgid "Value" +msgstr "" + +#: netbox/tests/dummy_plugin/navigation.py:29 +msgid "Dummy Plugin" +msgstr "" + +#: netbox/views/generic/bulk_views.py:122 +#, python-brace-format +msgid "" +"There was an error rendering the selected export template ({template}): " +"{error}" +msgstr "" + +#: netbox/views/generic/bulk_views.py:388 +msgid "Must be a list." +msgstr "" + +#: netbox/views/generic/bulk_views.py:398 +msgid "Must be a dictionary." +msgstr "" + +#: netbox/views/generic/bulk_views.py:461 +#, python-brace-format +msgid "Object with ID {id} does not exist" +msgstr "" + +#: netbox/views/generic/bulk_views.py:546 +#, python-brace-format +msgid "Bulk import {count} {object_type}" +msgstr "" + +#: netbox/views/generic/bulk_views.py:562 +#, python-brace-format +msgid "Imported {count} {object_type}" +msgstr "" + +#: netbox/views/generic/bulk_views.py:752 +#, python-brace-format +msgid "Bulk edit {count} {object_type}" +msgstr "" + +#: netbox/views/generic/bulk_views.py:768 +#, python-brace-format +msgid "Updated {count} {object_type}" +msgstr "" + +#: netbox/views/generic/bulk_views.py:801 +#: netbox/views/generic/bulk_views.py:1036 +#: netbox/views/generic/bulk_views.py:1084 +#, python-brace-format +msgid "No {object_type} were selected." +msgstr "" + +#: netbox/views/generic/bulk_views.py:894 +#, python-brace-format +msgid "Renamed {count} {object_type}" +msgstr "" + +#: netbox/views/generic/bulk_views.py:964 +#, python-brace-format +msgid "Bulk delete {count} {object_type}" +msgstr "" + +#: netbox/views/generic/bulk_views.py:991 +#, python-brace-format +msgid "Deleted {count} {object_type}" +msgstr "" + +#: netbox/views/generic/bulk_views.py:1008 +msgid "Deletion failed due to the presence of one or more dependent objects." +msgstr "" + +#: netbox/views/generic/feature_views.py:47 +msgid "Changelog" +msgstr "" + +#: netbox/views/generic/feature_views.py:135 +msgid "Journal" +msgstr "" + +#: netbox/views/generic/feature_views.py:254 +msgid "Unable to synchronize data: No data file set." +msgstr "" + +#: netbox/views/generic/feature_views.py:258 +#, python-brace-format +msgid "Synchronized data for {object_type} {object}." +msgstr "" + +#: netbox/views/generic/feature_views.py:283 +#, python-brace-format +msgid "Synced {count} {object_type}" +msgstr "" + +#: netbox/views/generic/object_views.py:115 +#, python-brace-format +msgid "{class_name} must implement get_children()" +msgstr "" + +#: netbox/views/misc.py:46 +msgid "" +"There was an error loading the dashboard configuration. A default dashboard " +"is in use." +msgstr "" + +#: templates/403.html:4 +msgid "Access Denied" +msgstr "" + +#: templates/403.html:9 +msgid "You do not have permission to access this page" +msgstr "" + +#: templates/404.html:4 +msgid "Page Not Found" +msgstr "" + +#: templates/404.html:9 +msgid "The requested page does not exist" +msgstr "" + +#: templates/500.html:7 templates/500.html:18 +msgid "Server Error" +msgstr "" + +#: templates/500.html:23 +msgid "There was a problem with your request. Please contact an administrator" +msgstr "" + +#: templates/500.html:28 +msgid "The complete exception is provided below" +msgstr "" + +#: templates/500.html:33 templates/core/system.html:62 +msgid "Python version" +msgstr "" + +#: templates/500.html:34 +msgid "NetBox version" +msgstr "" + +#: templates/500.html:36 +msgid "None installed" +msgstr "" + +#: templates/500.html:39 +msgid "If further assistance is required, please post to the" +msgstr "" + +#: templates/500.html:39 +msgid "NetBox discussion forum" +msgstr "" + +#: templates/500.html:39 +msgid "on GitHub" +msgstr "" + +#: templates/500.html:42 templates/base/40x.html:17 +msgid "Home Page" +msgstr "" + +#: templates/account/base.html:13 templates/account/notifications.html:7 +#: templates/inc/user_menu.html:15 +msgid "Notifications" +msgstr "" + +#: templates/account/base.html:16 templates/account/subscriptions.html:7 +#: templates/inc/user_menu.html:46 +msgid "Subscriptions" +msgstr "" + +#: templates/account/base.html:19 templates/inc/user_menu.html:49 +msgid "Preferences" +msgstr "" + +#: templates/account/password.html:5 +msgid "Change Password" +msgstr "" + +#: templates/account/password.html:19 templates/account/preferences.html:77 +#: templates/core/configrevision_restore.html:63 +#: templates/dcim/devicebay_populate.html:34 +#: templates/dcim/virtualchassis_add_member.html:26 +#: templates/dcim/virtualchassis_edit.html:110 +#: templates/extras/object_journal.html:26 templates/extras/script.html:38 +#: templates/generic/bulk_add_component.html:67 +#: templates/generic/bulk_delete.html:78 templates/generic/bulk_edit.html:115 +#: templates/generic/bulk_import.html:66 templates/generic/bulk_import.html:98 +#: templates/generic/bulk_import.html:131 templates/generic/bulk_rename.html:65 +#: templates/generic/confirmation_form.html:19 +#: templates/generic/object_edit.html:72 templates/htmx/delete_form.html:66 +#: templates/htmx/delete_form.html:68 templates/htmx/quick_add.html:21 +#: templates/ipam/ipaddress_assign.html:28 +#: templates/virtualization/cluster_add_devices.html:30 +msgid "Cancel" +msgstr "" + +#: templates/account/password.html:20 templates/account/preferences.html:78 +#: templates/dcim/devicebay_populate.html:35 +#: templates/dcim/virtualchassis_add_member.html:28 +#: templates/dcim/virtualchassis_edit.html:112 +#: templates/extras/dashboard/widget_add.html:26 +#: templates/extras/dashboard/widget_config.html:19 +#: templates/extras/object_journal.html:27 +#: templates/generic/object_edit.html:75 +#: utilities/templates/helpers/applied_filters.html:16 +#: utilities/templates/helpers/table_config_form.html:40 +msgid "Save" +msgstr "" + +#: templates/account/preferences.html:34 +msgid "Table Configurations" +msgstr "" + +#: templates/account/preferences.html:39 +msgid "Clear table preferences" +msgstr "" + +#: templates/account/preferences.html:47 +msgid "Toggle All" +msgstr "" + +#: templates/account/preferences.html:49 templates/extras/tableconfig.html:25 +msgid "Table" +msgstr "" + +#: templates/account/preferences.html:51 +msgid "Columns" +msgstr "" + +#: templates/account/preferences.html:71 templates/core/system.html:113 +#: templates/dcim/cable_trace.html:113 +#: templates/extras/object_configcontext.html:43 +msgid "None found" +msgstr "" + +#: templates/account/profile.html:4 +msgid "User Profile" +msgstr "" + +#: templates/account/profile.html:10 +msgid "Account Details" +msgstr "" + +#: templates/account/profile.html:27 templates/tenancy/contact.html:53 +#: templates/users/user.html:23 tenancy/forms/bulk_edit.py:121 +msgid "Email" +msgstr "" + +#: templates/account/profile.html:31 templates/users/user.html:27 +msgid "Account Created" +msgstr "" + +#: templates/account/profile.html:35 templates/users/user.html:31 +msgid "Last Login" +msgstr "" + +#: templates/account/profile.html:39 templates/users/user.html:43 +msgid "Superuser" +msgstr "" + +#: templates/account/profile.html:43 templates/inc/user_menu.html:31 +#: templates/users/user.html:39 +msgid "Staff" +msgstr "" + +#: templates/account/profile.html:51 templates/users/objectpermission.html:82 +#: templates/users/user.html:51 +msgid "Assigned Groups" +msgstr "" + +#: templates/account/profile.html:56 +#: templates/circuits/circuit_terminations_swap.html:18 +#: templates/circuits/circuit_terminations_swap.html:26 +#: templates/circuits/circuittermination.html:34 +#: templates/circuits/inc/circuit_termination.html:68 +#: templates/core/objectchange.html:130 templates/core/objectchange.html:148 +#: templates/dcim/devicebay.html:59 +#: templates/dcim/inc/panels/inventory_items.html:45 +#: templates/dcim/interface.html:353 templates/dcim/modulebay.html:80 +#: templates/dcim/moduletype.html:90 templates/extras/configcontext.html:46 +#: templates/extras/configtemplate.html:81 templates/extras/eventrule.html:66 +#: templates/extras/exporttemplate.html:60 +#: templates/extras/htmx/script_result.html:70 templates/extras/webhook.html:65 +#: templates/extras/webhook.html:75 templates/inc/panel_table.html:13 +#: templates/inc/panels/comments.html:10 +#: templates/inc/panels/related_objects.html:22 +#: templates/ipam/inc/panels/fhrp_groups.html:56 templates/users/group.html:34 +#: templates/users/group.html:44 templates/users/objectpermission.html:77 +#: templates/users/objectpermission.html:87 templates/users/user.html:56 +#: templates/users/user.html:66 +msgid "None" +msgstr "" + +#: templates/account/token.html:8 templates/account/token_list.html:6 +msgid "My API Tokens" +msgstr "" + +#: templates/account/token.html:11 templates/account/token.html:19 +#: templates/users/token.html:6 templates/users/token.html:14 +#: users/forms/filtersets.py:120 +msgid "Token" +msgstr "" + +#: templates/account/token.html:39 templates/users/token.html:31 +#: users/forms/bulk_edit.py:107 +msgid "Write enabled" +msgstr "" + +#: templates/account/token.html:51 templates/users/token.html:43 +msgid "Last used" +msgstr "" + +#: templates/account/token_list.html:12 +msgid "Add a Token" +msgstr "" + +#: templates/base/base.html:24 templates/home.html:27 +msgid "Home" +msgstr "" + +#: templates/base/layout.html:25 +msgid "NetBox Motif" +msgstr "" + +#: templates/base/layout.html:38 templates/base/layout.html:39 +#: templates/login.html:14 templates/login.html:15 +msgid "NetBox Logo" +msgstr "" + +#: templates/base/layout.html:60 templates/base/layout.html:61 +msgid "Get" +msgstr "" + +#: templates/base/layout.html:161 templates/base/layout.html:162 +msgid "Docs" +msgstr "" + +#: templates/base/layout.html:167 templates/base/layout.html:168 +#: templates/rest_framework/api.html:10 +msgid "REST API" +msgstr "" + +#: templates/base/layout.html:173 templates/base/layout.html:174 +msgid "REST API documentation" +msgstr "" + +#: templates/base/layout.html:180 templates/base/layout.html:181 +msgid "GraphQL API" +msgstr "" + +#: templates/base/layout.html:196 templates/base/layout.html:197 +msgid "NetBox Labs Support" +msgstr "" + +#: templates/base/layout.html:205 templates/base/layout.html:206 +msgid "Source Code" +msgstr "" + +#: templates/base/layout.html:211 templates/base/layout.html:212 +msgid "Community" +msgstr "" + +#: templates/circuits/circuit.html:57 +msgid "Install Date" +msgstr "" + +#: templates/circuits/circuit.html:61 +msgid "Termination Date" +msgstr "" + +#: templates/circuits/circuit.html:80 templates/circuits/virtualcircuit.html:73 +#: templates/ipam/inc/panels/fhrp_groups.html:15 +msgid "Assign Group" +msgstr "" + +#: templates/circuits/circuit_terminations_swap.html:4 +msgid "Swap Circuit Terminations" +msgstr "" + +#: templates/circuits/circuit_terminations_swap.html:8 +#, python-format +msgid "Swap these terminations for circuit %(circuit)s?" +msgstr "" + +#: templates/circuits/circuit_terminations_swap.html:14 +msgid "A side" +msgstr "" + +#: templates/circuits/circuit_terminations_swap.html:22 +msgid "Z side" +msgstr "" + +#: templates/circuits/circuitgroup.html:16 +msgid "Assign Circuit" +msgstr "" + +#: templates/circuits/circuitgroupassignment.html:19 +msgid "Circuit Group Assignment" +msgstr "" + +#: templates/circuits/circuittype.html:10 +msgid "Add Circuit" +msgstr "" + +#: templates/circuits/circuittype.html:19 +msgid "Circuit Type" +msgstr "" + +#: templates/circuits/inc/circuit_termination.html:18 +msgid "Swap" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:5 +msgid "Termination point" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:20 +#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 +#: templates/dcim/powerfeed.html:114 +msgid "Marked as connected" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:22 +msgid "to" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:32 +#: templates/circuits/inc/circuit_termination_fields.html:33 +#: templates/dcim/frontport.html:80 +#: templates/dcim/inc/cable_termination.html:26 +#: templates/dcim/inc/cable_termination.html:48 +#: templates/dcim/inc/cable_termination.html:66 +#: templates/dcim/inc/connection_endpoints.html:7 +#: templates/dcim/interface.html:211 templates/dcim/rearport.html:76 +msgid "Trace" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:36 +msgid "Edit cable" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:41 +msgid "Remove cable" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:42 +#: templates/dcim/bulk_disconnect.html:5 templates/dcim/powerpanel.html:61 +msgid "Disconnect" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:49 +#: templates/dcim/consoleport.html:69 templates/dcim/consoleserverport.html:69 +#: templates/dcim/frontport.html:102 templates/dcim/interface.html:237 +#: templates/dcim/interface.html:257 templates/dcim/powerfeed.html:123 +#: templates/dcim/poweroutlet.html:85 templates/dcim/poweroutlet.html:86 +#: templates/dcim/powerport.html:73 templates/dcim/rearport.html:98 +msgid "Connect" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:65 +msgid "Downstream" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:66 +msgid "Upstream" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:75 +msgid "Cross-Connect" +msgstr "" + +#: templates/circuits/inc/circuit_termination_fields.html:79 +msgid "Patch Panel/Port" +msgstr "" + +#: templates/circuits/provider.html:11 +msgid "Add circuit" +msgstr "" + +#: templates/circuits/provideraccount.html:17 +msgid "Provider Account" +msgstr "" + +#: templates/circuits/providernetwork.html:59 +msgid "Add a Virtual Circuit" +msgstr "" + +#: templates/circuits/virtualcircuit.html:91 templates/vpn/tunnel.html:9 +msgid "Add Termination" +msgstr "" + +#: templates/circuits/virtualcircuittermination.html:23 +msgid "Virtual Circuit Termination" +msgstr "" + +#: templates/circuits/virtualcircuittype.html:10 +msgid "Add Virtual Circuit" +msgstr "" + +#: templates/circuits/virtualcircuittype.html:19 +msgid "Virtual Circuit Type" +msgstr "" + +#: templates/core/configrevision.html:35 +msgid "Configuration Data" +msgstr "" + +#: templates/core/configrevision.html:40 +msgid "Comment" +msgstr "" + +#: templates/core/configrevision_restore.html:8 +#: templates/core/configrevision_restore.html:25 +#: templates/core/configrevision_restore.html:64 +msgid "Restore" +msgstr "" + +#: templates/core/configrevision_restore.html:36 +msgid "Parameter" +msgstr "" + +#: templates/core/configrevision_restore.html:37 +msgid "Current Value" +msgstr "" + +#: templates/core/configrevision_restore.html:38 +msgid "New Value" +msgstr "" + +#: templates/core/configrevision_restore.html:50 +msgid "Changed" +msgstr "" + +#: templates/core/datafile.html:37 templates/extras/imageattachment.html:46 +msgid "bytes" +msgstr "" + +#: templates/core/datafile.html:40 +msgid "SHA256 Hash" +msgstr "" + +#: templates/core/datafile.html:49 +msgid "Content" +msgstr "" + +#: templates/core/datasource.html:54 +msgid "Last synced" +msgstr "" + +#: templates/core/datasource.html:88 +msgid "Backend" +msgstr "" + +#: templates/core/datasource.html:103 +msgid "No parameters defined" +msgstr "" + +#: templates/core/inc/config_data.html:7 +msgid "Rack elevations" +msgstr "" + +#: templates/core/inc/config_data.html:10 +msgid "Default unit height" +msgstr "" + +#: templates/core/inc/config_data.html:14 +msgid "Default unit width" +msgstr "" + +#: templates/core/inc/config_data.html:20 +msgid "Power feeds" +msgstr "" + +#: templates/core/inc/config_data.html:23 +msgid "Default voltage" +msgstr "" + +#: templates/core/inc/config_data.html:27 +msgid "Default amperage" +msgstr "" + +#: templates/core/inc/config_data.html:31 +msgid "Default max utilization" +msgstr "" + +#: templates/core/inc/config_data.html:40 +msgid "Enforce global unique" +msgstr "" + +#: templates/core/inc/config_data.html:83 +msgid "Paginate count" +msgstr "" + +#: templates/core/inc/config_data.html:87 +msgid "Max page size" +msgstr "" + +#: templates/core/inc/config_data.html:114 +msgid "User preferences" +msgstr "" + +#: templates/core/inc/config_data.html:145 +msgid "Job retention" +msgstr "" + +#: templates/core/inc/datafile_panel.html:23 +#: templates/extras/configtemplate.html:53 +msgid "The data file associated with this object has been deleted" +msgstr "" + +#: templates/core/inc/datafile_panel.html:32 +#: templates/extras/configtemplate.html:62 +msgid "Data Synced" +msgstr "" + +#: templates/core/job.html:8 templates/core/rq_task.html:12 +#: templates/core/rq_task.html:49 templates/core/rq_task.html:58 +msgid "Job" +msgstr "" + +#: templates/core/job.html:31 templates/extras/journalentry.html:26 +msgid "Created By" +msgstr "" + +#: templates/core/job.html:39 +msgid "Scheduling" +msgstr "" + +#: templates/core/job.html:50 +#, python-format +msgid "every %(interval)s minutes" +msgstr "" + +#: templates/core/objectchange.html:29 templates/users/objectpermission.html:42 +msgid "Change" +msgstr "" + +#: templates/core/objectchange.html:85 +msgid "Difference" +msgstr "" + +#: templates/core/objectchange.html:88 +msgid "Previous" +msgstr "" + +#: templates/core/objectchange.html:91 +msgid "Next" +msgstr "" + +#: templates/core/objectchange.html:99 +msgid "Object Created" +msgstr "" + +#: templates/core/objectchange.html:101 +msgid "Object Deleted" +msgstr "" + +#: templates/core/objectchange.html:103 +msgid "No Changes" +msgstr "" + +#: templates/core/objectchange.html:117 +msgid "Pre-Change Data" +msgstr "" + +#: templates/core/objectchange.html:128 +msgid "Warning: Comparing non-atomic change to previous change record" +msgstr "" + +#: templates/core/objectchange.html:137 +msgid "Post-Change Data" +msgstr "" + +#: templates/core/objectchange.html:168 +#, python-format +msgid "See All %(count)s Changes" +msgstr "" + +#: templates/core/objectchange_list.html:9 +#: templates/extras/object_changelog.html:15 +msgid "Change log retention" +msgstr "" + +#: templates/core/objectchange_list.html:9 +#: templates/extras/object_changelog.html:15 +msgid "days" +msgstr "" + +#: templates/core/objectchange_list.html:9 +#: templates/extras/object_changelog.html:15 +msgid "Indefinite" +msgstr "" + +#: templates/core/plugin.html:22 +msgid "Not installed" +msgstr "" + +#: templates/core/plugin.html:33 +msgid "Overview" +msgstr "" + +#: templates/core/plugin.html:39 +msgid "Install" +msgstr "" + +#: templates/core/plugin.html:51 +msgid "Plugin Details" +msgstr "" + +#: templates/core/plugin.html:58 +msgid "Summary" +msgstr "" + +#: templates/core/plugin.html:76 +msgid "License" +msgstr "" + +#: templates/core/plugin.html:96 +msgid "Version History" +msgstr "" + +#: templates/core/plugin.html:107 +msgid "Local Installation Instructions" +msgstr "" + +#: templates/core/rq_queue_list.html:5 templates/core/rq_queue_list.html:13 +#: templates/core/rq_task_list.html:14 templates/core/rq_worker.html:7 +msgid "Background Queues" +msgstr "" + +#: templates/core/rq_queue_list.html:24 templates/core/rq_queue_list.html:25 +#: templates/core/rq_worker_list.html:49 templates/core/rq_worker_list.html:50 +#: templates/extras/script_result.html:67 +#: templates/extras/script_result.html:69 +#: templates/inc/table_controls_htmx.html:30 +#: templates/inc/table_controls_htmx.html:31 +msgid "Configure Table" +msgstr "" + +#: templates/core/rq_task.html:29 +msgid "Stop" +msgstr "" + +#: templates/core/rq_task.html:34 +msgid "Requeue" +msgstr "" + +#: templates/core/rq_task.html:39 +msgid "Enqueue" +msgstr "" + +#: templates/core/rq_task.html:61 +msgid "Queue" +msgstr "" + +#: templates/core/rq_task.html:65 +msgid "Timeout" +msgstr "" + +#: templates/core/rq_task.html:69 +msgid "Result TTL" +msgstr "" + +#: templates/core/rq_task.html:89 +msgid "Meta" +msgstr "" + +#: templates/core/rq_task.html:93 +msgid "Arguments" +msgstr "" + +#: templates/core/rq_task.html:97 +msgid "Keyword Arguments" +msgstr "" + +#: templates/core/rq_task.html:103 +msgid "Depends on" +msgstr "" + +#: templates/core/rq_task.html:109 +msgid "Exception" +msgstr "" + +#: templates/core/rq_task_list.html:28 +msgid "tasks in " +msgstr "" + +#: templates/core/rq_task_list.html:33 +msgid "Queued Jobs" +msgstr "" + +#: templates/core/rq_task_list.html:64 templates/extras/script_result.html:86 +#, python-format +msgid "" +"Select all %(count)s %(object_type_plural)s matching query" +msgstr "" + +#: templates/core/rq_worker.html:10 +msgid "Worker Info" +msgstr "" + +#: templates/core/rq_worker.html:31 templates/core/rq_worker.html:40 +msgid "Worker" +msgstr "" + +#: templates/core/rq_worker.html:55 +msgid "Queues" +msgstr "" + +#: templates/core/rq_worker.html:63 +msgid "Current Job" +msgstr "" + +#: templates/core/rq_worker.html:67 +msgid "Successful job count" +msgstr "" + +#: templates/core/rq_worker.html:71 +msgid "Failed job count" +msgstr "" + +#: templates/core/rq_worker.html:75 +msgid "Total working time" +msgstr "" + +#: templates/core/rq_worker.html:76 +msgid "seconds" +msgstr "" + +#: templates/core/rq_worker_list.html:13 templates/core/rq_worker_list.html:21 +msgid "Background Workers" +msgstr "" + +#: templates/core/rq_worker_list.html:29 +#, python-format +msgid "Workers in %(queue_name)s" +msgstr "" + +#: templates/core/system.html:11 +msgid "Export All" +msgstr "" + +#: templates/core/system.html:24 templates/extras/object_render_config.html:6 +msgid "Config" +msgstr "" + +#: templates/core/system.html:46 +msgid "System Status" +msgstr "" + +#: templates/core/system.html:49 +msgid "System hostname" +msgstr "" + +#: templates/core/system.html:53 +msgid "NetBox release" +msgstr "" + +#: templates/core/system.html:66 +msgid "Django version" +msgstr "" + +#: templates/core/system.html:70 +msgid "PostgreSQL version" +msgstr "" + +#: templates/core/system.html:74 +msgid "Database name" +msgstr "" + +#: templates/core/system.html:78 +msgid "Database size" +msgstr "" + +#: templates/core/system.html:83 +msgid "Unavailable" +msgstr "" + +#: templates/core/system.html:88 +msgid "RQ workers" +msgstr "" + +#: templates/core/system.html:91 +msgid "default queue" +msgstr "" + +#: templates/core/system.html:95 +msgid "System time" +msgstr "" + +#: templates/core/system.html:101 +msgid "Django Apps" +msgstr "" + +#: templates/core/system.html:126 +msgid "Current Configuration" +msgstr "" + +#: templates/core/system.html:138 +msgid "Installed Plugins" +msgstr "" + +#: templates/core/system.html:150 +msgid "No plugins are installed." +msgstr "" + +#: templates/dcim/bulk_disconnect.html:9 +#, python-format +msgid "" +"Are you sure you want to disconnect these %(count)s %(obj_type_plural)s?" +msgstr "" + +#: templates/dcim/cable_trace.html:10 +#, python-format +msgid "Cable Trace for %(object_type)s %(object)s" +msgstr "" + +#: templates/dcim/cable_trace.html:24 templates/dcim/inc/rack_elevation.html:18 +msgid "Download SVG" +msgstr "" + +#: templates/dcim/cable_trace.html:30 +msgid "Asymmetric Path" +msgstr "" + +#: templates/dcim/cable_trace.html:31 +msgid "The nodes below have no links and result in an asymmetric path" +msgstr "" + +#: templates/dcim/cable_trace.html:38 +msgid "Path split" +msgstr "" + +#: templates/dcim/cable_trace.html:39 +msgid "Select a node below to continue" +msgstr "" + +#: templates/dcim/cable_trace.html:55 +msgid "Trace Completed" +msgstr "" + +#: templates/dcim/cable_trace.html:58 +msgid "Total segments" +msgstr "" + +#: templates/dcim/cable_trace.html:62 +msgid "Total length" +msgstr "" + +#: templates/dcim/cable_trace.html:77 +msgid "No paths found" +msgstr "" + +#: templates/dcim/cable_trace.html:85 +msgid "Related Paths" +msgstr "" + +#: templates/dcim/cable_trace.html:89 +msgid "Origin" +msgstr "" + +#: templates/dcim/cable_trace.html:90 +msgid "Destination" +msgstr "" + +#: templates/dcim/cable_trace.html:91 +msgid "Segments" +msgstr "" + +#: templates/dcim/cable_trace.html:104 +msgid "Incomplete" +msgstr "" + +#: templates/dcim/consoleport.html:65 templates/dcim/consoleserverport.html:65 +#: templates/dcim/frontport.html:98 templates/dcim/interface.html:233 +#: templates/dcim/poweroutlet.html:83 templates/dcim/powerport.html:69 +msgid "Not Connected" +msgstr "" + +#: templates/dcim/device.html:40 +msgid "Highlight device in rack" +msgstr "" + +#: templates/dcim/device.html:61 +msgid "Not racked" +msgstr "" + +#: templates/dcim/device.html:68 templates/dcim/site.html:94 +msgid "GPS Coordinates" +msgstr "" + +#: templates/dcim/device.html:74 templates/dcim/site.html:81 +#: templates/dcim/site.html:100 +msgid "Map" +msgstr "" + +#: templates/dcim/device.html:114 templates/dcim/inventoryitem.html:60 +#: templates/dcim/module.html:81 templates/dcim/modulebay.html:74 +#: templates/dcim/rack.html:61 +msgid "Asset Tag" +msgstr "" + +#: templates/dcim/device.html:129 +msgid "View Virtual Chassis" +msgstr "" + +#: templates/dcim/device.html:170 +msgid "Create VDC" +msgstr "" + +#: templates/dcim/device.html:181 templates/dcim/device_edit.html:66 +#: virtualization/forms/model_forms.py:230 +msgid "Management" +msgstr "" + +#: templates/dcim/device.html:201 templates/dcim/device.html:217 +#: templates/dcim/device.html:233 +#: templates/virtualization/virtualmachine.html:57 +#: templates/virtualization/virtualmachine.html:73 +msgid "NAT for" +msgstr "" + +#: templates/dcim/device.html:203 templates/dcim/device.html:219 +#: templates/dcim/device.html:235 +#: templates/virtualization/virtualmachine.html:59 +#: templates/virtualization/virtualmachine.html:75 +msgid "NAT" +msgstr "" + +#: templates/dcim/device.html:258 templates/dcim/rack.html:73 +msgid "Power Utilization" +msgstr "" + +#: templates/dcim/device.html:262 +msgid "Input" +msgstr "" + +#: templates/dcim/device.html:263 +msgid "Outlets" +msgstr "" + +#: templates/dcim/device.html:264 +msgid "Allocated" +msgstr "" + +#: templates/dcim/device.html:274 templates/dcim/device.html:276 +#: templates/dcim/device.html:292 templates/dcim/powerfeed.html:67 +msgid "VA" +msgstr "" + +#: templates/dcim/device.html:286 +msgctxt "Leg of a power feed" +msgid "Leg" +msgstr "" + +#: templates/dcim/device.html:312 +#: templates/virtualization/virtualmachine.html:160 +msgid "Add an application service" +msgstr "" + +#: templates/dcim/device/inc/interface_table_controls.html:9 +msgid "Hide Enabled" +msgstr "" + +#: templates/dcim/device/inc/interface_table_controls.html:10 +msgid "Hide Disabled" +msgstr "" + +#: templates/dcim/device/inc/interface_table_controls.html:11 +msgid "Hide Virtual" +msgstr "" + +#: templates/dcim/device/inc/interface_table_controls.html:12 +msgid "Hide Disconnected" +msgstr "" + +#: templates/dcim/device_edit.html:46 +msgid "Parent Bay" +msgstr "" + +#: templates/dcim/device_edit.html:50 +#: utilities/templates/form_helpers/render_field.html:22 +msgid "Regenerate Slug" +msgstr "" + +#: templates/dcim/device_edit.html:51 templates/extras/tableconfig_edit.html:32 +#: utilities/templates/helpers/table_config_form.html:23 +#: utilities/templates/widgets/splitmultiselect.html:14 +msgid "Remove" +msgstr "" + +#: templates/dcim/device_edit.html:112 +msgid "Local Config Context Data" +msgstr "" + +#: templates/dcim/devicebay.html:17 +msgid "Device Bay" +msgstr "" + +#: templates/dcim/devicebay.html:43 +msgid "Installed Device" +msgstr "" + +#: templates/dcim/devicebay_depopulate.html:6 +#, python-format +msgid "Remove %(device)s from %(device_bay)s?" +msgstr "" + +#: templates/dcim/devicebay_depopulate.html:13 +#, python-format +msgid "" +"Are you sure you want to remove %(device)s from " +"%(device_bay)s?" +msgstr "" + +#: templates/dcim/devicebay_populate.html:13 +msgid "Populate" +msgstr "" + +#: templates/dcim/devicebay_populate.html:22 +msgid "Bay" +msgstr "" + +#: templates/dcim/devicerole.html:14 templates/dcim/platform.html:17 +msgid "Add Device" +msgstr "" + +#: templates/dcim/devicerole.html:44 +msgid "VM Role" +msgstr "" + +#: templates/dcim/devicerole.html:67 +msgid "Child Device Roles" +msgstr "" + +#: templates/dcim/devicerole.html:71 +msgid "Add a Device Role" +msgstr "" + +#: templates/dcim/devicetype.html:18 templates/dcim/moduletype.html:35 +msgid "Model Name" +msgstr "" + +#: templates/dcim/devicetype.html:25 templates/dcim/moduletype.html:39 +msgid "Part Number" +msgstr "" + +#: templates/dcim/devicetype.html:41 +msgid "Exclude From Utilization" +msgstr "" + +#: templates/dcim/devicetype.html:59 +msgid "Parent/Child" +msgstr "" + +#: templates/dcim/devicetype.html:71 +msgid "Front Image" +msgstr "" + +#: templates/dcim/devicetype.html:83 +msgid "Rear Image" +msgstr "" + +#: templates/dcim/frontport.html:54 +msgid "Rear Port Position" +msgstr "" + +#: templates/dcim/frontport.html:72 templates/dcim/interface.html:201 +#: templates/dcim/poweroutlet.html:77 templates/dcim/powerport.html:63 +#: templates/dcim/rearport.html:68 +msgid "Marked as Connected" +msgstr "" + +#: templates/dcim/frontport.html:86 templates/dcim/rearport.html:82 +msgid "Connection Status" +msgstr "" + +#: templates/dcim/htmx/cable_edit.html:13 +msgid "A Side" +msgstr "" + +#: templates/dcim/htmx/cable_edit.html:33 +msgid "B Side" +msgstr "" + +#: templates/dcim/inc/cable_termination.html:76 +msgid "No termination" +msgstr "" + +#: templates/dcim/inc/cable_toggle_buttons.html:3 +msgid "Mark Planned" +msgstr "" + +#: templates/dcim/inc/cable_toggle_buttons.html:6 +msgid "Mark Installed" +msgstr "" + +#: templates/dcim/inc/connection_endpoints.html:13 +msgid "Path Status" +msgstr "" + +#: templates/dcim/inc/connection_endpoints.html:18 +msgid "Not Reachable" +msgstr "" + +#: templates/dcim/inc/connection_endpoints.html:23 +msgid "Path Endpoints" +msgstr "" + +#: templates/dcim/inc/endpoint_connection.html:8 +#: templates/dcim/powerfeed.html:120 templates/dcim/rearport.html:94 +msgid "Not connected" +msgstr "" + +#: templates/dcim/inc/interface_vlans_table.html:6 +msgid "Untagged" +msgstr "" + +#: templates/dcim/inc/interface_vlans_table.html:37 +msgid "No VLANs Assigned" +msgstr "" + +#: templates/dcim/inc/interface_vlans_table.html:44 +#: templates/ipam/prefix_list.html:16 templates/ipam/prefix_list.html:33 +msgid "Clear" +msgstr "" + +#: templates/dcim/inc/interface_vlans_table.html:47 +msgid "Clear All" +msgstr "" + +#: templates/dcim/inc/panels/inventory_items.html:10 +msgid "Add Inventory Item" +msgstr "" + +#: templates/dcim/inc/panels/racktype_dimensions.html:48 +msgid "Mounting Depth" +msgstr "" + +#: templates/dcim/inc/panels/racktype_numbering.html:6 +msgid "Starting Unit" +msgstr "" + +#: templates/dcim/inc/panels/racktype_numbering.html:10 +msgid "Descending Units" +msgstr "" + +#: templates/dcim/inc/rack_elevation.html:7 +msgid "Rack elevation" +msgstr "" + +#: templates/dcim/inc/rack_elevation.html:11 +msgid "Loading..." +msgstr "" + +#: templates/dcim/interface.html:17 +msgid "Add Child Interface" +msgstr "" + +#: templates/dcim/interface.html:50 +msgid "Speed/Duplex" +msgstr "" + +#: templates/dcim/interface.html:73 +msgid "PoE Mode" +msgstr "" + +#: templates/dcim/interface.html:77 +msgid "PoE Type" +msgstr "" + +#: templates/dcim/interface.html:156 +#: templates/virtualization/vminterface.html:94 +msgid "VLAN Translation" +msgstr "" + +#: templates/dcim/interface.html:208 +msgid "Wireless Link" +msgstr "" + +#: templates/dcim/interface.html:287 +#: templates/wireless/inc/wirelesslink_interface.html:26 +msgid "Channel" +msgstr "" + +#: templates/dcim/interface.html:296 +#: templates/wireless/inc/wirelesslink_interface.html:32 +msgid "Channel Frequency" +msgstr "" + +#: templates/dcim/interface.html:299 templates/dcim/interface.html:307 +#: templates/dcim/interface.html:318 templates/dcim/interface.html:326 +msgid "MHz" +msgstr "" + +#: templates/dcim/interface.html:315 +#: templates/wireless/inc/wirelesslink_interface.html:42 +msgid "Channel Width" +msgstr "" + +#: templates/dcim/interface.html:342 templates/wireless/wirelesslan.html:14 +#: templates/wireless/wirelesslink.html:21 wireless/forms/bulk_edit.py:63 +#: wireless/forms/bulk_edit.py:106 wireless/forms/filtersets.py:43 +#: wireless/forms/filtersets.py:108 wireless/models.py:82 +#: wireless/models.py:145 wireless/tables/wirelesslan.py:48 +msgid "SSID" +msgstr "" + +#: templates/dcim/interface.html:362 +msgid "LAG Members" +msgstr "" + +#: templates/dcim/interface.html:380 +msgid "No member interfaces" +msgstr "" + +#: templates/dcim/interface.html:400 templates/ipam/fhrpgroup.html:74 +#: templates/ipam/iprange/ip_addresses.html:7 +#: templates/ipam/prefix/ip_addresses.html:7 +#: templates/virtualization/vminterface.html:111 +msgid "Add IP Address" +msgstr "" + +#: templates/dcim/interface.html:417 +#: templates/virtualization/vminterface.html:129 +msgid "Add MAC Address" +msgstr "" + +#: templates/dcim/inventoryitem.html:24 +msgid "Parent Item" +msgstr "" + +#: templates/dcim/inventoryitem.html:52 +msgid "Part ID" +msgstr "" + +#: templates/dcim/location.html:17 +msgid "Add Child Location" +msgstr "" + +#: templates/dcim/location.html:78 +msgid "Child Locations" +msgstr "" + +#: templates/dcim/location.html:82 templates/dcim/site.html:131 +msgid "Add a Location" +msgstr "" + +#: templates/dcim/location.html:95 templates/dcim/site.html:144 +msgid "Add a Device" +msgstr "" + +#: templates/dcim/macaddress.html:36 +msgid "Primary for interface" +msgstr "" + +#: templates/dcim/manufacturer.html:16 +msgid "Add Device Type" +msgstr "" + +#: templates/dcim/manufacturer.html:21 templates/dcim/moduletypeprofile.html:49 +msgid "Add Module Type" +msgstr "" + +#: templates/dcim/moduletype.html:71 +msgid "No profile assigned" +msgstr "" + +#: templates/dcim/moduletypeprofile.html:13 +msgid "Module Type Profile" +msgstr "" + +#: templates/dcim/platform.html:64 +msgid "Child Platforms" +msgstr "" + +#: templates/dcim/platform.html:68 +msgid "Add a Platform" +msgstr "" + +#: templates/dcim/powerfeed.html:53 +msgid "Connected Device" +msgstr "" + +#: templates/dcim/powerfeed.html:63 +msgid "Utilization (Allocated" +msgstr "" + +#: templates/dcim/powerfeed.html:80 +msgid "Electrical Characteristics" +msgstr "" + +#: templates/dcim/powerfeed.html:88 +msgctxt "Abbreviation for volts" +msgid "V" +msgstr "" + +#: templates/dcim/powerfeed.html:92 +msgctxt "Abbreviation for amperes" +msgid "A" +msgstr "" + +#: templates/dcim/poweroutlet.html:62 +msgid "Feed Leg" +msgstr "" + +#: templates/dcim/powerpanel.html:72 +msgid "Add Power Feeds" +msgstr "" + +#: templates/dcim/powerport.html:44 +msgid "Maximum Draw" +msgstr "" + +#: templates/dcim/powerport.html:48 +msgid "Allocated Draw" +msgstr "" + +#: templates/dcim/rack.html:69 +msgid "Space Utilization" +msgstr "" + +#: templates/dcim/rack.html:84 templates/dcim/racktype.html:40 +msgid "Rack Weight" +msgstr "" + +#: templates/dcim/rack.html:94 templates/dcim/racktype.html:50 +msgid "Maximum Weight" +msgstr "" + +#: templates/dcim/rack.html:104 +msgid "Total Weight" +msgstr "" + +#: templates/dcim/rack.html:125 templates/dcim/rack_elevation_list.html:15 +msgid "Images and Labels" +msgstr "" + +#: templates/dcim/rack.html:126 templates/dcim/rack_elevation_list.html:16 +msgid "Images only" +msgstr "" + +#: templates/dcim/rack.html:127 templates/dcim/rack_elevation_list.html:17 +msgid "Labels only" +msgstr "" + +#: templates/dcim/rack/reservations.html:8 +msgid "Add reservation" +msgstr "" + +#: templates/dcim/rack_elevation_list.html:12 +msgid "View List" +msgstr "" + +#: templates/dcim/rack_elevation_list.html:14 +msgid "Select rack view" +msgstr "" + +#: templates/dcim/rack_elevation_list.html:25 +msgid "Sort By" +msgstr "" + +#: templates/dcim/rack_elevation_list.html:74 +msgid "No Racks Found" +msgstr "" + +#: templates/dcim/rack_list.html:8 +msgid "View Elevations" +msgstr "" + +#: templates/dcim/rackreservation.html:42 +msgid "Reservation Details" +msgstr "" + +#: templates/dcim/rackrole.html:10 +msgid "Add Rack" +msgstr "" + +#: templates/dcim/rearport.html:50 +msgid "Positions" +msgstr "" + +#: templates/dcim/region.html:17 templates/dcim/sitegroup.html:17 +msgid "Add Site" +msgstr "" + +#: templates/dcim/region.html:56 +msgid "Child Regions" +msgstr "" + +#: templates/dcim/region.html:60 +msgid "Add Region" +msgstr "" + +#: templates/dcim/site.html:64 +msgid "Time Zone" +msgstr "" + +#: templates/dcim/site.html:67 +msgid "UTC" +msgstr "" + +#: templates/dcim/site.html:68 +msgid "Site time" +msgstr "" + +#: templates/dcim/site.html:75 +msgid "Physical Address" +msgstr "" + +#: templates/dcim/site.html:90 +msgid "Shipping Address" +msgstr "" + +#: templates/dcim/sitegroup.html:56 templates/tenancy/contactgroup.html:47 +#: templates/tenancy/tenantgroup.html:56 +#: templates/wireless/wirelesslangroup.html:56 +msgid "Child Groups" +msgstr "" + +#: templates/dcim/sitegroup.html:60 +msgid "Add Site Group" +msgstr "" + +#: templates/dcim/trace/attachment.html:5 +#: templates/extras/configtemplate.html:33 +#: templates/extras/exporttemplate.html:35 +msgid "Attachment" +msgstr "" + +#: templates/dcim/virtualchassis.html:47 +msgid "Add Member" +msgstr "" + +#: templates/dcim/virtualchassis_add_member.html:10 +#, python-format +msgid "Add New Member to Virtual Chassis %(virtual_chassis)s" +msgstr "" + +#: templates/dcim/virtualchassis_add_member.html:19 +msgid "Add New Member" +msgstr "" + +#: templates/dcim/virtualchassis_add_member.html:27 +#: templates/generic/object_edit.html:78 +#: templates/users/objectpermission.html:31 users/forms/filtersets.py:67 +#: users/forms/model_forms.py:358 +msgid "Actions" +msgstr "" + +#: templates/dcim/virtualchassis_add_member.html:29 +msgid "Save & Add Another" +msgstr "" + +#: templates/dcim/virtualchassis_edit.html:7 +#, python-format +msgid "Editing Virtual Chassis %(name)s" +msgstr "" + +#: templates/dcim/virtualchassis_edit.html:57 +msgid "Rack/Unit" +msgstr "" + +#: templates/dcim/virtualchassis_edit.html:114 +#: templates/generic/bulk_add_component.html:68 +#: templates/generic/object_edit.html:47 templates/generic/object_edit.html:80 +#: templates/htmx/quick_add.html:24 +#: templates/ipam/inc/ipaddress_edit_header.html:7 +msgid "Create" +msgstr "" + +#: templates/dcim/virtualchassis_remove_member.html:5 +msgid "Remove Virtual Chassis Member" +msgstr "" + +#: templates/dcim/virtualchassis_remove_member.html:9 +#, python-format +msgid "" +"Are you sure you want to remove %(device)s from virtual " +"chassis %(name)s?" +msgstr "" + +#: templates/dcim/virtualdevicecontext.html:26 templates/vpn/l2vpn.html:18 +msgid "Identifier" +msgstr "" + +#: templates/exceptions/import_error.html:6 +msgid "" +"A module import error occurred during this request. Common causes include " +"the following:" +msgstr "" + +#: templates/exceptions/import_error.html:10 +msgid "Missing required packages" +msgstr "" + +#: templates/exceptions/import_error.html:11 +#, python-format +msgid "" +"This installation of NetBox might be missing one or more required Python " +"packages. These packages are listed in %(req_file)s and " +"%(local_req_file)s, and are normally installed as part of the " +"installation or upgrade process. To verify installed packages, run " +"%(pip_cmd)s from the console and compare the output to the list " +"of required packages." +msgstr "" + +#: templates/exceptions/import_error.html:20 +msgid "WSGI service not restarted after upgrade" +msgstr "" + +#: templates/exceptions/import_error.html:21 +msgid "" +"If this installation has recently been upgraded, check that the WSGI service " +"(e.g. gunicorn or uWSGI) has been restarted. This ensures that the new code " +"is running." +msgstr "" + +#: templates/exceptions/permission_error.html:6 +msgid "" +"A file permission error was detected while processing this request. Common " +"causes include the following:" +msgstr "" + +#: templates/exceptions/permission_error.html:10 +msgid "Insufficient write permission to the media root" +msgstr "" + +#: templates/exceptions/permission_error.html:11 +#, python-format +msgid "" +"The configured media root is %(media_root)s. Ensure that the " +"user NetBox runs as has access to write files to all locations within this " +"path." +msgstr "" + +#: templates/exceptions/programming_error.html:6 +msgid "" +"A database programming error was detected while processing this request. " +"Common causes include the following:" +msgstr "" + +#: templates/exceptions/programming_error.html:10 +msgid "Database migrations missing" +msgstr "" + +#: templates/exceptions/programming_error.html:11 +#, python-format +msgid "" +"When upgrading to a new NetBox release, the upgrade script must be run to " +"apply any new database migrations. You can run migrations manually by " +"executing %(command)s from the command line." +msgstr "" + +#: templates/exceptions/programming_error.html:18 +msgid "Unsupported PostgreSQL version" +msgstr "" + +#: templates/exceptions/programming_error.html:19 +#, python-format +msgid "" +"Ensure that PostgreSQL version 14 or later is in use. You can check this by " +"connecting to the database using NetBox's credentials and issuing a query " +"for %(sql_query)s." +msgstr "" + +#: templates/extras/configcontextprofile.html:30 +msgid "JSON Schema" +msgstr "" + +#: templates/extras/configtemplate.html:76 +#: templates/extras/exporttemplate.html:55 +msgid "Environment Parameters" +msgstr "" + +#: templates/extras/configtemplate.html:91 +#: templates/extras/exporttemplate.html:70 +msgid "Template" +msgstr "" + +#: templates/extras/customfield.html:30 templates/extras/customlink.html:21 +msgid "Group Name" +msgstr "" + +#: templates/extras/customfield.html:42 +msgid "Must be Unique" +msgstr "" + +#: templates/extras/customfield.html:46 +msgid "Cloneable" +msgstr "" + +#: templates/extras/customfield.html:56 +msgid "Default Value" +msgstr "" + +#: templates/extras/customfield.html:73 +msgid "Search Weight" +msgstr "" + +#: templates/extras/customfield.html:83 +msgid "Filter Logic" +msgstr "" + +#: templates/extras/customfield.html:87 +msgid "Display Weight" +msgstr "" + +#: templates/extras/customfield.html:91 +msgid "UI Visible" +msgstr "" + +#: templates/extras/customfield.html:95 +msgid "UI Editable" +msgstr "" + +#: templates/extras/customfield.html:115 +msgid "Validation Rules" +msgstr "" + +#: templates/extras/customfield.html:126 +msgid "Regular Expression" +msgstr "" + +#: templates/extras/customlink.html:29 +msgid "Button Class" +msgstr "" + +#: templates/extras/customlink.html:39 templates/extras/exporttemplate.html:45 +#: templates/extras/savedfilter.html:39 +msgid "Assigned Models" +msgstr "" + +#: templates/extras/customlink.html:52 +msgid "Link Text" +msgstr "" + +#: templates/extras/customlink.html:58 +msgid "Link URL" +msgstr "" + +#: templates/extras/dashboard/reset.html:4 templates/home.html:66 +msgid "Reset Dashboard" +msgstr "" + +#: templates/extras/dashboard/reset.html:8 +msgid "" +"This will remove all configured widgets and restore the " +"default dashboard configuration." +msgstr "" + +#: templates/extras/dashboard/reset.html:13 +msgid "" +"This change affects only your dashboard, and will not impact other " +"users." +msgstr "" + +#: templates/extras/dashboard/widget.html:21 +msgid "widget configuration" +msgstr "" + +#: templates/extras/dashboard/widget.html:36 +msgid "Close widget" +msgstr "" + +#: templates/extras/dashboard/widget_add.html:7 +msgid "Add a Widget" +msgstr "" + +#: templates/extras/dashboard/widgets/bookmarks.html:14 +msgid "No bookmarks have been added yet." +msgstr "" + +#: templates/extras/dashboard/widgets/objectcounts.html:10 +msgid "No permission" +msgstr "" + +#: templates/extras/dashboard/widgets/objectlist.html:6 +msgid "No permission to view this content" +msgstr "" + +#: templates/extras/dashboard/widgets/objectlist.html:10 +msgid "Unable to load content. Could not resolve list URL for:" +msgstr "" + +#: templates/extras/dashboard/widgets/rssfeed.html:12 +msgid "No content found" +msgstr "" + +#: templates/extras/dashboard/widgets/rssfeed.html:17 +msgid "" +"This RSS feed requires an external connection. Check the ISOLATED_DEPLOYMENT " +"setting." +msgstr "" + +#: templates/extras/dashboard/widgets/rssfeed.html:22 +msgid "There was a problem fetching the RSS feed" +msgstr "" + +#: templates/extras/dashboard/widgets/rssfeed.html:25 +msgid "HTTP" +msgstr "" + +#: templates/extras/eventrule.html:61 +msgid "Conditions" +msgstr "" + +#: templates/extras/htmx/script_result.html:10 +msgid "Scheduled for" +msgstr "" + +#: templates/extras/htmx/script_result.html:15 +msgid "Duration" +msgstr "" + +#: templates/extras/htmx/script_result.html:23 +msgid "Test Summary" +msgstr "" + +#: templates/extras/htmx/script_result.html:57 +msgid "Output" +msgstr "" + +#: templates/extras/htmx/script_result.html:61 +#: templates/extras/object_render_config.html:59 +msgid "Download" +msgstr "" + +#: templates/extras/imageattachment.html:10 +msgid "Image Attachment" +msgstr "" + +#: templates/extras/imageattachment.html:13 +msgid "Parent Object" +msgstr "" + +#: templates/extras/inc/result_pending.html:4 +msgid "Loading" +msgstr "" + +#: templates/extras/inc/result_pending.html:6 +msgid "Results pending" +msgstr "" + +#: templates/extras/inc/script_list_content.html:34 +msgid "Last Run" +msgstr "" + +#: templates/extras/inc/script_list_content.html:49 +msgid "Script is no longer present in the source file" +msgstr "" + +#: templates/extras/inc/script_list_content.html:62 +msgid "Never" +msgstr "" + +#: templates/extras/inc/script_list_content.html:75 +msgid "Run Again" +msgstr "" + +#: templates/extras/inc/script_list_content.html:77 +#: templates/extras/script.html:41 templates/extras/script.html:45 +msgid "Run Script" +msgstr "" + +#: templates/extras/inc/script_list_content.html:123 +#, python-format +msgid "Could not load scripts from module %(module)s" +msgstr "" + +#: templates/extras/inc/script_list_content.html:131 +msgid "No Scripts Found" +msgstr "" + +#: templates/extras/inc/script_list_content.html:134 +#, python-format +msgid "" +"Get started by creating a script from " +"an uploaded file or data source." +msgstr "" + +#: templates/extras/journalentry.html:15 +msgid "Journal Entry" +msgstr "" + +#: templates/extras/notificationgroup.html:11 +msgid "Notification Group" +msgstr "" + +#: templates/extras/notificationgroup.html:36 +#: templates/extras/notificationgroup.html:46 +#: utilities/templates/widgets/clearable_file_input.html:12 +msgid "None assigned" +msgstr "" + +#: templates/extras/object_configcontext.html:19 +msgid "The local config context overwrites all source contexts" +msgstr "" + +#: templates/extras/object_configcontext.html:25 +msgid "Source Contexts" +msgstr "" + +#: templates/extras/object_imageattachments.html:10 +msgid "Attach an Image" +msgstr "" + +#: templates/extras/object_imageattachments.html:35 +msgid "Thumbnail cannot be generated" +msgstr "" + +#: templates/extras/object_imageattachments.html:36 +msgid "Click to view original" +msgstr "" + +#: templates/extras/object_imageattachments.html:49 +#, python-format +msgid "" +"\n" +" No images have been attached to this %(object_type)s.\n" +" " +msgstr "" + +#: templates/extras/object_journal.html:17 +msgid "New Journal Entry" +msgstr "" + +#: templates/extras/object_render_config.html:36 +msgid "Context Data" +msgstr "" + +#: templates/extras/object_render_config.html:56 +msgid "Rendered Config" +msgstr "" + +#: templates/extras/object_render_config.html:68 +msgid "Error rendering template" +msgstr "" + +#: templates/extras/object_render_config.html:73 +msgid "Template output is empty" +msgstr "" + +#: templates/extras/object_render_config.html:78 +msgid "No configuration template has been assigned." +msgstr "" + +#: templates/extras/report/base.html:30 +msgid "Report" +msgstr "" + +#: templates/extras/script.html:14 +msgid "You do not have permission to run scripts" +msgstr "" + +#: templates/extras/script.html:51 templates/extras/script/source.html:10 +msgid "Error loading script" +msgstr "" + +#: templates/extras/script/jobs.html:16 +msgid "Script no longer exists in the source file." +msgstr "" + +#: templates/extras/script_result.html:35 templates/generic/object_list.html:42 +#: templates/search.html:13 +msgid "Results" +msgstr "" + +#: templates/extras/script_result.html:46 +msgid "Log threshold" +msgstr "" + +#: templates/extras/script_result.html:56 +msgid "All" +msgstr "" + +#: templates/extras/tableconfig.html:10 +msgid "Table Config" +msgstr "" + +#: templates/extras/tableconfig.html:50 +msgid "Columns Displayed" +msgstr "" + +#: templates/extras/tableconfig_edit.html:8 +#: utilities/templates/helpers/table_config_form.html:8 +msgid "Table Configuration" +msgstr "" + +#: templates/extras/tableconfig_edit.html:40 +#: utilities/templates/helpers/table_config_form.html:31 +#: utilities/templates/widgets/splitmultiselect.html:23 +msgid "Move Up" +msgstr "" + +#: templates/extras/tableconfig_edit.html:43 +#: utilities/templates/helpers/table_config_form.html:34 +#: utilities/templates/widgets/splitmultiselect.html:26 +msgid "Move Down" +msgstr "" + +#: templates/extras/tag.html:36 +msgid "Tagged Items" +msgstr "" + +#: templates/extras/tag.html:47 +msgid "Allowed Object Types" +msgstr "" + +#: templates/extras/tag.html:55 +msgid "Any" +msgstr "" + +#: templates/extras/tag.html:61 +msgid "Tagged Item Types" +msgstr "" + +#: templates/extras/tag.html:85 +msgid "Tagged Objects" +msgstr "" + +#: templates/extras/webhook.html:26 +msgid "HTTP Method" +msgstr "" + +#: templates/extras/webhook.html:34 +msgid "HTTP Content Type" +msgstr "" + +#: templates/extras/webhook.html:47 +msgid "SSL Verification" +msgstr "" + +#: templates/extras/webhook.html:60 +msgid "Additional Headers" +msgstr "" + +#: templates/extras/webhook.html:70 +msgid "Body Template" +msgstr "" + +#: templates/generic/bulk_add_component.html:29 +msgid "Bulk Creation" +msgstr "" + +#: templates/generic/bulk_add_component.html:34 +#: templates/generic/bulk_delete.html:33 templates/generic/bulk_edit.html:33 +msgid "Selected Objects" +msgstr "" + +#: templates/generic/bulk_add_component.html:58 +msgid "to Add" +msgstr "" + +#: templates/generic/bulk_delete.html:28 +msgid "Bulk Delete" +msgstr "" + +#: templates/generic/bulk_delete.html:50 +msgid "Confirm Bulk Deletion" +msgstr "" + +#: templates/generic/bulk_delete.html:51 +#, python-format +msgid "" +"The following operation will delete %(count)s " +"%(type_plural)s. Please carefully review the selected objects and confirm " +"this action." +msgstr "" + +#: templates/generic/bulk_edit.html:21 templates/generic/object_edit.html:22 +msgid "Editing" +msgstr "" + +#: templates/generic/bulk_edit.html:28 +msgid "Bulk Edit" +msgstr "" + +#: templates/generic/bulk_edit.html:116 templates/generic/bulk_rename.html:68 +msgid "Apply" +msgstr "" + +#: templates/generic/bulk_import.html:19 +msgid "Bulk Import" +msgstr "" + +#: templates/generic/bulk_import.html:25 +msgid "Direct Import" +msgstr "" + +#: templates/generic/bulk_import.html:30 +msgid "Upload File" +msgstr "" + +#: templates/generic/bulk_import.html:68 templates/generic/bulk_import.html:100 +#: templates/generic/bulk_import.html:133 +msgid "Submit" +msgstr "" + +#: templates/generic/bulk_import.html:144 +msgid "Field Options" +msgstr "" + +#: templates/generic/bulk_import.html:150 +msgid "Accessor" +msgstr "" + +#: templates/generic/bulk_import.html:179 +msgid "choices" +msgstr "" + +#: templates/generic/bulk_import.html:192 +msgid "Import Value" +msgstr "" + +#: templates/generic/bulk_import.html:212 +msgid "Format: YYYY-MM-DD" +msgstr "" + +#: templates/generic/bulk_import.html:214 +msgid "Specify true or false" +msgstr "" + +#: templates/generic/bulk_import.html:226 +msgid "Required fields must be specified for all objects." +msgstr "" + +#: templates/generic/bulk_import.html:232 +#, python-format +msgid "" +"Related objects may be referenced by any unique attribute. For example, " +"%(example)s would identify a VRF by its route distinguisher." +msgstr "" + +#: templates/generic/bulk_rename.html:20 +msgid "Renaming" +msgstr "" + +#: templates/generic/bulk_rename.html:27 +msgid "Bulk Rename" +msgstr "" + +#: templates/generic/bulk_rename.html:39 +msgid "Current Name" +msgstr "" + +#: templates/generic/bulk_rename.html:40 +msgid "New Name" +msgstr "" + +#: templates/generic/bulk_rename.html:59 +msgid "Rename" +msgstr "" + +#: templates/generic/bulk_rename.html:66 +#: utilities/templates/widgets/markdown_input.html:11 +msgid "Preview" +msgstr "" + +#: templates/generic/confirmation_form.html:16 +msgid "Are you sure" +msgstr "" + +#: templates/generic/confirmation_form.html:20 +msgid "Confirm" +msgstr "" + +#: templates/generic/object_edit.html:24 +#, python-format +msgid "Add a new %(object_type)s" +msgstr "" + +#: templates/generic/object_edit.html:35 +msgid "View model documentation" +msgstr "" + +#: templates/generic/object_edit.html:36 +msgid "Help" +msgstr "" + +#: templates/generic/object_edit.html:83 +msgid "Create & Add Another" +msgstr "" + +#: templates/generic/object_list.html:49 +msgid "Filters" +msgstr "" + +#: templates/generic/object_list.html:80 +#, python-format +msgid "" +"Select all %(count)s " +"%(object_type_plural)s matching query" +msgstr "" + +#: templates/home.html:15 +msgid "New Release Available" +msgstr "" + +#: templates/home.html:16 +msgid "is available" +msgstr "" + +#: templates/home.html:18 +msgctxt "Document title" +msgid "Upgrade Instructions" +msgstr "" + +#: templates/home.html:40 +msgid "Unlock Dashboard" +msgstr "" + +#: templates/home.html:49 +msgid "Lock Dashboard" +msgstr "" + +#: templates/home.html:60 +msgid "Add Widget" +msgstr "" + +#: templates/home.html:63 +msgid "Save Layout" +msgstr "" + +#: templates/htmx/delete_form.html:12 +msgid "Confirm Deletion" +msgstr "" + +#: templates/htmx/delete_form.html:17 +#, python-format +msgid "" +"Are you sure you want to delete " +"%(object_type)s %(object)s?" +msgstr "" + +#: templates/htmx/delete_form.html:23 +msgid "The following objects will be deleted as a result of this action." +msgstr "" + +#: templates/htmx/notifications.html:6 +#, python-format +msgid "Dismiss %(count)s unread notification?" +msgid_plural "Dismiss %(count)s unread notifications?" +msgstr[0] "" +msgstr[1] "" + +#: templates/htmx/notifications.html:7 +msgid "Dismiss all unread notifications" +msgstr "" + +#: templates/htmx/notifications.html:9 +msgid "Dismiss all" +msgstr "" + +#: templates/htmx/notifications.html:26 +msgid "ago" +msgstr "" + +#: templates/htmx/notifications.html:37 +msgid "No unread notifications" +msgstr "" + +#: templates/htmx/notifications.html:42 +msgid "All notifications" +msgstr "" + +#: templates/htmx/object_selector.html:5 +msgid "Select" +msgstr "" + +#: templates/htmx/quick_add.html:7 +msgid "Quick Add" +msgstr "" + +#: templates/htmx/quick_add_created.html:18 +#, python-format +msgid "" +"\n" +" Created %(object_type)s %(object)s\n" +" " +msgstr "" + +#: templates/inc/filter_list.html:39 +#: utilities/templates/helpers/table_config_form.html:39 +msgid "Reset" +msgstr "" + +#: templates/inc/light_toggle.html:4 +msgid "Enable dark mode" +msgstr "" + +#: templates/inc/light_toggle.html:7 +msgid "Enable light mode" +msgstr "" + +#: templates/inc/missing_prerequisites.html:9 +#, python-format +msgid "" +"Before you can add a %(model)s you must first create a " +"%(prerequisite_model)s." +msgstr "" + +#: templates/inc/paginator.html:15 +msgid "Page selection" +msgstr "" + +#: templates/inc/paginator.html:75 +#, python-format +msgid "Showing %(start)s-%(end)s of %(total)s" +msgstr "" + +#: templates/inc/paginator.html:82 +msgid "Pagination options" +msgstr "" + +#: templates/inc/paginator.html:86 +msgid "Per Page" +msgstr "" + +#: templates/inc/panels/image_attachments.html:10 +msgid "Attach an image" +msgstr "" + +#: templates/inc/panels/related_objects.html:5 +msgid "Related Objects" +msgstr "" + +#: templates/inc/panels/tags.html:11 +msgid "No tags assigned" +msgstr "" + +#: templates/inc/sync_warning.html:10 +msgid "Data is out of sync with upstream file" +msgstr "" + +#: templates/inc/table_controls_htmx.html:7 +msgid "Quick search" +msgstr "" + +#: templates/inc/table_controls_htmx.html:20 +msgid "Saved filter" +msgstr "" + +#: templates/inc/table_htmx.html:18 +msgid "Clear ordering" +msgstr "" + +#: templates/inc/user_menu.html:6 +msgid "Help center" +msgstr "" + +#: templates/inc/user_menu.html:56 +msgid "Log Out" +msgstr "" + +#: templates/inc/user_menu.html:63 templates/login.html:39 +#: templates/login.html:84 +msgid "Log In" +msgstr "" + +#: templates/ipam/aggregate.html:14 templates/ipam/ipaddress.html:14 +#: templates/ipam/iprange.html:13 templates/ipam/prefix.html:15 +msgid "Family" +msgstr "" + +#: templates/ipam/aggregate.html:39 +msgid "Date Added" +msgstr "" + +#: templates/ipam/aggregate/prefixes.html:8 +#: templates/ipam/prefix/prefixes.html:8 templates/ipam/role.html:10 +msgid "Add Prefix" +msgstr "" + +#: templates/ipam/asn.html:23 +msgid "AS Number" +msgstr "" + +#: templates/ipam/fhrpgroup.html:52 +msgid "Authentication Type" +msgstr "" + +#: templates/ipam/fhrpgroup.html:56 +msgid "Authentication Key" +msgstr "" + +#: templates/ipam/fhrpgroup.html:70 +msgid "Virtual IP Addresses" +msgstr "" + +#: templates/ipam/inc/ipaddress_edit_header.html:13 +msgid "Assign IP" +msgstr "" + +#: templates/ipam/inc/ipaddress_edit_header.html:19 +msgid "Bulk Create" +msgstr "" + +#: templates/ipam/inc/panels/fhrp_groups.html:10 +msgid "Create Group" +msgstr "" + +#: templates/ipam/inc/panels/fhrp_groups.html:25 +msgid "Virtual IPs" +msgstr "" + +#: templates/ipam/inc/toggle_available.html:7 +msgid "Show Assigned" +msgstr "" + +#: templates/ipam/inc/toggle_available.html:10 +msgid "Show Available" +msgstr "" + +#: templates/ipam/inc/toggle_available.html:13 +msgid "Show All" +msgstr "" + +#: templates/ipam/ipaddress.html:23 templates/ipam/iprange.html:52 +#: templates/ipam/prefix.html:24 +msgid "Global" +msgstr "" + +#: templates/ipam/ipaddress.html:85 +msgid "NAT (outside)" +msgstr "" + +#: templates/ipam/ipaddress_assign.html:8 +msgid "Assign an IP Address" +msgstr "" + +#: templates/ipam/ipaddress_assign.html:22 +msgid "Select IP Address" +msgstr "" + +#: templates/ipam/ipaddress_assign.html:35 +msgid "Search Results" +msgstr "" + +#: templates/ipam/ipaddress_bulk_add.html:6 +msgid "Bulk Add IP Addresses" +msgstr "" + +#: templates/ipam/iprange.html:17 +msgid "Starting Address" +msgstr "" + +#: templates/ipam/iprange.html:21 +msgid "Ending Address" +msgstr "" + +#: templates/ipam/prefix.html:95 +msgid "Addressing Details" +msgstr "" + +#: templates/ipam/prefix.html:106 +msgid "Marked fully utilized" +msgstr "" + +#: templates/ipam/prefix.html:114 +msgid "Child IPs" +msgstr "" + +#: templates/ipam/prefix.html:122 +msgid "Available IPs" +msgstr "" + +#: templates/ipam/prefix.html:134 +msgid "First available IP" +msgstr "" + +#: templates/ipam/prefix.html:175 +msgid "Prefix Details" +msgstr "" + +#: templates/ipam/prefix.html:181 +msgid "Network Address" +msgstr "" + +#: templates/ipam/prefix.html:185 +msgid "Network Mask" +msgstr "" + +#: templates/ipam/prefix.html:189 +msgid "Wildcard Mask" +msgstr "" + +#: templates/ipam/prefix.html:193 +msgid "Broadcast Address" +msgstr "" + +#: templates/ipam/prefix/ip_ranges.html:7 +msgid "Add IP Range" +msgstr "" + +#: templates/ipam/prefix_list.html:7 +msgid "Hide Depth Indicators" +msgstr "" + +#: templates/ipam/prefix_list.html:11 +msgid "Max Depth" +msgstr "" + +#: templates/ipam/prefix_list.html:28 +msgid "Max Length" +msgstr "" + +#: templates/ipam/rir.html:10 +msgid "Add Aggregate" +msgstr "" + +#: templates/ipam/routetarget.html:38 +msgid "Importing VRFs" +msgstr "" + +#: templates/ipam/routetarget.html:44 +msgid "Exporting VRFs" +msgstr "" + +#: templates/ipam/routetarget.html:52 +msgid "Importing L2VPNs" +msgstr "" + +#: templates/ipam/routetarget.html:58 +msgid "Exporting L2VPNs" +msgstr "" + +#: templates/ipam/vlan.html:66 +msgid "Q-in-Q Role" +msgstr "" + +#: templates/ipam/vlan.html:104 +msgid "Add a Prefix" +msgstr "" + +#: templates/ipam/vlan.html:114 +msgid "Customer VLANs" +msgstr "" + +#: templates/ipam/vlan.html:118 +msgid "Add a VLAN" +msgstr "" + +#: templates/ipam/vlangroup.html:18 +msgid "Add VLAN" +msgstr "" + +#: templates/ipam/vlantranslationpolicy.html:51 +msgid "Add Rule" +msgstr "" + +#: templates/ipam/vrf.html:16 +msgid "Route Distinguisher" +msgstr "" + +#: templates/ipam/vrf.html:29 +msgid "Unique IP Space" +msgstr "" + +#: templates/login.html:29 +#: utilities/templates/form_helpers/render_errors.html:7 +msgid "Errors" +msgstr "" + +#: templates/login.html:70 +msgid "Sign In" +msgstr "" + +#: templates/login.html:80 +msgctxt "Denotes an alternative option" +msgid "Or" +msgstr "" + +#: templates/media_failure.html:7 +msgid "Static Media Failure - NetBox" +msgstr "" + +#: templates/media_failure.html:21 +msgid "Static Media Failure" +msgstr "" + +#: templates/media_failure.html:23 +msgid "The following static media file failed to load" +msgstr "" + +#: templates/media_failure.html:26 +msgid "Check the following" +msgstr "" + +#: templates/media_failure.html:29 +#, python-format +msgid "" +"%(command)s was run during the most recent upgrade. This " +"installs the most recent iteration of each static file into the static root " +"path." +msgstr "" + +#: templates/media_failure.html:35 +#, python-format +msgid "" +"The HTTP service (e.g. nginx or Apache) is configured to serve files from " +"the STATIC_ROOT path. Refer to the " +"installation documentation for further guidance." +msgstr "" + +#: templates/media_failure.html:47 +#, python-format +msgid "" +"The file %(filename)s exists in the static root directory and " +"is readable by the HTTP server." +msgstr "" + +#: templates/media_failure.html:55 +#, python-format +msgid "" +"Click here to attempt loading NetBox again." +msgstr "" + +#: templates/tenancy/contact.html:18 tenancy/filtersets.py:152 +#: tenancy/forms/bulk_edit.py:154 tenancy/forms/filtersets.py:102 +#: tenancy/forms/forms.py:57 tenancy/forms/model_forms.py:113 +#: tenancy/forms/model_forms.py:137 tenancy/tables/contacts.py:106 +msgid "Contact" +msgstr "" + +#: templates/tenancy/contact.html:39 tenancy/forms/bulk_edit.py:111 +msgid "Title" +msgstr "" + +#: templates/tenancy/contact.html:43 tenancy/forms/bulk_edit.py:116 +#: tenancy/tables/contacts.py:72 +msgid "Phone" +msgstr "" + +#: templates/tenancy/contactgroup.html:18 tenancy/forms/forms.py:67 +#: tenancy/forms/model_forms.py:77 +msgid "Contact Group" +msgstr "" + +#: templates/tenancy/contactgroup.html:51 +msgid "Add Contact Group" +msgstr "" + +#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:157 +#: tenancy/forms/forms.py:62 tenancy/forms/model_forms.py:89 +msgid "Contact Role" +msgstr "" + +#: templates/tenancy/object_contacts.html:8 +msgid "Add a contact" +msgstr "" + +#: templates/tenancy/tenantgroup.html:17 +msgid "Add Tenant" +msgstr "" + +#: templates/tenancy/tenantgroup.html:26 tenancy/forms/model_forms.py:33 +#: tenancy/tables/columns.py:36 tenancy/tables/columns.py:46 +msgid "Tenant Group" +msgstr "" + +#: templates/tenancy/tenantgroup.html:60 +msgid "Add Tenant Group" +msgstr "" + +#: templates/users/group.html:39 templates/users/user.html:61 +msgid "Assigned Permissions" +msgstr "" + +#: templates/users/inc/user_activity.html:6 +msgid "Recent Activity" +msgstr "" + +#: templates/users/inc/user_activity.html:9 +msgid "View All" +msgstr "" + +#: templates/users/objectpermission.html:6 +#: templates/users/objectpermission.html:14 users/forms/filtersets.py:66 +msgid "Permission" +msgstr "" + +#: templates/users/objectpermission.html:34 +msgid "View" +msgstr "" + +#: templates/users/objectpermission.html:52 users/forms/model_forms.py:348 +#: users/forms/model_forms.py:361 +msgid "Constraints" +msgstr "" + +#: templates/users/objectpermission.html:72 +msgid "Assigned Users" +msgstr "" + +#: templates/virtualization/cluster.html:56 +msgid "Allocated Resources" +msgstr "" + +#: templates/virtualization/cluster.html:59 +#: templates/virtualization/virtualmachine.html:127 +msgid "Virtual CPUs" +msgstr "" + +#: templates/virtualization/cluster.html:63 +#: templates/virtualization/virtualmachine.html:131 +msgid "Memory" +msgstr "" + +#: templates/virtualization/cluster.html:73 +#: templates/virtualization/virtualmachine.html:142 +msgid "Disk Space" +msgstr "" + +#: templates/virtualization/cluster/base.html:18 +msgid "Add Virtual Machine" +msgstr "" + +#: templates/virtualization/cluster/base.html:24 +msgid "Assign Device" +msgstr "" + +#: templates/virtualization/cluster_add_devices.html:9 +#, python-format +msgid "Add Device to Cluster %(cluster)s" +msgstr "" + +#: templates/virtualization/cluster_add_devices.html:23 +msgid "Device Selection" +msgstr "" + +#: templates/virtualization/cluster_add_devices.html:31 +msgid "Add Devices" +msgstr "" + +#: templates/virtualization/clustergroup.html:10 +#: templates/virtualization/clustertype.html:10 +msgid "Add Cluster" +msgstr "" + +#: templates/virtualization/clustergroup.html:19 +#: virtualization/forms/model_forms.py:53 +msgid "Cluster Group" +msgstr "" + +#: templates/virtualization/clustertype.html:19 +#: templates/virtualization/virtualmachine.html:110 +#: virtualization/forms/model_forms.py:39 +msgid "Cluster Type" +msgstr "" + +#: templates/virtualization/virtualdisk.html:18 +msgid "Virtual Disk" +msgstr "" + +#: templates/virtualization/virtualmachine.html:124 +#: virtualization/forms/bulk_edit.py:172 +#: virtualization/forms/model_forms.py:231 +msgid "Resources" +msgstr "" + +#: templates/virtualization/virtualmachine.html:180 +msgid "Add Virtual Disk" +msgstr "" + +#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:33 +#: vpn/tables/crypto.py:166 +msgid "IKE Policy" +msgstr "" + +#: templates/vpn/ikepolicy.html:21 +msgid "IKE Version" +msgstr "" + +#: templates/vpn/ikepolicy.html:29 +msgid "Pre-Shared Key" +msgstr "" + +#: templates/vpn/ikepolicy.html:33 +#: templates/wireless/inc/authentication_attrs.html:20 +msgid "Show Secret" +msgstr "" + +#: templates/vpn/ikepolicy.html:57 templates/vpn/ipsecpolicy.html:45 +#: templates/vpn/ipsecprofile.html:52 templates/vpn/ipsecprofile.html:77 +#: vpn/forms/model_forms.py:317 vpn/forms/model_forms.py:354 +#: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 +msgid "Proposals" +msgstr "" + +#: templates/vpn/ikeproposal.html:10 +msgid "IKE Proposal" +msgstr "" + +#: templates/vpn/ikeproposal.html:21 vpn/forms/bulk_edit.py:97 +#: vpn/forms/bulk_import.py:145 vpn/forms/filtersets.py:106 +msgid "Authentication method" +msgstr "" + +#: templates/vpn/ikeproposal.html:25 templates/vpn/ipsecproposal.html:21 +#: vpn/forms/bulk_edit.py:102 vpn/forms/bulk_edit.py:172 +#: vpn/forms/bulk_import.py:149 vpn/forms/bulk_import.py:195 +#: vpn/forms/filtersets.py:111 vpn/forms/filtersets.py:159 +msgid "Encryption algorithm" +msgstr "" + +#: templates/vpn/ikeproposal.html:29 templates/vpn/ipsecproposal.html:25 +#: vpn/forms/bulk_edit.py:107 vpn/forms/bulk_edit.py:177 +#: vpn/forms/bulk_import.py:153 vpn/forms/bulk_import.py:200 +#: vpn/forms/filtersets.py:116 vpn/forms/filtersets.py:164 +msgid "Authentication algorithm" +msgstr "" + +#: templates/vpn/ikeproposal.html:33 +msgid "DH group" +msgstr "" + +#: templates/vpn/ikeproposal.html:37 templates/vpn/ipsecproposal.html:29 +#: vpn/forms/bulk_edit.py:182 vpn/models/crypto.py:146 +msgid "SA lifetime (seconds)" +msgstr "" + +#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:66 +#: vpn/tables/crypto.py:170 +msgid "IPSec Policy" +msgstr "" + +#: templates/vpn/ipsecpolicy.html:21 vpn/forms/bulk_edit.py:210 +#: vpn/models/crypto.py:191 +msgid "PFS group" +msgstr "" + +#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:55 +msgid "IPSec Profile" +msgstr "" + +#: templates/vpn/ipsecprofile.html:89 vpn/tables/crypto.py:137 +msgid "PFS Group" +msgstr "" + +#: templates/vpn/ipsecproposal.html:10 +msgid "IPSec Proposal" +msgstr "" + +#: templates/vpn/ipsecproposal.html:33 vpn/forms/bulk_edit.py:186 +#: vpn/models/crypto.py:152 +msgid "SA lifetime (KB)" +msgstr "" + +#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:9 +msgid "L2VPN Attributes" +msgstr "" + +#: templates/vpn/l2vpn.html:64 templates/vpn/tunnel.html:76 +msgid "Add a Termination" +msgstr "" + +#: templates/vpn/tunnel.html:37 vpn/forms/bulk_edit.py:49 +#: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:62 +msgid "Encapsulation" +msgstr "" + +#: templates/vpn/tunnel.html:41 vpn/forms/bulk_edit.py:55 +#: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:69 +#: vpn/models/crypto.py:246 vpn/tables/tunnels.py:52 +msgid "IPSec profile" +msgstr "" + +#: templates/vpn/tunnel.html:45 vpn/forms/bulk_edit.py:69 +#: vpn/forms/filtersets.py:73 +msgid "Tunnel ID" +msgstr "" + +#: templates/vpn/tunnelgroup.html:14 +msgid "Add Tunnel" +msgstr "" + +#: templates/vpn/tunnelgroup.html:23 vpn/forms/model_forms.py:36 +#: vpn/forms/model_forms.py:49 +msgid "Tunnel Group" +msgstr "" + +#: templates/vpn/tunneltermination.html:10 +msgid "Tunnel Termination" +msgstr "" + +#: templates/vpn/tunneltermination.html:35 vpn/forms/bulk_import.py:107 +#: vpn/forms/model_forms.py:103 vpn/forms/model_forms.py:139 +#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:104 +msgid "Outside IP" +msgstr "" + +#: templates/vpn/tunneltermination.html:51 +msgid "Peer Terminations" +msgstr "" + +#: templates/wireless/inc/authentication_attrs.html:12 +msgid "Cipher" +msgstr "" + +#: templates/wireless/inc/authentication_attrs.html:16 +msgid "PSK" +msgstr "" + +#: templates/wireless/inc/wirelesslink_interface.html:35 +#: templates/wireless/inc/wirelesslink_interface.html:45 +msgctxt "Abbreviation for megahertz" +msgid "MHz" +msgstr "" + +#: templates/wireless/wirelesslan.html:65 +msgid "Attached Interfaces" +msgstr "" + +#: templates/wireless/wirelesslangroup.html:17 +msgid "Add Wireless LAN" +msgstr "" + +#: templates/wireless/wirelesslangroup.html:26 wireless/forms/model_forms.py:31 +msgid "Wireless LAN Group" +msgstr "" + +#: templates/wireless/wirelesslangroup.html:60 +msgid "Add Wireless LAN Group" +msgstr "" + +#: templates/wireless/wirelesslink.html:14 +msgid "Link Properties" +msgstr "" + +#: tenancy/filtersets.py:28 +msgid "Parent contact group (ID)" +msgstr "" + +#: tenancy/filtersets.py:34 +msgid "Parent contact group (slug)" +msgstr "" + +#: tenancy/filtersets.py:40 tenancy/filtersets.py:72 tenancy/filtersets.py:115 +msgid "Contact group (ID)" +msgstr "" + +#: tenancy/filtersets.py:47 tenancy/filtersets.py:79 tenancy/filtersets.py:122 +msgid "Contact group (slug)" +msgstr "" + +#: tenancy/filtersets.py:52 tenancy/filtersets.py:109 +msgid "Contact (ID)" +msgstr "" + +#: tenancy/filtersets.py:126 +msgid "Contact role (ID)" +msgstr "" + +#: tenancy/filtersets.py:132 +msgid "Contact role (slug)" +msgstr "" + +#: tenancy/filtersets.py:163 +msgid "Contact group" +msgstr "" + +#: tenancy/filtersets.py:174 +msgid "Parent tenant group (ID)" +msgstr "" + +#: tenancy/filtersets.py:180 +msgid "Parent tenant group (slug)" +msgstr "" + +#: tenancy/filtersets.py:186 tenancy/filtersets.py:206 +msgid "Tenant group (ID)" +msgstr "" + +#: tenancy/filtersets.py:239 +msgid "Tenant Group (ID)" +msgstr "" + +#: tenancy/filtersets.py:246 +msgid "Tenant Group (slug)" +msgstr "" + +#: tenancy/forms/bulk_edit.py:101 +msgid "Add groups" +msgstr "" + +#: tenancy/forms/bulk_edit.py:106 +msgid "Remove groups" +msgstr "" + +#: tenancy/forms/bulk_import.py:85 +msgid "" +"Group names separated by commas, encased with double quotes (e.g. \"Group 1," +"Group 2\")" +msgstr "" + +#: tenancy/forms/bulk_import.py:106 +msgid "Assigned contact" +msgstr "" + +#: tenancy/models/contacts.py:31 +msgid "contact group" +msgstr "" + +#: tenancy/models/contacts.py:32 +msgid "contact groups" +msgstr "" + +#: tenancy/models/contacts.py:41 +msgid "contact role" +msgstr "" + +#: tenancy/models/contacts.py:42 +msgid "contact roles" +msgstr "" + +#: tenancy/models/contacts.py:61 +msgid "title" +msgstr "" + +#: tenancy/models/contacts.py:66 +msgid "phone" +msgstr "" + +#: tenancy/models/contacts.py:71 +msgid "email" +msgstr "" + +#: tenancy/models/contacts.py:80 +msgid "link" +msgstr "" + +#: tenancy/models/contacts.py:90 +msgid "contact" +msgstr "" + +#: tenancy/models/contacts.py:91 +msgid "contacts" +msgstr "" + +#: tenancy/models/contacts.py:138 +msgid "contact assignment" +msgstr "" + +#: tenancy/models/contacts.py:139 +msgid "contact assignments" +msgstr "" + +#: tenancy/models/contacts.py:155 +#, python-brace-format +msgid "Contacts cannot be assigned to this object type ({type})." +msgstr "" + +#: tenancy/models/tenants.py:32 +msgid "tenant group" +msgstr "" + +#: tenancy/models/tenants.py:33 +msgid "tenant groups" +msgstr "" + +#: tenancy/models/tenants.py:68 +msgid "Tenant name must be unique per group." +msgstr "" + +#: tenancy/models/tenants.py:78 +msgid "Tenant slug must be unique per group." +msgstr "" + +#: tenancy/models/tenants.py:86 +msgid "tenant" +msgstr "" + +#: tenancy/models/tenants.py:87 +msgid "tenants" +msgstr "" + +#: tenancy/tables/contacts.py:120 +msgid "Contact Title" +msgstr "" + +#: tenancy/tables/contacts.py:124 +msgid "Contact Phone" +msgstr "" + +#: tenancy/tables/contacts.py:129 +msgid "Contact Email" +msgstr "" + +#: tenancy/tables/contacts.py:133 +msgid "Contact Address" +msgstr "" + +#: tenancy/tables/contacts.py:137 +msgid "Contact Link" +msgstr "" + +#: tenancy/tables/contacts.py:142 +msgid "Contact Description" +msgstr "" + +#: users/filtersets.py:33 users/filtersets.py:73 +msgid "Permission (ID)" +msgstr "" + +#: users/filtersets.py:38 users/filtersets.py:78 +msgid "Notification group (ID)" +msgstr "" + +#: users/forms/bulk_edit.py:26 +msgid "First name" +msgstr "" + +#: users/forms/bulk_edit.py:31 +msgid "Last name" +msgstr "" + +#: users/forms/bulk_edit.py:43 +msgid "Staff status" +msgstr "" + +#: users/forms/bulk_edit.py:48 +msgid "Superuser status" +msgstr "" + +#: users/forms/bulk_import.py:41 +msgid "If no key is provided, one will be generated automatically." +msgstr "" + +#: users/forms/filtersets.py:51 users/tables.py:42 +msgid "Is Staff" +msgstr "" + +#: users/forms/filtersets.py:58 users/tables.py:45 +msgid "Is Superuser" +msgstr "" + +#: users/forms/filtersets.py:91 users/tables.py:86 +msgid "Can View" +msgstr "" + +#: users/forms/filtersets.py:98 users/tables.py:90 +msgid "Can Add" +msgstr "" + +#: users/forms/filtersets.py:105 users/tables.py:94 +msgid "Can Change" +msgstr "" + +#: users/forms/filtersets.py:112 users/tables.py:98 +msgid "Can Delete" +msgstr "" + +#: users/forms/model_forms.py:73 +msgid "User Interface" +msgstr "" + +#: users/forms/model_forms.py:128 +msgid "" +"Keys must be at least 40 characters in length. Be sure to record " +"your key prior to submitting this form, as it may no longer be " +"accessible once the token has been created." +msgstr "" + +#: users/forms/model_forms.py:140 +msgid "" +"Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for " +"no restrictions. Example: 10.1.1.0/24,192.168.10.16/32,2001:" +"db8:1::/64" +msgstr "" + +#: users/forms/model_forms.py:189 +msgid "Confirm password" +msgstr "" + +#: users/forms/model_forms.py:192 +msgid "Enter the same password as before, for verification." +msgstr "" + +#: users/forms/model_forms.py:241 +msgid "Passwords do not match! Please check your input and try again." +msgstr "" + +#: users/forms/model_forms.py:316 +msgid "Select the types of objects to which the permission will appy." +msgstr "" + +#: users/forms/model_forms.py:331 +msgid "Additional actions" +msgstr "" + +#: users/forms/model_forms.py:334 +msgid "Actions granted in addition to those listed above" +msgstr "" + +#: users/forms/model_forms.py:350 +msgid "" +"JSON expression of a queryset filter that will return only permitted " +"objects. Leave null to match all objects of this type. A list of multiple " +"objects will result in a logical OR operation." +msgstr "" + +#: users/forms/model_forms.py:359 +msgid "Objects" +msgstr "" + +#: users/forms/model_forms.py:420 +msgid "At least one action must be selected." +msgstr "" + +#: users/forms/model_forms.py:438 +#, python-brace-format +msgid "Invalid filter for {model}: {error}" +msgstr "" + +#: users/models/permissions.py:38 +msgid "The list of actions granted by this permission" +msgstr "" + +#: users/models/permissions.py:43 +msgid "constraints" +msgstr "" + +#: users/models/permissions.py:44 +msgid "Queryset filter matching the applicable objects of the selected type(s)" +msgstr "" + +#: users/models/permissions.py:55 +msgid "permission" +msgstr "" + +#: users/models/permissions.py:56 users/models/users.py:47 +msgid "permissions" +msgstr "" + +#: users/models/preferences.py:29 users/models/preferences.py:30 +msgid "user preferences" +msgstr "" + +#: users/models/preferences.py:97 +#, python-brace-format +msgid "Key '{path}' is a leaf node; cannot assign new keys" +msgstr "" + +#: users/models/preferences.py:109 +#, python-brace-format +msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" +msgstr "" + +#: users/models/tokens.py:38 +msgid "expires" +msgstr "" + +#: users/models/tokens.py:43 +msgid "last used" +msgstr "" + +#: users/models/tokens.py:48 +msgid "key" +msgstr "" + +#: users/models/tokens.py:54 +msgid "write enabled" +msgstr "" + +#: users/models/tokens.py:56 +msgid "Permit create/update/delete operations using this key" +msgstr "" + +#: users/models/tokens.py:67 +msgid "allowed IPs" +msgstr "" + +#: users/models/tokens.py:69 +msgid "" +"Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for " +"no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" +msgstr "" + +#: users/models/tokens.py:77 +msgid "token" +msgstr "" + +#: users/models/tokens.py:78 +msgid "tokens" +msgstr "" + +#. Translators: {current_time} is the current server date and time in ISO format, +#. {timezone} is the configured server time zone (for example, "UTC" or "Europe/Berlin"). +#: users/models/tokens.py:103 +#, python-brace-format +msgid "" +"Expiration time must be in the future. Current server time is {current_time} " +"({timezone})." +msgstr "" + +#: users/models/users.py:57 vpn/models/crypto.py:43 +msgid "group" +msgstr "" + +#: users/models/users.py:92 +msgid "user" +msgstr "" + +#: users/models/users.py:104 +msgid "A user with this username already exists." +msgstr "" + +#: users/tables.py:102 +msgid "Custom Actions" +msgstr "" + +#: utilities/api.py:160 +#, python-brace-format +msgid "Related object not found using the provided attributes: {params}" +msgstr "" + +#: utilities/api.py:163 +#, python-brace-format +msgid "Multiple objects match the provided attributes: {params}" +msgstr "" + +#: utilities/api.py:175 +#, python-brace-format +msgid "" +"Related objects must be referenced by numeric ID or by dictionary of " +"attributes. Received an unrecognized value: {value}" +msgstr "" + +#: utilities/api.py:184 +#, python-brace-format +msgid "Related object not found using the provided numeric ID: {id}" +msgstr "" + +#: utilities/choices.py:23 +#, python-brace-format +msgid "{name} has a key defined but CHOICES is not a list" +msgstr "" + +#: utilities/conversion.py:20 +msgid "Weight must be a positive number" +msgstr "" + +#: utilities/conversion.py:22 +#, python-brace-format +msgid "Invalid value '{weight}' for weight (must be a number)" +msgstr "" + +#: utilities/conversion.py:33 utilities/conversion.py:64 +#, python-brace-format +msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" +msgstr "" + +#: utilities/conversion.py:47 +#, python-brace-format +msgid "Invalid value '{length}' for length (must be a number)" +msgstr "" + +#: utilities/conversion.py:49 +msgid "Length must be a positive number" +msgstr "" + +#: utilities/error_handlers.py:31 +#, python-brace-format +msgid "" +"Unable to delete {objects}. {count} dependent objects were " +"found: " +msgstr "" + +#: utilities/error_handlers.py:33 +msgid "More than 50" +msgstr "" + +#: utilities/export.py:18 +#, python-brace-format +msgid "Invalid delimiter name: {name}" +msgstr "" + +#: utilities/fields.py:34 +msgid "RGB color in hexadecimal. Example: " +msgstr "" + +#: utilities/fields.py:163 +#, python-format +msgid "" +"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " +"in the format 'app.model'" +msgstr "" + +#: utilities/fields.py:173 +#, python-format +msgid "" +"%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " +"in the format 'field'" +msgstr "" + +#: utilities/forms/bulk_import.py:25 +msgid "Enter object data in CSV, JSON or YAML format." +msgstr "" + +#: utilities/forms/bulk_import.py:39 +msgid "The character which delimits CSV fields. Applies only to CSV format." +msgstr "" + +#: utilities/forms/bulk_import.py:53 +msgid "Form data must be empty when uploading/selecting a file." +msgstr "" + +#: utilities/forms/bulk_import.py:82 +#, python-brace-format +msgid "Unknown data format: {format}" +msgstr "" + +#: utilities/forms/bulk_import.py:102 +msgid "Unable to detect data format. Please specify." +msgstr "" + +#: utilities/forms/bulk_import.py:125 +msgid "Invalid CSV delimiter" +msgstr "" + +#: utilities/forms/bulk_import.py:169 +msgid "" +"Invalid YAML data. Data must be in the form of multiple documents, or a " +"single document comprising a list of dictionaries." +msgstr "" + +#: utilities/forms/fields/array.py:20 +#, python-brace-format +msgid "" +"Invalid list ({value}). Must be numeric and ranges must be in ascending " +"order." +msgstr "" + +#: utilities/forms/fields/array.py:41 +#, python-brace-format +msgid "" +"Specify one or more individual numbers or numeric ranges separated by " +"commas. Example: {example}" +msgstr "" + +#: utilities/forms/fields/array.py:49 +#, python-brace-format +msgid "" +"Invalid ranges ({value}). Must be a range of integers in ascending order." +msgstr "" + +#: utilities/forms/fields/csv.py:59 +#, python-brace-format +msgid "Invalid value for a multiple choice field: {value}" +msgstr "" + +#: utilities/forms/fields/csv.py:77 utilities/forms/fields/csv.py:98 +#, python-format +msgid "Object not found: %(value)s" +msgstr "" + +#: utilities/forms/fields/csv.py:85 +#, python-brace-format +msgid "" +"\"{value}\" is not a unique value for this field; multiple objects were found" +msgstr "" + +#: utilities/forms/fields/csv.py:89 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "" + +#: utilities/forms/fields/csv.py:122 +msgid "Object type must be specified as \".\"" +msgstr "" + +#: utilities/forms/fields/csv.py:126 +msgid "Invalid object type" +msgstr "" + +#: utilities/forms/fields/expandable.py:25 +msgid "" +"Alphanumeric ranges are supported for bulk creation. Mixed cases and types " +"within a single range are not supported (example: [ge,xe]-0/0/[0-9])." +msgstr "" + +#: utilities/forms/fields/expandable.py:46 +msgid "" +"Specify a numeric range to create multiple IPs.
Example: 192.0.2." +"[1,5,100-254]/24" +msgstr "" + +#: utilities/forms/fields/fields.py:32 +#, python-brace-format +msgid "" +" Markdown syntax is supported" +msgstr "" + +#: utilities/forms/fields/fields.py:49 +msgid "URL-friendly unique shorthand" +msgstr "" + +#: utilities/forms/fields/fields.py:114 +msgid "Enter context data in JSON format." +msgstr "" + +#: utilities/forms/fields/fields.py:135 +msgid "MAC address must be in EUI-48 format" +msgstr "" + +#: utilities/forms/forms.py:77 +msgid "Use regular expressions" +msgstr "" + +#: utilities/forms/forms.py:120 +msgid "" +"Numeric ID of an existing object to update (if not creating a new object)" +msgstr "" + +#: utilities/forms/forms.py:137 +#, python-brace-format +msgid "Unrecognized header: {name}" +msgstr "" + +#: utilities/forms/mixins.py:17 +msgid "Background job" +msgstr "" + +#: utilities/forms/mixins.py:18 +msgid "Execute this task via a background job" +msgstr "" + +#: utilities/forms/mixins.py:65 +msgid "" +"This object has been modified since the form was rendered. Please consult " +"the object's change log for details." +msgstr "" + +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 +#, python-brace-format +msgid "Range \"{value}\" is invalid." +msgstr "" + +#: utilities/forms/utils.py:74 +#, python-brace-format +msgid "" +"Invalid range: Ending value ({end}) must be greater than beginning value " +"({begin})." +msgstr "" + +#: utilities/forms/utils.py:235 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{field}\"" +msgstr "" + +#: utilities/forms/utils.py:241 +#, python-brace-format +msgid "Duplicate or conflicting column header for \"{header}\"" +msgstr "" + +#: utilities/forms/utils.py:250 +#, python-brace-format +msgid "Row {row}: Expected {count_expected} columns but found {count_found}" +msgstr "" + +#: utilities/forms/utils.py:273 +#, python-brace-format +msgid "Unexpected column header \"{field}\" found." +msgstr "" + +#: utilities/forms/utils.py:275 +#, python-brace-format +msgid "Column \"{field}\" is not a related object; cannot use dots" +msgstr "" + +#: utilities/forms/utils.py:279 +#, python-brace-format +msgid "Invalid related object attribute for column \"{field}\": {to_field}" +msgstr "" + +#: utilities/forms/utils.py:287 +#, python-brace-format +msgid "Required column header \"{header}\" not found." +msgstr "" + +#: utilities/forms/widgets/apiselect.py:133 +#, python-brace-format +msgid "Missing required value for dynamic query param: '{dynamic_params}'" +msgstr "" + +#: utilities/forms/widgets/apiselect.py:150 +#, python-brace-format +msgid "Missing required value for static query param: '{static_params}'" +msgstr "" + +#: utilities/jobs.py:42 +#, python-brace-format +msgid "Created background job {id}: {name}" +msgstr "" + +#: utilities/jsonschema.py:162 +msgid "Invalid JSON schema definition" +msgstr "" + +#: utilities/jsonschema.py:164 +msgid "JSON schema must define properties" +msgstr "" + +#: utilities/jsonschema.py:169 +#, python-brace-format +msgid "Invalid JSON schema definition: {error}" +msgstr "" + +#: utilities/password_validation.py:13 +msgid "Password must have at least one numeral." +msgstr "" + +#: utilities/password_validation.py:18 +msgid "Password must have at least one uppercase letter." +msgstr "" + +#: utilities/password_validation.py:23 +msgid "Password must have at least one lowercase letter." +msgstr "" + +#: utilities/password_validation.py:27 +msgid "" +"Your password must contain at least one numeral, one uppercase letter and " +"one lowercase letter." +msgstr "" + +#: utilities/permissions.py:42 +#, python-brace-format +msgid "" +"Invalid permission name: {name}. Must be in the format ." +"_" +msgstr "" + +#: utilities/permissions.py:60 +#, python-brace-format +msgid "Unknown app_label/model_name for {name}" +msgstr "" + +#: utilities/request.py:91 +#, python-brace-format +msgid "Invalid IP address set for {header}: {ip}" +msgstr "" + +#: utilities/tables.py:75 +#, python-brace-format +msgid "A column named {name} is already defined for table {table_name}" +msgstr "" + +#: utilities/templates/builtins/customfield_value.html:30 +msgid "Not defined" +msgstr "" + +#: utilities/templates/buttons/bookmark.html:9 +msgid "Unbookmark" +msgstr "" + +#: utilities/templates/buttons/bookmark.html:13 +msgid "Bookmark" +msgstr "" + +#: utilities/templates/buttons/export.html:7 +msgid "Current View" +msgstr "" + +#: utilities/templates/buttons/export.html:8 +msgid "All Data" +msgstr "" + +#: utilities/templates/buttons/export.html:28 +msgid "Add export template" +msgstr "" + +#: utilities/templates/buttons/subscribe.html:10 +msgid "Unsubscribe" +msgstr "" + +#: utilities/templates/buttons/subscribe.html:14 +msgid "Subscribe" +msgstr "" + +#: utilities/templates/form_helpers/render_field.html:41 +msgid "Copy to clipboard" +msgstr "" + +#: utilities/templates/form_helpers/render_field.html:66 +msgid "Set Null" +msgstr "" + +#: utilities/templates/helpers/applied_filters.html:11 +msgid "Clear all" +msgstr "" + +#: utilities/templates/navigation/menu.html:14 +msgid "Search…" +msgstr "" + +#: utilities/templates/navigation/menu.html:14 +msgid "Search NetBox" +msgstr "" + +#: utilities/templates/widgets/apiselect.html:8 +msgid "Open selector" +msgstr "" + +#: utilities/templates/widgets/apiselect.html:22 +msgid "Quick add" +msgstr "" + +#: utilities/templates/widgets/markdown_input.html:6 +msgid "Write" +msgstr "" + +#: utilities/templates/widgets/splitmultiselect.html:19 +msgid "Selected" +msgstr "" + +#: utilities/testing/views.py:724 +msgid "The test must define csv_update_data." +msgstr "" + +#: utilities/validators.py:71 +#, python-brace-format +msgid "{value} must be a multiple of {multiple}." +msgstr "" + +#: utilities/validators.py:83 +#, python-brace-format +msgid "{value} is not a valid regular expression." +msgstr "" + +#: utilities/views.py:76 +#, python-brace-format +msgid "{self.__class__.__name__} must implement get_required_permission()" +msgstr "" + +#: utilities/views.py:112 +#, python-brace-format +msgid "{class_name} must implement get_required_permission()" +msgstr "" + +#: utilities/views.py:136 +#, python-brace-format +msgid "" +"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only " +"be used on views which define a base queryset" +msgstr "" + +#: virtualization/choices.py:50 +msgid "Paused" +msgstr "" + +#: virtualization/filtersets.py:45 +msgid "Parent group (ID)" +msgstr "" + +#: virtualization/filtersets.py:51 +msgid "Parent group (slug)" +msgstr "" + +#: virtualization/filtersets.py:55 virtualization/filtersets.py:107 +msgid "Cluster type (ID)" +msgstr "" + +#: virtualization/filtersets.py:117 virtualization/filtersets.py:242 +msgid "Cluster (ID)" +msgstr "" + +#: virtualization/forms/bulk_edit.py:148 +#: virtualization/models/virtualmachines.py:109 +msgid "vCPUs" +msgstr "" + +#: virtualization/forms/bulk_edit.py:152 +msgid "Memory (MB)" +msgstr "" + +#: virtualization/forms/bulk_edit.py:156 +msgid "Disk (MB)" +msgstr "" + +#: virtualization/forms/bulk_edit.py:324 virtualization/forms/filtersets.py:269 +msgid "Size (MB)" +msgstr "" + +#: virtualization/forms/bulk_import.py:50 +msgid "Type of cluster" +msgstr "" + +#: virtualization/forms/bulk_import.py:57 +msgid "Assigned cluster group" +msgstr "" + +#: virtualization/forms/bulk_import.py:107 +msgid "Assigned cluster" +msgstr "" + +#: virtualization/forms/bulk_import.py:114 +msgid "Assigned device within cluster" +msgstr "" + +#: virtualization/forms/filtersets.py:189 +msgid "Serial number" +msgstr "" + +#: virtualization/forms/model_forms.py:158 +#, python-brace-format +msgid "" +"{device} belongs to a different {scope_field} ({device_scope}) than the " +"cluster ({cluster_scope})" +msgstr "" + +#: virtualization/forms/model_forms.py:199 +msgid "Optionally pin this VM to a specific host device within the cluster" +msgstr "" + +#: virtualization/forms/model_forms.py:228 +msgid "Site/Cluster" +msgstr "" + +#: virtualization/forms/model_forms.py:251 +msgid "Disk size is managed via the attachment of virtual disks." +msgstr "" + +#: virtualization/forms/model_forms.py:403 +#: virtualization/tables/virtualmachines.py:81 +msgid "Disk" +msgstr "" + +#: virtualization/models/clusters.py:26 +msgid "cluster type" +msgstr "" + +#: virtualization/models/clusters.py:27 +msgid "cluster types" +msgstr "" + +#: virtualization/models/clusters.py:43 +msgid "cluster group" +msgstr "" + +#: virtualization/models/clusters.py:44 +msgid "cluster groups" +msgstr "" + +#: virtualization/models/clusters.py:110 +msgid "cluster" +msgstr "" + +#: virtualization/models/clusters.py:111 +msgid "clusters" +msgstr "" + +#: virtualization/models/clusters.py:137 +#, python-brace-format +msgid "" +"{count} devices are assigned as hosts for this cluster but are not in site " +"{site}" +msgstr "" + +#: virtualization/models/clusters.py:144 +#, python-brace-format +msgid "" +"{count} devices are assigned as hosts for this cluster but are not in " +"location {location}" +msgstr "" + +#: virtualization/models/virtualmachines.py:117 +msgid "memory (MB)" +msgstr "" + +#: virtualization/models/virtualmachines.py:122 +msgid "disk (MB)" +msgstr "" + +#: virtualization/models/virtualmachines.py:166 +msgid "Virtual machine name must be unique per cluster." +msgstr "" + +#: virtualization/models/virtualmachines.py:169 +msgid "virtual machine" +msgstr "" + +#: virtualization/models/virtualmachines.py:170 +msgid "virtual machines" +msgstr "" + +#: virtualization/models/virtualmachines.py:181 +msgid "A virtual machine must be assigned to a site and/or cluster." +msgstr "" + +#: virtualization/models/virtualmachines.py:188 +#, python-brace-format +msgid "The selected cluster ({cluster}) is not assigned to this site ({site})." +msgstr "" + +#: virtualization/models/virtualmachines.py:195 +msgid "Must specify a cluster when assigning a host device." +msgstr "" + +#: virtualization/models/virtualmachines.py:200 +#, python-brace-format +msgid "" +"The selected device ({device}) is not assigned to this cluster ({cluster})." +msgstr "" + +#: virtualization/models/virtualmachines.py:212 +#, python-brace-format +msgid "" +"The specified disk size ({size}) must match the aggregate size of assigned " +"virtual disks ({total_size})." +msgstr "" + +#: virtualization/models/virtualmachines.py:226 +#, python-brace-format +msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)" +msgstr "" + +#: virtualization/models/virtualmachines.py:235 +#, python-brace-format +msgid "The specified IP address ({ip}) is not assigned to this VM." +msgstr "" + +#: virtualization/models/virtualmachines.py:381 +#, python-brace-format +msgid "" +"The selected parent interface ({parent}) belongs to a different virtual " +"machine ({virtual_machine})." +msgstr "" + +#: virtualization/models/virtualmachines.py:396 +#, python-brace-format +msgid "" +"The selected bridge interface ({bridge}) belongs to a different virtual " +"machine ({virtual_machine})." +msgstr "" + +#: virtualization/models/virtualmachines.py:407 +#, python-brace-format +msgid "" +"The untagged VLAN ({untagged_vlan}) must belong to the same site as the " +"interface's parent virtual machine, or it must be global." +msgstr "" + +#: virtualization/models/virtualmachines.py:419 +msgid "size (MB)" +msgstr "" + +#: virtualization/models/virtualmachines.py:423 +msgid "virtual disk" +msgstr "" + +#: virtualization/models/virtualmachines.py:424 +msgid "virtual disks" +msgstr "" + +#: virtualization/views.py:322 +#, python-brace-format +msgid "Added {count} devices to cluster {cluster}" +msgstr "" + +#: vpn/choices.py:35 +msgid "IPsec - Transport" +msgstr "" + +#: vpn/choices.py:36 +msgid "IPsec - Tunnel" +msgstr "" + +#: vpn/choices.py:37 +msgid "IP-in-IP" +msgstr "" + +#: vpn/choices.py:38 +msgid "GRE" +msgstr "" + +#: vpn/choices.py:39 +msgid "WireGuard" +msgstr "" + +#: vpn/choices.py:40 +msgid "OpenVPN" +msgstr "" + +#: vpn/choices.py:41 +msgid "L2TP" +msgstr "" + +#: vpn/choices.py:42 +msgid "PPTP" +msgstr "" + +#: vpn/choices.py:88 +msgid "Aggressive" +msgstr "" + +#: vpn/choices.py:89 +msgid "Main" +msgstr "" + +#: vpn/choices.py:100 +msgid "Pre-shared keys" +msgstr "" + +#: vpn/choices.py:101 +msgid "Certificates" +msgstr "" + +#: vpn/choices.py:102 +msgid "RSA signatures" +msgstr "" + +#: vpn/choices.py:103 +msgid "DSA signatures" +msgstr "" + +#: vpn/choices.py:186 vpn/choices.py:187 vpn/choices.py:188 vpn/choices.py:189 +#: vpn/choices.py:190 vpn/choices.py:191 vpn/choices.py:192 vpn/choices.py:193 +#: vpn/choices.py:194 vpn/choices.py:195 vpn/choices.py:196 vpn/choices.py:197 +#: vpn/choices.py:198 vpn/choices.py:199 vpn/choices.py:200 vpn/choices.py:201 +#: vpn/choices.py:202 vpn/choices.py:203 vpn/choices.py:204 vpn/choices.py:205 +#: vpn/choices.py:206 vpn/choices.py:207 vpn/choices.py:208 vpn/choices.py:209 +#, python-brace-format +msgid "Group {n}" +msgstr "" + +#: vpn/choices.py:252 +msgid "Ethernet Private LAN" +msgstr "" + +#: vpn/choices.py:253 +msgid "Ethernet Virtual Private LAN" +msgstr "" + +#: vpn/choices.py:256 +msgid "Ethernet Private Tree" +msgstr "" + +#: vpn/choices.py:257 +msgid "Ethernet Virtual Private Tree" +msgstr "" + +#: vpn/choices.py:260 +msgid "SPB" +msgstr "" + +#: vpn/filtersets.py:42 +msgid "Tunnel group (ID)" +msgstr "" + +#: vpn/filtersets.py:48 +msgid "Tunnel group (slug)" +msgstr "" + +#: vpn/filtersets.py:55 +msgid "IPSec profile (ID)" +msgstr "" + +#: vpn/filtersets.py:61 +msgid "IPSec profile (name)" +msgstr "" + +#: vpn/filtersets.py:82 +msgid "Tunnel (ID)" +msgstr "" + +#: vpn/filtersets.py:88 +msgid "Tunnel (name)" +msgstr "" + +#: vpn/filtersets.py:119 +msgid "Outside IP (ID)" +msgstr "" + +#: vpn/filtersets.py:131 vpn/filtersets.py:264 +msgid "IKE policy (ID)" +msgstr "" + +#: vpn/filtersets.py:137 vpn/filtersets.py:270 +msgid "IKE policy (name)" +msgstr "" + +#: vpn/filtersets.py:201 vpn/filtersets.py:274 +msgid "IPSec policy (ID)" +msgstr "" + +#: vpn/filtersets.py:207 vpn/filtersets.py:280 +msgid "IPSec policy (name)" +msgstr "" + +#: vpn/filtersets.py:352 +msgid "L2VPN (slug)" +msgstr "" + +#: vpn/filtersets.py:416 +msgid "VM Interface (ID)" +msgstr "" + +#: vpn/filtersets.py:422 +msgid "VLAN (name)" +msgstr "" + +#: vpn/forms/bulk_edit.py:45 vpn/forms/bulk_import.py:42 +#: vpn/forms/filtersets.py:59 +msgid "Tunnel group" +msgstr "" + +#: vpn/forms/bulk_edit.py:117 vpn/models/crypto.py:48 +msgid "SA lifetime" +msgstr "" + +#: vpn/forms/bulk_edit.py:151 wireless/forms/bulk_edit.py:82 +#: wireless/forms/bulk_edit.py:130 wireless/forms/filtersets.py:67 +#: wireless/forms/filtersets.py:126 +msgid "Pre-shared key" +msgstr "" + +#: vpn/forms/bulk_edit.py:237 vpn/forms/bulk_import.py:239 +#: vpn/forms/filtersets.py:204 vpn/forms/model_forms.py:373 +#: vpn/models/crypto.py:104 +msgid "IKE policy" +msgstr "" + +#: vpn/forms/bulk_edit.py:242 vpn/forms/bulk_import.py:244 +#: vpn/forms/filtersets.py:209 vpn/forms/model_forms.py:377 +#: vpn/models/crypto.py:207 +msgid "IPSec policy" +msgstr "" + +#: vpn/forms/bulk_import.py:50 +msgid "Tunnel encapsulation" +msgstr "" + +#: vpn/forms/bulk_import.py:90 +msgid "Parent device of assigned interface" +msgstr "" + +#: vpn/forms/bulk_import.py:97 +msgid "Parent VM of assigned interface" +msgstr "" + +#: vpn/forms/bulk_import.py:104 +msgid "Device or virtual machine interface" +msgstr "" + +#: vpn/forms/bulk_import.py:183 +msgid "IKE proposal(s)" +msgstr "" + +#: vpn/forms/bulk_import.py:215 vpn/models/crypto.py:195 +msgid "Diffie-Hellman group for Perfect Forward Secrecy" +msgstr "" + +#: vpn/forms/bulk_import.py:222 +msgid "IPSec proposal(s)" +msgstr "" + +#: vpn/forms/bulk_import.py:236 +msgid "IPSec protocol" +msgstr "" + +#: vpn/forms/bulk_import.py:271 +msgid "L2VPN type" +msgstr "" + +#: vpn/forms/bulk_import.py:292 +msgid "Parent device (for interface)" +msgstr "" + +#: vpn/forms/bulk_import.py:299 +msgid "Parent virtual machine (for interface)" +msgstr "" + +#: vpn/forms/bulk_import.py:306 +msgid "Assigned interface (device or VM)" +msgstr "" + +#: vpn/forms/bulk_import.py:339 +msgid "Cannot import device and VM interface terminations simultaneously." +msgstr "" + +#: vpn/forms/bulk_import.py:341 +msgid "Each termination must specify either an interface or a VLAN." +msgstr "" + +#: vpn/forms/bulk_import.py:343 +msgid "Cannot assign both an interface and a VLAN." +msgstr "" + +#: vpn/forms/filtersets.py:135 +msgid "IKE version" +msgstr "" + +#: vpn/forms/filtersets.py:147 vpn/forms/filtersets.py:180 +#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:336 +msgid "Proposal" +msgstr "" + +#: vpn/forms/filtersets.py:262 +msgid "Assigned Object Type" +msgstr "" + +#: vpn/forms/model_forms.py:96 vpn/forms/model_forms.py:131 +#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:93 +msgid "Tunnel interface" +msgstr "" + +#: vpn/forms/model_forms.py:151 +msgid "First Termination" +msgstr "" + +#: vpn/forms/model_forms.py:154 +msgid "Second Termination" +msgstr "" + +#: vpn/forms/model_forms.py:198 +msgid "This parameter is required when defining a termination." +msgstr "" + +#: vpn/forms/model_forms.py:490 +msgid "A termination must specify an interface or VLAN." +msgstr "" + +#: vpn/forms/model_forms.py:492 +msgid "" +"A termination can only have one terminating object (an interface or VLAN)." +msgstr "" + +#: vpn/models/crypto.py:33 +msgid "encryption algorithm" +msgstr "" + +#: vpn/models/crypto.py:37 +msgid "authentication algorithm" +msgstr "" + +#: vpn/models/crypto.py:45 +msgid "Diffie-Hellman group ID" +msgstr "" + +#: vpn/models/crypto.py:51 +msgid "Security association lifetime (in seconds)" +msgstr "" + +#: vpn/models/crypto.py:60 +msgid "IKE proposal" +msgstr "" + +#: vpn/models/crypto.py:61 +msgid "IKE proposals" +msgstr "" + +#: vpn/models/crypto.py:75 +msgid "version" +msgstr "" + +#: vpn/models/crypto.py:88 vpn/models/crypto.py:188 +msgid "proposals" +msgstr "" + +#: vpn/models/crypto.py:91 wireless/models.py:41 +msgid "pre-shared key" +msgstr "" + +#: vpn/models/crypto.py:105 +msgid "IKE policies" +msgstr "" + +#: vpn/models/crypto.py:115 +msgid "Mode is required for selected IKE version" +msgstr "" + +#: vpn/models/crypto.py:119 +msgid "Mode cannot be used for selected IKE version" +msgstr "" + +#: vpn/models/crypto.py:134 +msgid "encryption" +msgstr "" + +#: vpn/models/crypto.py:140 +msgid "authentication" +msgstr "" + +#: vpn/models/crypto.py:149 +msgid "Security association lifetime (seconds)" +msgstr "" + +#: vpn/models/crypto.py:155 +msgid "Security association lifetime (in kilobytes)" +msgstr "" + +#: vpn/models/crypto.py:164 +msgid "IPSec proposal" +msgstr "" + +#: vpn/models/crypto.py:165 +msgid "IPSec proposals" +msgstr "" + +#: vpn/models/crypto.py:175 +msgid "Encryption and/or authentication algorithm must be defined" +msgstr "" + +#: vpn/models/crypto.py:208 +msgid "IPSec policies" +msgstr "" + +#: vpn/models/crypto.py:247 +msgid "IPSec profiles" +msgstr "" + +#: vpn/models/l2vpn.py:117 +msgid "L2VPN termination" +msgstr "" + +#: vpn/models/l2vpn.py:118 +msgid "L2VPN terminations" +msgstr "" + +#: vpn/models/l2vpn.py:133 +#, python-brace-format +msgid "L2VPN Termination already assigned ({assigned_object})" +msgstr "" + +#: vpn/models/l2vpn.py:145 +#, python-brace-format +msgid "" +"{l2vpn_type} L2VPNs cannot have more than two terminations; found " +"{terminations_count} already defined." +msgstr "" + +#: vpn/models/tunnels.py:26 +msgid "tunnel group" +msgstr "" + +#: vpn/models/tunnels.py:27 +msgid "tunnel groups" +msgstr "" + +#: vpn/models/tunnels.py:51 +msgid "encapsulation" +msgstr "" + +#: vpn/models/tunnels.py:70 +msgid "tunnel ID" +msgstr "" + +#: vpn/models/tunnels.py:92 +msgid "tunnel" +msgstr "" + +#: vpn/models/tunnels.py:93 +msgid "tunnels" +msgstr "" + +#: vpn/models/tunnels.py:145 +msgid "An object may be terminated to only one tunnel at a time." +msgstr "" + +#: vpn/models/tunnels.py:148 +msgid "tunnel termination" +msgstr "" + +#: vpn/models/tunnels.py:149 +msgid "tunnel terminations" +msgstr "" + +#: vpn/models/tunnels.py:166 +#, python-brace-format +msgid "{name} is already attached to a tunnel ({tunnel})." +msgstr "" + +#: vpn/tables/crypto.py:22 +msgid "Authentication Method" +msgstr "" + +#: vpn/tables/crypto.py:25 vpn/tables/crypto.py:97 +msgid "Encryption Algorithm" +msgstr "" + +#: vpn/tables/crypto.py:28 vpn/tables/crypto.py:100 +msgid "Authentication Algorithm" +msgstr "" + +#: vpn/tables/crypto.py:34 +msgid "SA Lifetime" +msgstr "" + +#: vpn/tables/crypto.py:71 +msgid "Pre-shared Key" +msgstr "" + +#: vpn/tables/crypto.py:103 +msgid "SA Lifetime (Seconds)" +msgstr "" + +#: vpn/tables/crypto.py:106 +msgid "SA Lifetime (KB)" +msgstr "" + +#: vpn/tables/l2vpn.py:72 +msgid "Object Parent" +msgstr "" + +#: vpn/tables/l2vpn.py:77 +msgid "Object Site" +msgstr "" + +#: wireless/choices.py:11 +msgid "Access point" +msgstr "" + +#: wireless/choices.py:12 +msgid "Station" +msgstr "" + +#: wireless/choices.py:467 +msgid "Open" +msgstr "" + +#: wireless/choices.py:469 +msgid "WPA Personal (PSK)" +msgstr "" + +#: wireless/choices.py:470 +msgid "WPA Enterprise" +msgstr "" + +#: wireless/forms/bulk_edit.py:76 wireless/forms/bulk_edit.py:124 +#: wireless/forms/bulk_import.py:70 wireless/forms/bulk_import.py:73 +#: wireless/forms/bulk_import.py:150 wireless/forms/bulk_import.py:153 +#: wireless/forms/filtersets.py:62 wireless/forms/filtersets.py:121 +msgid "Authentication cipher" +msgstr "" + +#: wireless/forms/bulk_import.py:54 +msgid "Bridged VLAN" +msgstr "" + +#: wireless/forms/bulk_import.py:100 +msgid "Parent device of assigned interface A" +msgstr "" + +#: wireless/forms/bulk_import.py:103 wireless/tables/wirelesslink.py:27 +msgid "Interface A" +msgstr "" + +#: wireless/forms/bulk_import.py:106 +msgid "Assigned interface A" +msgstr "" + +#: wireless/forms/bulk_import.py:121 +msgid "Parent device of assigned interface B" +msgstr "" + +#: wireless/forms/bulk_import.py:124 wireless/tables/wirelesslink.py:36 +msgid "Interface B" +msgstr "" + +#: wireless/forms/bulk_import.py:127 +msgid "Assigned interface B" +msgstr "" + +#: wireless/forms/model_forms.py:166 +msgid "Side B" +msgstr "" + +#: wireless/models.py:32 +msgid "authentication cipher" +msgstr "" + +#: wireless/models.py:72 +msgid "wireless LAN group" +msgstr "" + +#: wireless/models.py:73 +msgid "wireless LAN groups" +msgstr "" + +#: wireless/models.py:116 +msgid "wireless LAN" +msgstr "" + +#: wireless/models.py:134 +msgid "interface A" +msgstr "" + +#: wireless/models.py:140 +msgid "interface B" +msgstr "" + +#: wireless/models.py:188 +msgid "wireless link" +msgstr "" + +#: wireless/models.py:189 +msgid "wireless links" +msgstr "" + +#: wireless/models.py:204 wireless/models.py:210 +#, python-brace-format +msgid "{type} is not a wireless interface." +msgstr "" + +#: wireless/utils.py:16 +#, python-brace-format +msgid "Invalid channel value: {channel}" +msgstr "" + +#: wireless/utils.py:26 +#, python-brace-format +msgid "Invalid channel attribute: {name}" +msgstr "" From 5a24f99c9de22932ed74ee349bc7c1a24cc120a9 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 Dec 2025 05:03:18 +0000 Subject: [PATCH 17/45] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 76 ++++++++++---------- 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index fa515bbbd..e59741bbe 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-13 05:01+0000\n" +"POT-Creation-Date: 2025-12-18 05:03+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -9267,113 +9267,113 @@ msgstr "" msgid "Filter must be defined as a dictionary mapping attributes to values." msgstr "" -#: netbox/extras/models/customfields.py:488 +#: netbox/extras/models/customfields.py:496 msgid "True" msgstr "" -#: netbox/extras/models/customfields.py:489 +#: netbox/extras/models/customfields.py:497 msgid "False" msgstr "" -#: netbox/extras/models/customfields.py:542 -#: netbox/extras/models/customfields.py:590 +#: netbox/extras/models/customfields.py:550 +#: netbox/extras/models/customfields.py:598 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" -#: netbox/extras/models/customfields.py:692 -#: netbox/extras/models/customfields.py:699 +#: netbox/extras/models/customfields.py:700 +#: netbox/extras/models/customfields.py:707 msgid "Value must be a string." msgstr "" -#: netbox/extras/models/customfields.py:694 -#: netbox/extras/models/customfields.py:701 +#: netbox/extras/models/customfields.py:702 +#: netbox/extras/models/customfields.py:709 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "" -#: netbox/extras/models/customfields.py:706 +#: netbox/extras/models/customfields.py:714 msgid "Value must be an integer." msgstr "" -#: netbox/extras/models/customfields.py:709 -#: netbox/extras/models/customfields.py:724 +#: netbox/extras/models/customfields.py:717 +#: netbox/extras/models/customfields.py:732 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "" -#: netbox/extras/models/customfields.py:713 -#: netbox/extras/models/customfields.py:728 +#: netbox/extras/models/customfields.py:721 +#: netbox/extras/models/customfields.py:736 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "" -#: netbox/extras/models/customfields.py:721 +#: netbox/extras/models/customfields.py:729 msgid "Value must be a decimal." msgstr "" -#: netbox/extras/models/customfields.py:733 +#: netbox/extras/models/customfields.py:741 msgid "Value must be true or false." msgstr "" -#: netbox/extras/models/customfields.py:741 +#: netbox/extras/models/customfields.py:749 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "" -#: netbox/extras/models/customfields.py:750 +#: netbox/extras/models/customfields.py:758 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" -#: netbox/extras/models/customfields.py:757 +#: netbox/extras/models/customfields.py:765 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "" -#: netbox/extras/models/customfields.py:767 +#: netbox/extras/models/customfields.py:775 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "" -#: netbox/extras/models/customfields.py:776 +#: netbox/extras/models/customfields.py:784 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "" -#: netbox/extras/models/customfields.py:782 +#: netbox/extras/models/customfields.py:790 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "" -#: netbox/extras/models/customfields.py:786 +#: netbox/extras/models/customfields.py:794 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "" -#: netbox/extras/models/customfields.py:789 +#: netbox/extras/models/customfields.py:797 msgid "Required field cannot be empty." msgstr "" -#: netbox/extras/models/customfields.py:809 +#: netbox/extras/models/customfields.py:817 msgid "Base set of predefined choices (optional)" msgstr "" -#: netbox/extras/models/customfields.py:821 +#: netbox/extras/models/customfields.py:829 msgid "Choices are automatically ordered alphabetically" msgstr "" -#: netbox/extras/models/customfields.py:828 +#: netbox/extras/models/customfields.py:836 msgid "custom field choice set" msgstr "" -#: netbox/extras/models/customfields.py:829 +#: netbox/extras/models/customfields.py:837 msgid "custom field choice sets" msgstr "" -#: netbox/extras/models/customfields.py:871 +#: netbox/extras/models/customfields.py:879 msgid "Must define base or extra choices." msgstr "" -#: netbox/extras/models/customfields.py:895 +#: netbox/extras/models/customfields.py:903 #, python-brace-format msgid "" "Cannot remove choice {choice} as there are {model} objects which reference " @@ -12523,30 +12523,34 @@ msgid "Japanese" msgstr "" #: netbox/netbox/settings.py:830 -msgid "Dutch" +msgid "Latvian" msgstr "" #: netbox/netbox/settings.py:831 -msgid "Polish" +msgid "Dutch" msgstr "" #: netbox/netbox/settings.py:832 -msgid "Portuguese" +msgid "Polish" msgstr "" #: netbox/netbox/settings.py:833 -msgid "Russian" +msgid "Portuguese" msgstr "" #: netbox/netbox/settings.py:834 -msgid "Turkish" +msgid "Russian" msgstr "" #: netbox/netbox/settings.py:835 -msgid "Ukrainian" +msgid "Turkish" msgstr "" #: netbox/netbox/settings.py:836 +msgid "Ukrainian" +msgstr "" + +#: netbox/netbox/settings.py:837 msgid "Chinese" msgstr "" From db8271c904eb6366455660b6cb000ba0daaff4a2 Mon Sep 17 00:00:00 2001 From: bctiemann Date: Fri, 19 Dec 2025 18:05:32 -0500 Subject: [PATCH 18/45] Fixes #20114: Preserve parent bay during device bulk import when tags are present (#21019) --- netbox/dcim/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 1b9b1c5d7..dc64d2503 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -2454,11 +2454,12 @@ class DeviceBulkImportView(generic.BulkImportView): model_form = forms.DeviceImportForm def save_object(self, object_form, request): + parent_bay = getattr(object_form.instance, 'parent_bay', None) obj = object_form.save() # For child devices, save the reverse relation to the parent device bay - if getattr(obj, 'parent_bay', None): - device_bay = obj.parent_bay + if parent_bay: + device_bay = parent_bay device_bay.installed_device = obj device_bay.save() From 83ee4fb593e7fc2793bea4c90d97ce256acf5417 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 20 Dec 2025 05:02:02 +0000 Subject: [PATCH 19/45] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index e59741bbe..f7610ff8d 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-18 05:03+0000\n" +"POT-Creation-Date: 2025-12-20 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -7987,31 +7987,31 @@ msgstr "" msgid "Virtual Machines" msgstr "" -#: netbox/dcim/views.py:3237 +#: netbox/dcim/views.py:3238 #, python-brace-format msgid "Installed device {device} in bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:3278 +#: netbox/dcim/views.py:3279 #, python-brace-format msgid "Removed device {device} from bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:3391 netbox/ipam/tables/ip.py:181 +#: netbox/dcim/views.py:3392 netbox/ipam/tables/ip.py:181 msgid "Children" msgstr "" -#: netbox/dcim/views.py:3864 +#: netbox/dcim/views.py:3865 #, python-brace-format msgid "Added member {device}" msgstr "" -#: netbox/dcim/views.py:3909 +#: netbox/dcim/views.py:3910 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" -#: netbox/dcim/views.py:3920 +#: netbox/dcim/views.py:3921 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "" From e5a975176d4e1341af3c5b3168305df798d91471 Mon Sep 17 00:00:00 2001 From: Prince Kumar Date: Mon, 22 Dec 2025 20:18:43 +0530 Subject: [PATCH 20/45] Fixed #20944: Ensure cached scope fields stay consistent when Region, Site, or Location changes (#20986) --- netbox/dcim/signals.py | 45 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/netbox/dcim/signals.py b/netbox/dcim/signals.py index 9079b6278..68711eb9a 100644 --- a/netbox/dcim/signals.py +++ b/netbox/dcim/signals.py @@ -1,13 +1,15 @@ import logging -from django.db.models.signals import post_save, post_delete +from django.db.models.signals import post_delete, post_save from django.dispatch import receiver from dcim.choices import CableEndChoices, LinkStatusChoices -from virtualization.models import VMInterface +from ipam.models import Prefix +from virtualization.models import Cluster, VMInterface +from wireless.models import WirelessLAN from .models import ( Cable, CablePath, CableTermination, ConsolePort, ConsoleServerPort, Device, DeviceBay, FrontPort, Interface, - InventoryItem, ModuleBay, PathEndpoint, PowerOutlet, PowerPanel, PowerPort, Rack, RearPort, Location, + InventoryItem, Location, ModuleBay, PathEndpoint, PowerOutlet, PowerPanel, PowerPort, Rack, RearPort, Site, VirtualChassis, ) from .models.cables import trace_paths @@ -180,3 +182,40 @@ def update_mac_address_interface(instance, created, raw, **kwargs): if created and not raw and instance.primary_mac_address: instance.primary_mac_address.assigned_object = instance instance.primary_mac_address.save() + + +@receiver(post_save, sender=Location) +@receiver(post_save, sender=Site) +def sync_cached_scope_fields(instance, created, **kwargs): + """ + Rebuild cached scope fields for all CachedScopeMixin-based models + affected by a change in a Region, SiteGroup, Site, or Location. + + This method is safe to run for objects created in the past and does + not rely on incremental updates. Cached fields are recomputed from + authoritative relationships. + """ + if created: + return + + if isinstance(instance, Location): + filters = {'_location': instance} + elif isinstance(instance, Site): + filters = {'_site': instance} + else: + return + + # These models are explicitly listed because they all subclass CachedScopeMixin + # and therefore require their cached scope fields to be recomputed. + for model in (Prefix, Cluster, WirelessLAN): + qs = model.objects.filter(**filters) + + for obj in qs.only('id'): + # Recompute cache using the same logic as save() + obj.cache_related_objects() + obj.save(update_fields=[ + '_location', + '_site', + '_site_group', + '_region', + ]) From f7219e0672c9ae207f7177c015e321f67f828d15 Mon Sep 17 00:00:00 2001 From: Martin Hauser Date: Mon, 22 Dec 2025 16:06:08 +0100 Subject: [PATCH 21/45] Closes #20309: Add ASDOT notation support for ASN ranges (#21004) * feat(ipam): Add ASDOT notation support for ASN ranges Introduces ASDOT notation for ASN Ranges to improve readability of large AS numbers. Adds `start_asdot` and `end_asdot` properties, columns, and display logic for ASN ranges in the UI. Fixes #20309 * Wrap "ASDOT" with parentheses in column header --------- Co-authored-by: Jeremy Stretch --- netbox/ipam/fields.py | 14 +++++++ netbox/ipam/models/asns.py | 59 ++++++++++++++++++++++------- netbox/ipam/tables/asn.py | 14 ++++++- netbox/templates/ipam/asnrange.html | 2 +- 4 files changed, 72 insertions(+), 17 deletions(-) diff --git a/netbox/ipam/fields.py b/netbox/ipam/fields.py index c5930d839..a1fbdf097 100644 --- a/netbox/ipam/fields.py +++ b/netbox/ipam/fields.py @@ -16,6 +16,7 @@ __all__ = ( # BGP ASN bounds BGP_ASN_MIN = 1 BGP_ASN_MAX = 2**32 - 1 +BGP_ASN_ASDOT_BASE = 2**16 class BaseIPField(models.Field): @@ -126,3 +127,16 @@ class ASNField(models.BigIntegerField): } defaults.update(**kwargs) return super().formfield(**defaults) + + @staticmethod + def to_asdot(value) -> str: + """ + Return ASDOT notation for AS numbers greater than 16 bits. + """ + if value is None: + return '' + + if value >= BGP_ASN_ASDOT_BASE: + hi, lo = divmod(value, BGP_ASN_ASDOT_BASE) + return f'{hi}.{lo}' + return str(value) diff --git a/netbox/ipam/models/asns.py b/netbox/ipam/models/asns.py index ee1a5416e..1b4459921 100644 --- a/netbox/ipam/models/asns.py +++ b/netbox/ipam/models/asns.py @@ -55,13 +55,6 @@ class ASNRange(OrganizationalModel): def __str__(self): return f'{self.name} ({self.range_as_string()})' - @property - def range(self): - return range(self.start, self.end + 1) - - def range_as_string(self): - return f'{self.start}-{self.end}' - def clean(self): super().clean() @@ -72,7 +65,45 @@ class ASNRange(OrganizationalModel): ) ) + @property + def range(self): + """ + Return a range of integers representing the ASN range. + """ + return range(self.start, self.end + 1) + + @property + def start_asdot(self): + """ + Return ASDOT notation for AS numbers greater than 16 bits. + """ + return ASNField.to_asdot(self.start) + + @property + def end_asdot(self): + """ + Return ASDOT notation for AS numbers greater than 16 bits. + """ + return ASNField.to_asdot(self.end) + + def range_as_string(self): + """ + Return a string representation of the ASN range. + """ + return f'{self.start}-{self.end}' + + def range_as_string_with_asdot(self): + """ + Return a string representation of the ASN range, including ASDOT notation. + """ + if self.end >= 65536: + return f'{self.range_as_string()} ({self.start_asdot}-{self.end_asdot})' + return self.range_as_string() + def get_child_asns(self): + """ + Return all child ASNs (ASNs within the range). + """ return ASN.objects.filter( asn__gte=self.start, asn__lte=self.end @@ -131,20 +162,20 @@ class ASN(ContactsMixin, PrimaryModel): """ Return ASDOT notation for AS numbers greater than 16 bits. """ - if self.asn > 65535: - return f'{self.asn // 65536}.{self.asn % 65536}' - return self.asn + return ASNField.to_asdot(self.asn) @property def asn_with_asdot(self): """ Return both plain and ASDOT notation, where applicable. """ - if self.asn > 65535: - return f'{self.asn} ({self.asn // 65536}.{self.asn % 65536})' - else: - return self.asn + if self.asn >= 65536: + return f'{self.asn} ({self.asn_asdot})' + return str(self.asn) @property def prefixed_name(self): + """ + Return the ASN with ASDOT notation prefixed with "AS". + """ return f'AS{self.asn_with_asdot}' diff --git a/netbox/ipam/tables/asn.py b/netbox/ipam/tables/asn.py index bfbbdd150..d2be90b2f 100644 --- a/netbox/ipam/tables/asn.py +++ b/netbox/ipam/tables/asn.py @@ -20,6 +20,16 @@ class ASNRangeTable(TenancyColumnsMixin, NetBoxTable): verbose_name=_('RIR'), linkify=True ) + start_asdot = tables.Column( + accessor=tables.A('start_asdot'), + order_by=tables.A('start'), + verbose_name=_('Start (ASDOT)') + ) + end_asdot = tables.Column( + accessor=tables.A('end_asdot'), + order_by=tables.A('end'), + verbose_name=_('End (ASDOT)') + ) tags = columns.TagColumn( url_name='ipam:asnrange_list' ) @@ -30,8 +40,8 @@ class ASNRangeTable(TenancyColumnsMixin, NetBoxTable): class Meta(NetBoxTable.Meta): model = ASNRange fields = ( - 'pk', 'name', 'slug', 'rir', 'start', 'end', 'asn_count', 'tenant', 'tenant_group', 'description', 'tags', - 'created', 'last_updated', 'actions', + 'pk', 'name', 'slug', 'rir', 'start', 'start_asdot', 'end', 'end_asdot', 'asn_count', 'tenant', + 'tenant_group', 'description', 'tags', 'created', 'last_updated', 'actions', ) default_columns = ('pk', 'name', 'rir', 'start', 'end', 'tenant', 'asn_count', 'description') diff --git a/netbox/templates/ipam/asnrange.html b/netbox/templates/ipam/asnrange.html index b5405cfda..0b3ae9c5e 100644 --- a/netbox/templates/ipam/asnrange.html +++ b/netbox/templates/ipam/asnrange.html @@ -23,7 +23,7 @@ {% trans "Range" %} - {{ object.range_as_string }} + {{ object.range_as_string_with_asdot }} {% trans "Tenant" %} From f67cc47def0f10cbca3131ae3cac3696268fbf67 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 22 Dec 2025 11:00:04 -0500 Subject: [PATCH 22/45] Fixes #21011: Avoid updating database when loading active ConfigRevision --- netbox/core/models/config.py | 12 ++++++++---- netbox/netbox/config/__init__.py | 11 +++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/netbox/core/models/config.py b/netbox/core/models/config.py index c99521536..5ad4cbe69 100644 --- a/netbox/core/models/config.py +++ b/netbox/core/models/config.py @@ -63,16 +63,20 @@ class ConfigRevision(models.Model): return reverse('core:config') # Default config view return reverse('core:configrevision', args=[self.pk]) - def activate(self): + def activate(self, update_db=True): """ Cache the configuration data. + + Parameters: + update_db: Mark the ConfigRevision as active in the database (default: True) """ cache.set('config', self.data, None) cache.set('config_version', self.pk, None) - # Set all instances of ConfigRevision to false and set this instance to true - ConfigRevision.objects.all().update(active=False) - ConfigRevision.objects.filter(pk=self.pk).update(active=True) + if update_db: + # Set all instances of ConfigRevision to false and set this instance to true + ConfigRevision.objects.all().update(active=False) + ConfigRevision.objects.filter(pk=self.pk).update(active=True) activate.alters_data = True diff --git a/netbox/netbox/config/__init__.py b/netbox/netbox/config/__init__.py index d38c8e6ff..5da42ca38 100644 --- a/netbox/netbox/config/__init__.py +++ b/netbox/netbox/config/__init__.py @@ -80,22 +80,21 @@ class Config: try: # Enforce the creation date as the ordering parameter revision = ConfigRevision.objects.get(active=True) - logger.debug(f"Loaded active configuration revision #{revision.pk}") + logger.debug(f"Loaded active configuration revision (#{revision.pk})") except (ConfigRevision.DoesNotExist, ConfigRevision.MultipleObjectsReturned): - logger.debug("No active configuration revision found - falling back to most recent") revision = ConfigRevision.objects.order_by('-created').first() if revision is None: - logger.debug("No previous configuration found in database; proceeding with default values") + logger.debug("No configuration found in database; proceeding with default values") return - logger.debug(f"Using fallback configuration revision #{revision.pk}") + logger.debug(f"No active configuration revision found; falling back to most recent (#{revision.pk})") except DatabaseError: # The database may not be available yet (e.g. when running a management command) logger.warning("Skipping config initialization (database unavailable)") return - revision.activate() - logger.debug("Filled cache with data from latest ConfigRevision") + revision.activate(update_db=False) self._populate_from_cache() + logger.debug("Filled cache with data from latest ConfigRevision") class ConfigItem: From 3acbb0a08c1589035d55f88a1060b1740f9402d6 Mon Sep 17 00:00:00 2001 From: Vincent Simonin Date: Mon, 22 Dec 2025 19:19:02 +0100 Subject: [PATCH 23/45] Fix on delete cascade entity order (#20949) * Fix on delete cascade entity order Since [#20708](https://github.com/netbox-community/netbox/pull/20708) relation with a on delete RESTRICT are not deleted in the proper order. Then the error `violate not-null constraint` occurs and breaks the delete cascade feature. * Revert unrelated and simplify changes --- netbox/core/signals.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netbox/core/signals.py b/netbox/core/signals.py index 2994aaa41..d918d2389 100644 --- a/netbox/core/signals.py +++ b/netbox/core/signals.py @@ -3,7 +3,7 @@ from threading import local from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist, ValidationError -from django.db.models import CASCADE +from django.db.models import CASCADE, RESTRICT from django.db.models.fields.reverse_related import ManyToManyRel, ManyToOneRel from django.db.models.signals import m2m_changed, post_migrate, post_save, pre_delete from django.dispatch import receiver, Signal @@ -221,7 +221,7 @@ def handle_deleted_object(sender, instance, **kwargs): obj.snapshot() # Ensure the change record includes the "before" state if type(relation) is ManyToManyRel: getattr(obj, related_field_name).remove(instance) - elif type(relation) is ManyToOneRel and relation.null and relation.on_delete is not CASCADE: + elif type(relation) is ManyToOneRel and relation.null and relation.on_delete not in (CASCADE, RESTRICT): setattr(obj, related_field_name, None) obj.save() From ee2aa35cbaeb6f519d9a2538e78e3c6384ee0bb7 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Dec 2025 05:04:20 +0000 Subject: [PATCH 24/45] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 78 ++++++++++++-------- 1 file changed, 46 insertions(+), 32 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index f7610ff8d..f45ddab98 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-12-20 05:01+0000\n" +"POT-Creation-Date: 2025-12-23 05:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -272,8 +272,8 @@ msgid "ASN (ID)" msgstr "" #: netbox/circuits/filtersets.py:79 netbox/circuits/forms/filtersets.py:39 -#: netbox/ipam/forms/model_forms.py:166 netbox/ipam/models/asns.py:106 -#: netbox/ipam/models/asns.py:123 netbox/ipam/tables/asn.py:41 +#: netbox/ipam/forms/model_forms.py:166 netbox/ipam/models/asns.py:137 +#: netbox/ipam/models/asns.py:154 netbox/ipam/tables/asn.py:51 #: netbox/templates/ipam/asn.html:20 msgid "ASN" msgstr "" @@ -453,8 +453,8 @@ msgstr "" #: netbox/circuits/forms/model_forms.py:43 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:143 #: netbox/dcim/forms/filtersets.py:204 netbox/dcim/forms/model_forms.py:133 -#: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:124 -#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:269 +#: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:155 +#: netbox/ipam/tables/asn.py:37 netbox/ipam/views.py:269 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182 #: netbox/templates/circuits/provider.html:23 msgid "ASNs" @@ -1882,7 +1882,7 @@ msgstr "" #: netbox/dcim/tables/sites.py:40 netbox/dcim/tables/sites.py:74 #: netbox/dcim/tables/sites.py:121 netbox/dcim/tables/sites.py:179 #: netbox/extras/forms/bulk_import.py:303 netbox/extras/tables/tables.py:706 -#: netbox/ipam/tables/asn.py:69 netbox/ipam/tables/fhrp.py:34 +#: netbox/ipam/tables/asn.py:79 netbox/ipam/tables/fhrp.py:34 #: netbox/ipam/tables/ip.py:83 netbox/ipam/tables/ip.py:227 #: netbox/ipam/tables/ip.py:286 netbox/ipam/tables/ip.py:355 #: netbox/ipam/tables/services.py:25 netbox/ipam/tables/services.py:55 @@ -7942,7 +7942,7 @@ msgstr "" #: netbox/dcim/tables/sites.py:34 netbox/dcim/tables/sites.py:68 #: netbox/extras/forms/filtersets.py:424 netbox/extras/forms/model_forms.py:630 #: netbox/ipam/forms/bulk_edit.py:134 netbox/ipam/forms/model_forms.py:160 -#: netbox/ipam/tables/asn.py:66 netbox/netbox/navigation/menu.py:15 +#: netbox/ipam/tables/asn.py:76 netbox/netbox/navigation/menu.py:15 #: netbox/netbox/navigation/menu.py:19 msgid "Sites" msgstr "" @@ -10130,7 +10130,7 @@ msgstr "" msgid "Customer" msgstr "" -#: netbox/ipam/fields.py:39 +#: netbox/ipam/fields.py:40 #, python-brace-format msgid "Invalid IP address format: {address}" msgstr "" @@ -10356,9 +10356,9 @@ msgstr "" #: netbox/ipam/forms/filtersets.py:151 netbox/ipam/forms/model_forms.py:100 #: netbox/ipam/forms/model_forms.py:113 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:155 netbox/ipam/models/asns.py:32 -#: netbox/ipam/models/asns.py:101 netbox/ipam/models/ip.py:72 +#: netbox/ipam/models/asns.py:132 netbox/ipam/models/ip.py:72 #: netbox/ipam/models/ip.py:88 netbox/ipam/tables/asn.py:20 -#: netbox/ipam/tables/asn.py:45 netbox/templates/ipam/aggregate.html:18 +#: netbox/ipam/tables/asn.py:55 netbox/templates/ipam/aggregate.html:18 #: netbox/templates/ipam/asn.html:27 netbox/templates/ipam/asnrange.html:19 #: netbox/templates/ipam/rir.html:19 msgid "RIR" @@ -10834,16 +10834,16 @@ msgstr "" msgid "ASN ranges" msgstr "" -#: netbox/ipam/models/asns.py:70 +#: netbox/ipam/models/asns.py:63 #, python-brace-format msgid "Starting ASN ({start}) must be lower than ending ASN ({end})." msgstr "" -#: netbox/ipam/models/asns.py:102 +#: netbox/ipam/models/asns.py:133 msgid "Regional Internet Registry responsible for this AS number space" msgstr "" -#: netbox/ipam/models/asns.py:107 +#: netbox/ipam/models/asns.py:138 msgid "16- or 32-bit autonomous system number" msgstr "" @@ -11261,15 +11261,23 @@ msgstr "" msgid "route targets" msgstr "" -#: netbox/ipam/tables/asn.py:52 -msgid "ASDOT" +#: netbox/ipam/tables/asn.py:26 +msgid "Start (ASDOT)" msgstr "" -#: netbox/ipam/tables/asn.py:57 -msgid "Site Count" +#: netbox/ipam/tables/asn.py:31 +msgid "End (ASDOT)" msgstr "" #: netbox/ipam/tables/asn.py:62 +msgid "ASDOT" +msgstr "" + +#: netbox/ipam/tables/asn.py:67 +msgid "Site Count" +msgstr "" + +#: netbox/ipam/tables/asn.py:72 msgid "Provider Count" msgstr "" @@ -12585,69 +12593,75 @@ msgstr "" msgid "Dummy Plugin" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:122 +#: netbox/netbox/views/generic/bulk_views.py:124 #, python-brace-format msgid "" "There was an error rendering the selected export template ({template}): " "{error}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:388 +#: netbox/netbox/views/generic/bulk_views.py:390 msgid "Must be a list." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:398 +#: netbox/netbox/views/generic/bulk_views.py:400 msgid "Must be a dictionary." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:461 +#: netbox/netbox/views/generic/bulk_views.py:453 +#, python-brace-format +msgid "" +"Duplicate objects found: {model} with ID(s) {ids} appears multiple times" +msgstr "" + +#: netbox/netbox/views/generic/bulk_views.py:475 #, python-brace-format msgid "Object with ID {id} does not exist" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:546 +#: netbox/netbox/views/generic/bulk_views.py:560 #, python-brace-format msgid "Bulk import {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:562 +#: netbox/netbox/views/generic/bulk_views.py:576 #, python-brace-format msgid "Imported {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:752 +#: netbox/netbox/views/generic/bulk_views.py:766 #, python-brace-format msgid "Bulk edit {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:768 +#: netbox/netbox/views/generic/bulk_views.py:782 #, python-brace-format msgid "Updated {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:801 -#: netbox/netbox/views/generic/bulk_views.py:1036 -#: netbox/netbox/views/generic/bulk_views.py:1084 +#: netbox/netbox/views/generic/bulk_views.py:815 +#: netbox/netbox/views/generic/bulk_views.py:1050 +#: netbox/netbox/views/generic/bulk_views.py:1098 #, python-brace-format msgid "No {object_type} were selected." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:894 +#: netbox/netbox/views/generic/bulk_views.py:908 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:964 +#: netbox/netbox/views/generic/bulk_views.py:978 #, python-brace-format msgid "Bulk delete {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:991 +#: netbox/netbox/views/generic/bulk_views.py:1005 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1008 +#: netbox/netbox/views/generic/bulk_views.py:1022 msgid "Deletion failed due to the presence of one or more dependent objects." msgstr "" From 93119f52c3d51fbf7dad0a7941dbe360fa412d7c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 23 Dec 2025 09:41:58 -0500 Subject: [PATCH 25/45] Fixes #21032: Avoid subquery in RestrictedQuerySet where unnecessary --- netbox/utilities/querysets.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/netbox/utilities/querysets.py b/netbox/utilities/querysets.py index 0a9389b1f..f3c838d27 100644 --- a/netbox/utilities/querysets.py +++ b/netbox/utilities/querysets.py @@ -50,21 +50,21 @@ class RestrictedQuerySet(QuerySet): # Bypass restriction for superusers and exempt views if user and user.is_superuser or permission_is_exempt(permission_required): - qs = self + return self # User is anonymous or has not been granted the requisite permission - elif user is None or not user.is_authenticated or permission_required not in user.get_all_permissions(): - qs = self.none() + if user is None or not user.is_authenticated or permission_required not in user.get_all_permissions(): + return self.none() # Filter the queryset to include only objects with allowed attributes - else: - tokens = { - CONSTRAINT_TOKEN_USER: user, - } - attrs = qs_filter_from_constraints(user._object_perm_cache[permission_required], tokens) + constraints = user._object_perm_cache[permission_required] + tokens = { + CONSTRAINT_TOKEN_USER: user, + } + if attrs := qs_filter_from_constraints(constraints, tokens): # #8715: Avoid duplicates when JOIN on many-to-many fields without using DISTINCT. # DISTINCT acts globally on the entire request, which may not be desirable. allowed_objects = self.model.objects.filter(attrs) - qs = self.filter(pk__in=allowed_objects) + return self.filter(pk__in=allowed_objects) - return qs + return self From 7c63d001b1e47d02a2bdb05b0a6a098d1838864a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 23 Dec 2025 11:18:35 -0500 Subject: [PATCH 26/45] Release v4.4.9 --- .../ISSUE_TEMPLATE/01-feature_request.yaml | 2 +- .github/ISSUE_TEMPLATE/02-bug_report.yaml | 2 +- contrib/openapi.json | 9 +- docs/release-notes/version-4.4.md | 26 + netbox/project-static/dist/netbox.js | 10 +- netbox/project-static/dist/netbox.js.map | 6 +- netbox/project-static/package.json | 4 +- netbox/project-static/yarn.lock | 16 +- netbox/release.yaml | 4 +- netbox/translations/cs/LC_MESSAGES/django.po | 1029 +- netbox/translations/da/LC_MESSAGES/django.po | 1029 +- netbox/translations/de/LC_MESSAGES/django.mo | Bin 261127 -> 261454 bytes netbox/translations/de/LC_MESSAGES/django.po | 1033 +- netbox/translations/es/LC_MESSAGES/django.po | 1030 +- netbox/translations/fr/LC_MESSAGES/django.po | 1030 +- netbox/translations/it/LC_MESSAGES/django.po | 1028 +- netbox/translations/ja/LC_MESSAGES/django.po | 1028 +- netbox/translations/lv/LC_MESSAGES/django.mo | Bin 0 -> 254585 bytes netbox/translations/lv/LC_MESSAGES/django.po | 19061 +++++++++------- netbox/translations/nl/LC_MESSAGES/django.po | 1030 +- netbox/translations/pl/LC_MESSAGES/django.po | 1030 +- netbox/translations/pt/LC_MESSAGES/django.mo | Bin 258726 -> 258763 bytes netbox/translations/pt/LC_MESSAGES/django.po | 1058 +- netbox/translations/ru/LC_MESSAGES/django.po | 1030 +- netbox/translations/tr/LC_MESSAGES/django.po | 1030 +- netbox/translations/uk/LC_MESSAGES/django.po | 1030 +- netbox/translations/zh/LC_MESSAGES/django.po | 1028 +- pyproject.toml | 2 +- requirements.txt | 10 +- 29 files changed, 17609 insertions(+), 15986 deletions(-) create mode 100644 netbox/translations/lv/LC_MESSAGES/django.mo diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index d03d1a904..4fc29c76f 100644 --- a/.github/ISSUE_TEMPLATE/01-feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/01-feature_request.yaml @@ -15,7 +15,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v4.4.8 + placeholder: v4.4.9 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yaml b/.github/ISSUE_TEMPLATE/02-bug_report.yaml index c8cf47452..7a998a2d9 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -27,7 +27,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v4.4.8 + placeholder: v4.4.9 validations: required: true - type: dropdown diff --git a/contrib/openapi.json b/contrib/openapi.json index 976e7aba5..d859f6ac5 100644 --- a/contrib/openapi.json +++ b/contrib/openapi.json @@ -2,7 +2,7 @@ "openapi": "3.0.3", "info": { "title": "NetBox REST API", - "version": "4.4.8", + "version": "4.4.9", "license": { "name": "Apache v2 License" } @@ -158511,6 +158511,7 @@ "fr", "it", "ja", + "lv", "nl", "pl", "pt", @@ -205630,15 +205631,9 @@ "description": { "type": "string", "maxLength": 200 - }, - "devicetype_count": { - "type": "integer", - "format": "int64", - "readOnly": true } }, "required": [ - "devicetype_count", "display", "id", "name", diff --git a/docs/release-notes/version-4.4.md b/docs/release-notes/version-4.4.md index 6dc3e51e5..6c47608c3 100644 --- a/docs/release-notes/version-4.4.md +++ b/docs/release-notes/version-4.4.md @@ -1,5 +1,31 @@ # NetBox v4.4 +## v4.4.9 (2025-12-23) + +### Enhancements + +* [#20309](https://github.com/netbox-community/netbox/issues/20309) - Support ASDOT notation for ASN ranges +* [#20720](https://github.com/netbox-community/netbox/issues/20720) - Add Latvian translations +* [#20900](https://github.com/netbox-community/netbox/issues/20900) - Allow filtering custom choice fields by multiple values in the UI + +### Bug Fixes + +* [#17976](https://github.com/netbox-community/netbox/issues/17976) - Remove `devicetype_count` from nested manufacturer to correct OpenAPI schema +* [#20011](https://github.com/netbox-community/netbox/issues/20011) - Provide a clear message when encountering duplicate object IDs during bulk import +* [#20114](https://github.com/netbox-community/netbox/issues/20114) - Preserve `parent_bay` during device bulk import when tags are present +* [#20491](https://github.com/netbox-community/netbox/issues/20491) - Improve handling of numeric ranges in tests +* [#20873](https://github.com/netbox-community/netbox/issues/20873) - Fix `AttributeError` exception triggered by event rules associated with an object that supports file attachments +* [#20875](https://github.com/netbox-community/netbox/issues/20875) - Ensure that parent object relations are cached (for filtering) on device/module components during instantiation +* [#20876](https://github.com/netbox-community/netbox/issues/20876) - Allow editing an IP address that resides within a range marked as populated +* [#20912](https://github.com/netbox-community/netbox/issues/20912) - Fix inconsistent clearing of `module` field on ModuleBay +* [#20944](https://github.com/netbox-community/netbox/issues/20944) - Ensure cached scope is updated on child objects when a parent region/site/location is changed +* [#20948](https://github.com/netbox-community/netbox/issues/20948) - Handle the deletion of related objects with `on_delete=RESTRICT` the same as `CASCADE` +* [#20969](https://github.com/netbox-community/netbox/issues/20969) - Fix querying of front port templates by `rear_port_id` +* [#21011](https://github.com/netbox-community/netbox/issues/21011) - Avoid writing to the database when loading active ConfigRevision +* [#21032](https://github.com/netbox-community/netbox/issues/21032) - Avoid SQL subquery in RestrictedQuerySet where unnecessary + +--- + ## v4.4.8 (2025-12-09) ### Enhancements diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 32c552b74..bd93cf11a 100644 --- a/netbox/project-static/dist/netbox.js +++ b/netbox/project-static/dist/netbox.js @@ -1,11 +1,11 @@ -"use strict";(()=>{var tu=Object.create;var Mi=Object.defineProperty,nu=Object.defineProperties,iu=Object.getOwnPropertyDescriptor,ru=Object.getOwnPropertyDescriptors,ou=Object.getOwnPropertyNames,ps=Object.getOwnPropertySymbols,su=Object.getPrototypeOf,ms=Object.prototype.hasOwnProperty,au=Object.prototype.propertyIsEnumerable;var qr=(n,e,t)=>e in n?Mi(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,O=(n,e)=>{for(var t in e||(e={}))ms.call(e,t)&&qr(n,t,e[t]);if(ps)for(var t of ps(e))au.call(e,t)&&qr(n,t,e[t]);return n},ae=(n,e)=>nu(n,ru(e));var lu=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),gs=(n,e)=>{for(var t in e)Mi(n,t,{get:e[t],enumerable:!0})},cu=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ou(e))!ms.call(n,r)&&r!==t&&Mi(n,r,{get:()=>e[r],enumerable:!(i=iu(e,r))||i.enumerable});return n};var uu=(n,e,t)=>(t=n!=null?tu(su(n)):{},cu(e||!n||!n.__esModule?Mi(t,"default",{value:n,enumerable:!0}):t,n));var ee=(n,e,t)=>qr(n,typeof e!="symbol"?e+"":e,t);var at=(n,e,t)=>new Promise((i,r)=>{var o=l=>{try{a(t.next(l))}catch(c){r(c)}},s=l=>{try{a(t.throw(l))}catch(c){r(c)}},a=l=>l.done?i(l.value):Promise.resolve(l.value).then(o,s);a((t=t.apply(n,e)).next())});var mc=lu((vi,ts)=>{(function(e,t){typeof vi=="object"&&typeof ts=="object"?ts.exports=t():typeof define=="function"&&define.amd?define([],t):typeof vi=="object"?vi.ClipboardJS=t():e.ClipboardJS=t()})(vi,function(){return(function(){var n={686:(function(i,r,o){"use strict";o.d(r,{default:function(){return Re}});var s=o(279),a=o.n(s),l=o(370),c=o.n(l),u=o(817),d=o.n(u);function p(W){try{return document.execCommand(W)}catch(M){return!1}}var y=function(M){var D=d()(M);return p("cut"),D},m=y;function v(W){var M=document.documentElement.getAttribute("dir")==="rtl",D=document.createElement("textarea");D.style.fontSize="12pt",D.style.border="0",D.style.padding="0",D.style.margin="0",D.style.position="absolute",D.style[M?"right":"left"]="-9999px";var B=window.pageYOffset||document.documentElement.scrollTop;return D.style.top="".concat(B,"px"),D.setAttribute("readonly",""),D.value=W,D}var w=function(M,D){var B=v(M);D.container.appendChild(B);var V=d()(B);return p("copy"),B.remove(),V},T=function(M){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},B="";return typeof M=="string"?B=w(M,D):M instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(M==null?void 0:M.type)?B=w(M.value,D):(B=d()(M),p("copy")),B},_=T;function S(W){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?S=function(D){return typeof D}:S=function(D){return D&&typeof Symbol=="function"&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D},S(W)}var A=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},D=M.action,B=D===void 0?"copy":D,V=M.container,q=M.target,U=M.text;if(B!=="copy"&&B!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(q!==void 0)if(q&&S(q)==="object"&&q.nodeType===1){if(B==="copy"&&q.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(B==="cut"&&(q.hasAttribute("readonly")||q.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(U)return _(U,{container:V});if(q)return B==="cut"?m(q):_(q,{container:V})},K=A;function z(W){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?z=function(D){return typeof D}:z=function(D){return D&&typeof Symbol=="function"&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D},z(W)}function L(W,M){if(!(W instanceof M))throw new TypeError("Cannot call a class as a function")}function I(W,M){for(var D=0;D0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof V.action=="function"?V.action:this.defaultAction,this.target=typeof V.target=="function"?V.target:this.defaultTarget,this.text=typeof V.text=="function"?V.text:this.defaultText,this.container=z(V.container)==="object"?V.container:document.body}},{key:"listenClick",value:function(V){var q=this;this.listener=c()(V,"click",function(U){return q.onClick(U)})}},{key:"onClick",value:function(V){var q=V.delegateTarget||V.currentTarget,U=this.action(q)||"copy",Z=K({action:U,container:this.container,target:this.target(q),text:this.text(q)});this.emit(Z?"success":"error",{action:U,text:Z,trigger:q,clearSelection:function(){q&&q.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(V){return ne("action",V)}},{key:"defaultTarget",value:function(V){var q=ne("target",V);if(q)return document.querySelector(q)}},{key:"defaultText",value:function(V){return ne("text",V)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(V){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return _(V,q)}},{key:"cut",value:function(V){return m(V)}},{key:"isSupported",value:function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],q=typeof V=="string"?[V]:V,U=!!document.queryCommandSupported;return q.forEach(function(Z){U=U&&!!document.queryCommandSupported(Z)}),U}}]),D})(a()),Re=qe}),828:(function(i){var r=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var o=Element.prototype;o.matches=o.matchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector||o.webkitMatchesSelector}function s(a,l){for(;a&&a.nodeType!==r;){if(typeof a.matches=="function"&&a.matches(l))return a;a=a.parentNode}}i.exports=s}),438:(function(i,r,o){var s=o(828);function a(u,d,p,y,m){var v=c.apply(this,arguments);return u.addEventListener(p,v,m),{destroy:function(){u.removeEventListener(p,v,m)}}}function l(u,d,p,y,m){return typeof u.addEventListener=="function"?a.apply(null,arguments):typeof p=="function"?a.bind(null,document).apply(null,arguments):(typeof u=="string"&&(u=document.querySelectorAll(u)),Array.prototype.map.call(u,function(v){return a(v,d,p,y,m)}))}function c(u,d,p,y){return function(m){m.delegateTarget=s(m.target,d),m.delegateTarget&&y.call(u,m)}}i.exports=l}),879:(function(i,r){r.node=function(o){return o!==void 0&&o instanceof HTMLElement&&o.nodeType===1},r.nodeList=function(o){var s=Object.prototype.toString.call(o);return o!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in o&&(o.length===0||r.node(o[0]))},r.string=function(o){return typeof o=="string"||o instanceof String},r.fn=function(o){var s=Object.prototype.toString.call(o);return s==="[object Function]"}}),370:(function(i,r,o){var s=o(879),a=o(438);function l(p,y,m){if(!p&&!y&&!m)throw new Error("Missing required arguments");if(!s.string(y))throw new TypeError("Second argument must be a String");if(!s.fn(m))throw new TypeError("Third argument must be a Function");if(s.node(p))return c(p,y,m);if(s.nodeList(p))return u(p,y,m);if(s.string(p))return d(p,y,m);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(p,y,m){return p.addEventListener(y,m),{destroy:function(){p.removeEventListener(y,m)}}}function u(p,y,m){return Array.prototype.forEach.call(p,function(v){v.addEventListener(y,m)}),{destroy:function(){Array.prototype.forEach.call(p,function(v){v.removeEventListener(y,m)})}}}function d(p,y,m){return a(document.body,p,y,m)}i.exports=l}),817:(function(i){function r(o){var s;if(o.nodeName==="SELECT")o.focus(),s=o.value;else if(o.nodeName==="INPUT"||o.nodeName==="TEXTAREA"){var a=o.hasAttribute("readonly");a||o.setAttribute("readonly",""),o.select(),o.setSelectionRange(0,o.value.length),a||o.removeAttribute("readonly"),s=o.value}else{o.hasAttribute("contenteditable")&&o.focus();var l=window.getSelection(),c=document.createRange();c.selectNodeContents(o),l.removeAllRanges(),l.addRange(c),s=l.toString()}return s}i.exports=r}),279:(function(i){function r(){}r.prototype={on:function(o,s,a){var l=this.e||(this.e={});return(l[o]||(l[o]=[])).push({fn:s,ctx:a}),this},once:function(o,s,a){var l=this;function c(){l.off(o,c),s.apply(a,arguments)}return c._=s,this.on(o,c,a)},emit:function(o){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[o]||[]).slice(),l=0,c=a.length;for(l;lws,afterRead:()=>Es,afterWrite:()=>Cs,applyStyles:()=>hn,arrow:()=>Ni,auto:()=>jn,basePlacements:()=>lt,beforeMain:()=>bs,beforeRead:()=>vs,beforeWrite:()=>xs,bottom:()=>me,clippingParents:()=>Ur,computeStyles:()=>mn,createPopper:()=>Jn,createPopperBase:()=>Hs,createPopperLite:()=>Rs,detectOverflow:()=>ke,end:()=>bt,eventListeners:()=>gn,flip:()=>Pi,hide:()=>Fi,left:()=>he,main:()=>_s,modifierPhases:()=>Gr,offset:()=>$i,placements:()=>qn,popper:()=>$t,popperGenerator:()=>Yt,popperOffsets:()=>En,preventOverflow:()=>Bi,read:()=>ys,reference:()=>Yr,right:()=>pe,start:()=>rt,top:()=>de,variationPlacements:()=>ki,viewport:()=>Wn,write:()=>Ts});var de="top",me="bottom",pe="right",he="left",jn="auto",lt=[de,me,pe,he],rt="start",bt="end",Ur="clippingParents",Wn="viewport",$t="popper",Yr="reference",ki=lt.reduce(function(n,e){return n.concat([e+"-"+rt,e+"-"+bt])},[]),qn=[].concat(lt,[jn]).reduce(function(n,e){return n.concat([e,e+"-"+rt,e+"-"+bt])},[]),vs="beforeRead",ys="read",Es="afterRead",bs="beforeMain",_s="main",ws="afterMain",xs="beforeWrite",Ts="write",Cs="afterWrite",Gr=[vs,ys,Es,bs,_s,ws,xs,Ts,Cs];function we(n){return n?(n.nodeName||"").toLowerCase():null}function ce(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function Ue(n){var e=ce(n).Element;return n instanceof e||n instanceof Element}function be(n){var e=ce(n).HTMLElement;return n instanceof e||n instanceof HTMLElement}function fn(n){if(typeof ShadowRoot=="undefined")return!1;var e=ce(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function du(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},r=e.attributes[t]||{},o=e.elements[t];!be(o)||!we(o)||(Object.assign(o.style,i),Object.keys(r).forEach(function(s){var a=r[s];a===!1?o.removeAttribute(s):o.setAttribute(s,a===!0?"":a)}))})}function fu(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(i){var r=e.elements[i],o=e.attributes[i]||{},s=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:t[i]),a=s.reduce(function(l,c){return l[c]="",l},{});!be(r)||!we(r)||(Object.assign(r.style,a),Object.keys(o).forEach(function(l){r.removeAttribute(l)}))})}}var hn={name:"applyStyles",enabled:!0,phase:"write",fn:du,effect:fu,requires:["computeStyles"]};function xe(n){return n.split("-")[0]}var Ze=Math.max,Bt=Math.min,ct=Math.round;function pn(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Un(){return!/^((?!chrome|android).)*safari/i.test(pn())}function Ye(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var i=n.getBoundingClientRect(),r=1,o=1;e&&be(n)&&(r=n.offsetWidth>0&&ct(i.width)/n.offsetWidth||1,o=n.offsetHeight>0&&ct(i.height)/n.offsetHeight||1);var s=Ue(n)?ce(n):window,a=s.visualViewport,l=!Un()&&t,c=(i.left+(l&&a?a.offsetLeft:0))/r,u=(i.top+(l&&a?a.offsetTop:0))/o,d=i.width/r,p=i.height/o;return{width:d,height:p,top:u,right:c+d,bottom:u+p,left:c,x:c,y:u}}function Vt(n){var e=Ye(n),t=n.offsetWidth,i=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:i}}function Yn(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&fn(t)){var i=e;do{if(i&&n.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Me(n){return ce(n).getComputedStyle(n)}function Kr(n){return["table","td","th"].indexOf(we(n))>=0}function Ae(n){return((Ue(n)?n.ownerDocument:n.document)||window.document).documentElement}function ut(n){return we(n)==="html"?n:n.assignedSlot||n.parentNode||(fn(n)?n.host:null)||Ae(n)}function As(n){return!be(n)||Me(n).position==="fixed"?null:n.offsetParent}function hu(n){var e=/firefox/i.test(pn()),t=/Trident/i.test(pn());if(t&&be(n)){var i=Me(n);if(i.position==="fixed")return null}var r=ut(n);for(fn(r)&&(r=r.host);be(r)&&["html","body"].indexOf(we(r))<0;){var o=Me(r);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||e&&o.willChange==="filter"||e&&o.filter&&o.filter!=="none")return r;r=r.parentNode}return null}function et(n){for(var e=ce(n),t=As(n);t&&Kr(t)&&Me(t).position==="static";)t=As(t);return t&&(we(t)==="html"||we(t)==="body"&&Me(t).position==="static")?e:t||hu(n)||e}function zt(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function jt(n,e,t){return Ze(n,Bt(e,t))}function Ss(n,e,t){var i=jt(n,e,t);return i>t?t:i}function Gn(){return{top:0,right:0,bottom:0,left:0}}function Kn(n){return Object.assign({},Gn(),n)}function Xn(n,e){return e.reduce(function(t,i){return t[i]=n,t},{})}var pu=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,Kn(typeof e!="number"?e:Xn(e,lt))};function mu(n){var e,t=n.state,i=n.name,r=n.options,o=t.elements.arrow,s=t.modifiersData.popperOffsets,a=xe(t.placement),l=zt(a),c=[he,pe].indexOf(a)>=0,u=c?"height":"width";if(!(!o||!s)){var d=pu(r.padding,t),p=Vt(o),y=l==="y"?de:he,m=l==="y"?me:pe,v=t.rects.reference[u]+t.rects.reference[l]-s[l]-t.rects.popper[u],w=s[l]-t.rects.reference[l],T=et(o),_=T?l==="y"?T.clientHeight||0:T.clientWidth||0:0,S=v/2-w/2,A=d[y],K=_-p[u]-d[m],z=_/2-p[u]/2+S,L=jt(A,z,K),I=l;t.modifiersData[i]=(e={},e[I]=L,e.centerOffset=L-z,e)}}function gu(n){var e=n.state,t=n.options,i=t.element,r=i===void 0?"[data-popper-arrow]":i;r!=null&&(typeof r=="string"&&(r=e.elements.popper.querySelector(r),!r)||Yn(e.elements.popper,r)&&(e.elements.arrow=r))}var Ni={name:"arrow",enabled:!0,phase:"main",fn:mu,effect:gu,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ge(n){return n.split("-")[1]}var vu={top:"auto",right:"auto",bottom:"auto",left:"auto"};function yu(n,e){var t=n.x,i=n.y,r=e.devicePixelRatio||1;return{x:ct(t*r)/r||0,y:ct(i*r)/r||0}}function Ds(n){var e,t=n.popper,i=n.popperRect,r=n.placement,o=n.variation,s=n.offsets,a=n.position,l=n.gpuAcceleration,c=n.adaptive,u=n.roundOffsets,d=n.isFixed,p=s.x,y=p===void 0?0:p,m=s.y,v=m===void 0?0:m,w=typeof u=="function"?u({x:y,y:v}):{x:y,y:v};y=w.x,v=w.y;var T=s.hasOwnProperty("x"),_=s.hasOwnProperty("y"),S=he,A=de,K=window;if(c){var z=et(t),L="clientHeight",I="clientWidth";if(z===ce(t)&&(z=Ae(t),Me(z).position!=="static"&&a==="absolute"&&(L="scrollHeight",I="scrollWidth")),z=z,r===de||(r===he||r===pe)&&o===bt){A=me;var N=d&&z===K&&K.visualViewport?K.visualViewport.height:z[L];v-=N-i.height,v*=l?1:-1}if(r===he||(r===de||r===me)&&o===bt){S=pe;var Y=d&&z===K&&K.visualViewport?K.visualViewport.width:z[I];y-=Y-i.width,y*=l?1:-1}}var $=Object.assign({position:a},c&&vu),ie=u===!0?yu({x:y,y:v},ce(t)):{x:y,y:v};if(y=ie.x,v=ie.y,l){var J;return Object.assign({},$,(J={},J[A]=_?"0":"",J[S]=T?"0":"",J.transform=(K.devicePixelRatio||1)<=1?"translate("+y+"px, "+v+"px)":"translate3d("+y+"px, "+v+"px, 0)",J))}return Object.assign({},$,(e={},e[A]=_?v+"px":"",e[S]=T?y+"px":"",e.transform="",e))}function Eu(n){var e=n.state,t=n.options,i=t.gpuAcceleration,r=i===void 0?!0:i,o=t.adaptive,s=o===void 0?!0:o,a=t.roundOffsets,l=a===void 0?!0:a,c={placement:xe(e.placement),variation:Ge(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:r,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Ds(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Ds(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var mn={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Eu,data:{}};var Hi={passive:!0};function bu(n){var e=n.state,t=n.instance,i=n.options,r=i.scroll,o=r===void 0?!0:r,s=i.resize,a=s===void 0?!0:s,l=ce(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach(function(u){u.addEventListener("scroll",t.update,Hi)}),a&&l.addEventListener("resize",t.update,Hi),function(){o&&c.forEach(function(u){u.removeEventListener("scroll",t.update,Hi)}),a&&l.removeEventListener("resize",t.update,Hi)}}var gn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:bu,data:{}};var _u={left:"right",right:"left",bottom:"top",top:"bottom"};function vn(n){return n.replace(/left|right|bottom|top/g,function(e){return _u[e]})}var wu={start:"end",end:"start"};function Ri(n){return n.replace(/start|end/g,function(e){return wu[e]})}function Wt(n){var e=ce(n),t=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:t,scrollTop:i}}function qt(n){return Ye(Ae(n)).left+Wt(n).scrollLeft}function Xr(n,e){var t=ce(n),i=Ae(n),r=t.visualViewport,o=i.clientWidth,s=i.clientHeight,a=0,l=0;if(r){o=r.width,s=r.height;var c=Un();(c||!c&&e==="fixed")&&(a=r.offsetLeft,l=r.offsetTop)}return{width:o,height:s,x:a+qt(n),y:l}}function Qr(n){var e,t=Ae(n),i=Wt(n),r=(e=n.ownerDocument)==null?void 0:e.body,o=Ze(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=Ze(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+qt(n),l=-i.scrollTop;return Me(r||t).direction==="rtl"&&(a+=Ze(t.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}function Ut(n){var e=Me(n),t=e.overflow,i=e.overflowX,r=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+r+i)}function Ii(n){return["html","body","#document"].indexOf(we(n))>=0?n.ownerDocument.body:be(n)&&Ut(n)?n:Ii(ut(n))}function _t(n,e){var t;e===void 0&&(e=[]);var i=Ii(n),r=i===((t=n.ownerDocument)==null?void 0:t.body),o=ce(i),s=r?[o].concat(o.visualViewport||[],Ut(i)?i:[]):i,a=e.concat(s);return r?a:a.concat(_t(ut(s)))}function yn(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function xu(n,e){var t=Ye(n,!1,e==="fixed");return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function Os(n,e,t){return e===Wn?yn(Xr(n,t)):Ue(e)?xu(e,t):yn(Qr(Ae(n)))}function Tu(n){var e=_t(ut(n)),t=["absolute","fixed"].indexOf(Me(n).position)>=0,i=t&&be(n)?et(n):n;return Ue(i)?e.filter(function(r){return Ue(r)&&Yn(r,i)&&we(r)!=="body"}):[]}function Jr(n,e,t,i){var r=e==="clippingParents"?Tu(n):[].concat(e),o=[].concat(r,[t]),s=o[0],a=o.reduce(function(l,c){var u=Os(n,c,i);return l.top=Ze(u.top,l.top),l.right=Bt(u.right,l.right),l.bottom=Bt(u.bottom,l.bottom),l.left=Ze(u.left,l.left),l},Os(n,s,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Qn(n){var e=n.reference,t=n.element,i=n.placement,r=i?xe(i):null,o=i?Ge(i):null,s=e.x+e.width/2-t.width/2,a=e.y+e.height/2-t.height/2,l;switch(r){case de:l={x:s,y:e.y-t.height};break;case me:l={x:s,y:e.y+e.height};break;case pe:l={x:e.x+e.width,y:a};break;case he:l={x:e.x-t.width,y:a};break;default:l={x:e.x,y:e.y}}var c=r?zt(r):null;if(c!=null){var u=c==="y"?"height":"width";switch(o){case rt:l[c]=l[c]-(e[u]/2-t[u]/2);break;case bt:l[c]=l[c]+(e[u]/2-t[u]/2);break;default:}}return l}function ke(n,e){e===void 0&&(e={});var t=e,i=t.placement,r=i===void 0?n.placement:i,o=t.strategy,s=o===void 0?n.strategy:o,a=t.boundary,l=a===void 0?Ur:a,c=t.rootBoundary,u=c===void 0?Wn:c,d=t.elementContext,p=d===void 0?$t:d,y=t.altBoundary,m=y===void 0?!1:y,v=t.padding,w=v===void 0?0:v,T=Kn(typeof w!="number"?w:Xn(w,lt)),_=p===$t?Yr:$t,S=n.rects.popper,A=n.elements[m?_:p],K=Jr(Ue(A)?A:A.contextElement||Ae(n.elements.popper),l,u,s),z=Ye(n.elements.reference),L=Qn({reference:z,element:S,strategy:"absolute",placement:r}),I=yn(Object.assign({},S,L)),N=p===$t?I:z,Y={top:K.top-N.top+T.top,bottom:N.bottom-K.bottom+T.bottom,left:K.left-N.left+T.left,right:N.right-K.right+T.right},$=n.modifiersData.offset;if(p===$t&&$){var ie=$[r];Object.keys(Y).forEach(function(J){var Te=[pe,me].indexOf(J)>=0?1:-1,Ce=[de,me].indexOf(J)>=0?"y":"x";Y[J]+=ie[Ce]*Te})}return Y}function Zr(n,e){e===void 0&&(e={});var t=e,i=t.placement,r=t.boundary,o=t.rootBoundary,s=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=l===void 0?qn:l,u=Ge(i),d=u?a?ki:ki.filter(function(m){return Ge(m)===u}):lt,p=d.filter(function(m){return c.indexOf(m)>=0});p.length===0&&(p=d);var y=p.reduce(function(m,v){return m[v]=ke(n,{placement:v,boundary:r,rootBoundary:o,padding:s})[xe(v)],m},{});return Object.keys(y).sort(function(m,v){return y[m]-y[v]})}function Cu(n){if(xe(n)===jn)return[];var e=vn(n);return[Ri(n),e,Ri(e)]}function Au(n){var e=n.state,t=n.options,i=n.name;if(!e.modifiersData[i]._skip){for(var r=t.mainAxis,o=r===void 0?!0:r,s=t.altAxis,a=s===void 0?!0:s,l=t.fallbackPlacements,c=t.padding,u=t.boundary,d=t.rootBoundary,p=t.altBoundary,y=t.flipVariations,m=y===void 0?!0:y,v=t.allowedAutoPlacements,w=e.options.placement,T=xe(w),_=T===w,S=l||(_||!m?[vn(w)]:Cu(w)),A=[w].concat(S).reduce(function(V,q){return V.concat(xe(q)===jn?Zr(e,{placement:q,boundary:u,rootBoundary:d,padding:c,flipVariations:m,allowedAutoPlacements:v}):q)},[]),K=e.rects.reference,z=e.rects.popper,L=new Map,I=!0,N=A[0],Y=0;Y=0,Ce=Te?"width":"height",se=ke(e,{placement:$,boundary:u,rootBoundary:d,altBoundary:p,padding:c}),ne=Te?J?pe:he:J?me:de;K[Ce]>z[Ce]&&(ne=vn(ne));var qe=vn(ne),Re=[];if(o&&Re.push(se[ie]<=0),a&&Re.push(se[ne]<=0,se[qe]<=0),Re.every(function(V){return V})){N=$,I=!1;break}L.set($,Re)}if(I)for(var W=m?3:1,M=function(q){var U=A.find(function(Z){var oe=L.get(Z);if(oe)return oe.slice(0,q).every(function(Et){return Et})});if(U)return N=U,"break"},D=W;D>0;D--){var B=M(D);if(B==="break")break}e.placement!==N&&(e.modifiersData[i]._skip=!0,e.placement=N,e.reset=!0)}}var Pi={name:"flip",enabled:!0,phase:"main",fn:Au,requiresIfExists:["offset"],data:{_skip:!1}};function Ls(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function Ms(n){return[de,pe,me,he].some(function(e){return n[e]>=0})}function Su(n){var e=n.state,t=n.name,i=e.rects.reference,r=e.rects.popper,o=e.modifiersData.preventOverflow,s=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=Ls(s,i),c=Ls(a,r,o),u=Ms(l),d=Ms(c);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}var Fi={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Su};function Du(n,e,t){var i=xe(n),r=[he,de].indexOf(i)>=0?-1:1,o=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[he,pe].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}function Ou(n){var e=n.state,t=n.options,i=n.name,r=t.offset,o=r===void 0?[0,0]:r,s=qn.reduce(function(u,d){return u[d]=Du(d,e.rects,o),u},{}),a=s[e.placement],l=a.x,c=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[i]=s}var $i={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Ou};function Lu(n){var e=n.state,t=n.name;e.modifiersData[t]=Qn({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var En={name:"popperOffsets",enabled:!0,phase:"read",fn:Lu,data:{}};function eo(n){return n==="x"?"y":"x"}function Mu(n){var e=n.state,t=n.options,i=n.name,r=t.mainAxis,o=r===void 0?!0:r,s=t.altAxis,a=s===void 0?!1:s,l=t.boundary,c=t.rootBoundary,u=t.altBoundary,d=t.padding,p=t.tether,y=p===void 0?!0:p,m=t.tetherOffset,v=m===void 0?0:m,w=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),T=xe(e.placement),_=Ge(e.placement),S=!_,A=zt(T),K=eo(A),z=e.modifiersData.popperOffsets,L=e.rects.reference,I=e.rects.popper,N=typeof v=="function"?v(Object.assign({},e.rects,{placement:e.placement})):v,Y=typeof N=="number"?{mainAxis:N,altAxis:N}:Object.assign({mainAxis:0,altAxis:0},N),$=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,ie={x:0,y:0};if(z){if(o){var J,Te=A==="y"?de:he,Ce=A==="y"?me:pe,se=A==="y"?"height":"width",ne=z[A],qe=ne+w[Te],Re=ne-w[Ce],W=y?-I[se]/2:0,M=_===rt?L[se]:I[se],D=_===rt?-I[se]:-L[se],B=e.elements.arrow,V=y&&B?Vt(B):{width:0,height:0},q=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Gn(),U=q[Te],Z=q[Ce],oe=jt(0,L[se],V[se]),Et=S?L[se]/2-W-oe-U-Y.mainAxis:M-oe-U-Y.mainAxis,$r=S?-L[se]/2+W+oe+Z+Y.mainAxis:D+oe+Z+Y.mainAxis,on=e.elements.arrow&&et(e.elements.arrow),sn=on?A==="y"?on.clientTop||0:on.clientLeft||0:0,Ti=(J=$==null?void 0:$[A])!=null?J:0,Br=ne+Et-Ti-sn,Ci=ne+$r-Ti,Ai=jt(y?Bt(qe,Br):qe,ne,y?Ze(Re,Ci):Re);z[A]=Ai,ie[A]=Ai-ne}if(a){var $n,Si=A==="x"?de:he,an=A==="x"?me:pe,ot=z[K],ln=K==="y"?"height":"width",Bn=ot+w[Si],cn=ot-w[an],un=[de,he].indexOf(T)!==-1,Ft=($n=$==null?void 0:$[K])!=null?$n:0,Di=un?Bn:ot-L[ln]-I[ln]-Ft+Y.altAxis,Vn=un?ot+L[ln]+I[ln]-Ft-Y.altAxis:cn,Oi=y&&un?Ss(Di,ot,Vn):jt(y?Di:Bn,ot,y?Vn:cn);z[K]=Oi,ie[K]=Oi-ot}e.modifiersData[i]=ie}}var Bi={name:"preventOverflow",enabled:!0,phase:"main",fn:Mu,requiresIfExists:["offset"]};function to(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function no(n){return n===ce(n)||!be(n)?Wt(n):to(n)}function ku(n){var e=n.getBoundingClientRect(),t=ct(e.width)/n.offsetWidth||1,i=ct(e.height)/n.offsetHeight||1;return t!==1||i!==1}function io(n,e,t){t===void 0&&(t=!1);var i=be(e),r=be(e)&&ku(e),o=Ae(e),s=Ye(n,r,t),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!t)&&((we(e)!=="body"||Ut(o))&&(a=no(e)),be(e)?(l=Ye(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):o&&(l.x=qt(o))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function Nu(n){var e=new Map,t=new Set,i=[];n.forEach(function(o){e.set(o.name,o)});function r(o){t.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(a){if(!t.has(a)){var l=e.get(a);l&&r(l)}}),i.push(o)}return n.forEach(function(o){t.has(o.name)||r(o)}),i}function ro(n){var e=Nu(n);return Gr.reduce(function(t,i){return t.concat(e.filter(function(r){return r.phase===i}))},[])}function oo(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function so(n){var e=n.reduce(function(t,i){var r=t[i.name];return t[i.name]=r?Object.assign({},r,i,{options:Object.assign({},r.options,i.options),data:Object.assign({},r.data,i.data)}):i,t},{});return Object.keys(e).map(function(t){return e[t]})}var ks={placement:"bottom",modifiers:[],strategy:"absolute"};function Ns(){for(var n=arguments.length,e=new Array(n),t=0;t(n&&window.CSS&&window.CSS.escape&&(n=n.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),n),Fu=n=>n==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase(),$u=n=>{do n+=Math.floor(Math.random()*Iu);while(document.getElementById(n));return n},Bu=n=>{if(!n)return 0;let{transitionDuration:e,transitionDelay:t}=window.getComputedStyle(n),i=Number.parseFloat(e),r=Number.parseFloat(t);return!i&&!r?0:(e=e.split(",")[0],t=t.split(",")[0],(Number.parseFloat(e)+Number.parseFloat(t))*Pu)},da=n=>{n.dispatchEvent(new Event(To))},dt=n=>!n||typeof n!="object"?!1:(typeof n.jquery!="undefined"&&(n=n[0]),typeof n.nodeType!="undefined"),xt=n=>dt(n)?n.jquery?n[0]:n:typeof n=="string"&&n.length>0?document.querySelector(ua(n)):null,An=n=>{if(!dt(n)||n.getClientRects().length===0)return!1;let e=getComputedStyle(n).getPropertyValue("visibility")==="visible",t=n.closest("details:not([open])");if(!t)return e;if(t!==n){let i=n.closest("summary");if(i&&i.parentNode!==t||i===null)return!1}return e},Tt=n=>!n||n.nodeType!==Node.ELEMENT_NODE||n.classList.contains("disabled")?!0:typeof n.disabled!="undefined"?n.disabled:n.hasAttribute("disabled")&&n.getAttribute("disabled")!=="false",fa=n=>{if(!document.documentElement.attachShadow)return null;if(typeof n.getRootNode=="function"){let e=n.getRootNode();return e instanceof ShadowRoot?e:null}return n instanceof ShadowRoot?n:n.parentNode?fa(n.parentNode):null},Xi=()=>{},ii=n=>{n.offsetHeight},ha=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,lo=[],Vu=n=>{document.readyState==="loading"?(lo.length||document.addEventListener("DOMContentLoaded",()=>{for(let e of lo)e()}),lo.push(n)):n()},Ke=()=>document.documentElement.dir==="rtl",Qe=n=>{Vu(()=>{let e=ha();if(e){let t=n.NAME,i=e.fn[t];e.fn[t]=n.jQueryInterface,e.fn[t].Constructor=n,e.fn[t].noConflict=()=>(e.fn[t]=i,n.jQueryInterface)}})},Ie=(n,e=[],t=n)=>typeof n=="function"?n.call(...e):t,pa=(n,e,t=!0)=>{if(!t){Ie(n);return}let r=Bu(e)+5,o=!1,s=({target:a})=>{a===e&&(o=!0,e.removeEventListener(To,s),Ie(n))};e.addEventListener(To,s),setTimeout(()=>{o||da(e)},r)},Do=(n,e,t,i)=>{let r=n.length,o=n.indexOf(e);return o===-1?!t&&i?n[r-1]:n[0]:(o+=t?1:-1,i&&(o=(o+r)%r),n[Math.max(0,Math.min(o,r-1))])},zu=/[^.]*(?=\..*)\.|.*/,ju=/\..*/,Wu=/::\d+$/,co={},Is=1,ma={mouseenter:"mouseover",mouseleave:"mouseout"},qu=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function ga(n,e){return e&&`${e}::${Is++}`||n.uidEvent||Is++}function va(n){let e=ga(n);return n.uidEvent=e,co[e]=co[e]||{},co[e]}function Uu(n,e){return function t(i){return Oo(i,{delegateTarget:n}),t.oneOff&&x.off(n,i.type,e),e.apply(n,[i])}}function Yu(n,e,t){return function i(r){let o=n.querySelectorAll(e);for(let{target:s}=r;s&&s!==this;s=s.parentNode)for(let a of o)if(a===s)return Oo(r,{delegateTarget:s}),i.oneOff&&x.off(n,r.type,e,t),t.apply(s,[r])}}function ya(n,e,t=null){return Object.values(n).find(i=>i.callable===e&&i.delegationSelector===t)}function Ea(n,e,t){let i=typeof e=="string",r=i?t:e||t,o=ba(n);return qu.has(o)||(o=n),[i,r,o]}function Ps(n,e,t,i,r){if(typeof e!="string"||!n)return;let[o,s,a]=Ea(e,t,i);e in ma&&(s=(m=>function(v){if(!v.relatedTarget||v.relatedTarget!==v.delegateTarget&&!v.delegateTarget.contains(v.relatedTarget))return m.call(this,v)})(s));let l=va(n),c=l[a]||(l[a]={}),u=ya(c,s,o?t:null);if(u){u.oneOff=u.oneOff&&r;return}let d=ga(s,e.replace(zu,"")),p=o?Yu(n,t,s):Uu(n,s);p.delegationSelector=o?t:null,p.callable=s,p.oneOff=r,p.uidEvent=d,c[d]=p,n.addEventListener(a,p,o)}function Co(n,e,t,i,r){let o=ya(e[t],i,r);o&&(n.removeEventListener(t,o,!!r),delete e[t][o.uidEvent])}function Gu(n,e,t,i){let r=e[t]||{};for(let[o,s]of Object.entries(r))o.includes(i)&&Co(n,e,t,s.callable,s.delegationSelector)}function ba(n){return n=n.replace(ju,""),ma[n]||n}var x={on(n,e,t,i){Ps(n,e,t,i,!1)},one(n,e,t,i){Ps(n,e,t,i,!0)},off(n,e,t,i){if(typeof e!="string"||!n)return;let[r,o,s]=Ea(e,t,i),a=s!==e,l=va(n),c=l[s]||{},u=e.startsWith(".");if(typeof o!="undefined"){if(!Object.keys(c).length)return;Co(n,l,s,o,r?t:null);return}if(u)for(let d of Object.keys(l))Gu(n,l,d,e.slice(1));for(let[d,p]of Object.entries(c)){let y=d.replace(Wu,"");(!a||e.includes(y))&&Co(n,l,s,p.callable,p.delegationSelector)}},trigger(n,e,t){if(typeof e!="string"||!n)return null;let i=ha(),r=ba(e),o=e!==r,s=null,a=!0,l=!0,c=!1;o&&i&&(s=i.Event(e,t),i(n).trigger(s),a=!s.isPropagationStopped(),l=!s.isImmediatePropagationStopped(),c=s.isDefaultPrevented());let u=Oo(new Event(e,{bubbles:a,cancelable:!0}),t);return c&&u.preventDefault(),l&&n.dispatchEvent(u),u.defaultPrevented&&s&&s.preventDefault(),u}};function Oo(n,e={}){for(let[t,i]of Object.entries(e))try{n[t]=i}catch(r){Object.defineProperty(n,t,{configurable:!0,get(){return i}})}return n}function Fs(n){if(n==="true")return!0;if(n==="false")return!1;if(n===Number(n).toString())return Number(n);if(n===""||n==="null")return null;if(typeof n!="string")return n;try{return JSON.parse(decodeURIComponent(n))}catch(e){return n}}function uo(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}var ft={setDataAttribute(n,e,t){n.setAttribute(`data-bs-${uo(e)}`,t)},removeDataAttribute(n,e){n.removeAttribute(`data-bs-${uo(e)}`)},getDataAttributes(n){if(!n)return{};let e={},t=Object.keys(n.dataset).filter(i=>i.startsWith("bs")&&!i.startsWith("bsConfig"));for(let i of t){let r=i.replace(/^bs/,"");r=r.charAt(0).toLowerCase()+r.slice(1),e[r]=Fs(n.dataset[i])}return e},getDataAttribute(n,e){return Fs(n.getAttribute(`data-bs-${uo(e)}`))}},Xt=class{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){let i=dt(t)?ft.getDataAttribute(t,"config"):{};return O(O(O(O({},this.constructor.Default),typeof i=="object"?i:{}),dt(t)?ft.getDataAttributes(t):{}),typeof e=="object"?e:{})}_typeCheckConfig(e,t=this.constructor.DefaultType){for(let[i,r]of Object.entries(t)){let o=e[i],s=dt(o)?"element":Fu(o);if(!new RegExp(r).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${s}" but expected type "${r}".`)}}},Ku="5.3.8",je=class extends Xt{constructor(e,t){super(),e=xt(e),e&&(this._element=e,this._config=this._getConfig(t),ao.set(this._element,this.constructor.DATA_KEY,this))}dispose(){ao.remove(this._element,this.constructor.DATA_KEY),x.off(this._element,this.constructor.EVENT_KEY);for(let e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,i=!0){pa(e,t,i)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return ao.get(xt(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,typeof t=="object"?t:null)}static get VERSION(){return Ku}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}},fo=n=>{let e=n.getAttribute("data-bs-target");if(!e||e==="#"){let t=n.getAttribute("href");if(!t||!t.includes("#")&&!t.startsWith("."))return null;t.includes("#")&&!t.startsWith("#")&&(t=`#${t.split("#")[1]}`),e=t&&t!=="#"?t.trim():null}return e?e.split(",").map(t=>ua(t)).join(","):null},j={find(n,e=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(e,n))},findOne(n,e=document.documentElement){return Element.prototype.querySelector.call(e,n)},children(n,e){return[].concat(...n.children).filter(t=>t.matches(e))},parents(n,e){let t=[],i=n.parentNode.closest(e);for(;i;)t.push(i),i=i.parentNode.closest(e);return t},prev(n,e){let t=n.previousElementSibling;for(;t;){if(t.matches(e))return[t];t=t.previousElementSibling}return[]},next(n,e){let t=n.nextElementSibling;for(;t;){if(t.matches(e))return[t];t=t.nextElementSibling}return[]},focusableChildren(n){let e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,n).filter(t=>!Tt(t)&&An(t))},getSelectorFromElement(n){let e=fo(n);return e&&j.findOne(e)?e:null},getElementFromSelector(n){let e=fo(n);return e?j.findOne(e):null},getMultipleElementsFromSelector(n){let e=fo(n);return e?j.find(e):[]}},rr=(n,e="hide")=>{let t=`click.dismiss${n.EVENT_KEY}`,i=n.NAME;x.on(document,t,`[data-bs-dismiss="${i}"]`,function(r){if(["A","AREA"].includes(this.tagName)&&r.preventDefault(),Tt(this))return;let o=j.getElementFromSelector(this)||this.closest(`.${i}`);n.getOrCreateInstance(o)[e]()})},Xu="alert",Qu="bs.alert",_a=`.${Qu}`,Ju=`close${_a}`,Zu=`closed${_a}`,ed="fade",td="show",Qi=class n extends je{static get NAME(){return Xu}close(){if(x.trigger(this._element,Ju).defaultPrevented)return;this._element.classList.remove(td);let t=this._element.classList.contains(ed);this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),x.trigger(this._element,Zu),this.dispose()}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}};rr(Qi,"close");Qe(Qi);var nd="button",id="bs.button",rd=`.${id}`,od=".data-api",sd="active",$s='[data-bs-toggle="button"]',ad=`click${rd}${od}`,Ji=class n extends je{static get NAME(){return nd}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(sd))}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this);e==="toggle"&&t[e]()})}};x.on(document,ad,$s,n=>{n.preventDefault();let e=n.target.closest($s);Ji.getOrCreateInstance(e).toggle()});Qe(Ji);var ld="swipe",Sn=".bs.swipe",cd=`touchstart${Sn}`,ud=`touchmove${Sn}`,dd=`touchend${Sn}`,fd=`pointerdown${Sn}`,hd=`pointerup${Sn}`,pd="touch",md="pen",gd="pointer-event",vd=40,yd={endCallback:null,leftCallback:null,rightCallback:null},Ed={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"},Zi=class n extends Xt{constructor(e,t){super(),this._element=e,!(!e||!n.isSupported())&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return yd}static get DefaultType(){return Ed}static get NAME(){return ld}dispose(){x.off(this._element,Sn)}_start(e){if(!this._supportPointerEvents){this._deltaX=e.touches[0].clientX;return}this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX)}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),Ie(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){let e=Math.abs(this._deltaX);if(e<=vd)return;let t=e/this._deltaX;this._deltaX=0,t&&Ie(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(x.on(this._element,fd,e=>this._start(e)),x.on(this._element,hd,e=>this._end(e)),this._element.classList.add(gd)):(x.on(this._element,cd,e=>this._start(e)),x.on(this._element,ud,e=>this._move(e)),x.on(this._element,dd,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&(e.pointerType===md||e.pointerType===pd)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}},bd="carousel",_d="bs.carousel",Dt=`.${_d}`,wa=".data-api",wd="ArrowLeft",xd="ArrowRight",Td=500,Zn="next",bn="prev",wn="left",Gi="right",Cd=`slide${Dt}`,ho=`slid${Dt}`,Ad=`keydown${Dt}`,Sd=`mouseenter${Dt}`,Dd=`mouseleave${Dt}`,Od=`dragstart${Dt}`,Ld=`load${Dt}${wa}`,Md=`click${Dt}${wa}`,xa="carousel",zi="active",kd="slide",Nd="carousel-item-end",Hd="carousel-item-start",Rd="carousel-item-next",Id="carousel-item-prev",Ta=".active",Ca=".carousel-item",Pd=Ta+Ca,Fd=".carousel-item img",$d=".carousel-indicators",Bd="[data-bs-slide], [data-bs-slide-to]",Vd='[data-bs-ride="carousel"]',zd={[wd]:Gi,[xd]:wn},jd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Wd={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"},ti=class n extends je{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=j.findOne($d,this._element),this._addEventListeners(),this._config.ride===xa&&this.cycle()}static get Default(){return jd}static get DefaultType(){return Wd}static get NAME(){return bd}next(){this._slide(Zn)}nextWhenVisible(){!document.hidden&&An(this._element)&&this.next()}prev(){this._slide(bn)}pause(){this._isSliding&&da(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){x.one(this._element,ho,()=>this.cycle());return}this.cycle()}}to(e){let t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding){x.one(this._element,ho,()=>this.to(e));return}let i=this._getItemIndex(this._getActive());if(i===e)return;let r=e>i?Zn:bn;this._slide(r,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&x.on(this._element,Ad,e=>this._keydown(e)),this._config.pause==="hover"&&(x.on(this._element,Sd,()=>this.pause()),x.on(this._element,Dd,()=>this._maybeEnableCycle())),this._config.touch&&Zi.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(let i of j.find(Fd,this._element))x.on(i,Od,r=>r.preventDefault());let t={leftCallback:()=>this._slide(this._directionToOrder(wn)),rightCallback:()=>this._slide(this._directionToOrder(Gi)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Td+this._config.interval))}};this._swipeHelper=new Zi(this._element,t)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;let t=zd[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;let t=j.findOne(Ta,this._indicatorsElement);t.classList.remove(zi),t.removeAttribute("aria-current");let i=j.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);i&&(i.classList.add(zi),i.setAttribute("aria-current","true"))}_updateInterval(){let e=this._activeElement||this._getActive();if(!e)return;let t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;let i=this._getActive(),r=e===Zn,o=t||Do(this._getItems(),i,r,this._config.wrap);if(o===i)return;let s=this._getItemIndex(o),a=y=>x.trigger(this._element,y,{relatedTarget:o,direction:this._orderToDirection(e),from:this._getItemIndex(i),to:s});if(a(Cd).defaultPrevented||!i||!o)return;let c=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(s),this._activeElement=o;let u=r?Hd:Nd,d=r?Rd:Id;o.classList.add(d),ii(o),i.classList.add(u),o.classList.add(u);let p=()=>{o.classList.remove(u,d),o.classList.add(zi),i.classList.remove(zi,d,u),this._isSliding=!1,a(ho)};this._queueCallback(p,i,this._isAnimated()),c&&this.cycle()}_isAnimated(){return this._element.classList.contains(kd)}_getActive(){return j.findOne(Pd,this._element)}_getItems(){return j.find(Ca,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return Ke()?e===wn?bn:Zn:e===wn?Zn:bn}_orderToDirection(e){return Ke()?e===bn?wn:Gi:e===bn?Gi:wn}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this,e);if(typeof e=="number"){t.to(e);return}if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}};x.on(document,Md,Bd,function(n){let e=j.getElementFromSelector(this);if(!e||!e.classList.contains(xa))return;n.preventDefault();let t=ti.getOrCreateInstance(e),i=this.getAttribute("data-bs-slide-to");if(i){t.to(i),t._maybeEnableCycle();return}if(ft.getDataAttribute(this,"slide")==="next"){t.next(),t._maybeEnableCycle();return}t.prev(),t._maybeEnableCycle()});x.on(window,Ld,()=>{let n=j.find(Vd);for(let e of n)ti.getOrCreateInstance(e)});Qe(ti);var qd="collapse",Ud="bs.collapse",ri=`.${Ud}`,Yd=".data-api",Gd=`show${ri}`,Kd=`shown${ri}`,Xd=`hide${ri}`,Qd=`hidden${ri}`,Jd=`click${ri}${Yd}`,po="show",Tn="collapse",ji="collapsing",Zd="collapsed",ef=`:scope .${Tn} .${Tn}`,tf="collapse-horizontal",nf="width",rf="height",of=".collapse.show, .collapse.collapsing",Ao='[data-bs-toggle="collapse"]',sf={parent:null,toggle:!0},af={parent:"(null|element)",toggle:"boolean"},Ct=class n extends je{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];let i=j.find(Ao);for(let r of i){let o=j.getSelectorFromElement(r),s=j.find(o).filter(a=>a===this._element);o!==null&&s.length&&this._triggerArray.push(r)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return sf}static get DefaultType(){return af}static get NAME(){return qd}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(of).filter(a=>a!==this._element).map(a=>n.getOrCreateInstance(a,{toggle:!1}))),e.length&&e[0]._isTransitioning||x.trigger(this._element,Gd).defaultPrevented)return;for(let a of e)a.hide();let i=this._getDimension();this._element.classList.remove(Tn),this._element.classList.add(ji),this._element.style[i]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;let r=()=>{this._isTransitioning=!1,this._element.classList.remove(ji),this._element.classList.add(Tn,po),this._element.style[i]="",x.trigger(this._element,Kd)},s=`scroll${i[0].toUpperCase()+i.slice(1)}`;this._queueCallback(r,this._element,!0),this._element.style[i]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown()||x.trigger(this._element,Xd).defaultPrevented)return;let t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,ii(this._element),this._element.classList.add(ji),this._element.classList.remove(Tn,po);for(let r of this._triggerArray){let o=j.getElementFromSelector(r);o&&!this._isShown(o)&&this._addAriaAndCollapsedClass([r],!1)}this._isTransitioning=!0;let i=()=>{this._isTransitioning=!1,this._element.classList.remove(ji),this._element.classList.add(Tn),x.trigger(this._element,Qd)};this._element.style[t]="",this._queueCallback(i,this._element,!0)}_isShown(e=this._element){return e.classList.contains(po)}_configAfterMerge(e){return e.toggle=!!e.toggle,e.parent=xt(e.parent),e}_getDimension(){return this._element.classList.contains(tf)?nf:rf}_initializeChildren(){if(!this._config.parent)return;let e=this._getFirstLevelChildren(Ao);for(let t of e){let i=j.getElementFromSelector(t);i&&this._addAriaAndCollapsedClass([t],this._isShown(i))}}_getFirstLevelChildren(e){let t=j.find(ef,this._config.parent);return j.find(e,this._config.parent).filter(i=>!t.includes(i))}_addAriaAndCollapsedClass(e,t){if(e.length)for(let i of e)i.classList.toggle(Zd,!t),i.setAttribute("aria-expanded",t)}static jQueryInterface(e){let t={};return typeof e=="string"&&/show|hide/.test(e)&&(t.toggle=!1),this.each(function(){let i=n.getOrCreateInstance(this,t);if(typeof e=="string"){if(typeof i[e]=="undefined")throw new TypeError(`No method named "${e}"`);i[e]()}})}};x.on(document,Jd,Ao,function(n){(n.target.tagName==="A"||n.delegateTarget&&n.delegateTarget.tagName==="A")&&n.preventDefault();for(let e of j.getMultipleElementsFromSelector(this))Ct.getOrCreateInstance(e,{toggle:!1}).toggle()});Qe(Ct);var Bs="dropdown",lf="bs.dropdown",Jt=`.${lf}`,Lo=".data-api",cf="Escape",Vs="Tab",uf="ArrowUp",zs="ArrowDown",df=2,ff=`hide${Jt}`,hf=`hidden${Jt}`,pf=`show${Jt}`,mf=`shown${Jt}`,Aa=`click${Jt}${Lo}`,Sa=`keydown${Jt}${Lo}`,gf=`keyup${Jt}${Lo}`,xn="show",vf="dropup",yf="dropend",Ef="dropstart",bf="dropup-center",_f="dropdown-center",Gt='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',wf=`${Gt}.${xn}`,Ki=".dropdown-menu",xf=".navbar",Tf=".navbar-nav",Cf=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Af=Ke()?"top-end":"top-start",Sf=Ke()?"top-start":"top-end",Df=Ke()?"bottom-end":"bottom-start",Of=Ke()?"bottom-start":"bottom-end",Lf=Ke()?"left-start":"right-start",Mf=Ke()?"right-start":"left-start",kf="top",Nf="bottom",Hf={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Rf={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"},At=class n extends je{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=j.next(this._element,Ki)[0]||j.prev(this._element,Ki)[0]||j.findOne(Ki,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Hf}static get DefaultType(){return Rf}static get NAME(){return Bs}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Tt(this._element)||this._isShown())return;let e={relatedTarget:this._element};if(!x.trigger(this._element,pf,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Tf))for(let i of[].concat(...document.body.children))x.on(i,"mouseover",Xi);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(xn),this._element.classList.add(xn),x.trigger(this._element,mf,e)}}hide(){if(Tt(this._element)||!this._isShown())return;let e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!x.trigger(this._element,ff,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(let i of[].concat(...document.body.children))x.off(i,"mouseover",Xi);this._popper&&this._popper.destroy(),this._menu.classList.remove(xn),this._element.classList.remove(xn),this._element.setAttribute("aria-expanded","false"),ft.removeDataAttribute(this._menu,"popper"),x.trigger(this._element,hf,e)}}_getConfig(e){if(e=super._getConfig(e),typeof e.reference=="object"&&!dt(e.reference)&&typeof e.reference.getBoundingClientRect!="function")throw new TypeError(`${Bs.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(typeof Vi=="undefined")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let e=this._element;this._config.reference==="parent"?e=this._parent:dt(this._config.reference)?e=xt(this._config.reference):typeof this._config.reference=="object"&&(e=this._config.reference);let t=this._getPopperConfig();this._popper=Jn(e,this._menu,t)}_isShown(){return this._menu.classList.contains(xn)}_getPlacement(){let e=this._parent;if(e.classList.contains(yf))return Lf;if(e.classList.contains(Ef))return Mf;if(e.classList.contains(bf))return kf;if(e.classList.contains(_f))return Nf;let t=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return e.classList.contains(vf)?t?Sf:Af:t?Of:Df}_detectNavbar(){return this._element.closest(xf)!==null}_getOffset(){let{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_getPopperConfig(){let e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(ft.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),O(O({},e),Ie(this._config.popperConfig,[void 0,e]))}_selectMenuItem({key:e,target:t}){let i=j.find(Cf,this._menu).filter(r=>An(r));i.length&&Do(i,t,e===zs,!i.includes(t)).focus()}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]=="undefined")throw new TypeError(`No method named "${e}"`);t[e]()}})}static clearMenus(e){if(e.button===df||e.type==="keyup"&&e.key!==Vs)return;let t=j.find(wf);for(let i of t){let r=n.getInstance(i);if(!r||r._config.autoClose===!1)continue;let o=e.composedPath(),s=o.includes(r._menu);if(o.includes(r._element)||r._config.autoClose==="inside"&&!s||r._config.autoClose==="outside"&&s||r._menu.contains(e.target)&&(e.type==="keyup"&&e.key===Vs||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;let a={relatedTarget:r._element};e.type==="click"&&(a.clickEvent=e),r._completeHide(a)}}static dataApiKeydownHandler(e){let t=/input|textarea/i.test(e.target.tagName),i=e.key===cf,r=[uf,zs].includes(e.key);if(!r&&!i||t&&!i)return;e.preventDefault();let o=this.matches(Gt)?this:j.prev(this,Gt)[0]||j.next(this,Gt)[0]||j.findOne(Gt,e.delegateTarget.parentNode),s=n.getOrCreateInstance(o);if(r){e.stopPropagation(),s.show(),s._selectMenuItem(e);return}s._isShown()&&(e.stopPropagation(),s.hide(),o.focus())}};x.on(document,Sa,Gt,At.dataApiKeydownHandler);x.on(document,Sa,Ki,At.dataApiKeydownHandler);x.on(document,Aa,At.clearMenus);x.on(document,gf,At.clearMenus);x.on(document,Aa,Gt,function(n){n.preventDefault(),At.getOrCreateInstance(this).toggle()});Qe(At);var Da="backdrop",If="fade",js="show",Ws=`mousedown.bs.${Da}`,Pf={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ff={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"},er=class extends Xt{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return Pf}static get DefaultType(){return Ff}static get NAME(){return Da}show(e){if(!this._config.isVisible){Ie(e);return}this._append();let t=this._getElement();this._config.isAnimated&&ii(t),t.classList.add(js),this._emulateAnimation(()=>{Ie(e)})}hide(e){if(!this._config.isVisible){Ie(e);return}this._getElement().classList.remove(js),this._emulateAnimation(()=>{this.dispose(),Ie(e)})}dispose(){this._isAppended&&(x.off(this._element,Ws),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){let e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add(If),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=xt(e.rootElement),e}_append(){if(this._isAppended)return;let e=this._getElement();this._config.rootElement.append(e),x.on(e,Ws,()=>{Ie(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){pa(e,this._getElement(),this._config.isAnimated)}},$f="focustrap",Bf="bs.focustrap",tr=`.${Bf}`,Vf=`focusin${tr}`,zf=`keydown.tab${tr}`,jf="Tab",Wf="forward",qs="backward",qf={autofocus:!0,trapElement:null},Uf={autofocus:"boolean",trapElement:"element"},nr=class extends Xt{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return qf}static get DefaultType(){return Uf}static get NAME(){return $f}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),x.off(document,tr),x.on(document,Vf,e=>this._handleFocusin(e)),x.on(document,zf,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,x.off(document,tr))}_handleFocusin(e){let{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;let i=j.focusableChildren(t);i.length===0?t.focus():this._lastTabNavDirection===qs?i[i.length-1].focus():i[0].focus()}_handleKeydown(e){e.key===jf&&(this._lastTabNavDirection=e.shiftKey?qs:Wf)}},Us=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Ys=".sticky-top",Wi="padding-right",Gs="margin-right",ni=class{constructor(){this._element=document.body}getWidth(){let e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){let e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Wi,t=>t+e),this._setElementAttributes(Us,Wi,t=>t+e),this._setElementAttributes(Ys,Gs,t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Wi),this._resetElementAttributes(Us,Wi),this._resetElementAttributes(Ys,Gs)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,i){let r=this.getWidth(),o=s=>{if(s!==this._element&&window.innerWidth>s.clientWidth+r)return;this._saveInitialAttribute(s,t);let a=window.getComputedStyle(s).getPropertyValue(t);s.style.setProperty(t,`${i(Number.parseFloat(a))}px`)};this._applyManipulationCallback(e,o)}_saveInitialAttribute(e,t){let i=e.style.getPropertyValue(t);i&&ft.setDataAttribute(e,t,i)}_resetElementAttributes(e,t){let i=r=>{let o=ft.getDataAttribute(r,t);if(o===null){r.style.removeProperty(t);return}ft.removeDataAttribute(r,t),r.style.setProperty(t,o)};this._applyManipulationCallback(e,i)}_applyManipulationCallback(e,t){if(dt(e)){t(e);return}for(let i of j.find(e,this._element))t(i)}},Yf="modal",Gf="bs.modal",Xe=`.${Gf}`,Kf=".data-api",Xf="Escape",Qf=`hide${Xe}`,Jf=`hidePrevented${Xe}`,Oa=`hidden${Xe}`,La=`show${Xe}`,Zf=`shown${Xe}`,eh=`resize${Xe}`,th=`click.dismiss${Xe}`,nh=`mousedown.dismiss${Xe}`,ih=`keydown.dismiss${Xe}`,rh=`click${Xe}${Kf}`,Ks="modal-open",oh="fade",Xs="show",mo="modal-static",sh=".modal.show",ah=".modal-dialog",lh=".modal-body",ch='[data-bs-toggle="modal"]',uh={backdrop:!0,focus:!0,keyboard:!0},dh={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"},tt=class n extends je{constructor(e,t){super(e,t),this._dialog=j.findOne(ah,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new ni,this._addEventListeners()}static get Default(){return uh}static get DefaultType(){return dh}static get NAME(){return Yf}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||this._isTransitioning||x.trigger(this._element,La,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Ks),this._adjustDialog(),this._backdrop.show(()=>this._showElement(e)))}hide(){!this._isShown||this._isTransitioning||x.trigger(this._element,Qf).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Xs),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){x.off(window,Xe),x.off(this._dialog,Xe),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new er({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new nr({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;let t=j.findOne(lh,this._dialog);t&&(t.scrollTop=0),ii(this._element),this._element.classList.add(Xs);let i=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,x.trigger(this._element,Zf,{relatedTarget:e})};this._queueCallback(i,this._dialog,this._isAnimated())}_addEventListeners(){x.on(this._element,ih,e=>{if(e.key===Xf){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),x.on(window,eh,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),x.on(this._element,nh,e=>{x.one(this._element,th,t=>{if(!(this._element!==e.target||this._element!==t.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Ks),this._resetAdjustments(),this._scrollBar.reset(),x.trigger(this._element,Oa)})}_isAnimated(){return this._element.classList.contains(oh)}_triggerBackdropTransition(){if(x.trigger(this._element,Jf).defaultPrevented)return;let t=this._element.scrollHeight>document.documentElement.clientHeight,i=this._element.style.overflowY;i==="hidden"||this._element.classList.contains(mo)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(mo),this._queueCallback(()=>{this._element.classList.remove(mo),this._queueCallback(()=>{this._element.style.overflowY=i},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){let e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),i=t>0;if(i&&!e){let r=Ke()?"paddingLeft":"paddingRight";this._element.style[r]=`${t}px`}if(!i&&e){let r=Ke()?"paddingRight":"paddingLeft";this._element.style[r]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each(function(){let i=n.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof i[e]=="undefined")throw new TypeError(`No method named "${e}"`);i[e](t)}})}};x.on(document,rh,ch,function(n){let e=j.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&n.preventDefault(),x.one(e,La,r=>{r.defaultPrevented||x.one(e,Oa,()=>{An(this)&&this.focus()})});let t=j.findOne(sh);t&&tt.getInstance(t).hide(),tt.getOrCreateInstance(e).toggle(this)});rr(tt);Qe(tt);var fh="offcanvas",hh="bs.offcanvas",mt=`.${hh}`,Ma=".data-api",ph=`load${mt}${Ma}`,mh="Escape",Qs="show",Js="showing",Zs="hiding",gh="offcanvas-backdrop",ka=".offcanvas.show",vh=`show${mt}`,yh=`shown${mt}`,Eh=`hide${mt}`,ea=`hidePrevented${mt}`,Na=`hidden${mt}`,bh=`resize${mt}`,_h=`click${mt}${Ma}`,wh=`keydown.dismiss${mt}`,xh='[data-bs-toggle="offcanvas"]',Th={backdrop:!0,keyboard:!0,scroll:!1},Ch={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"},St=class n extends je{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Th}static get DefaultType(){return Ch}static get NAME(){return fh}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||x.trigger(this._element,vh,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new ni().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Js);let i=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Qs),this._element.classList.remove(Js),x.trigger(this._element,yh,{relatedTarget:e})};this._queueCallback(i,this._element,!0)}hide(){if(!this._isShown||x.trigger(this._element,Eh).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Zs),this._backdrop.hide();let t=()=>{this._element.classList.remove(Qs,Zs),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new ni().reset(),x.trigger(this._element,Na)};this._queueCallback(t,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){let e=()=>{if(this._config.backdrop==="static"){x.trigger(this._element,ea);return}this.hide()},t=!!this._config.backdrop;return new er({className:gh,isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?e:null})}_initializeFocusTrap(){return new nr({trapElement:this._element})}_addEventListeners(){x.on(this._element,wh,e=>{if(e.key===mh){if(this._config.keyboard){this.hide();return}x.trigger(this._element,ea)}})}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}};x.on(document,_h,xh,function(n){let e=j.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),Tt(this))return;x.one(e,Na,()=>{An(this)&&this.focus()});let t=j.findOne(ka);t&&t!==e&&St.getInstance(t).hide(),St.getOrCreateInstance(e).toggle(this)});x.on(window,ph,()=>{for(let n of j.find(ka))St.getOrCreateInstance(n).show()});x.on(window,bh,()=>{for(let n of j.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(n).position!=="fixed"&&St.getOrCreateInstance(n).hide()});rr(St);Qe(St);var Ah=/^aria-[\w-]*$/i,Ha={"*":["class","dir","id","lang","role",Ah],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Sh=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Dh=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Oh=(n,e)=>{let t=n.nodeName.toLowerCase();return e.includes(t)?Sh.has(t)?!!Dh.test(n.nodeValue):!0:e.filter(i=>i instanceof RegExp).some(i=>i.test(t))};function Lh(n,e,t){if(!n.length)return n;if(t&&typeof t=="function")return t(n);let r=new window.DOMParser().parseFromString(n,"text/html"),o=[].concat(...r.body.querySelectorAll("*"));for(let s of o){let a=s.nodeName.toLowerCase();if(!Object.keys(e).includes(a)){s.remove();continue}let l=[].concat(...s.attributes),c=[].concat(e["*"]||[],e[a]||[]);for(let u of l)Oh(u,c)||s.removeAttribute(u.nodeName)}return r.body.innerHTML}var Mh="TemplateFactory",kh={allowList:Ha,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"

"},Nh={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Hh={entry:"(string|element|function|null)",selector:"(string|element)"},So=class extends Xt{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return kh}static get DefaultType(){return Nh}static get NAME(){return Mh}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content=O(O({},this._config.content),e),this}toHtml(){let e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(let[r,o]of Object.entries(this._config.content))this._setContent(e,o,r);let t=e.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&t.classList.add(...i.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(let[t,i]of Object.entries(e))super._typeCheckConfig({selector:t,entry:i},Hh)}_setContent(e,t,i){let r=j.findOne(i,e);if(r){if(t=this._resolvePossibleFunction(t),!t){r.remove();return}if(dt(t)){this._putElementInTemplate(xt(t),r);return}if(this._config.html){r.innerHTML=this._maybeSanitize(t);return}r.textContent=t}}_maybeSanitize(e){return this._config.sanitize?Lh(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return Ie(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html){t.innerHTML="",t.append(e);return}t.textContent=e.textContent}},Rh="tooltip",Ih=new Set(["sanitize","allowList","sanitizeFn"]),go="fade",Ph="modal",qi="show",Fh=".tooltip-inner",ta=`.${Ph}`,na="hide.bs.modal",ei="hover",vo="focus",yo="click",$h="manual",Bh="hide",Vh="hidden",zh="show",jh="shown",Wh="inserted",qh="click",Uh="focusin",Yh="focusout",Gh="mouseenter",Kh="mouseleave",Xh={AUTO:"auto",TOP:"top",RIGHT:Ke()?"left":"right",BOTTOM:"bottom",LEFT:Ke()?"right":"left"},Qh={allowList:Ha,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Jh={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"},ht=class n extends je{constructor(e,t){if(typeof Vi=="undefined")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Qh}static get DefaultType(){return Jh}static get NAME(){return Rh}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),x.off(this._element.closest(ta),na,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;let e=x.trigger(this._element,this.constructor.eventName(zh)),i=(fa(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!i)return;this._disposePopper();let r=this._getTipElement();this._element.setAttribute("aria-describedby",r.getAttribute("id"));let{container:o}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(o.append(r),x.trigger(this._element,this.constructor.eventName(Wh))),this._popper=this._createPopper(r),r.classList.add(qi),"ontouchstart"in document.documentElement)for(let a of[].concat(...document.body.children))x.on(a,"mouseover",Xi);let s=()=>{x.trigger(this._element,this.constructor.eventName(jh)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(s,this.tip,this._isAnimated())}hide(){if(!this._isShown()||x.trigger(this._element,this.constructor.eventName(Bh)).defaultPrevented)return;if(this._getTipElement().classList.remove(qi),"ontouchstart"in document.documentElement)for(let r of[].concat(...document.body.children))x.off(r,"mouseover",Xi);this._activeTrigger[yo]=!1,this._activeTrigger[vo]=!1,this._activeTrigger[ei]=!1,this._isHovered=null;let i=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),x.trigger(this._element,this.constructor.eventName(Vh)))};this._queueCallback(i,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){let t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove(go,qi),t.classList.add(`bs-${this.constructor.NAME}-auto`);let i=$u(this.constructor.NAME).toString();return t.setAttribute("id",i),this._isAnimated()&&t.classList.add(go),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new So(ae(O({},this._config),{content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)})),this._templateFactory}_getContentForTemplate(){return{[Fh]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(go)}_isShown(){return this.tip&&this.tip.classList.contains(qi)}_createPopper(e){let t=Ie(this._config.placement,[this,e,this._element]),i=Xh[t.toUpperCase()];return Jn(this._element,e,this._getPopperConfig(i))}_getOffset(){let{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_resolvePossibleFunction(e){return Ie(e,[this._element,this._element])}_getPopperConfig(e){let t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:i=>{this._getTipElement().setAttribute("data-popper-placement",i.state.placement)}}]};return O(O({},t),Ie(this._config.popperConfig,[void 0,t]))}_setListeners(){let e=this._config.trigger.split(" ");for(let t of e)if(t==="click")x.on(this._element,this.constructor.eventName(qh),this._config.selector,i=>{let r=this._initializeOnDelegatedTarget(i);r._activeTrigger[yo]=!(r._isShown()&&r._activeTrigger[yo]),r.toggle()});else if(t!==$h){let i=t===ei?this.constructor.eventName(Gh):this.constructor.eventName(Uh),r=t===ei?this.constructor.eventName(Kh):this.constructor.eventName(Yh);x.on(this._element,i,this._config.selector,o=>{let s=this._initializeOnDelegatedTarget(o);s._activeTrigger[o.type==="focusin"?vo:ei]=!0,s._enter()}),x.on(this._element,r,this._config.selector,o=>{let s=this._initializeOnDelegatedTarget(o);s._activeTrigger[o.type==="focusout"?vo:ei]=s._element.contains(o.relatedTarget),s._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},x.on(this._element.closest(ta),na,this._hideModalHandler)}_fixTitle(){let e=this._element.getAttribute("title");e&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){let t=ft.getDataAttributes(this._element);for(let i of Object.keys(t))Ih.has(i)&&delete t[i];return e=O(O({},t),typeof e=="object"&&e?e:{}),e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=e.container===!1?document.body:xt(e.container),typeof e.delay=="number"&&(e.delay={show:e.delay,hide:e.delay}),typeof e.title=="number"&&(e.title=e.title.toString()),typeof e.content=="number"&&(e.content=e.content.toString()),e}_getDelegateConfig(){let e={};for(let[t,i]of Object.entries(this._config))this.constructor.Default[t]!==i&&(e[t]=i);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]=="undefined")throw new TypeError(`No method named "${e}"`);t[e]()}})}};Qe(ht);var Zh="popover",ep=".popover-header",tp=".popover-body",np=ae(O({},ht.Default),{content:"",offset:[0,8],placement:"right",template:'',trigger:"click"}),ip=ae(O({},ht.DefaultType),{content:"(null|string|element|function)"}),Cn=class n extends ht{static get Default(){return np}static get DefaultType(){return ip}static get NAME(){return Zh}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ep]:this._getTitle(),[tp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]=="undefined")throw new TypeError(`No method named "${e}"`);t[e]()}})}};Qe(Cn);var rp="scrollspy",op="bs.scrollspy",Mo=`.${op}`,sp=".data-api",ap=`activate${Mo}`,ia=`click${Mo}`,lp=`load${Mo}${sp}`,cp="dropdown-item",_n="active",up='[data-bs-spy="scroll"]',Eo="[href]",dp=".nav, .list-group",ra=".nav-link",fp=".nav-item",hp=".list-group-item",pp=`${ra}, ${fp} > ${ra}, ${hp}`,mp=".dropdown",gp=".dropdown-toggle",vp={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},yp={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"},ir=class n extends je{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return vp}static get DefaultType(){return yp}static get NAME(){return rp}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(let e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=xt(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,typeof e.threshold=="string"&&(e.threshold=e.threshold.split(",").map(t=>Number.parseFloat(t))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(x.off(this._config.target,ia),x.on(this._config.target,ia,Eo,e=>{let t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();let i=this._rootElement||window,r=t.offsetTop-this._element.offsetTop;if(i.scrollTo){i.scrollTo({top:r,behavior:"smooth"});return}i.scrollTop=r}}))}_getNewObserver(){let e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),e)}_observerCallback(e){let t=s=>this._targetLinks.get(`#${s.target.id}`),i=s=>{this._previousScrollData.visibleEntryTop=s.target.offsetTop,this._process(t(s))},r=(this._rootElement||document.documentElement).scrollTop,o=r>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=r;for(let s of e){if(!s.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(s));continue}let a=s.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(o&&a){if(i(s),!r)return;continue}!o&&!a&&i(s)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;let e=j.find(Eo,this._config.target);for(let t of e){if(!t.hash||Tt(t))continue;let i=j.findOne(decodeURI(t.hash),this._element);An(i)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,i))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(_n),this._activateParents(e),x.trigger(this._element,ap,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains(cp)){j.findOne(gp,e.closest(mp)).classList.add(_n);return}for(let t of j.parents(e,dp))for(let i of j.prev(t,pp))i.classList.add(_n)}_clearActiveClass(e){e.classList.remove(_n);let t=j.find(`${Eo}.${_n}`,e);for(let i of t)i.classList.remove(_n)}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}};x.on(window,lp,()=>{for(let n of j.find(up))ir.getOrCreateInstance(n)});Qe(ir);var Ep="tab",bp="bs.tab",Zt=`.${bp}`,_p=`hide${Zt}`,wp=`hidden${Zt}`,xp=`show${Zt}`,Tp=`shown${Zt}`,Cp=`click${Zt}`,Ap=`keydown${Zt}`,Sp=`load${Zt}`,Dp="ArrowLeft",oa="ArrowRight",Op="ArrowUp",sa="ArrowDown",bo="Home",aa="End",Kt="active",la="fade",_o="show",Lp="dropdown",Ra=".dropdown-toggle",Mp=".dropdown-menu",wo=`:not(${Ra})`,kp='.list-group, .nav, [role="tablist"]',Np=".nav-item, .list-group-item",Hp=`.nav-link${wo}, .list-group-item${wo}, [role="tab"]${wo}`,Ia='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',xo=`${Hp}, ${Ia}`,Rp=`.${Kt}[data-bs-toggle="tab"], .${Kt}[data-bs-toggle="pill"], .${Kt}[data-bs-toggle="list"]`,Qt=class n extends je{constructor(e){super(e),this._parent=this._element.closest(kp),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),x.on(this._element,Ap,t=>this._keydown(t)))}static get NAME(){return Ep}show(){let e=this._element;if(this._elemIsActive(e))return;let t=this._getActiveElem(),i=t?x.trigger(t,_p,{relatedTarget:e}):null;x.trigger(e,xp,{relatedTarget:t}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){if(!e)return;e.classList.add(Kt),this._activate(j.getElementFromSelector(e));let i=()=>{if(e.getAttribute("role")!=="tab"){e.classList.add(_o);return}e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),x.trigger(e,Tp,{relatedTarget:t})};this._queueCallback(i,e,e.classList.contains(la))}_deactivate(e,t){if(!e)return;e.classList.remove(Kt),e.blur(),this._deactivate(j.getElementFromSelector(e));let i=()=>{if(e.getAttribute("role")!=="tab"){e.classList.remove(_o);return}e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),x.trigger(e,wp,{relatedTarget:t})};this._queueCallback(i,e,e.classList.contains(la))}_keydown(e){if(![Dp,oa,Op,sa,bo,aa].includes(e.key))return;e.stopPropagation(),e.preventDefault();let t=this._getChildren().filter(r=>!Tt(r)),i;if([bo,aa].includes(e.key))i=t[e.key===bo?0:t.length-1];else{let r=[oa,sa].includes(e.key);i=Do(t,e.target,r,!0)}i&&(i.focus({preventScroll:!0}),n.getOrCreateInstance(i).show())}_getChildren(){return j.find(xo,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(let i of t)this._setInitialAttributesOnChild(i)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);let t=this._elemIsActive(e),i=this._getOuterElement(e);e.setAttribute("aria-selected",t),i!==e&&this._setAttributeIfNotExists(i,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){let t=j.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){let i=this._getOuterElement(e);if(!i.classList.contains(Lp))return;let r=(o,s)=>{let a=j.findOne(o,i);a&&a.classList.toggle(s,t)};r(Ra,Kt),r(Mp,_o),i.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,i){e.hasAttribute(t)||e.setAttribute(t,i)}_elemIsActive(e){return e.classList.contains(Kt)}_getInnerElement(e){return e.matches(xo)?e:j.findOne(xo,e)}_getOuterElement(e){return e.closest(Np)||e}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}};x.on(document,Cp,Ia,function(n){["A","AREA"].includes(this.tagName)&&n.preventDefault(),!Tt(this)&&Qt.getOrCreateInstance(this).show()});x.on(window,Sp,()=>{for(let n of j.find(Rp))Qt.getOrCreateInstance(n)});Qe(Qt);var Ip="toast",Pp="bs.toast",Ot=`.${Pp}`,Fp=`mouseover${Ot}`,$p=`mouseout${Ot}`,Bp=`focusin${Ot}`,Vp=`focusout${Ot}`,zp=`hide${Ot}`,jp=`hidden${Ot}`,Wp=`show${Ot}`,qp=`shown${Ot}`,Up="fade",ca="hide",Ui="show",Yi="showing",Yp={animation:"boolean",autohide:"boolean",delay:"number"},Gp={animation:!0,autohide:!0,delay:5e3},pt=class n extends je{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Gp}static get DefaultType(){return Yp}static get NAME(){return Ip}show(){if(x.trigger(this._element,Wp).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(Up);let t=()=>{this._element.classList.remove(Yi),x.trigger(this._element,qp),this._maybeScheduleHide()};this._element.classList.remove(ca),ii(this._element),this._element.classList.add(Ui,Yi),this._queueCallback(t,this._element,this._config.animation)}hide(){if(!this.isShown()||x.trigger(this._element,zp).defaultPrevented)return;let t=()=>{this._element.classList.add(ca),this._element.classList.remove(Yi,Ui),x.trigger(this._element,jp)};this._element.classList.add(Yi),this._queueCallback(t,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ui),super.dispose()}isShown(){return this._element.classList.contains(Ui)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=t;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=t;break}}if(t){this._clearTimeout();return}let i=e.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){x.on(this._element,Fp,e=>this._onInteraction(e,!0)),x.on(this._element,$p,e=>this._onInteraction(e,!1)),x.on(this._element,Bp,e=>this._onInteraction(e,!0)),x.on(this._element,Vp,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each(function(){let t=n.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]=="undefined")throw new TypeError(`No method named "${e}"`);t[e](this)}})}};rr(pt);Qe(pt);var Kp=(function(){"use strict";let htmx={onLoad:null,process:null,on:null,off:null,trigger:null,ajax:null,find:null,findAll:null,closest:null,values:function(n,e){return getInputValues(n,e||"post").values},remove:null,addClass:null,removeClass:null,toggleClass:null,takeClass:null,swap:null,defineExtension:null,removeExtension:null,logAll:null,logNone:null,logger:null,config:{historyEnabled:!0,historyCacheSize:10,refreshOnHistoryMiss:!1,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:!0,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:!0,allowScriptTags:!0,inlineScriptNonce:"",inlineStyleNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:!1,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",scrollBehavior:"instant",defaultFocusScroll:!1,getCacheBusterParam:!1,globalViewTransitions:!1,methodsThatUseUrlParams:["get","delete"],selfRequestsOnly:!0,ignoreTitle:!1,scrollIntoViewOnBoost:!0,triggerSpecsCache:null,disableInheritance:!1,responseHandling:[{code:"204",swap:!1},{code:"[23]..",swap:!0},{code:"[45]..",swap:!1,error:!0}],allowNestedOobSwaps:!0,historyRestoreAsHxRequest:!0,reportValidityOfForms:!1},parseInterval:null,location,_:null,version:"2.0.8"};htmx.onLoad=onLoadHelper,htmx.process=processNode,htmx.on=addEventListenerImpl,htmx.off=removeEventListenerImpl,htmx.trigger=triggerEvent,htmx.ajax=ajaxHelper,htmx.find=find,htmx.findAll=findAll,htmx.closest=closest,htmx.remove=removeElement,htmx.addClass=addClassToElement,htmx.removeClass=removeClassFromElement,htmx.toggleClass=toggleClassOnElement,htmx.takeClass=takeClassForElement,htmx.swap=swap,htmx.defineExtension=defineExtension,htmx.removeExtension=removeExtension,htmx.logAll=logAll,htmx.logNone=logNone,htmx.parseInterval=parseInterval,htmx._=internalEval;let internalAPI={addTriggerHandler,bodyContains,canAccessLocalStorage,findThisElement,filterValues,swap,hasAttribute,getAttributeValue,getClosestAttributeValue,getClosestMatch,getExpressionVars,getHeaders,getInputValues,getInternalData,getSwapSpecification,getTriggerSpecs,getTarget,makeFragment,mergeObjects,makeSettleInfo,oobSwap,querySelectorExt,settleImmediately,shouldCancel,triggerEvent,triggerErrorEvent,withExtensions},VERBS=["get","post","put","delete","patch"],VERB_SELECTOR=VERBS.map(function(n){return"[hx-"+n+"], [data-hx-"+n+"]"}).join(", ");function parseInterval(n){if(n==null)return;let e=NaN;return n.slice(-2)=="ms"?e=parseFloat(n.slice(0,-2)):n.slice(-1)=="s"?e=parseFloat(n.slice(0,-1))*1e3:n.slice(-1)=="m"?e=parseFloat(n.slice(0,-1))*1e3*60:e=parseFloat(n),isNaN(e)?void 0:e}function getRawAttribute(n,e){return n instanceof Element&&n.getAttribute(e)}function hasAttribute(n,e){return!!n.hasAttribute&&(n.hasAttribute(e)||n.hasAttribute("data-"+e))}function getAttributeValue(n,e){return getRawAttribute(n,e)||getRawAttribute(n,"data-"+e)}function parentElt(n){let e=n.parentElement;return!e&&n.parentNode instanceof ShadowRoot?n.parentNode:e}function getDocument(){return document}function getRootNode(n,e){return n.getRootNode?n.getRootNode({composed:e}):getDocument()}function getClosestMatch(n,e){for(;n&&!e(n);)n=parentElt(n);return n||null}function getAttributeValueWithDisinheritance(n,e,t){let i=getAttributeValue(e,t),r=getAttributeValue(e,"hx-disinherit");var o=getAttributeValue(e,"hx-inherit");if(n!==e){if(htmx.config.disableInheritance)return o&&(o==="*"||o.split(" ").indexOf(t)>=0)?i:null;if(r&&(r==="*"||r.split(" ").indexOf(t)>=0))return"unset"}return i}function getClosestAttributeValue(n,e){let t=null;if(getClosestMatch(n,function(i){return!!(t=getAttributeValueWithDisinheritance(n,asElement(i),e))}),t!=="unset")return t}function matches(n,e){return n instanceof Element&&n.matches(e)}function getStartTag(n){let t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i.exec(n);return t?t[1].toLowerCase():""}function parseHTML(n){return"parseHTMLUnsafe"in Document?Document.parseHTMLUnsafe(n):new DOMParser().parseFromString(n,"text/html")}function takeChildrenFor(n,e){for(;e.childNodes.length>0;)n.append(e.childNodes[0])}function duplicateScript(n){let e=getDocument().createElement("script");return forEach(n.attributes,function(t){e.setAttribute(t.name,t.value)}),e.textContent=n.textContent,e.async=!1,htmx.config.inlineScriptNonce&&(e.nonce=htmx.config.inlineScriptNonce),e}function isJavaScriptScriptNode(n){return n.matches("script")&&(n.type==="text/javascript"||n.type==="module"||n.type==="")}function normalizeScriptTags(n){Array.from(n.querySelectorAll("script")).forEach(e=>{if(isJavaScriptScriptNode(e)){let t=duplicateScript(e),i=e.parentNode;try{i.insertBefore(t,e)}catch(r){logError(r)}finally{e.remove()}}})}function makeFragment(n){let e=n.replace(/]*)?>[\s\S]*?<\/head>/i,""),t=getStartTag(e),i;if(t==="html"){i=new DocumentFragment;let o=parseHTML(n);takeChildrenFor(i,o.body),i.title=o.title}else if(t==="body"){i=new DocumentFragment;let o=parseHTML(e);takeChildrenFor(i,o.body),i.title=o.title}else{let o=parseHTML('");i=o.querySelector("template").content,i.title=o.title;var r=i.querySelector("title");r&&r.parentNode===i&&(r.remove(),i.title=r.innerText)}return i&&(htmx.config.allowScriptTags?normalizeScriptTags(i):i.querySelectorAll("script").forEach(o=>o.remove())),i}function maybeCall(n){n&&n()}function isType(n,e){return Object.prototype.toString.call(n)==="[object "+e+"]"}function isFunction(n){return typeof n=="function"}function isRawObject(n){return isType(n,"Object")}function getInternalData(n){let e="htmx-internal-data",t=n[e];return t||(t=n[e]={}),t}function toArray(n){let e=[];if(n)for(let t=0;t=0}function bodyContains(n){return n.getRootNode({composed:!0})===document}function splitOnWhitespace(n){return n.trim().split(/\s+/)}function mergeObjects(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function parseJSON(n){try{return JSON.parse(n)}catch(e){return logError(e),null}}function canAccessLocalStorage(){let n="htmx:sessionStorageTest";try{return sessionStorage.setItem(n,n),sessionStorage.removeItem(n),!0}catch(e){return!1}}function normalizePath(n){let e=new URL(n,"http://x");return e&&(n=e.pathname+e.search),n!="/"&&(n=n.replace(/\/+$/,"")),n}function internalEval(str){return maybeEval(getDocument().body,function(){return eval(str)})}function onLoadHelper(n){return htmx.on("htmx:load",function(t){n(t.detail.elt)})}function logAll(){htmx.logger=function(n,e,t){console&&console.log(e,n,t)}}function logNone(){htmx.logger=null}function find(n,e){return typeof n!="string"?n.querySelector(e):find(getDocument(),n)}function findAll(n,e){return typeof n!="string"?n.querySelectorAll(e):findAll(getDocument(),n)}function getWindow(){return window}function removeElement(n,e){n=resolveTarget(n),e?getWindow().setTimeout(function(){removeElement(n),n=null},e):parentElt(n).removeChild(n)}function asElement(n){return n instanceof Element?n:null}function asHtmlElement(n){return n instanceof HTMLElement?n:null}function asString(n){return typeof n=="string"?n:null}function asParentNode(n){return n instanceof Element||n instanceof Document||n instanceof DocumentFragment?n:null}function addClassToElement(n,e,t){n=asElement(resolveTarget(n)),n&&(t?getWindow().setTimeout(function(){addClassToElement(n,e),n=null},t):n.classList&&n.classList.add(e))}function removeClassFromElement(n,e,t){let i=asElement(resolveTarget(n));i&&(t?getWindow().setTimeout(function(){removeClassFromElement(i,e),i=null},t):i.classList&&(i.classList.remove(e),i.classList.length===0&&i.removeAttribute("class")))}function toggleClassOnElement(n,e){n=resolveTarget(n),n.classList.toggle(e)}function takeClassForElement(n,e){n=resolveTarget(n),forEach(n.parentElement.children,function(t){removeClassFromElement(t,e)}),addClassToElement(asElement(n),e)}function closest(n,e){return n=asElement(resolveTarget(n)),n?n.closest(e):null}function startsWith(n,e){return n.substring(0,e.length)===e}function endsWith(n,e){return n.substring(n.length-e.length)===e}function normalizeSelector(n){let e=n.trim();return startsWith(e,"<")&&endsWith(e,"/>")?e.substring(1,e.length-2):e}function querySelectorAllExt(n,e,t){if(e.indexOf("global ")===0)return querySelectorAllExt(n,e.slice(7),!0);n=resolveTarget(n);let i=[];{let s=0,a=0;for(let l=0;l"&&s--}a0;){let s=normalizeSelector(i.shift()),a;s.indexOf("closest ")===0?a=closest(asElement(n),normalizeSelector(s.slice(8))):s.indexOf("find ")===0?a=find(asParentNode(n),normalizeSelector(s.slice(5))):s==="next"||s==="nextElementSibling"?a=asElement(n).nextElementSibling:s.indexOf("next ")===0?a=scanForwardQuery(n,normalizeSelector(s.slice(5)),!!t):s==="previous"||s==="previousElementSibling"?a=asElement(n).previousElementSibling:s.indexOf("previous ")===0?a=scanBackwardsQuery(n,normalizeSelector(s.slice(9)),!!t):s==="document"?a=document:s==="window"?a=window:s==="body"?a=document.body:s==="root"?a=getRootNode(n,!!t):s==="host"?a=n.getRootNode().host:o.push(s),a&&r.push(a)}if(o.length>0){let s=o.join(","),a=asParentNode(getRootNode(n,!!t));r.push(...toArray(a.querySelectorAll(s)))}return r}var scanForwardQuery=function(n,e,t){let i=asParentNode(getRootNode(n,t)).querySelectorAll(e);for(let r=0;r=0;r--){let o=i[r];if(o.compareDocumentPosition(n)===Node.DOCUMENT_POSITION_FOLLOWING)return o}};function querySelectorExt(n,e){return typeof n!="string"?querySelectorAllExt(n,e)[0]:querySelectorAllExt(getDocument().body,n)[0]}function resolveTarget(n,e){return typeof n=="string"?find(asParentNode(e)||document,n):n}function processEventArgs(n,e,t,i){return isFunction(e)?{target:getDocument().body,event:asString(n),listener:e,options:t}:{target:resolveTarget(n),event:asString(e),listener:t,options:i}}function addEventListenerImpl(n,e,t,i){return ready(function(){let o=processEventArgs(n,e,t,i);o.target.addEventListener(o.event,o.listener,o.options)}),isFunction(e)?e:t}function removeEventListenerImpl(n,e,t){return ready(function(){let i=processEventArgs(n,e,t);i.target.removeEventListener(i.event,i.listener)}),isFunction(e)?e:t}let DUMMY_ELT=getDocument().createElement("output");function findAttributeTargets(n,e){let t=getClosestAttributeValue(n,e);if(t){if(t==="this")return[findThisElement(n,e)];{let i=querySelectorAllExt(n,t);if(/(^|,)(\s*)inherit(\s*)($|,)/.test(t)){let o=asElement(getClosestMatch(n,function(s){return s!==n&&hasAttribute(asElement(s),e)}));o&&i.push(...findAttributeTargets(o,e))}return i.length===0?(logError('The selector "'+t+'" on '+e+" returned no matches!"),[DUMMY_ELT]):i}}}function findThisElement(n,e){return asElement(getClosestMatch(n,function(t){return getAttributeValue(asElement(t),e)!=null}))}function getTarget(n){let e=getClosestAttributeValue(n,"hx-target");return e?e==="this"?findThisElement(n,"hx-target"):querySelectorExt(n,e):getInternalData(n).boosted?getDocument().body:n}function shouldSettleAttribute(n){return htmx.config.attributesToSettle.includes(n)}function cloneAttributes(n,e){forEach(Array.from(n.attributes),function(t){!e.hasAttribute(t.name)&&shouldSettleAttribute(t.name)&&n.removeAttribute(t.name)}),forEach(e.attributes,function(t){shouldSettleAttribute(t.name)&&n.setAttribute(t.name,t.value)})}function isInlineSwap(n,e){let t=getExtensions(e);for(let i=0;i0?(o=n.substring(0,n.indexOf(":")),r=n.substring(n.indexOf(":")+1)):o=n),e.removeAttribute("hx-swap-oob"),e.removeAttribute("data-hx-swap-oob");let s=querySelectorAllExt(i,r,!1);return s.length?(forEach(s,function(a){let l,c=e.cloneNode(!0);l=getDocument().createDocumentFragment(),l.appendChild(c),isInlineSwap(o,a)||(l=asParentNode(c));let u={shouldSwap:!0,target:a,fragment:l};triggerEvent(a,"htmx:oobBeforeSwap",u)&&(a=u.target,u.shouldSwap&&(handlePreservedElements(l),swapWithStyle(o,a,a,l,t),restorePreservedElements()),forEach(t.elts,function(d){triggerEvent(d,"htmx:oobAfterSwap",u)}))}),e.parentNode.removeChild(e)):(e.parentNode.removeChild(e),triggerErrorEvent(getDocument().body,"htmx:oobErrorNoTarget",{content:e})),n}function restorePreservedElements(){let n=find("#--htmx-preserve-pantry--");if(n){for(let e of[...n.children]){let t=find("#"+e.id);t.parentNode.moveBefore(e,t),t.remove()}n.remove()}}function handlePreservedElements(n){forEach(findAll(n,"[hx-preserve], [data-hx-preserve]"),function(e){let t=getAttributeValue(e,"id"),i=getDocument().getElementById(t);if(i!=null)if(e.moveBefore){let r=find("#--htmx-preserve-pantry--");r==null&&(getDocument().body.insertAdjacentHTML("afterend","
"),r=find("#--htmx-preserve-pantry--")),r.moveBefore(i,null)}else e.parentNode.replaceChild(i,e)})}function handleAttributes(n,e,t){forEach(e.querySelectorAll("[id]"),function(i){let r=getRawAttribute(i,"id");if(r&&r.length>0){let o=r.replace("'","\\'"),s=i.tagName.replace(":","\\:"),a=asParentNode(n),l=a&&a.querySelector(s+"[id='"+o+"']");if(l&&l!==a){let c=i.cloneNode();cloneAttributes(i,l),t.tasks.push(function(){cloneAttributes(i,c)})}}})}function makeAjaxLoadTask(n){return function(){removeClassFromElement(n,htmx.config.addedClass),processNode(asElement(n)),processFocus(asParentNode(n)),triggerEvent(n,"htmx:load")}}function processFocus(n){let e="[autofocus]",t=asHtmlElement(matches(n,e)?n:n.querySelector(e));t!=null&&t.focus()}function insertNodesBefore(n,e,t,i){for(handleAttributes(n,t,i);t.childNodes.length>0;){let r=t.firstChild;addClassToElement(asElement(r),htmx.config.addedClass),n.insertBefore(r,e),r.nodeType!==Node.TEXT_NODE&&r.nodeType!==Node.COMMENT_NODE&&i.tasks.push(makeAjaxLoadTask(r))}}function stringHash(n,e){let t=0;for(;t0}function swap(n,e,t,i){i||(i={});let r=null,o=null,s=function(){maybeCall(i.beforeSwapCallback),n=resolveTarget(n);let c=i.contextElement?getRootNode(i.contextElement,!1):getDocument(),u=document.activeElement,d={};d={elt:u,start:u?u.selectionStart:null,end:u?u.selectionEnd:null};let p=makeSettleInfo(n);if(t.swapStyle==="textContent")n.textContent=e;else{let m=makeFragment(e);if(p.title=i.title||m.title,i.historyRequest&&(m=m.querySelector("[hx-history-elt],[data-hx-history-elt]")||m),i.selectOOB){let v=i.selectOOB.split(",");for(let w=0;w0?getWindow().setTimeout(y,t.settleDelay):y()},a=htmx.config.globalViewTransitions;t.hasOwnProperty("transition")&&(a=t.transition);let l=i.contextElement||getDocument();if(a&&triggerEvent(l,"htmx:beforeTransition",i.eventInfo)&&typeof Promise!="undefined"&&document.startViewTransition){let c=new Promise(function(d,p){r=d,o=p}),u=s;s=function(){document.startViewTransition(function(){return u(),c})}}try{t!=null&&t.swapDelay&&t.swapDelay>0?getWindow().setTimeout(s,t.swapDelay):s()}catch(c){throw triggerErrorEvent(l,"htmx:swapError",i.eventInfo),maybeCall(o),c}}function handleTriggerHeader(n,e,t){let i=n.getResponseHeader(e);if(i.indexOf("{")===0){let r=parseJSON(i);for(let o in r)if(r.hasOwnProperty(o)){let s=r[o];isRawObject(s)?t=s.target!==void 0?s.target:t:s={value:s},triggerEvent(t,o,s)}}else{let r=i.split(",");for(let o=0;o0;){let s=e[0];if(s==="]"){if(i--,i===0){o===null&&(r=r+"true"),e.shift(),r+=")})";try{let a=maybeEval(n,function(){return Function(r)()},function(){return!0});return a.source=r,a}catch(a){return triggerErrorEvent(getDocument().body,"htmx:syntax:error",{error:a,source:r}),null}}}else s==="["&&i++;isPossibleRelativeReference(s,o,t)?r+="(("+t+"."+s+") ? ("+t+"."+s+") : (window."+s+"))":r=r+s,o=e.shift()}}}function consumeUntil(n,e){let t="";for(;n.length>0&&!e.test(n[0]);)t+=n.shift();return t}function consumeCSSSelector(n){let e;return n.length>0&&COMBINED_SELECTOR_START.test(n[0])?(n.shift(),e=consumeUntil(n,COMBINED_SELECTOR_END).trim(),n.shift()):e=consumeUntil(n,WHITESPACE_OR_COMMA),e}let INPUT_SELECTOR="input, textarea, select";function parseAndCacheTrigger(n,e,t){let i=[],r=tokenizeString(e);do{consumeUntil(r,NOT_WHITESPACE);let a=r.length,l=consumeUntil(r,/[,\[\s]/);if(l!=="")if(l==="every"){let c={trigger:"every"};consumeUntil(r,NOT_WHITESPACE),c.pollInterval=parseInterval(consumeUntil(r,/[,\[\s]/)),consumeUntil(r,NOT_WHITESPACE);var o=maybeGenerateConditional(n,r,"event");o&&(c.eventFilter=o),i.push(c)}else{let c={trigger:l};var o=maybeGenerateConditional(n,r,"event");for(o&&(c.eventFilter=o),consumeUntil(r,NOT_WHITESPACE);r.length>0&&r[0]!==",";){let d=r.shift();if(d==="changed")c.changed=!0;else if(d==="once")c.once=!0;else if(d==="consume")c.consume=!0;else if(d==="delay"&&r[0]===":")r.shift(),c.delay=parseInterval(consumeUntil(r,WHITESPACE_OR_COMMA));else if(d==="from"&&r[0]===":"){if(r.shift(),COMBINED_SELECTOR_START.test(r[0]))var s=consumeCSSSelector(r);else{var s=consumeUntil(r,WHITESPACE_OR_COMMA);if(s==="closest"||s==="find"||s==="next"||s==="previous"){r.shift();let y=consumeCSSSelector(r);y.length>0&&(s+=" "+y)}}c.from=s}else d==="target"&&r[0]===":"?(r.shift(),c.target=consumeCSSSelector(r)):d==="throttle"&&r[0]===":"?(r.shift(),c.throttle=parseInterval(consumeUntil(r,WHITESPACE_OR_COMMA))):d==="queue"&&r[0]===":"?(r.shift(),c.queue=consumeUntil(r,WHITESPACE_OR_COMMA)):d==="root"&&r[0]===":"?(r.shift(),c[d]=consumeCSSSelector(r)):d==="threshold"&&r[0]===":"?(r.shift(),c[d]=consumeUntil(r,WHITESPACE_OR_COMMA)):triggerErrorEvent(n,"htmx:syntax:error",{token:r.shift()});consumeUntil(r,NOT_WHITESPACE)}i.push(c)}r.length===a&&triggerErrorEvent(n,"htmx:syntax:error",{token:r.shift()}),consumeUntil(r,NOT_WHITESPACE)}while(r[0]===","&&r.shift());return t&&(t[e]=i),i}function getTriggerSpecs(n){let e=getAttributeValue(n,"hx-trigger"),t=[];if(e){let i=htmx.config.triggerSpecsCache;t=i&&i[e]||parseAndCacheTrigger(n,e,i)}return t.length>0?t:matches(n,"form")?[{trigger:"submit"}]:matches(n,'input[type="button"], input[type="submit"]')?[{trigger:"click"}]:matches(n,INPUT_SELECTOR)?[{trigger:"change"}]:[{trigger:"click"}]}function cancelPolling(n){getInternalData(n).cancelled=!0}function processPolling(n,e,t){let i=getInternalData(n);i.timeout=getWindow().setTimeout(function(){bodyContains(n)&&i.cancelled!==!0&&(maybeFilterEvent(t,n,makeEvent("hx:poll:trigger",{triggerSpec:t,target:n}))||e(n),processPolling(n,e,t))},t.pollInterval)}function isLocalLink(n){return location.hostname===n.hostname&&getRawAttribute(n,"href")&&getRawAttribute(n,"href").indexOf("#")!==0}function eltIsDisabled(n){return closest(n,htmx.config.disableSelector)}function boostElement(n,e,t){if(n instanceof HTMLAnchorElement&&isLocalLink(n)&&(n.target===""||n.target==="_self")||n.tagName==="FORM"&&String(getRawAttribute(n,"method")).toLowerCase()!=="dialog"){e.boosted=!0;let i,r;if(n.tagName==="A")i="get",r=getRawAttribute(n,"href");else{let o=getRawAttribute(n,"method");i=o?o.toLowerCase():"get",r=getRawAttribute(n,"action"),(r==null||r==="")&&(r=location.href),i==="get"&&r.includes("?")&&(r=r.replace(/\?[^#]+/,""))}t.forEach(function(o){addEventListener(n,function(s,a){let l=asElement(s);if(eltIsDisabled(l)){cleanUpElement(l);return}issueAjaxRequest(i,r,l,a)},e,o,!0)})}}function shouldCancel(n,e){if(n.type==="submit"&&e.tagName==="FORM")return!0;if(n.type==="click"){let t=e.closest('input[type="submit"], button');if(t&&t.form&&t.type==="submit")return!0;let i=e.closest("a"),r=/^#.+/;if(i&&i.href&&!r.test(i.getAttribute("href")))return!0}return!1}function ignoreBoostedAnchorCtrlClick(n,e){return getInternalData(n).boosted&&n instanceof HTMLAnchorElement&&e.type==="click"&&(e.ctrlKey||e.metaKey)}function maybeFilterEvent(n,e,t){let i=n.eventFilter;if(i)try{return i.call(e,t)!==!0}catch(r){let o=i.source;return triggerErrorEvent(getDocument().body,"htmx:eventFilter:error",{error:r,source:o}),!0}return!1}function addEventListener(n,e,t,i,r){let o=getInternalData(n),s;i.from?s=querySelectorAllExt(n,i.from):s=[n],i.changed&&("lastValue"in o||(o.lastValue=new WeakMap),s.forEach(function(a){o.lastValue.has(i)||o.lastValue.set(i,new WeakMap),o.lastValue.get(i).set(a,a.value)})),forEach(s,function(a){let l=function(c){if(!bodyContains(n)){a.removeEventListener(i.trigger,l);return}if(ignoreBoostedAnchorCtrlClick(n,c)||((r||shouldCancel(c,a))&&c.preventDefault(),maybeFilterEvent(i,n,c)))return;let u=getInternalData(c);if(u.triggerSpec=i,u.handledFor==null&&(u.handledFor=[]),u.handledFor.indexOf(n)<0){if(u.handledFor.push(n),i.consume&&c.stopPropagation(),i.target&&c.target&&!matches(asElement(c.target),i.target))return;if(i.once){if(o.triggeredOnce)return;o.triggeredOnce=!0}if(i.changed){let d=c.target,p=d.value,y=o.lastValue.get(i);if(y.has(d)&&y.get(d)===p)return;y.set(d,p)}if(o.delayed&&clearTimeout(o.delayed),o.throttle)return;i.throttle>0?o.throttle||(triggerEvent(n,"htmx:trigger"),e(n,c),o.throttle=getWindow().setTimeout(function(){o.throttle=null},i.throttle)):i.delay>0?o.delayed=getWindow().setTimeout(function(){triggerEvent(n,"htmx:trigger"),e(n,c)},i.delay):(triggerEvent(n,"htmx:trigger"),e(n,c))}};t.listenerInfos==null&&(t.listenerInfos=[]),t.listenerInfos.push({trigger:i.trigger,listener:l,on:a}),a.addEventListener(i.trigger,l)})}let windowIsScrolling=!1,scrollHandler=null;function initScrollHandler(){scrollHandler||(scrollHandler=function(){windowIsScrolling=!0},window.addEventListener("scroll",scrollHandler),window.addEventListener("resize",scrollHandler),setInterval(function(){windowIsScrolling&&(windowIsScrolling=!1,forEach(getDocument().querySelectorAll("[hx-trigger*='revealed'],[data-hx-trigger*='revealed']"),function(n){maybeReveal(n)}))},200))}function maybeReveal(n){!hasAttribute(n,"data-hx-revealed")&&isScrolledIntoView(n)&&(n.setAttribute("data-hx-revealed","true"),getInternalData(n).initHash?triggerEvent(n,"revealed"):n.addEventListener("htmx:afterProcessNode",function(){triggerEvent(n,"revealed")},{once:!0}))}function loadImmediately(n,e,t,i){let r=function(){t.loaded||(t.loaded=!0,triggerEvent(n,"htmx:trigger"),e(n))};i>0?getWindow().setTimeout(r,i):r()}function processVerbs(n,e,t){let i=!1;return forEach(VERBS,function(r){if(hasAttribute(n,"hx-"+r)){let o=getAttributeValue(n,"hx-"+r);i=!0,e.path=o,e.verb=r,t.forEach(function(s){addTriggerHandler(n,s,e,function(a,l){let c=asElement(a);if(eltIsDisabled(c)){cleanUpElement(c);return}issueAjaxRequest(r,o,c,l)})})}}),i}function addTriggerHandler(n,e,t,i){if(e.trigger==="revealed")initScrollHandler(),addEventListener(n,i,t,e),maybeReveal(asElement(n));else if(e.trigger==="intersect"){let r={};e.root&&(r.root=querySelectorExt(n,e.root)),e.threshold&&(r.threshold=parseFloat(e.threshold)),new IntersectionObserver(function(s){for(let a=0;a0?(t.polling=!0,processPolling(asElement(n),i,e)):addEventListener(n,i,t,e)}function shouldProcessHxOn(n){let e=asElement(n);if(!e)return!1;let t=e.attributes;for(let i=0;i", "+o).join(""))}else return[]}function maybeSetLastButtonClicked(n){let e=getTargetButton(n.target),t=getRelatedFormData(n);t&&(t.lastButtonClicked=e)}function maybeUnsetLastButtonClicked(n){let e=getRelatedFormData(n);e&&(e.lastButtonClicked=null)}function getTargetButton(n){return closest(asElement(n),"button, input[type='submit']")}function getRelatedForm(n){return n.form||closest(n,"form")}function getRelatedFormData(n){let e=getTargetButton(n.target);if(!e)return;let t=getRelatedForm(e);if(t)return getInternalData(t)}function initButtonTracking(n){n.addEventListener("click",maybeSetLastButtonClicked),n.addEventListener("focusin",maybeSetLastButtonClicked),n.addEventListener("focusout",maybeUnsetLastButtonClicked)}function addHxOnEventHandler(n,e,t){let i=getInternalData(n);Array.isArray(i.onHandlers)||(i.onHandlers=[]);let r,o=function(s){maybeEval(n,function(){eltIsDisabled(n)||(r||(r=new Function("event",t)),r.call(n,s))})};n.addEventListener(e,o),i.onHandlers.push({event:e,listener:o})}function processHxOnWildcard(n){deInitOnHandlers(n);for(let e=0;ehtmx.config.historyCacheSize;)o.shift();for(;o.length>0;)try{sessionStorage.setItem("htmx-history-cache",JSON.stringify(o));break}catch(a){triggerErrorEvent(getDocument().body,"htmx:historyCacheError",{cause:a,cache:o}),o.shift()}}function getCachedHistory(n){if(!canAccessLocalStorage())return null;n=normalizePath(n);let e=parseJSON(sessionStorage.getItem("htmx-history-cache"))||[];for(let t=0;t=200&&this.status<400?(i.response=this.response,triggerEvent(getDocument().body,"htmx:historyCacheMissLoad",i),swap(i.historyElt,i.response,t,{contextElement:i.historyElt,historyRequest:!0}),setCurrentPathForHistory(i.path),triggerEvent(getDocument().body,"htmx:historyRestore",{path:n,cacheMiss:!0,serverResponse:i.response})):triggerErrorEvent(getDocument().body,"htmx:historyCacheMissLoadError",i)},triggerEvent(getDocument().body,"htmx:historyCacheMiss",i)&&e.send()}function restoreHistory(n){saveCurrentPageToHistory(),n=n||location.pathname+location.search;let e=getCachedHistory(n);if(e){let t={swapStyle:"innerHTML",swapDelay:0,settleDelay:0,scroll:e.scroll},i={path:n,item:e,historyElt:getHistoryElement(),swapSpec:t};triggerEvent(getDocument().body,"htmx:historyCacheHit",i)&&(swap(i.historyElt,e.content,t,{contextElement:i.historyElt,title:e.title}),setCurrentPathForHistory(i.path),triggerEvent(getDocument().body,"htmx:historyRestore",i))}else htmx.config.refreshOnHistoryMiss?htmx.location.reload(!0):loadHistoryFromServer(n)}function addRequestIndicatorClasses(n){let e=findAttributeTargets(n,"hx-indicator");return e==null&&(e=[n]),forEach(e,function(t){let i=getInternalData(t);i.requestCount=(i.requestCount||0)+1,t.classList.add.call(t.classList,htmx.config.requestClass)}),e}function disableElements(n){let e=findAttributeTargets(n,"hx-disabled-elt");return e==null&&(e=[]),forEach(e,function(t){let i=getInternalData(t);i.requestCount=(i.requestCount||0)+1,t.setAttribute("disabled",""),t.setAttribute("data-disabled-by-htmx","")}),e}function removeRequestIndicators(n,e){forEach(n.concat(e),function(t){let i=getInternalData(t);i.requestCount=(i.requestCount||1)-1}),forEach(n,function(t){getInternalData(t).requestCount===0&&t.classList.remove.call(t.classList,htmx.config.requestClass)}),forEach(e,function(t){getInternalData(t).requestCount===0&&(t.removeAttribute("disabled"),t.removeAttribute("data-disabled-by-htmx"))})}function haveSeenNode(n,e){for(let t=0;te.indexOf(r)<0):i=i.filter(r=>r!==e),t.delete(n),forEach(i,r=>t.append(n,r))}}function getValueFromInput(n){return n instanceof HTMLSelectElement&&n.multiple?toArray(n.querySelectorAll("option:checked")).map(function(e){return e.value}):n instanceof HTMLInputElement&&n.files?toArray(n.files):n.value}function processInputValue(n,e,t,i,r){if(!(i==null||haveSeenNode(n,i))){if(n.push(i),shouldInclude(i)){let o=getRawAttribute(i,"name");addValueToFormData(o,getValueFromInput(i),e),r&&validateElement(i,t)}i instanceof HTMLFormElement&&(forEach(i.elements,function(o){n.indexOf(o)>=0?removeValueFromFormData(o.name,getValueFromInput(o),e):n.push(o),r&&validateElement(o,t)}),new FormData(i).forEach(function(o,s){o instanceof File&&o.name===""||addValueToFormData(s,o,e)}))}}function validateElement(n,e){let t=n;t.willValidate&&(triggerEvent(t,"htmx:validation:validate"),t.checkValidity()||(triggerEvent(t,"htmx:validation:failed",{message:t.validationMessage,validity:t.validity})&&!e.length&&htmx.config.reportValidityOfForms&&t.reportValidity(),e.push({elt:t,message:t.validationMessage,validity:t.validity})))}function overrideFormData(n,e){for(let t of e.keys())n.delete(t);return e.forEach(function(t,i){n.append(i,t)}),n}function getInputValues(n,e){let t=[],i=new FormData,r=new FormData,o=[],s=getInternalData(n);s.lastButtonClicked&&!bodyContains(s.lastButtonClicked)&&(s.lastButtonClicked=null);let a=n instanceof HTMLFormElement&&n.noValidate!==!0||getAttributeValue(n,"hx-validate")==="true";if(s.lastButtonClicked&&(a=a&&s.lastButtonClicked.formNoValidate!==!0),e!=="get"&&processInputValue(t,r,o,getRelatedForm(n),a),processInputValue(t,i,o,n,a),s.lastButtonClicked||n.tagName==="BUTTON"||n.tagName==="INPUT"&&getRawAttribute(n,"type")==="submit"){let c=s.lastButtonClicked||n,u=getRawAttribute(c,"name");addValueToFormData(u,c.value,r)}let l=findAttributeTargets(n,"hx-include");return forEach(l,function(c){processInputValue(t,i,o,asElement(c),a),matches(c,"form")||forEach(asParentNode(c).querySelectorAll(INPUT_SELECTOR),function(u){processInputValue(t,i,o,u,a)})}),overrideFormData(i,r),{errors:o,formData:i,values:formDataProxy(i)}}function appendParam(n,e,t){n!==""&&(n+="&"),String(t)==="[object Object]"&&(t=JSON.stringify(t));let i=encodeURIComponent(t);return n+=encodeURIComponent(e)+"="+i,n}function urlEncode(n){n=formDataFromObject(n);let e="";return n.forEach(function(t,i){e=appendParam(e,i,t)}),e}function getHeaders(n,e,t){let i={"HX-Request":"true","HX-Trigger":getRawAttribute(n,"id"),"HX-Trigger-Name":getRawAttribute(n,"name"),"HX-Target":getAttributeValue(e,"id"),"HX-Current-URL":location.href};return getValuesForElement(n,"hx-headers",!1,i),t!==void 0&&(i["HX-Prompt"]=t),getInternalData(n).boosted&&(i["HX-Boosted"]="true"),i}function filterValues(n,e){let t=getClosestAttributeValue(e,"hx-params");if(t){if(t==="none")return new FormData;if(t==="*")return n;if(t.indexOf("not ")===0)return forEach(t.slice(4).split(","),function(i){i=i.trim(),n.delete(i)}),n;{let i=new FormData;return forEach(t.split(","),function(r){r=r.trim(),n.has(r)&&n.getAll(r).forEach(function(o){i.append(r,o)})}),i}}else return n}function isAnchorLink(n){return!!getRawAttribute(n,"href")&&getRawAttribute(n,"href").indexOf("#")>=0}function getSwapSpecification(n,e){let t=e||getClosestAttributeValue(n,"hx-swap"),i={swapStyle:getInternalData(n).boosted?"innerHTML":htmx.config.defaultSwapStyle,swapDelay:htmx.config.defaultSwapDelay,settleDelay:htmx.config.defaultSettleDelay};if(htmx.config.scrollIntoViewOnBoost&&getInternalData(n).boosted&&!isAnchorLink(n)&&(i.show="top"),t){let s=splitOnWhitespace(t);if(s.length>0)for(let a=0;a0?r.join(":"):null;i.scroll=u,i.scrollTarget=o}else if(l.indexOf("show:")===0){var r=l.slice(5).split(":");let d=r.pop();var o=r.length>0?r.join(":"):null;i.show=d,i.showTarget=o}else if(l.indexOf("focus-scroll:")===0){let c=l.slice(13);i.focusScroll=c=="true"}else a==0?i.swapStyle=l:logError("Unknown modifier in hx-swap: "+l)}}return i}function usesFormData(n){return getClosestAttributeValue(n,"hx-encoding")==="multipart/form-data"||matches(n,"form")&&getRawAttribute(n,"enctype")==="multipart/form-data"}function encodeParamsForBody(n,e,t){let i=null;return withExtensions(e,function(r){i==null&&(i=r.encodeParameters(n,t,e))}),i!=null?i:usesFormData(e)?overrideFormData(new FormData,formDataFromObject(t)):urlEncode(t)}function makeSettleInfo(n){return{tasks:[],elts:[n]}}function updateScrollState(n,e){let t=n[0],i=n[n.length-1];if(e.scroll){var r=null;e.scrollTarget&&(r=asElement(querySelectorExt(t,e.scrollTarget))),e.scroll==="top"&&(t||r)&&(r=r||t,r.scrollTop=0),e.scroll==="bottom"&&(i||r)&&(r=r||i,r.scrollTop=r.scrollHeight),typeof e.scroll=="number"&&getWindow().setTimeout(function(){window.scrollTo(0,e.scroll)},0)}if(e.show){var r=null;if(e.showTarget){let s=e.showTarget;e.showTarget==="window"&&(s="body"),r=asElement(querySelectorExt(t,s))}e.show==="top"&&(t||r)&&(r=r||t,r.scrollIntoView({block:"start",behavior:htmx.config.scrollBehavior})),e.show==="bottom"&&(i||r)&&(r=r||i,r.scrollIntoView({block:"end",behavior:htmx.config.scrollBehavior}))}}function getValuesForElement(n,e,t,i,r){if(i==null&&(i={}),n==null)return i;let o=getAttributeValue(n,e);if(o){let s=o.trim(),a=t;if(s==="unset")return null;s.indexOf("javascript:")===0?(s=s.slice(11),a=!0):s.indexOf("js:")===0&&(s=s.slice(3),a=!0),s.indexOf("{")!==0&&(s="{"+s+"}");let l;a?l=maybeEval(n,function(){return r?Function("event","return ("+s+")").call(n,r):Function("return ("+s+")").call(n)},{}):l=parseJSON(s);for(let c in l)l.hasOwnProperty(c)&&i[c]==null&&(i[c]=l[c])}return getValuesForElement(asElement(parentElt(n)),e,t,i,r)}function maybeEval(n,e,t){return htmx.config.allowEval?e():(triggerErrorEvent(n,"htmx:evalDisallowedError"),t)}function getHXVarsForElement(n,e,t){return getValuesForElement(n,"hx-vars",!0,t,e)}function getHXValsForElement(n,e,t){return getValuesForElement(n,"hx-vals",!1,t,e)}function getExpressionVars(n,e){return mergeObjects(getHXVarsForElement(n,e),getHXValsForElement(n,e))}function safelySetHeaderValue(n,e,t){if(t!==null)try{n.setRequestHeader(e,t)}catch(i){n.setRequestHeader(e,encodeURIComponent(t)),n.setRequestHeader(e+"-URI-AutoEncoded","true")}}function getPathFromResponse(n){if(n.responseURL)try{let e=new URL(n.responseURL);return e.pathname+e.search}catch(e){triggerErrorEvent(getDocument().body,"htmx:badResponseUrl",{url:n.responseURL})}}function hasHeader(n,e){return e.test(n.getAllResponseHeaders())}function ajaxHelper(n,e,t){if(n=n.toLowerCase(),t){if(t instanceof Element||typeof t=="string")return issueAjaxRequest(n,e,null,null,{targetOverride:resolveTarget(t)||DUMMY_ELT,returnPromise:!0});{let i=resolveTarget(t.target);return(t.target&&!i||t.source&&!i&&!resolveTarget(t.source))&&(i=DUMMY_ELT),issueAjaxRequest(n,e,resolveTarget(t.source),t.event,{handler:t.handler,headers:t.headers,values:t.values,targetOverride:i,swapOverride:t.swap,select:t.select,returnPromise:!0,push:t.push,replace:t.replace,selectOOB:t.selectOOB})}}else return issueAjaxRequest(n,e,null,null,{returnPromise:!0})}function hierarchyForElt(n){let e=[];for(;n;)e.push(n),n=n.parentElement;return e}function verifyPath(n,e,t){let i=new URL(e,location.protocol!=="about:"?location.href:window.origin),o=(location.protocol!=="about:"?location.origin:window.origin)===i.origin;return htmx.config.selfRequestsOnly&&!o?!1:triggerEvent(n,"htmx:validateUrl",mergeObjects({url:i,sameHost:o},t))}function formDataFromObject(n){if(n instanceof FormData)return n;let e=new FormData;for(let t in n)n.hasOwnProperty(t)&&(n[t]&&typeof n[t].forEach=="function"?n[t].forEach(function(i){e.append(t,i)}):typeof n[t]=="object"&&!(n[t]instanceof Blob)?e.append(t,JSON.stringify(n[t])):e.append(t,n[t]));return e}function formDataArrayProxy(n,e,t){return new Proxy(t,{get:function(i,r){return typeof r=="number"?i[r]:r==="length"?i.length:r==="push"?function(o){i.push(o),n.append(e,o)}:typeof i[r]=="function"?function(){i[r].apply(i,arguments),n.delete(e),i.forEach(function(o){n.append(e,o)})}:i[r]&&i[r].length===1?i[r][0]:i[r]},set:function(i,r,o){return i[r]=o,n.delete(e),i.forEach(function(s){n.append(e,s)}),!0}})}function formDataProxy(n){return new Proxy(n,{get:function(e,t){if(typeof t=="symbol"){let r=Reflect.get(e,t);return typeof r=="function"?function(){return r.apply(n,arguments)}:r}if(t==="toJSON")return()=>Object.fromEntries(n);if(t in e&&typeof e[t]=="function")return function(){return n[t].apply(n,arguments)};let i=n.getAll(t);if(i.length!==0)return i.length===1?i[0]:formDataArrayProxy(e,t,i)},set:function(e,t,i){return typeof t!="string"?!1:(e.delete(t),i&&typeof i.forEach=="function"?i.forEach(function(r){e.append(t,r)}):typeof i=="object"&&!(i instanceof Blob)?e.append(t,JSON.stringify(i)):e.append(t,i),!0)},deleteProperty:function(e,t){return typeof t=="string"&&e.delete(t),!0},ownKeys:function(e){return Reflect.ownKeys(Object.fromEntries(e))},getOwnPropertyDescriptor:function(e,t){return Reflect.getOwnPropertyDescriptor(Object.fromEntries(e),t)}})}function issueAjaxRequest(n,e,t,i,r,o){let s=null,a=null;if(r=r!=null?r:{},r.returnPromise&&typeof Promise!="undefined")var l=new Promise(function(U,Z){s=U,a=Z});t==null&&(t=getDocument().body);let c=r.handler||handleAjaxResponse,u=r.select||null;if(!bodyContains(t))return maybeCall(s),l;let d=r.targetOverride||asElement(getTarget(t));if(d==null||d==DUMMY_ELT)return triggerErrorEvent(t,"htmx:targetError",{target:getClosestAttributeValue(t,"hx-target")}),maybeCall(a),l;let p=getInternalData(t),y=p.lastButtonClicked;if(y){let U=getRawAttribute(y,"formaction");U!=null&&(e=U);let Z=getRawAttribute(y,"formmethod");if(Z!=null)if(VERBS.includes(Z.toLowerCase()))n=Z;else return maybeCall(s),l}let m=getClosestAttributeValue(t,"hx-confirm");if(o===void 0&&triggerEvent(t,"htmx:confirm",{target:d,elt:t,path:e,verb:n,triggeringEvent:i,etc:r,issueRequest:function(oe){return issueAjaxRequest(n,e,t,i,r,!!oe)},question:m})===!1)return maybeCall(s),l;let v=t,w=getClosestAttributeValue(t,"hx-sync"),T=null,_=!1;if(w){let U=w.split(":"),Z=U[0].trim();if(Z==="this"?v=findThisElement(t,"hx-sync"):v=asElement(querySelectorExt(t,Z)),w=(U[1]||"drop").trim(),p=getInternalData(v),w==="drop"&&p.xhr&&p.abortable!==!0)return maybeCall(s),l;if(w==="abort"){if(p.xhr)return maybeCall(s),l;_=!0}else w==="replace"?triggerEvent(v,"htmx:abort"):w.indexOf("queue")===0&&(T=(w.split(" ")[1]||"last").trim())}if(p.xhr)if(p.abortable)triggerEvent(v,"htmx:abort");else{if(T==null){if(i){let U=getInternalData(i);U&&U.triggerSpec&&U.triggerSpec.queue&&(T=U.triggerSpec.queue)}T==null&&(T="last")}return p.queuedRequests==null&&(p.queuedRequests=[]),T==="first"&&p.queuedRequests.length===0?p.queuedRequests.push(function(){issueAjaxRequest(n,e,t,i,r)}):T==="all"?p.queuedRequests.push(function(){issueAjaxRequest(n,e,t,i,r)}):T==="last"&&(p.queuedRequests=[],p.queuedRequests.push(function(){issueAjaxRequest(n,e,t,i,r)})),maybeCall(s),l}let S=new XMLHttpRequest;p.xhr=S,p.abortable=_;let A=function(){p.xhr=null,p.abortable=!1,p.queuedRequests!=null&&p.queuedRequests.length>0&&p.queuedRequests.shift()()},K=getClosestAttributeValue(t,"hx-prompt");if(K){var z=prompt(K);if(z===null||!triggerEvent(t,"htmx:prompt",{prompt:z,target:d}))return maybeCall(s),A(),l}if(m&&!o&&!confirm(m))return maybeCall(s),A(),l;let L=getHeaders(t,d,z);n!=="get"&&!usesFormData(t)&&(L["Content-Type"]="application/x-www-form-urlencoded"),r.headers&&(L=mergeObjects(L,r.headers));let I=getInputValues(t,n),N=I.errors,Y=I.formData;r.values&&overrideFormData(Y,formDataFromObject(r.values));let $=formDataFromObject(getExpressionVars(t,i)),ie=overrideFormData(Y,$),J=filterValues(ie,t);htmx.config.getCacheBusterParam&&n==="get"&&J.set("org.htmx.cache-buster",getRawAttribute(d,"id")||"true"),(e==null||e==="")&&(e=location.href);let Te=getValuesForElement(t,"hx-request"),Ce=getInternalData(t).boosted,se=htmx.config.methodsThatUseUrlParams.indexOf(n)>=0,ne={boosted:Ce,useUrlParams:se,formData:J,parameters:formDataProxy(J),unfilteredFormData:ie,unfilteredParameters:formDataProxy(ie),headers:L,elt:t,target:d,verb:n,errors:N,withCredentials:r.credentials||Te.credentials||htmx.config.withCredentials,timeout:r.timeout||Te.timeout||htmx.config.timeout,path:e,triggeringEvent:i};if(!triggerEvent(t,"htmx:configRequest",ne))return maybeCall(s),A(),l;if(e=ne.path,n=ne.verb,L=ne.headers,J=formDataFromObject(ne.parameters),N=ne.errors,se=ne.useUrlParams,N&&N.length>0)return triggerEvent(t,"htmx:validation:halted",ne),maybeCall(s),A(),l;let qe=e.split("#"),Re=qe[0],W=qe[1],M=e;if(se&&(M=Re,!J.keys().next().done&&(M.indexOf("?")<0?M+="?":M+="&",M+=urlEncode(J),W&&(M+="#"+W))),!verifyPath(t,M,ne))return triggerErrorEvent(t,"htmx:invalidPath",ne),maybeCall(a),A(),l;if(S.open(n.toUpperCase(),M,!0),S.overrideMimeType("text/html"),S.withCredentials=ne.withCredentials,S.timeout=ne.timeout,!Te.noHeaders){for(let U in L)if(L.hasOwnProperty(U)){let Z=L[U];safelySetHeaderValue(S,U,Z)}}let D={xhr:S,target:d,requestConfig:ne,etc:r,boosted:Ce,select:u,pathInfo:{requestPath:e,finalRequestPath:M,responsePath:null,anchor:W}};if(S.onload=function(){try{let U=hierarchyForElt(t);if(D.pathInfo.responsePath=getPathFromResponse(S),c(t,D),D.keepIndicators!==!0&&removeRequestIndicators(B,V),triggerEvent(t,"htmx:afterRequest",D),triggerEvent(t,"htmx:afterOnLoad",D),!bodyContains(t)){let Z=null;for(;U.length>0&&Z==null;){let oe=U.shift();bodyContains(oe)&&(Z=oe)}Z&&(triggerEvent(Z,"htmx:afterRequest",D),triggerEvent(Z,"htmx:afterOnLoad",D))}maybeCall(s)}catch(U){throw triggerErrorEvent(t,"htmx:onLoadError",mergeObjects({error:U},D)),U}finally{A()}},S.onerror=function(){removeRequestIndicators(B,V),triggerErrorEvent(t,"htmx:afterRequest",D),triggerErrorEvent(t,"htmx:sendError",D),maybeCall(a),A()},S.onabort=function(){removeRequestIndicators(B,V),triggerErrorEvent(t,"htmx:afterRequest",D),triggerErrorEvent(t,"htmx:sendAbort",D),maybeCall(a),A()},S.ontimeout=function(){removeRequestIndicators(B,V),triggerErrorEvent(t,"htmx:afterRequest",D),triggerErrorEvent(t,"htmx:timeout",D),maybeCall(a),A()},!triggerEvent(t,"htmx:beforeRequest",D))return maybeCall(s),A(),l;var B=addRequestIndicatorClasses(t),V=disableElements(t);forEach(["loadstart","loadend","progress","abort"],function(U){forEach([S,S.upload],function(Z){Z.addEventListener(U,function(oe){triggerEvent(t,"htmx:xhr:"+U,{lengthComputable:oe.lengthComputable,loaded:oe.loaded,total:oe.total})})})}),triggerEvent(t,"htmx:beforeSend",D);let q=se?null:encodeParamsForBody(S,t,J);return S.send(q),l}function determineHistoryUpdates(n,e){let t=e.xhr,i=null,r=null;if(hasHeader(t,/HX-Push:/i)?(i=t.getResponseHeader("HX-Push"),r="push"):hasHeader(t,/HX-Push-Url:/i)?(i=t.getResponseHeader("HX-Push-Url"),r="push"):hasHeader(t,/HX-Replace-Url:/i)&&(i=t.getResponseHeader("HX-Replace-Url"),r="replace"),i)return i==="false"?{}:{type:r,path:i};let o=e.pathInfo.finalRequestPath,s=e.pathInfo.responsePath,a=e.etc.push||getClosestAttributeValue(n,"hx-push-url"),l=e.etc.replace||getClosestAttributeValue(n,"hx-replace-url"),c=getInternalData(n).boosted,u=null,d=null;return a?(u="push",d=a):l?(u="replace",d=l):c&&(u="push",d=s||o),d?d==="false"?{}:(d==="true"&&(d=s||o),e.pathInfo.anchor&&d.indexOf("#")===-1&&(d=d+"#"+e.pathInfo.anchor),{type:u,path:d}):{}}function codeMatches(n,e){var t=new RegExp(n.code);return t.test(e.toString(10))}function resolveResponseHandling(n){for(var e=0;e.${e}{opacity:0;visibility: hidden} .${t} .${e}, .${t}.${e}{opacity:1;visibility: visible;transition: opacity 200ms ease-in}`)}}function getMetaConfig(){let n=getDocument().querySelector('meta[name="htmx-config"]');return n?parseJSON(n.content):null}function mergeMetaConfig(){let n=getMetaConfig();n&&(htmx.config=mergeObjects(htmx.config,n))}return ready(function(){mergeMetaConfig(),insertIndicatorStyles();let n=getDocument().body;processNode(n);let e=getDocument().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");n.addEventListener("htmx:abort",function(i){let r=i.detail.elt||i.target,o=getInternalData(r);o&&o.xhr&&o.xhr.abort()});let t=window.onpopstate?window.onpopstate.bind(window):null;window.onpopstate=function(i){i.state&&i.state.htmx?(restoreHistory(),forEach(e,function(r){triggerEvent(r,"htmx:restored",{document:getDocument(),triggerEvent})})):t&&t(i)},getWindow().setTimeout(function(){triggerEvent(n,"htmx:load",{}),n=null},0)}),htmx})(),x_=Kp;function ko(n,e){n.split(/\s+/).forEach(t=>{e(t)})}var oi=class{constructor(){this._events={}}on(e,t){ko(e,i=>{let r=this._events[i]||[];r.push(t),this._events[i]=r})}off(e,t){var i=arguments.length;if(i===0){this._events={};return}ko(e,r=>{if(i===1){delete this._events[r];return}let o=this._events[r];o!==void 0&&(o.splice(o.indexOf(t),1),this._events[r]=o)})}trigger(e,...t){var i=this;ko(e,r=>{let o=i._events[r];o!==void 0&&o.forEach(s=>{s.apply(i,t)})})}};function No(n){return n.plugins={},class extends n{constructor(){super(...arguments),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(e,t){n.plugins[e]={name:e,fn:t}}initializePlugins(e){var t,i;let r=this,o=[];if(Array.isArray(e))e.forEach(s=>{typeof s=="string"?o.push(s):(r.plugins.settings[s.name]=s.options,o.push(s.name))});else if(e)for(t in e)e.hasOwnProperty(t)&&(r.plugins.settings[t]=e[t],o.push(t));for(;i=o.shift();)r.require(i)}loadPlugin(e){var t=this,i=t.plugins,r=n.plugins[e];if(!n.plugins.hasOwnProperty(e))throw new Error('Unable to find "'+e+'" plugin');i.requested[e]=!0,i.loaded[e]=r.fn.apply(t,[t.plugins.settings[e]||{}]),i.names.push(e)}require(e){var t=this,i=t.plugins;if(!t.plugins.loaded.hasOwnProperty(e)){if(i.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")');t.loadPlugin(e)}return i.loaded[e]}}}var si=n=>(n=n.filter(Boolean),n.length<2?n[0]||"":Qp(n)==1?"["+n.join("")+"]":"(?:"+n.join("|")+")"),Ho=n=>{if(!Xp(n))return n.join("");let e="",t=0,i=()=>{t>1&&(e+="{"+t+"}")};return n.forEach((r,o)=>{if(r===n[o-1]){t++;return}i(),e+=r,t=1}),i(),e},Ro=n=>{let e=Array.from(n);return si(e)},Xp=n=>new Set(n).size!==n.length,Lt=n=>(n+"").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu,"\\$1"),Qp=n=>n.reduce((e,t)=>Math.max(e,Jp(t)),0),Jp=n=>Array.from(n).length;var Io=n=>{if(n.length===1)return[[n]];let e=[],t=n.substring(1);return Io(t).forEach(function(r){let o=r.slice(0);o[0]=n.charAt(0)+o[0],e.push(o),o=r.slice(0),o.unshift(n.charAt(0)),e.push(o)}),e};var Zp=[[0,65535]],em="[\u0300-\u036F\xB7\u02BE\u02BC]",or,Ba,tm=3,Po={},Pa={"/":"\u2044\u2215",0:"\u07C0",a:"\u2C65\u0250\u0251",aa:"\uA733",ae:"\xE6\u01FD\u01E3",ao:"\uA735",au:"\uA737",av:"\uA739\uA73B",ay:"\uA73D",b:"\u0180\u0253\u0183",c:"\uA73F\u0188\u023C\u2184",d:"\u0111\u0257\u0256\u1D05\u018C\uABB7\u0501\u0266",e:"\u025B\u01DD\u1D07\u0247",f:"\uA77C\u0192",g:"\u01E5\u0260\uA7A1\u1D79\uA77F\u0262",h:"\u0127\u2C68\u2C76\u0265",i:"\u0268\u0131",j:"\u0249\u0237",k:"\u0199\u2C6A\uA741\uA743\uA745\uA7A3",l:"\u0142\u019A\u026B\u2C61\uA749\uA747\uA781\u026D",m:"\u0271\u026F\u03FB",n:"\uA7A5\u019E\u0272\uA791\u1D0E\u043B\u0509",o:"\xF8\u01FF\u0254\u0275\uA74B\uA74D\u1D11",oe:"\u0153",oi:"\u01A3",oo:"\uA74F",ou:"\u0223",p:"\u01A5\u1D7D\uA751\uA753\uA755\u03C1",q:"\uA757\uA759\u024B",r:"\u024D\u027D\uA75B\uA7A7\uA783",s:"\xDF\u023F\uA7A9\uA785\u0282",t:"\u0167\u01AD\u0288\u2C66\uA787",th:"\xFE",tz:"\uA729",u:"\u0289",v:"\u028B\uA75F\u028C",vy:"\uA761",w:"\u2C73",y:"\u01B4\u024F\u1EFF",z:"\u01B6\u0225\u0240\u2C6C\uA763",hv:"\u0195"};for(let n in Pa){let e=Pa[n]||"";for(let t=0;t{or===void 0&&(or=am(n||Zp))},Fa=(n,e="NFKD")=>n.normalize(e),ai=n=>Array.from(n).reduce((e,t)=>e+rm(t),""),rm=n=>(n=Fa(n).toLowerCase().replace(nm,e=>Po[e]||""),Fa(n,"NFC"));function*om(n){for(let[e,t]of n)for(let i=e;i<=t;i++){let r=String.fromCharCode(i),o=ai(r);o!=r.toLowerCase()&&(o.length>tm||o.length!=0&&(yield{folded:o,composed:r,code_point:i}))}}var sm=n=>{let e={},t=(i,r)=>{let o=e[i]||new Set,s=new RegExp("^"+Ro(o)+"$","iu");r.match(s)||(o.add(Lt(r)),e[i]=o)};for(let i of om(n))t(i.folded,i.folded),t(i.folded,i.composed);return e},am=n=>{let e=sm(n),t={},i=[];for(let o in e){let s=e[o];s&&(t[o]=Ro(s)),o.length>1&&i.push(Lt(o))}i.sort((o,s)=>s.length-o.length);let r=si(i);return Ba=new RegExp("^"+r,"u"),t},lm=(n,e=1)=>{let t=0;return n=n.map(i=>(or[i]&&(t+=i.length),or[i]||i)),t>=e?Ho(n):""},cm=(n,e=1)=>(e=Math.max(e,n.length-1),si(Io(n).map(t=>lm(t,e)))),$a=(n,e=!0)=>{let t=n.length>1?1:0;return si(n.map(i=>{let r=[],o=e?i.length():i.length()-1;for(let s=0;s{for(let t of e){if(t.start!=n.start||t.end!=n.end||t.substrs.join("")!==n.substrs.join(""))continue;let i=n.parts,r=s=>{for(let a of i){if(a.start===s.start&&a.substr===s.substr)return!1;if(!(s.length==1||a.length==1)&&(s.starta.start||a.starts.start))return!0}return!1};if(!(t.parts.filter(r).length>0))return!0}return!1},sr=class n{constructor(){ee(this,"parts");ee(this,"substrs");ee(this,"start");ee(this,"end");this.parts=[],this.substrs=[],this.start=0,this.end=0}add(e){e&&(this.parts.push(e),this.substrs.push(e.substr),this.start=Math.min(e.start,this.start),this.end=Math.max(e.end,this.end))}last(){return this.parts[this.parts.length-1]}length(){return this.parts.length}clone(e,t){let i=new n,r=JSON.parse(JSON.stringify(this.parts)),o=r.pop();for(let l of r)i.add(l);let s=t.substr.substring(0,e-o.start),a=s.length;return i.add({start:o.start,end:o.start+a,length:a,substr:s}),i}},Va=n=>{im(),n=ai(n);let e="",t=[new sr];for(let i=0;i0){l=l.sort((u,d)=>u.length()-d.length());for(let u of l)um(u,t)||t.push(u);continue}if(i>0&&c.size==1&&!c.has("3")){e+=$a(t,!1);let u=new sr,d=t[0];d&&u.add(d.last()),t=[u]}}return e+=$a(t,!0),e};var za=(n,e)=>{if(n)return n[e]},ja=(n,e)=>{if(n){for(var t,i=e.split(".");(t=i.shift())&&(n=n[t]););return n}},ar=(n,e,t)=>{var i,r;return!n||(n=n+"",e.regex==null)||(r=n.search(e.regex),r===-1)?0:(i=e.string.length/n.length,r===0&&(i+=.5),i*t)},lr=(n,e)=>{var t=n[e];if(typeof t=="function")return t;t&&!Array.isArray(t)&&(n[e]=[t])},li=(n,e)=>{if(Array.isArray(n))n.forEach(e);else for(var t in n)n.hasOwnProperty(t)&&e(n[t],t)},Wa=(n,e)=>typeof n=="number"&&typeof e=="number"?n>e?1:ne?1:e>n?-1:0);var cr=class{constructor(e,t){ee(this,"items");ee(this,"settings");this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,t,i){if(!e||!e.length)return[];let r=[],o=e.split(/\s+/);var s;return i&&(s=new RegExp("^("+Object.keys(i).map(Lt).join("|")+"):(.*)$")),o.forEach(a=>{let l,c=null,u=null;s&&(l=a.match(s))&&(c=l[1],a=l[2]),a.length>0&&(this.settings.diacritics?u=Va(a)||null:u=Lt(a),u&&t&&(u="\\b"+u)),r.push({string:a,regex:u?new RegExp(u,"iu"):null,field:c})}),r}getScoreFunction(e,t){var i=this.prepareSearch(e,t);return this._getScoreFunction(i)}_getScoreFunction(e){let t=e.tokens,i=t.length;if(!i)return function(){return 0};let r=e.options.fields,o=e.weights,s=r.length,a=e.getAttrFn;if(!s)return function(){return 1};let l=(function(){return s===1?function(c,u){let d=r[0].field;return ar(a(u,d),c,o[d]||1)}:function(c,u){var d=0;if(c.field){let p=a(u,c.field);!c.regex&&p?d+=1/s:d+=ar(p,c,1)}else li(o,(p,y)=>{d+=ar(a(u,y),c,p)});return d/s}})();return i===1?function(c){return l(t[0],c)}:e.options.conjunction==="and"?function(c){var u,d=0;for(let p of t){if(u=l(p,c),u<=0)return 0;d+=u}return d/i}:function(c){var u=0;return li(t,d=>{u+=l(d,c)}),u/i}}getSortFunction(e,t){var i=this.prepareSearch(e,t);return this._getSortFunction(i)}_getSortFunction(e){var t,i=[];let r=this,o=e.options,s=!e.query&&o.sort_empty?o.sort_empty:o.sort;if(typeof s=="function")return s.bind(this);let a=function(c,u){return c==="$score"?u.score:e.getAttrFn(r.items[u.id],c)};if(s)for(let c of s)(e.query||c.field!=="$score")&&i.push(c);if(e.query){t=!0;for(let c of i)if(c.field==="$score"){t=!1;break}t&&i.unshift({field:"$score",direction:"desc"})}else i=i.filter(c=>c.field!=="$score");return i.length?function(c,u){var d,p;for(let y of i)if(p=y.field,d=(y.direction==="desc"?-1:1)*Wa(a(p,c),a(p,u)),d)return d;return 0}:null}prepareSearch(e,t){let i={};var r=Object.assign({},t);if(lr(r,"sort"),lr(r,"sort_empty"),r.fields){lr(r,"fields");let o=[];r.fields.forEach(s=>{typeof s=="string"&&(s={field:s,weight:1}),o.push(s),i[s.field]="weight"in s?s.weight:1}),r.fields=o}return{options:r,query:e.toLowerCase().trim(),tokens:this.tokenize(e,r.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:r.nesting?ja:za}}search(e,t){var i=this,r,o;o=this.prepareSearch(e,t),t=o.options,e=o.query;let s=t.score||i._getScoreFunction(o);e.length?li(i.items,(l,c)=>{r=s(l),(t.filter===!1||r>0)&&o.items.push({score:r,id:c})}):li(i.items,(l,c)=>{o.items.push({score:1,id:c})});let a=i._getSortFunction(o);return a&&o.items.sort(a),o.total=o.items.length,typeof t.limit=="number"&&(o.items=o.items.slice(0,t.limit)),o}};var We=n=>typeof n=="undefined"||n===null?null:ci(n),ci=n=>typeof n=="boolean"?n?"1":"0":n+"",ur=n=>(n+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,"""),qa=(n,e)=>e>0?window.setTimeout(n,e):(n.call(null),null),Ua=(n,e)=>{var t;return function(i,r){var o=this;t&&(o.loading=Math.max(o.loading-1,0),clearTimeout(t)),t=setTimeout(function(){t=null,o.loadedSearches[i]=!0,n.call(o,i,r)},e)}},Fo=(n,e,t)=>{var i,r=n.trigger,o={};n.trigger=function(){var s=arguments[0];if(e.indexOf(s)!==-1)o[s]=arguments;else return r.apply(n,arguments)},t.apply(n,[]),n.trigger=r;for(i of e)i in o&&r.apply(n,o[i])},Ya=n=>({start:n.selectionStart||0,length:(n.selectionEnd||0)-(n.selectionStart||0)}),fe=(n,e=!1)=>{n&&(n.preventDefault(),e&&n.stopPropagation())},Se=(n,e,t,i)=>{n.addEventListener(e,t,i)},Mt=(n,e)=>{if(!e||!e[n])return!1;var t=(e.altKey?1:0)+(e.ctrlKey?1:0)+(e.shiftKey?1:0)+(e.metaKey?1:0);return t===1},dr=(n,e)=>{let t=n.getAttribute("id");return t||(n.setAttribute("id",e),e)},$o=n=>n.replace(/[\\"']/g,"\\$&"),kt=(n,e)=>{e&&n.append(e)},ge=(n,e)=>{if(Array.isArray(n))n.forEach(e);else for(var t in n)n.hasOwnProperty(t)&&e(n[t],t)};var nt=n=>{if(n.jquery)return n[0];if(n instanceof HTMLElement)return n;if(Bo(n)){var e=document.createElement("template");return e.innerHTML=n.trim(),e.content.firstChild}return document.querySelector(n)},Bo=n=>typeof n=="string"&&n.indexOf("<")>-1,Ga=n=>n.replace(/['"\\]/g,"\\$&"),fr=(n,e)=>{var t=document.createEvent("HTMLEvents");t.initEvent(e,!0,!1),n.dispatchEvent(t)},ui=(n,e)=>{Object.assign(n.style,e)},Pe=(n,...e)=>{var t=Ka(e);n=Xa(n),n.map(i=>{t.map(r=>{i.classList.add(r)})})},gt=(n,...e)=>{var t=Ka(e);n=Xa(n),n.map(i=>{t.map(r=>{i.classList.remove(r)})})},Ka=n=>{var e=[];return ge(n,t=>{typeof t=="string"&&(t=t.trim().split(/[\t\n\f\r\s]/)),Array.isArray(t)&&(e=e.concat(t))}),e.filter(Boolean)},Xa=n=>(Array.isArray(n)||(n=[n]),n),hr=(n,e,t)=>{if(!(t&&!t.contains(n)))for(;n&&n.matches;){if(n.matches(e))return n;n=n.parentNode}},Vo=(n,e=0)=>e>0?n[n.length-1]:n[0],Qa=n=>Object.keys(n).length===0,zo=(n,e)=>{if(!n)return-1;e=e||n.nodeName;for(var t=0;n=n.previousElementSibling;)n.matches(e)&&t++;return t},le=(n,e)=>{ge(e,(t,i)=>{t==null?n.removeAttribute(i):n.setAttribute(i,""+t)})},di=(n,e)=>{n.parentNode&&n.parentNode.replaceChild(e,n)};var Ja=(n,e)=>{if(e===null)return;if(typeof e=="string"){if(!e.length)return;e=new RegExp(e,"i")}let t=o=>{var s=o.data.match(e);if(s&&o.data.length>0){var a=document.createElement("span");a.className="highlight";var l=o.splitText(s.index);l.splitText(s[0].length);var c=l.cloneNode(!0);return a.appendChild(c),di(l,a),1}return 0},i=o=>{o.nodeType===1&&o.childNodes&&!/(script|style)/i.test(o.tagName)&&(o.className!=="highlight"||o.tagName!=="SPAN")&&Array.from(o.childNodes).forEach(s=>{r(s)})},r=o=>o.nodeType===3?t(o):(i(o),0);r(n)},Za=n=>{var e=n.querySelectorAll("span.highlight");Array.prototype.forEach.call(e,function(t){var i=t.parentNode;i.replaceChild(t.firstChild,t),i.normalize()})};var dm=typeof navigator=="undefined"?!1:/Mac/.test(navigator.userAgent),fi=dm?"metaKey":"ctrlKey";var jo={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:null,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,shouldOpen:null,maxOptions:50,maxItems:null,hideSelected:null,duplicates:!1,addPrecedence:!1,selectOnTab:!1,preload:null,allowEmptyOption:!1,refreshThrottle:300,loadThrottle:300,loadingClass:"loading",dataAttr:null,optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"ts-wrapper",controlClass:"ts-control",dropdownClass:"ts-dropdown",dropdownContentClass:"ts-dropdown-content",itemClass:"item",optionClass:"option",dropdownParent:null,controlInput:'',copyClassesToDropdown:!1,placeholder:null,hidePlaceholder:null,shouldLoad:function(n){return n.length>0},render:{}};function pr(n,e){var t=Object.assign({},jo,e),i=t.dataAttr,r=t.labelField,o=t.valueField,s=t.disabledField,a=t.optgroupField,l=t.optgroupLabelField,c=t.optgroupValueField,u=n.tagName.toLowerCase(),d=n.getAttribute("placeholder")||n.getAttribute("data-placeholder");if(!d&&!t.allowEmptyOption){let v=n.querySelector('option[value=""]');v&&(d=v.textContent)}var p={placeholder:d,options:[],optgroups:[],items:[],maxItems:null},y=()=>{var v,w=p.options,T={},_=1;let S=0;var A=L=>{var I=Object.assign({},L.dataset),N=i&&I[i];return typeof N=="string"&&N.length&&(I=Object.assign(I,JSON.parse(N))),I},K=(L,I)=>{var N=We(L.value);if(N!=null&&!(!N&&!t.allowEmptyOption)){if(T.hasOwnProperty(N)){if(I){var Y=T[N][a];Y?Array.isArray(Y)?Y.push(I):T[N][a]=[Y,I]:T[N][a]=I}}else{var $=A(L);$[r]=$[r]||L.textContent,$[o]=$[o]||N,$[s]=$[s]||L.disabled,$[a]=$[a]||I,$.$option=L,$.$order=$.$order||++S,T[N]=$,w.push($)}L.selected&&p.items.push(N)}},z=L=>{var I,N;N=A(L),N[l]=N[l]||L.getAttribute("label")||"",N[c]=N[c]||_++,N[s]=N[s]||L.disabled,N.$order=N.$order||++S,p.optgroups.push(N),I=N[c],ge(L.children,Y=>{K(Y,I)})};p.maxItems=n.hasAttribute("multiple")?null:1,ge(n.children,L=>{v=L.tagName.toLowerCase(),v==="optgroup"?z(L):v==="option"&&K(L)})},m=()=>{let v=n.getAttribute(i);if(v)p.options=JSON.parse(v),ge(p.options,T=>{p.items.push(T[o])});else{var w=n.value.trim()||"";if(!t.allowEmptyOption&&!w.length)return;let T=w.split(t.delimiter);ge(T,_=>{let S={};S[r]=_,S[o]=_,p.options.push(S)}),p.items=T}};return u==="select"?y():m(),Object.assign({},jo,p,e)}var nl=0,_e=class extends No(oi){constructor(e,t){super(),this.order=0,this.isOpen=!1,this.isDisabled=!1,this.isReadOnly=!1,this.isInvalid=!1,this.isValid=!0,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.ignoreHover=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],this.refreshTimeout=null,nl++;var i,r=nt(e);if(r.tomselect)throw new Error("Tom Select already initialized on this element");r.tomselect=this;var o=window.getComputedStyle&&window.getComputedStyle(r,null);i=o.getPropertyValue("direction");let s=pr(r,t);this.settings=s,this.input=r,this.tabIndex=r.tabIndex||0,this.is_select_tag=r.tagName.toLowerCase()==="select",this.rtl=/rtl/i.test(i),this.inputId=dr(r,"tomselect-"+nl),this.isRequired=r.required,this.sifter=new cr(this.options,{diacritics:s.diacritics}),s.mode=s.mode||(s.maxItems===1?"single":"multi"),typeof s.hideSelected!="boolean"&&(s.hideSelected=s.mode==="multi"),typeof s.hidePlaceholder!="boolean"&&(s.hidePlaceholder=s.mode!=="multi");var a=s.createFilter;typeof a!="function"&&(typeof a=="string"&&(a=new RegExp(a)),a instanceof RegExp?s.createFilter=w=>a.test(w):s.createFilter=w=>this.settings.duplicates||!this.options[w]),this.initializePlugins(s.plugins),this.setupCallbacks(),this.setupTemplates();let l=nt("
"),c=nt("
"),u=this._render("dropdown"),d=nt('
'),p=this.input.getAttribute("class")||"",y=s.mode;var m;if(Pe(l,s.wrapperClass,p,y),Pe(c,s.controlClass),kt(l,c),Pe(u,s.dropdownClass,y),s.copyClassesToDropdown&&Pe(u,p),Pe(d,s.dropdownContentClass),kt(u,d),nt(s.dropdownParent||l).appendChild(u),Bo(s.controlInput)){m=nt(s.controlInput);var v=["autocorrect","autocapitalize","autocomplete","spellcheck"];ge(v,w=>{r.getAttribute(w)&&le(m,{[w]:r.getAttribute(w)})}),m.tabIndex=-1,c.appendChild(m),this.focus_node=m}else s.controlInput?(m=nt(s.controlInput),this.focus_node=m):(m=nt(""),this.focus_node=c);this.wrapper=l,this.dropdown=u,this.dropdown_content=d,this.control=c,this.control_input=m,this.setup()}setup(){let e=this,t=e.settings,i=e.control_input,r=e.dropdown,o=e.dropdown_content,s=e.wrapper,a=e.control,l=e.input,c=e.focus_node,u={passive:!0},d=e.inputId+"-ts-dropdown";le(o,{id:d}),le(c,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":d});let p=dr(c,e.inputId+"-ts-control"),y="label[for='"+Ga(e.inputId)+"']",m=document.querySelector(y),v=e.focus.bind(e);if(m){Se(m,"click",v),le(m,{for:p});let _=dr(m,e.inputId+"-ts-label");le(c,{"aria-labelledby":_}),le(o,{"aria-labelledby":_})}if(s.style.width=l.style.width,e.plugins.names.length){let _="plugin-"+e.plugins.names.join(" plugin-");Pe([s,r],_)}(t.maxItems===null||t.maxItems>1)&&e.is_select_tag&&le(l,{multiple:"multiple"}),t.placeholder&&le(i,{placeholder:t.placeholder}),!t.splitOn&&t.delimiter&&(t.splitOn=new RegExp("\\s*"+Lt(t.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=Ua(t.load,t.loadThrottle)),Se(r,"mousemove",()=>{e.ignoreHover=!1}),Se(r,"mouseenter",_=>{var S=hr(_.target,"[data-selectable]",r);S&&e.onOptionHover(_,S)},{capture:!0}),Se(r,"click",_=>{let S=hr(_.target,"[data-selectable]");S&&(e.onOptionSelect(_,S),fe(_,!0))}),Se(a,"click",_=>{var S=hr(_.target,"[data-ts-item]",a);if(S&&e.onItemSelect(_,S)){fe(_,!0);return}i.value==""&&(e.onClick(),fe(_,!0))}),Se(c,"keydown",_=>e.onKeyDown(_)),Se(i,"keypress",_=>e.onKeyPress(_)),Se(i,"input",_=>e.onInput(_)),Se(c,"blur",_=>e.onBlur(_)),Se(c,"focus",_=>e.onFocus(_)),Se(i,"paste",_=>e.onPaste(_));let w=_=>{let S=_.composedPath()[0];if(!s.contains(S)&&!r.contains(S)){e.isFocused&&e.blur(),e.inputState();return}S==i&&e.isOpen?_.stopPropagation():fe(_,!0)},T=()=>{e.isOpen&&e.positionDropdown()};Se(document,"mousedown",w),Se(window,"scroll",T,u),Se(window,"resize",T,u),this._destroy=()=>{document.removeEventListener("mousedown",w),window.removeEventListener("scroll",T),window.removeEventListener("resize",T),m&&m.removeEventListener("click",v)},this.revertSettings={innerHTML:l.innerHTML,tabIndex:l.tabIndex},l.tabIndex=-1,l.insertAdjacentElement("afterend",e.wrapper),e.sync(!1),t.items=[],delete t.optgroups,delete t.options,Se(l,"invalid",()=>{e.isValid&&(e.isValid=!1,e.isInvalid=!0,e.refreshState())}),e.updateOriginalInput(),e.refreshItems(),e.close(!1),e.inputState(),e.isSetup=!0,l.disabled?e.disable():l.readOnly?e.setReadOnly(!0):e.enable(),e.on("change",this.onChange),Pe(l,"tomselected","ts-hidden-accessible"),e.trigger("initialize"),t.preload===!0&&e.preload()}setupOptions(e=[],t=[]){this.addOptions(e),ge(t,i=>{this.registerOptionGroup(i)})}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,r={optgroup:o=>{let s=document.createElement("div");return s.className="optgroup",s.appendChild(o.options),s},optgroup_header:(o,s)=>'
'+s(o[i])+"
",option:(o,s)=>"
"+s(o[t])+"
",item:(o,s)=>"
"+s(o[t])+"
",option_create:(o,s)=>'
Add '+s(o.input)+"
",no_results:()=>'
No results found
',loading:()=>'
',not_loading:()=>{},dropdown:()=>"
"};e.settings.render=Object.assign({},r,e.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(e in i)t=this.settings[i[e]],t&&this.on(e,t)}sync(e=!0){let t=this,i=e?pr(t.input,{delimiter:t.settings.delimiter}):t.settings;t.setupOptions(i.options,i.optgroups),t.setValue(i.items||[],!0),t.lastQuery=null}onClick(){var e=this;if(e.activeItems.length>0){e.clearActiveItems(),e.focus();return}e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){fr(this.input,"input"),fr(this.input,"change")}onPaste(e){var t=this;if(t.isInputHidden||t.isLocked){fe(e);return}t.settings.splitOn&&setTimeout(()=>{var i=t.inputValue();if(i.match(t.settings.splitOn)){var r=i.trim().split(t.settings.splitOn);ge(r,o=>{We(o)&&(this.options[o]?t.addItem(o):t.createItem(o))})}},0)}onKeyPress(e){var t=this;if(t.isLocked){fe(e);return}var i=String.fromCharCode(e.keyCode||e.which);if(t.settings.create&&t.settings.mode==="multi"&&i===t.settings.delimiter){t.createItem(),fe(e);return}}onKeyDown(e){var t=this;if(t.ignoreHover=!0,t.isLocked){e.keyCode!==9&&fe(e);return}switch(e.keyCode){case 65:if(Mt(fi,e)&&t.control_input.value==""){fe(e),t.selectAll();return}break;case 27:t.isOpen&&(fe(e,!0),t.close()),t.clearActiveItems();return;case 40:if(!t.isOpen&&t.hasOptions)t.open();else if(t.activeOption){let i=t.getAdjacent(t.activeOption,1);i&&t.setActiveOption(i)}fe(e);return;case 38:if(t.activeOption){let i=t.getAdjacent(t.activeOption,-1);i&&t.setActiveOption(i)}fe(e);return;case 13:t.canSelect(t.activeOption)?(t.onOptionSelect(e,t.activeOption),fe(e)):t.settings.create&&t.createItem()?fe(e):document.activeElement==t.control_input&&t.isOpen&&fe(e);return;case 37:t.advanceSelection(-1,e);return;case 39:t.advanceSelection(1,e);return;case 9:t.settings.selectOnTab&&(t.canSelect(t.activeOption)&&(t.onOptionSelect(e,t.activeOption),fe(e)),t.settings.create&&t.createItem()&&fe(e));return;case 8:case 46:t.deleteSelection(e);return}t.isInputHidden&&!Mt(fi,e)&&fe(e)}onInput(e){if(this.isLocked)return;let t=this.inputValue();if(this.lastValue!==t){if(this.lastValue=t,t==""){this._onInput();return}this.refreshTimeout&&window.clearTimeout(this.refreshTimeout),this.refreshTimeout=qa(()=>{this.refreshTimeout=null,this._onInput()},this.settings.refreshThrottle)}}_onInput(){let e=this.lastValue;this.settings.shouldLoad.call(this,e)&&this.load(e),this.refreshOptions(),this.trigger("type",e)}onOptionHover(e,t){this.ignoreHover||this.setActiveOption(t,!1)}onFocus(e){var t=this,i=t.isFocused;if(t.isDisabled||t.isReadOnly){t.blur(),fe(e);return}t.ignoreFocus||(t.isFocused=!0,t.settings.preload==="focus"&&t.preload(),i||t.trigger("focus"),t.activeItems.length||(t.inputState(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(e){if(document.hasFocus()!==!1){var t=this;if(t.isFocused){t.isFocused=!1,t.ignoreFocus=!1;var i=()=>{t.close(),t.setActiveItem(),t.setCaret(t.items.length),t.trigger("blur")};t.settings.create&&t.settings.createOnBlur?t.createItem(null,i):i()}}}onOptionSelect(e,t){var i,r=this;t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?r.createItem(null,()=>{r.settings.closeAfterSelect&&r.close()}):(i=t.dataset.value,typeof i!="undefined"&&(r.lastQuery=null,r.addItem(i),r.settings.closeAfterSelect&&r.close(),!r.settings.hideSelected&&e.type&&/click/.test(e.type)&&r.setActiveOption(t))))}canSelect(e){return!!(this.isOpen&&e&&this.dropdown_content.contains(e))}onItemSelect(e,t){var i=this;return!i.isLocked&&i.settings.mode==="multi"?(fe(e),i.setActiveItem(t,e),!0):!1}canLoad(e){return!(!this.settings.load||this.loadedSearches.hasOwnProperty(e))}load(e){let t=this;if(!t.canLoad(e))return;Pe(t.wrapper,t.settings.loadingClass),t.loading++;let i=t.loadCallback.bind(t);t.settings.load.call(t,e,i)}loadCallback(e,t){let i=this;i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||gt(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList;e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input,i=t.value!==e;i&&(t.value=e,fr(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){var i=t?[]:["change"];Fo(this,i,()=>{this.clear(t),this.addItems(e,t)})}setMaxItems(e){e===0&&(e=null),this.settings.maxItems=e,this.refreshState()}setActiveItem(e,t){var i=this,r,o,s,a,l,c;if(i.settings.mode!=="single"){if(!e){i.clearActiveItems(),i.isFocused&&i.inputState();return}if(r=t&&t.type.toLowerCase(),r==="click"&&Mt("shiftKey",t)&&i.activeItems.length){for(c=i.getLastActive(),s=Array.prototype.indexOf.call(i.control.children,c),a=Array.prototype.indexOf.call(i.control.children,e),s>a&&(l=s,s=a,a=l),o=s;o<=a;o++)e=i.control.children[o],i.activeItems.indexOf(e)===-1&&i.setActiveItemClass(e);fe(t)}else r==="click"&&Mt(fi,t)||r==="keydown"&&Mt("shiftKey",t)?e.classList.contains("active")?i.removeActiveItem(e):i.setActiveItemClass(e):(i.clearActiveItems(),i.setActiveItemClass(e));i.inputState(),i.isFocused||i.focus()}}setActiveItemClass(e){let t=this,i=t.control.querySelector(".last-active");i&>(i,"last-active"),Pe(e,"active last-active"),t.trigger("item_select",e),t.activeItems.indexOf(e)==-1&&t.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e);this.activeItems.splice(t,1),gt(e,"active")}clearActiveItems(){gt(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e,t=!0){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,le(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),le(e,{"aria-selected":"true"}),Pe(e,"active"),t&&this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return;let i=this.dropdown_content,r=i.clientHeight,o=i.scrollTop||0,s=e.offsetHeight,a=e.getBoundingClientRect().top-i.getBoundingClientRect().top+o;a+s>r+o?this.scroll(a-r+s,t):a{e.setActiveItemClass(i)}))}inputState(){var e=this;e.control.contains(e.control_input)&&(le(e.control_input,{placeholder:e.settings.placeholder}),e.activeItems.length>0||!e.isFocused&&e.settings.hidePlaceholder&&e.items.length>0?(e.setTextboxValue(),e.isInputHidden=!0):(e.settings.hidePlaceholder&&e.items.length>0&&le(e.control_input,{placeholder:""}),e.isInputHidden=!1),e.wrapper.classList.toggle("input-hidden",e.isInputHidden))}inputValue(){return this.control_input.value.trim()}focus(){var e=this;e.isDisabled||e.isReadOnly||(e.ignoreFocus=!0,e.control_input.offsetWidth?e.control_input.focus():e.focus_node.focus(),setTimeout(()=>{e.ignoreFocus=!1,e.onFocus()},0))}blur(){this.focus_node.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField;return typeof e.sortField=="string"&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,r=this,o=this.getSearchOptions();if(r.settings.score&&(i=r.settings.score.call(r,e),typeof i!="function"))throw new Error('Tom Select "score" setting must be a function that returns a function');return e!==r.lastQuery?(r.lastQuery=e,t=r.sifter.search(e,Object.assign(o,{score:i})),r.currentResults=t):t=Object.assign({},r.currentResults),r.settings.hideSelected&&(t.items=t.items.filter(s=>{let a=We(s.id);return!(a&&r.items.indexOf(a)!==-1)})),t}refreshOptions(e=!0){var t,i,r,o,s,a,l,c,u,d;let p={},y=[];var m=this,v=m.inputValue();let w=v===m.lastQuery||v==""&&m.lastQuery==null;var T=m.search(v),_=null,S=m.settings.shouldOpen||!1,A=m.dropdown_content;w&&(_=m.activeOption,_&&(u=_.closest("[data-group]"))),o=T.items.length,typeof m.settings.maxOptions=="number"&&(o=Math.min(o,m.settings.maxOptions)),o>0&&(S=!0);let K=(L,I)=>{let N=p[L];if(N!==void 0){let $=y[N];if($!==void 0)return[N,$.fragment]}let Y=document.createDocumentFragment();return N=y.length,y.push({fragment:Y,order:I,optgroup:L}),[N,Y]};for(t=0;t0&&($=$.cloneNode(!0),le($,{id:N.$id+"-clone-"+i,"aria-selected":null}),$.classList.add("ts-cloned"),gt($,"active"),m.activeOption&&m.activeOption.dataset.value==I&&u&&u.dataset.group===s.toString()&&(_=$)),Ce.appendChild($),s!=""&&(p[s]=Te)}}m.settings.lockOptgroupOrder&&y.sort((L,I)=>L.order-I.order),l=document.createDocumentFragment(),ge(y,L=>{let I=L.fragment,N=L.optgroup;if(!I||!I.children.length)return;let Y=m.optgroups[N];if(Y!==void 0){let $=document.createDocumentFragment(),ie=m.render("optgroup_header",Y);kt($,ie),kt($,I);let J=m.render("optgroup",{group:Y,options:$});kt(l,J)}else kt(l,I)}),A.innerHTML="",kt(A,l),m.settings.highlight&&(Za(A),T.query.length&&T.tokens.length&&ge(T.tokens,L=>{Ja(A,L.regex)}));var z=L=>{let I=m.render(L,{input:v});return I&&(S=!0,A.insertBefore(I,A.firstChild)),I};if(m.loading?z("loading"):m.settings.shouldLoad.call(m,v)?T.items.length===0&&z("no_results"):z("not_loading"),c=m.canCreate(v),c&&(d=z("option_create")),m.hasOptions=T.items.length>0||c,S){if(T.items.length>0){if(!_&&m.settings.mode==="single"&&m.items[0]!=null&&(_=m.getOption(m.items[0])),!A.contains(_)){let L=0;d&&!m.settings.addPrecedence&&(L=1),_=m.selectable()[L]}}else d&&(_=d);e&&!m.isOpen&&(m.open(),m.scrollToOption(_,"auto")),m.setActiveOption(_)}else m.clearActiveOption(),e&&m.isOpen&&m.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e,t=!1){let i=this;if(Array.isArray(e))return i.addOptions(e,t),!1;let r=We(e[i.settings.valueField]);return r===null||i.options.hasOwnProperty(r)?!1:(e.$order=e.$order||++i.order,e.$id=i.inputId+"-opt-"+e.$order,i.options[r]=e,i.lastQuery=null,t&&(i.userOptions[r]=t,i.trigger("option_add",r,e)),r)}addOptions(e,t=!1){ge(e,i=>{this.addOption(i,t)})}registerOption(e){return this.addOption(e)}registerOptionGroup(e){var t=We(e[this.settings.optgroupValueField]);return t===null?!1:(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){var i;t[this.settings.optgroupValueField]=e,(i=this.registerOptionGroup(t))&&this.trigger("optgroup_add",i,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){let i=this;var r,o;let s=We(e),a=We(t[i.settings.valueField]);if(s===null)return;let l=i.options[s];if(l==null)return;if(typeof a!="string")throw new Error("Value must be set in option data");let c=i.getOption(s),u=i.getItem(s);if(t.$order=t.$order||l.$order,delete i.options[s],i.uncacheValue(a),i.options[a]=t,c){if(i.dropdown_content.contains(c)){let d=i._render("option",t);di(c,d),i.activeOption===c&&i.setActiveOption(d)}c.remove()}u&&(o=i.items.indexOf(s),o!==-1&&i.items.splice(o,1,a),r=i._render("item",t),u.classList.contains("active")&&Pe(r,"active"),di(u,r)),i.lastQuery=null}removeOption(e,t){let i=this;e=ci(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(e){let t=(e||this.clearFilter).bind(this);this.loadedSearches={},this.userOptions={},this.clearCache();let i={};ge(this.options,(r,o)=>{t(r,o)&&(i[o]=r)}),this.options=this.sifter.items=i,this.lastQuery=null,this.trigger("option_clear")}clearFilter(e,t){return this.items.indexOf(t)>=0}getOption(e,t=!1){let i=We(e);if(i===null)return null;let r=this.options[i];if(r!=null){if(r.$div)return r.$div;if(t)return this._render("option",r)}return null}getAdjacent(e,t,i="option"){var r=this,o;if(!e)return null;i=="item"?o=r.controlChildren():o=r.dropdown_content.querySelectorAll("[data-selectable]");for(let s=0;s0?o[s+1]:o[s-1];return null}getItem(e){if(typeof e=="object")return e;var t=We(e);return t!==null?this.control.querySelector(`[data-value="${$o(t)}"]`):null}addItems(e,t){var i=this,r=Array.isArray(e)?e:[e];r=r.filter(s=>i.items.indexOf(s)===-1);let o=r[r.length-1];r.forEach(s=>{i.isPending=s!==o,i.addItem(s,t)})}addItem(e,t){var i=t?[]:["change","dropdown_close"];Fo(this,i,()=>{var r,o;let s=this,a=s.settings.mode,l=We(e);if(!(l&&s.items.indexOf(l)!==-1&&(a==="single"&&s.close(),a==="single"||!s.settings.duplicates))&&!(l===null||!s.options.hasOwnProperty(l))&&(a==="single"&&s.clear(t),!(a==="multi"&&s.isFull()))){if(r=s._render("item",s.options[l]),s.control.contains(r)&&(r=r.cloneNode(!0)),o=s.isFull(),s.items.splice(s.caretPos,0,l),s.insertAtCaret(r),s.isSetup){if(!s.isPending&&s.settings.hideSelected){let c=s.getOption(l),u=s.getAdjacent(c,1);u&&s.setActiveOption(u)}!s.isPending&&!s.settings.closeAfterSelect&&s.refreshOptions(s.isFocused&&a!=="single"),s.settings.closeAfterSelect!=!1&&s.isFull()?s.close():s.isPending||s.positionDropdown(),s.trigger("item_add",l,r),s.isPending||s.updateOriginalInput({silent:t})}(!s.isPending||!o&&s.isFull())&&(s.inputState(),s.refreshState())}})}removeItem(e=null,t){let i=this;if(e=i.getItem(e),!e)return;var r,o;let s=e.dataset.value;r=zo(e),e.remove(),e.classList.contains("active")&&(o=i.activeItems.indexOf(e),i.activeItems.splice(o,1),gt(e,"active")),i.items.splice(r,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(s)&&i.removeOption(s,t),r{}){arguments.length===3&&(t=arguments[2]),typeof t!="function"&&(t=()=>{});var i=this,r=i.caretPos,o;if(e=e||i.inputValue(),!i.canCreate(e))return t(),!1;i.lock();var s=!1,a=l=>{if(i.unlock(),!l||typeof l!="object")return t();var c=We(l[i.settings.valueField]);if(typeof c!="string")return t();i.setTextboxValue(),i.addOption(l,!0),i.setCaret(r),i.addItem(c),t(l),s=!0};return typeof i.settings.create=="function"?o=i.settings.create.call(this,e,a):o={[i.settings.labelField]:e,[i.settings.valueField]:e},s||a(o),!0}refreshItems(){var e=this;e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){let e=this;e.refreshValidityState();let t=e.isFull(),i=e.isLocked;e.wrapper.classList.toggle("rtl",e.rtl);let r=e.wrapper.classList;r.toggle("focus",e.isFocused),r.toggle("disabled",e.isDisabled),r.toggle("readonly",e.isReadOnly),r.toggle("required",e.isRequired),r.toggle("invalid",!e.isValid),r.toggle("locked",i),r.toggle("full",t),r.toggle("input-active",e.isFocused&&!e.isInputHidden),r.toggle("dropdown-active",e.isOpen),r.toggle("has-options",Qa(e.options)),r.toggle("has-items",e.items.length>0)}refreshValidityState(){var e=this;e.input.validity&&(e.isValid=e.input.validity.valid,e.isInvalid=!e.isValid)}isFull(){return this.settings.maxItems!==null&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){let t=this;var i,r;let o=t.input.querySelector('option[value=""]');if(t.is_select_tag){let l=function(c,u,d){return c||(c=nt('")),c!=o&&t.input.append(c),s.push(c),(c!=o||a>0)&&(c.selected=!0),c},s=[],a=t.input.querySelectorAll("option:checked").length;t.input.querySelectorAll("option:checked").forEach(c=>{c.selected=!1}),t.items.length==0&&t.settings.mode=="single"?l(o,"",""):t.items.forEach(c=>{if(i=t.options[c],r=i[t.settings.labelField]||"",s.includes(i.$option)){let u=t.input.querySelector(`option[value="${$o(c)}"]:not(:checked)`);l(u,c,r)}else i.$option=l(i.$option,c,r)})}else t.input.value=t.getValue();t.isSetup&&(e.silent||t.trigger("change",t.getValue()))}open(){var e=this;e.isLocked||e.isOpen||e.settings.mode==="multi"&&e.isFull()||(e.isOpen=!0,le(e.focus_node,{"aria-expanded":"true"}),e.refreshState(),ui(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),ui(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen;e&&(t.setTextboxValue(),t.settings.mode==="single"&&t.items.length&&t.inputState()),t.isOpen=!1,le(t.focus_node,{"aria-expanded":"false"}),ui(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){if(this.settings.dropdownParent==="body"){var e=this.control,t=e.getBoundingClientRect(),i=e.offsetHeight+t.top+window.scrollY,r=t.left+window.scrollX;ui(this.dropdown,{width:t.width+"px",top:i+"px",left:r+"px"})}}clear(e){var t=this;if(t.items.length){var i=t.controlChildren();ge(i,r=>{t.removeItem(r,!0)}),t.inputState(),e||t.updateOriginalInput(),t.trigger("clear")}}insertAtCaret(e){let t=this,i=t.caretPos,r=t.control;r.insertBefore(e,r.children[i]||null),t.setCaret(i+1)}deleteSelection(e){var t,i,r,o,s=this;t=e&&e.keyCode===8?-1:1,i=Ya(s.control_input);let a=[];if(s.activeItems.length)o=Vo(s.activeItems,t),r=zo(o),t>0&&r++,ge(s.activeItems,l=>a.push(l));else if((s.isFocused||s.settings.mode==="single")&&s.items.length){let l=s.controlChildren(),c;t<0&&i.start===0&&i.length===0?c=l[s.caretPos-1]:t>0&&i.start===s.inputValue().length&&(c=l[s.caretPos]),c!==void 0&&a.push(c)}if(!s.shouldDelete(a,e))return!1;for(fe(e,!0),typeof r!="undefined"&&s.setCaret(r);a.length;)s.removeItem(a.pop());return s.inputState(),s.positionDropdown(),s.refreshOptions(!1),!0}shouldDelete(e,t){let i=e.map(r=>r.dataset.value);return!(!i.length||typeof this.settings.onDelete=="function"&&this.settings.onDelete(i,t)===!1)}advanceSelection(e,t){var i,r,o=this;o.rtl&&(e*=-1),!o.inputValue().length&&(Mt(fi,t)||Mt("shiftKey",t)?(i=o.getLastActive(e),i?i.classList.contains("active")?r=o.getAdjacent(i,e,"item"):r=i:e>0?r=o.control_input.nextElementSibling:r=o.control_input.previousElementSibling,r&&(r.classList.contains("active")&&o.removeActiveItem(i),o.setActiveItemClass(r))):o.moveCaret(e))}moveCaret(e){}getLastActive(e){let t=this.control.querySelector(".last-active");if(t)return t;var i=this.control.querySelectorAll(".active");if(i)return Vo(i,e)}setCaret(e){this.caretPos=this.items.length}controlChildren(){return Array.from(this.control.querySelectorAll("[data-ts-item]"))}lock(){this.setLocked(!0)}unlock(){this.setLocked(!1)}setLocked(e=this.isReadOnly||this.isDisabled){this.isLocked=e,this.refreshState()}disable(){this.setDisabled(!0),this.close()}enable(){this.setDisabled(!1)}setDisabled(e){this.focus_node.tabIndex=e?-1:this.tabIndex,this.isDisabled=e,this.input.disabled=e,this.control_input.disabled=e,this.setLocked()}setReadOnly(e){this.isReadOnly=e,this.input.readOnly=e,this.control_input.readOnly=e,this.setLocked()}destroy(){var e=this,t=e.revertSettings;e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,gt(e.input,"tomselected","ts-hidden-accessible"),e._destroy(),delete e.input.tomselect}render(e,t){var i,r;let o=this;if(typeof this.settings.render[e]!="function"||(r=o.settings.render[e].call(this,t,ur),!r))return null;if(r=nt(r),e==="option"||e==="option_create"?t[o.settings.disabledField]?le(r,{"aria-disabled":"true"}):le(r,{"data-selectable":""}):e==="optgroup"&&(i=t.group[o.settings.optgroupValueField],le(r,{"data-group":i}),t.group[o.settings.disabledField]&&le(r,{"data-disabled":""})),e==="option"||e==="item"){let s=ci(t[o.settings.valueField]);le(r,{"data-value":s}),e==="item"?(Pe(r,o.settings.itemClass),le(r,{"data-ts-item":""})):(Pe(r,o.settings.optionClass),le(r,{role:"option",id:t.$id}),t.$div=r,o.options[s]=t)}return r}_render(e,t){let i=this.render(e,t);if(i==null)throw"HTMLElement expected";return i}clearCache(){ge(this.options,e=>{e.$div&&(e.$div.remove(),delete e.$div)})}uncacheValue(e){let t=this.getOption(e);t&&t.remove()}canCreate(e){return this.settings.create&&e.length>0&&this.settings.createFilter.call(this,e)}hook(e,t,i){var r=this,o=r[t];r[t]=function(){var s,a;return e==="after"&&(s=o.apply(r,arguments)),a=i.apply(r,arguments),e==="instead"?a:(e==="before"&&(s=o.apply(r,arguments)),s)}}};var _m=(n,e,t,i)=>{n.addEventListener(e,t,i)};function il(){_m(this.input,"change",()=>{this.sync()})}var wm=n=>typeof n=="undefined"||n===null?null:xm(n),xm=n=>typeof n=="boolean"?n?"1":"0":n+"",rl=(n,e=!1)=>{n&&(n.preventDefault(),e&&n.stopPropagation())},Tm=n=>{if(n.jquery)return n[0];if(n instanceof HTMLElement)return n;if(Cm(n)){var e=document.createElement("template");return e.innerHTML=n.trim(),e.content.firstChild}return document.querySelector(n)},Cm=n=>typeof n=="string"&&n.indexOf("<")>-1;function ol(n){var e=this,t=e.onOptionSelect;e.settings.hideSelected=!1;let i=Object.assign({className:"tomselect-checkbox",checkedClassNames:void 0,uncheckedClassNames:void 0},n);var r=function(a,l){l?(a.checked=!0,i.uncheckedClassNames&&a.classList.remove(...i.uncheckedClassNames),i.checkedClassNames&&a.classList.add(...i.checkedClassNames)):(a.checked=!1,i.checkedClassNames&&a.classList.remove(...i.checkedClassNames),i.uncheckedClassNames&&a.classList.add(...i.uncheckedClassNames))},o=function(a){setTimeout(()=>{var l=a.querySelector("input."+i.className);l instanceof HTMLInputElement&&r(l,a.classList.contains("selected"))},1)};e.hook("after","setupTemplates",()=>{var s=e.settings.render.option;e.settings.render.option=(a,l)=>{var c=Tm(s.call(e,a,l)),u=document.createElement("input");i.className&&u.classList.add(i.className),u.addEventListener("click",function(p){rl(p)}),u.type="checkbox";let d=wm(a[e.settings.valueField]);return r(u,!!(d&&e.items.indexOf(d)>-1)),c.prepend(u),c}}),e.on("item_remove",s=>{var a=e.getOption(s);a&&(a.classList.remove("selected"),o(a))}),e.on("item_add",s=>{var a=e.getOption(s);a&&o(a)}),e.hook("instead","onOptionSelect",(s,a)=>{if(a.classList.contains("selected")){a.classList.remove("selected"),e.removeItem(a.dataset.value),e.refreshOptions(),rl(s,!0);return}t.call(e,s,a),o(a)})}var Am=n=>{if(n.jquery)return n[0];if(n instanceof HTMLElement)return n;if(Sm(n)){var e=document.createElement("template");return e.innerHTML=n.trim(),e.content.firstChild}return document.querySelector(n)},Sm=n=>typeof n=="string"&&n.indexOf("<")>-1;function sl(n){let e=this,t=Object.assign({className:"clear-button",title:"Clear All",html:i=>`
`},n);e.on("initialize",()=>{var i=Am(t.html(t));i.addEventListener("click",r=>{e.isLocked||(e.clear(),e.settings.mode==="single"&&e.settings.allowEmptyOption&&e.addItem(""),r.preventDefault(),r.stopPropagation())}),e.control.appendChild(i)})}var Dm=(n,e=!1)=>{n&&(n.preventDefault(),e&&n.stopPropagation())},Dn=(n,e,t,i)=>{n.addEventListener(e,t,i)},Om=(n,e)=>{if(Array.isArray(n))n.forEach(e);else for(var t in n)n.hasOwnProperty(t)&&e(n[t],t)},Lm=n=>{if(n.jquery)return n[0];if(n instanceof HTMLElement)return n;if(Mm(n)){var e=document.createElement("template");return e.innerHTML=n.trim(),e.content.firstChild}return document.querySelector(n)},Mm=n=>typeof n=="string"&&n.indexOf("<")>-1,km=(n,e)=>{Om(e,(t,i)=>{t==null?n.removeAttribute(i):n.setAttribute(i,""+t)})},Nm=(n,e)=>{var t;(t=n.parentNode)==null||t.insertBefore(e,n.nextSibling)},Hm=(n,e)=>{var t;(t=n.parentNode)==null||t.insertBefore(e,n)},Rm=(n,e)=>{do{var t;if(e=(t=e)==null?void 0:t.previousElementSibling,n==e)return!0}while(e&&e.previousElementSibling);return!1};function al(){var n=this;if(n.settings.mode!=="multi")return;var e=n.lock,t=n.unlock;let i=!0,r;n.hook("after","setupTemplates",()=>{var o=n.settings.render.item;n.settings.render.item=(s,a)=>{let l=Lm(o.call(n,s,a));km(l,{draggable:"true"});let c=v=>{i||Dm(v),v.stopPropagation()},u=v=>{r=l,setTimeout(()=>{l.classList.add("ts-dragging")},0)},d=v=>{v.preventDefault(),l.classList.add("ts-drag-over"),y(l,r)},p=()=>{l.classList.remove("ts-drag-over")},y=(v,w)=>{w!==void 0&&(Rm(w,l)?Nm(v,w):Hm(v,w))},m=()=>{var v;document.querySelectorAll(".ts-drag-over").forEach(T=>T.classList.remove("ts-drag-over")),(v=r)==null||v.classList.remove("ts-dragging"),r=void 0;var w=[];n.control.querySelectorAll("[data-value]").forEach(T=>{if(T.dataset.value){let _=T.dataset.value;_&&w.push(_)}}),n.setValue(w)};return Dn(l,"mousedown",c),Dn(l,"dragstart",u),Dn(l,"dragenter",d),Dn(l,"dragover",d),Dn(l,"dragleave",p),Dn(l,"dragend",m),l}}),n.hook("instead","lock",()=>(i=!1,e.call(n))),n.hook("instead","unlock",()=>(i=!0,t.call(n)))}var Im=(n,e=!1)=>{n&&(n.preventDefault(),e&&n.stopPropagation())},Pm=n=>{if(n.jquery)return n[0];if(n instanceof HTMLElement)return n;if(Fm(n)){var e=document.createElement("template");return e.innerHTML=n.trim(),e.content.firstChild}return document.querySelector(n)},Fm=n=>typeof n=="string"&&n.indexOf("<")>-1;function ll(n){let e=this,t=Object.assign({title:"Untitled",headerClass:"dropdown-header",titleRowClass:"dropdown-header-title",labelClass:"dropdown-header-label",closeClass:"dropdown-header-close",html:i=>'
'+i.title+'×
'},n);e.on("initialize",()=>{var i=Pm(t.html(t)),r=i.querySelector("."+t.closeClass);r&&r.addEventListener("click",o=>{Im(o,!0),e.close()}),e.dropdown.insertBefore(i,e.dropdown.firstChild)})}var $m=(n,e)=>{if(Array.isArray(n))n.forEach(e);else for(var t in n)n.hasOwnProperty(t)&&e(n[t],t)},Bm=(n,...e)=>{var t=Vm(e);n=zm(n),n.map(i=>{t.map(r=>{i.classList.remove(r)})})},Vm=n=>{var e=[];return $m(n,t=>{typeof t=="string"&&(t=t.trim().split(/[\t\n\f\r\s]/)),Array.isArray(t)&&(e=e.concat(t))}),e.filter(Boolean)},zm=n=>(Array.isArray(n)||(n=[n]),n),jm=(n,e)=>{if(!n)return-1;e=e||n.nodeName;for(var t=0;n=n.previousElementSibling;)n.matches(e)&&t++;return t};function cl(){var n=this;n.hook("instead","setCaret",e=>{n.settings.mode==="single"||!n.control.contains(n.control_input)?e=n.items.length:(e=Math.max(0,Math.min(n.items.length,e)),e!=n.caretPos&&!n.isPending&&n.controlChildren().forEach((t,i)=>{i{if(!n.isFocused)return;let t=n.getLastActive(e);if(t){let i=jm(t);n.setCaret(e>0?i+1:i),n.setActiveItem(),Bm(t,"last-active")}else n.setCaret(n.caretPos+e)})}var Wm=(n,e=!1)=>{n&&(n.preventDefault(),e&&n.stopPropagation())},qm=(n,e,t,i)=>{n.addEventListener(e,t,i)},Um=(n,e)=>{if(Array.isArray(n))n.forEach(e);else for(var t in n)n.hasOwnProperty(t)&&e(n[t],t)},ul=n=>{if(n.jquery)return n[0];if(n instanceof HTMLElement)return n;if(Ym(n)){var e=document.createElement("template");return e.innerHTML=n.trim(),e.content.firstChild}return document.querySelector(n)},Ym=n=>typeof n=="string"&&n.indexOf("<")>-1,Gm=(n,...e)=>{var t=Km(e);n=Xm(n),n.map(i=>{t.map(r=>{i.classList.add(r)})})},Km=n=>{var e=[];return Um(n,t=>{typeof t=="string"&&(t=t.trim().split(/[\t\n\f\r\s]/)),Array.isArray(t)&&(e=e.concat(t))}),e.filter(Boolean)},Xm=n=>(Array.isArray(n)||(n=[n]),n);function dl(){let n=this;n.settings.shouldOpen=!0,n.hook("before","setup",()=>{n.focus_node=n.control,Gm(n.control_input,"dropdown-input");let e=ul('