diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 17533e2c969..16182af640b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v3.1.4 + placeholder: v3.1.6 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 1c31f0c2998..0be999b1696 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v3.1.4 + placeholder: v3.1.6 validations: required: true - type: dropdown diff --git a/base_requirements.txt b/base_requirements.txt index cbc893aa9c4..7ceb344b00a 100644 --- a/base_requirements.txt +++ b/base_requirements.txt @@ -82,6 +82,10 @@ markdown-include # https://github.com/squidfunk/mkdocs-material mkdocs-material +# Introspection for embedded code +# https://github.com/mkdocstrings/mkdocstrings +mkdocstrings + # Library for manipulating IP prefixes and addresses # https://github.com/drkjam/netaddr netaddr @@ -98,10 +102,6 @@ psycopg2-binary # https://github.com/yaml/pyyaml PyYAML -# In-memory key/value store used for caching and queuing -# https://github.com/andymccurdy/redis-py -redis - # Social authentication framework # https://github.com/python-social-auth/social-core social-auth-core[all] diff --git a/docs/core-functionality/services.md b/docs/core-functionality/services.md index 2e7aaf65a3a..316c7fe0004 100644 --- a/docs/core-functionality/services.md +++ b/docs/core-functionality/services.md @@ -1,3 +1,4 @@ # Service Mapping +{!models/ipam/servicetemplate.md!} {!models/ipam/service.md!} diff --git a/docs/development/adding-models.md b/docs/development/adding-models.md index d55afb2f273..f4d171f48a4 100644 --- a/docs/development/adding-models.md +++ b/docs/development/adding-models.md @@ -2,7 +2,7 @@ ## 1. Define the model class -Models within each app are stored in either `models.py` or within a submodule under the `models/` directory. When creating a model, be sure to subclass the [appropriate base model](models.md) from `netbox.models`. This will typically be PrimaryModel or OrganizationalModel. Remember to add the model class to the `__all__` listing for the module. +Models within each app are stored in either `models.py` or within a submodule under the `models/` directory. When creating a model, be sure to subclass the [appropriate base model](models.md) from `netbox.models`. This will typically be NetBoxModel or OrganizationalModel. Remember to add the model class to the `__all__` listing for the module. Each model should define, at a minimum: diff --git a/docs/development/getting-started.md b/docs/development/getting-started.md index acf13b82f1d..742e93804ac 100644 --- a/docs/development/getting-started.md +++ b/docs/development/getting-started.md @@ -114,6 +114,12 @@ This ensures that your development environment is now complete and operational. !!! info "IDE Integration" Some IDEs, such as PyCharm, will integrate with Django's development server and allow you to run it directly within the IDE. This is strongly encouraged as it makes for a much more convenient development environment. +## Populating Demo Data + +Once you have your development environment up and running, it might be helpful to populate some "dummy" data to make interacting with the UI and APIs more convenient. Check out the [netbox-demo-data](https://github.com/netbox-community/netbox-demo-data) repo on GitHub, which houses a collection of sample data that can be easily imported to any new NetBox deployment. (This sample data is used to populate the public demo instance at .) + +The demo data is provided in JSON format and loaded into an empty database using Django's `loaddata` management command. Consult the demo data repo's `README` file for complete instructions on populating the data. + ## Running Tests Prior to committing any substantial changes to the code base, be sure to run NetBox's test suite to catch any potential errors. Tests are run using the `test` management command. Remember to ensure the Python virtual environment is active before running this command. diff --git a/docs/development/user-preferences.md b/docs/development/user-preferences.md index a707eb6ad29..ceb5321a9df 100644 --- a/docs/development/user-preferences.md +++ b/docs/development/user-preferences.md @@ -4,9 +4,11 @@ The `users.UserConfig` model holds individual preferences for each user in the f ## Available Preferences -| Name | Description | -|-------------------------|-------------| -| data_format | Preferred format when rendering raw data (JSON or YAML) | -| pagination.per_page | The number of items to display per page of a paginated table | -| tables.${table}.columns | The ordered list of columns to display when viewing the table | -| ui.colormode | Light or dark mode in the user interface | +| Name | Description | +|--------------------------|---------------------------------------------------------------| +| data_format | Preferred format when rendering raw data (JSON or YAML) | +| pagination.per_page | The number of items to display per page of a paginated table | +| pagination.placement | Where to display the paginator controls relative to the table | +| tables.${table}.columns | The ordered list of columns to display when viewing the table | +| tables.${table}.ordering | A list of column names by which the table should be ordered | +| ui.colormode | Light or dark mode in the user interface | diff --git a/docs/index.md b/docs/index.md index 02e52382524..81c899387d2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -50,7 +50,7 @@ NetBox is built on the [Django](https://djangoproject.com/) Python framework and | Application | Django/Python | | Database | PostgreSQL 10+ | | Task queuing | Redis/django-rq | -| Live device access | NAPALM | +| Live device access | NAPALM (optional) | ## Supported Python Versions @@ -58,4 +58,6 @@ NetBox supports Python 3.8, 3.9, and 3.10 environments. ## Getting Started -See the [installation guide](installation/index.md) for help getting NetBox up and running quickly. +Minor NetBox releases (e.g. v3.1) are published three times a year; in April, August, and December. These typically introduce major new features and may contain breaking API changes. Patch releases are published roughly every one to two weeks to resolve bugs and fulfill minor feature requests. These are backward-compatible with previous releases unless otherwise noted. The NetBox maintainers strongly recommend running the latest stable release whenever possible. + +Please see the [official installation guide](installation/index.md) for detailed instructions on obtaining and installing NetBox. diff --git a/docs/media/plugins/plugin_admin_ui.png b/docs/media/plugins/plugin_admin_ui.png deleted file mode 100644 index 44802c5fca3..00000000000 Binary files a/docs/media/plugins/plugin_admin_ui.png and /dev/null differ diff --git a/docs/models/dcim/interface.md b/docs/models/dcim/interface.md index 585674de1ac..7fa52fa9fab 100644 --- a/docs/models/dcim/interface.md +++ b/docs/models/dcim/interface.md @@ -1,6 +1,6 @@ ## Interfaces -Interfaces in NetBox represent network interfaces used to exchange data with connected devices. On modern networks, these are most commonly Ethernet, but other types are supported as well. Each interface must be assigned a type, and may optionally be assigned a MAC address, MTU, and IEEE 802.1Q mode (tagged or access). Each interface can also be enabled or disabled, and optionally designated as management-only (for out-of-band management). +Interfaces in NetBox represent network interfaces used to exchange data with connected devices. On modern networks, these are most commonly Ethernet, but other types are supported as well. Each interface must be assigned a type, and may optionally be assigned a MAC address, MTU, and IEEE 802.1Q mode (tagged or access). Each interface can also be enabled or disabled, and optionally designated as management-only (for out-of-band management). Additionally, each interface may optionally be assigned to a VRF. !!! note Although devices and virtual machines both can have interfaces, a separate model is used for each. Thus, device interfaces have some properties that are not present on virtual machine interfaces and vice versa. diff --git a/docs/models/extras/customfield.md b/docs/models/extras/customfield.md index e3462a6a7ec..da73816b68f 100644 --- a/docs/models/extras/customfield.md +++ b/docs/models/extras/customfield.md @@ -19,6 +19,8 @@ Custom fields may be created by navigating to Customization > Custom Fields. Net * JSON: Arbitrary data stored in JSON format * Selection: A selection of one of several pre-defined custom choices * Multiple selection: A selection field which supports the assignment of multiple values +* Object: A single NetBox object of the type defined by `object_type` +* Multiple object: One or more NetBox objects of the type defined by `object_type` Each custom field must have a name. This should be a simple database-friendly string (e.g. `tps_report`) and may contain only alphanumeric characters and underscores. You may also assign a corresponding human-friendly label (e.g. "TPS report"); the label will be displayed on web forms. A weight is also required: Higher-weight fields will be ordered lower within a form. (The default weight is 100.) If a description is provided, it will appear beneath the field in a form. @@ -41,3 +43,7 @@ NetBox supports limited custom validation for custom field values. Following are Each custom selection field must have at least two choices. These are specified as a comma-separated list. Choices appear in forms in the order they are listed. Note that choice values are saved exactly as they appear, so it's best to avoid superfluous punctuation or symbols where possible. If a default value is specified for a selection field, it must exactly match one of the provided choices. The value of a multiple selection field will always return a list, even if only one value is selected. + +### Custom Object Fields + +An object or multi-object custom field can be used to refer to a particular NetBox object or objects as the "value" for a custom field. These custom fields must define an `object_type`, which determines the type of object to which custom field instances point. diff --git a/docs/models/extras/customlink.md b/docs/models/extras/customlink.md index 7fd510841aa..96ff0bbf7e4 100644 --- a/docs/models/extras/customlink.md +++ b/docs/models/extras/customlink.md @@ -15,7 +15,7 @@ When viewing a device named Router4, this link would render as: View NMS ``` -Custom links appear as buttons in the top right corner of the page. Numeric weighting can be used to influence the ordering of links. +Custom links appear as buttons in the top right corner of the page. Numeric weighting can be used to influence the ordering of links, and each link can be enabled or disabled individually. !!! warning Custom links rely on user-created code to generate arbitrary HTML output, which may be dangerous. Only grant permission to create or modify custom links to trusted users. diff --git a/docs/models/extras/webhook.md b/docs/models/extras/webhook.md index c7165733647..e256a66f44b 100644 --- a/docs/models/extras/webhook.md +++ b/docs/models/extras/webhook.md @@ -3,7 +3,7 @@ A webhook is a mechanism for conveying to some external system a change that took place in NetBox. For example, you may want to notify a monitoring system whenever the status of a device is updated in NetBox. This can be done by creating a webhook for the device model in NetBox and identifying the webhook receiver. When NetBox detects a change to a device, an HTTP request containing the details of the change and who made it be sent to the specified receiver. Webhooks are managed under Logging > Webhooks. !!! warning - Webhooks support the inclusion of user-submitted code to generate custom headers and payloads, which may pose security risks under certain conditions. Only grant permission to create or modify webhooks to trusted users. + Webhooks support the inclusion of user-submitted code to generate URL, custom headers and payloads, which may pose security risks under certain conditions. Only grant permission to create or modify webhooks to trusted users. ## Configuration @@ -12,7 +12,7 @@ A webhook is a mechanism for conveying to some external system a change that too * **Enabled** - If unchecked, the webhook will be inactive. * **Events** - A webhook may trigger on any combination of create, update, and delete events. At least one event type must be selected. * **HTTP method** - The type of HTTP request to send. Options include `GET`, `POST`, `PUT`, `PATCH`, and `DELETE`. -* **URL** - The fuly-qualified URL of the request to be sent. This may specify a destination port number if needed. +* **URL** - The fully-qualified URL of the request to be sent. This may specify a destination port number if needed. Jinja2 templating is supported for this field. * **HTTP content type** - The value of the request's `Content-Type` header. (Defaults to `application/json`) * **Additional headers** - Any additional headers to include with the request (optional). Add one header per line in the format `Name: Value`. Jinja2 templating is supported for this field (see below). * **Body template** - The content of the request being sent (optional). Jinja2 templating is supported for this field (see below). If blank, NetBox will populate the request body with a raw dump of the webhook context. (If the HTTP cotent type is set to `application/json`, this will be formatted as a JSON object.) @@ -23,7 +23,7 @@ A webhook is a mechanism for conveying to some external system a change that too ## Jinja2 Template Support -[Jinja2 templating](https://jinja.palletsprojects.com/) is supported for the `additional_headers` and `body_template` fields. This enables the user to convey object data in the request headers as well as to craft a customized request body. Request content can be crafted to enable the direct interaction with external systems by ensuring the outgoing message is in a format the receiver expects and understands. +[Jinja2 templating](https://jinja.palletsprojects.com/) is supported for the `URL`, `additional_headers` and `body_template` fields. This enables the user to convey object data in the request headers as well as to craft a customized request body. Request content can be crafted to enable the direct interaction with external systems by ensuring the outgoing message is in a format the receiver expects and understands. For example, you might create a NetBox webhook to [trigger a Slack message](https://api.slack.com/messaging/webhooks) any time an IP address is created. You can accomplish this using the following configuration: diff --git a/docs/models/ipam/servicetemplate.md b/docs/models/ipam/servicetemplate.md new file mode 100644 index 00000000000..7fed4021113 --- /dev/null +++ b/docs/models/ipam/servicetemplate.md @@ -0,0 +1,3 @@ +# Service Templates + +Service templates can be used to instantiate services on devices and virtual machines. A template defines a name, protocol, and port number(s), and may optionally include a description. Services can be instantiated from templates and applied to devices and/or virtual machines, and may be associated with specific IP addresses. diff --git a/docs/plugins/development.md b/docs/plugins/development.md deleted file mode 100644 index d20f73cb67b..00000000000 --- a/docs/plugins/development.md +++ /dev/null @@ -1,430 +0,0 @@ -# Plugin Development - -This documentation covers the development of custom plugins for NetBox. Plugins are essentially self-contained [Django apps](https://docs.djangoproject.com/en/stable/) which integrate with NetBox to provide custom functionality. Since the development of Django apps is already very well-documented, we'll only be covering the aspects that are specific to NetBox. - -Plugins can do a lot, including: - -* Create Django models to store data in the database -* Provide their own "pages" (views) in the web user interface -* Inject template content and navigation links -* Establish their own REST API endpoints -* Add custom request/response middleware - -However, keep in mind that each piece of functionality is entirely optional. For example, if your plugin merely adds a piece of middleware or an API endpoint for existing data, there's no need to define any new models. - -!!! warning - While very powerful, the NetBox plugins API is necessarily limited in its scope. The plugins API is discussed here in its entirety: Any part of the NetBox code base not documented here is _not_ part of the supported plugins API, and should not be employed by a plugin. Internal elements of NetBox are subject to change at any time and without warning. Plugin authors are **strongly** encouraged to develop plugins using only the officially supported components discussed here and those provided by the underlying Django framework so as to avoid breaking changes in future releases. - -## Initial Setup - -### Plugin Structure - -Although the specific structure of a plugin is largely left to the discretion of its authors, a typical NetBox plugin looks something like this: - -```no-highlight -project-name/ - - plugin_name/ - - templates/ - - plugin_name/ - - *.html - - __init__.py - - middleware.py - - navigation.py - - signals.py - - template_content.py - - urls.py - - views.py - - README - - setup.py -``` - -The top level is the project root, which can have any name that you like. Immediately within the root should exist several items: - -* `setup.py` - This is a standard installation script used to install the plugin package within the Python environment. -* `README` - A brief introduction to your plugin, how to install and configure it, where to find help, and any other pertinent information. It is recommended to write README files using a markup language such as Markdown. -* The plugin source directory, with the same name as your plugin. This must be a valid Python package name (e.g. no spaces or hyphens). - -The plugin source directory contains all the actual Python code and other resources used by your plugin. Its structure is left to the author's discretion, however it is recommended to follow best practices as outlined in the [Django documentation](https://docs.djangoproject.com/en/stable/intro/reusable-apps/). At a minimum, this directory **must** contain an `__init__.py` file containing an instance of NetBox's `PluginConfig` class. - -### Create setup.py - -`setup.py` is the [setup script](https://docs.python.org/3.8/distutils/setupscript.html) we'll use to install our plugin once it's finished. The primary function of this script is to call the setuptools library's `setup()` function to create a Python distribution package. We can pass a number of keyword arguments to inform the package creation as well as to provide metadata about the plugin. An example `setup.py` is below: - -```python -from setuptools import find_packages, setup - -setup( - name='netbox-animal-sounds', - version='0.1', - description='An example NetBox plugin', - url='https://github.com/netbox-community/netbox-animal-sounds', - author='Jeremy Stretch', - license='Apache 2.0', - install_requires=[], - packages=find_packages(), - include_package_data=True, - zip_safe=False, -) -``` - -Many of these are self-explanatory, but for more information, see the [setuptools documentation](https://setuptools.readthedocs.io/en/latest/setuptools.html). - -!!! note - `zip_safe=False` is **required** as the current plugin iteration is not zip safe due to upstream python issue [issue19699](https://bugs.python.org/issue19699) - -### Define a PluginConfig - -The `PluginConfig` class is a NetBox-specific wrapper around Django's built-in [`AppConfig`](https://docs.djangoproject.com/en/stable/ref/applications/) class. It is used to declare NetBox plugin functionality within a Python package. Each plugin should provide its own subclass, defining its name, metadata, and default and required configuration parameters. An example is below: - -```python -from extras.plugins import PluginConfig - -class AnimalSoundsConfig(PluginConfig): - name = 'netbox_animal_sounds' - verbose_name = 'Animal Sounds' - description = 'An example plugin for development purposes' - version = '0.1' - author = 'Jeremy Stretch' - author_email = 'author@example.com' - base_url = 'animal-sounds' - required_settings = [] - default_settings = { - 'loud': False - } - -config = AnimalSoundsConfig -``` - -NetBox looks for the `config` variable within a plugin's `__init__.py` to load its configuration. Typically, this will be set to the PluginConfig subclass, but you may wish to dynamically generate a PluginConfig class based on environment variables or other factors. - -#### PluginConfig Attributes - -| Name | Description | -| ---- |---------------------------------------------------------------------------------------------------------------| -| `name` | Raw plugin name; same as the plugin's source directory | -| `verbose_name` | Human-friendly name for the plugin | -| `version` | Current release ([semantic versioning](https://semver.org/) is encouraged) | -| `description` | Brief description of the plugin's purpose | -| `author` | Name of plugin's author | -| `author_email` | Author's public email address | -| `base_url` | Base path to use for plugin URLs (optional). If not specified, the project's `name` will be used. | -| `required_settings` | A list of any configuration parameters that **must** be defined by the user | -| `default_settings` | A dictionary of configuration parameters and their default values | -| `min_version` | Minimum version of NetBox with which the plugin is compatible | -| `max_version` | Maximum version of NetBox with which the plugin is compatible | -| `middleware` | A list of middleware classes to append after NetBox's build-in middleware | -| `template_extensions` | The dotted path to the list of template extension classes (default: `template_content.template_extensions`) | -| `menu_items` | The dotted path to the list of menu items provided by the plugin (default: `navigation.menu_items`) | -| `user_preferences` | The dotted path to the dictionary mapping of user preferences defined by the plugin (default: `preferences.preferences`) | - -All required settings must be configured by the user. If a configuration parameter is listed in both `required_settings` and `default_settings`, the default setting will be ignored. - -### Create a Virtual Environment - -It is strongly recommended to create a Python [virtual environment](https://docs.python.org/3/tutorial/venv.html) specific to your plugin. This will afford you complete control over the installed versions of all dependencies and avoid conflicting with any system packages. This environment can live wherever you'd like, however it should be excluded from revision control. (A popular convention is to keep all virtual environments in the user's home directory, e.g. `~/.virtualenvs/`.) - -```shell -python3 -m venv /path/to/my/venv -``` - -You can make NetBox available within this environment by creating a path file pointing to its location. This will add NetBox to the Python path upon activation. (Be sure to adjust the command below to specify your actual virtual environment path, Python version, and NetBox installation.) - -```shell -cd $VENV/lib/python3.8/site-packages/ -echo /opt/netbox/netbox > netbox.pth -``` - -### Install the Plugin for Development - -To ease development, it is recommended to go ahead and install the plugin at this point using setuptools' `develop` mode. This will create symbolic links within your Python environment to the plugin development directory. Call `setup.py` from the plugin's root directory with the `develop` argument (instead of `install`): - -```no-highlight -$ python setup.py develop -``` - -## Database Models - -If your plugin introduces a new type of object in NetBox, you'll probably want to create a [Django model](https://docs.djangoproject.com/en/stable/topics/db/models/) for it. A model is essentially a Python representation of a database table, with attributes that represent individual columns. Model instances can be created, manipulated, and deleted using [queries](https://docs.djangoproject.com/en/stable/topics/db/queries/). Models must be defined within a file named `models.py`. - -Below is an example `models.py` file containing a model with two character fields: - -```python -from django.db import models - -class Animal(models.Model): - name = models.CharField(max_length=50) - sound = models.CharField(max_length=50) - - def __str__(self): - return self.name -``` - -Once you have defined the model(s) for your plugin, you'll need to create the database schema migrations. A migration file is essentially a set of instructions for manipulating the PostgreSQL database to support your new model, or to alter existing models. Creating migrations can usually be done automatically using Django's `makemigrations` management command. - -!!! note - A plugin must be installed before it can be used with Django management commands. If you skipped this step above, run `python setup.py develop` from the plugin's root directory. - -```no-highlight -$ ./manage.py makemigrations netbox_animal_sounds -Migrations for 'netbox_animal_sounds': - /home/jstretch/animal_sounds/netbox_animal_sounds/migrations/0001_initial.py - - Create model Animal -``` - -Next, we can apply the migration to the database with the `migrate` command: - -```no-highlight -$ ./manage.py migrate netbox_animal_sounds -Operations to perform: - Apply all migrations: netbox_animal_sounds -Running migrations: - Applying netbox_animal_sounds.0001_initial... OK -``` - -For more background on schema migrations, see the [Django documentation](https://docs.djangoproject.com/en/stable/topics/migrations/). - -### Using the Django Admin Interface - -Plugins can optionally expose their models via Django's built-in [administrative interface](https://docs.djangoproject.com/en/stable/ref/contrib/admin/). This can greatly improve troubleshooting ability, particularly during development. To expose a model, simply register it using Django's `admin.register()` function. An example `admin.py` file for the above model is shown below: - -```python -from django.contrib import admin -from .models import Animal - -@admin.register(Animal) -class AnimalAdmin(admin.ModelAdmin): - list_display = ('name', 'sound') -``` - -This will display the plugin and its model in the admin UI. Staff users can create, change, and delete model instances via the admin UI without needing to create a custom view. - -![NetBox plugin in the admin UI](../media/plugins/plugin_admin_ui.png) - -## Views - -If your plugin needs its own page or pages in the NetBox web UI, you'll need to define views. A view is a particular page tied to a URL within NetBox, which renders content using a template. Views are typically defined in `views.py`, and URL patterns in `urls.py`. As an example, let's write a view which displays a random animal and the sound it makes. First, we'll create the view in `views.py`: - -```python -from django.shortcuts import render -from django.views.generic import View -from .models import Animal - -class RandomAnimalView(View): - """ - Display a randomly-selected animal. - """ - def get(self, request): - animal = Animal.objects.order_by('?').first() - return render(request, 'netbox_animal_sounds/animal.html', { - 'animal': animal, - }) -``` - -This view retrieves a random animal from the database and and passes it as a context variable when rendering a template named `animal.html`, which doesn't exist yet. To create this template, first create a directory named `templates/netbox_animal_sounds/` within the plugin source directory. (We use the plugin's name as a subdirectory to guard against naming collisions with other plugins.) Then, create a template named `animal.html` as described below. - -### Extending the Base Template - -NetBox provides a base template to ensure a consistent user experience, which plugins can extend with their own content. This template includes four content blocks: - -* `title` - The page title -* `header` - The upper portion of the page -* `content` - The main page body -* `javascript` - A section at the end of the page for including Javascript code - -For more information on how template blocks work, consult the [Django documentation](https://docs.djangoproject.com/en/stable/ref/templates/builtins/#block). - -```jinja2 -{% extends 'base/layout.html' %} - -{% block content %} - {% with config=settings.PLUGINS_CONFIG.netbox_animal_sounds %} -

- {% if animal %} - The {{ animal.name|lower }} says - {% if config.loud %} - {{ animal.sound|upper }}! - {% else %} - {{ animal.sound }} - {% endif %} - {% else %} - No animals have been created yet! - {% endif %} -

- {% endwith %} -{% endblock %} - -``` - -The first line of the template instructs Django to extend the NetBox base template and inject our custom content within its `content` block. - -!!! note - Django renders templates with its own custom [template language](https://docs.djangoproject.com/en/stable/topics/templates/#the-django-template-language). This is very similar to Jinja2, however there are some important differences to be aware of. - -Finally, to make the view accessible to users, we need to register a URL for it. We do this in `urls.py` by defining a `urlpatterns` variable containing a list of paths. - -```python -from django.urls import path -from . import views - -urlpatterns = [ - path('random/', views.RandomAnimalView.as_view(), name='random_animal'), -] -``` - -A URL pattern has three components: - -* `route` - The unique portion of the URL dedicated to this view -* `view` - The view itself -* `name` - A short name used to identify the URL path internally - -This makes our view accessible at the URL `/plugins/animal-sounds/random/`. (Remember, our `AnimalSoundsConfig` class sets our plugin's base URL to `animal-sounds`.) Viewing this URL should show the base NetBox template with our custom content inside it. - -## REST API Endpoints - -Plugins can declare custom endpoints on NetBox's REST API to retrieve or manipulate models or other data. These behave very similarly to views, except that instead of rendering arbitrary content using a template, data is returned in JSON format using a serializer. NetBox uses the [Django REST Framework](https://www.django-rest-framework.org/), which makes writing API serializers and views very simple. - -First, we'll create a serializer for our `Animal` model, in `api/serializers.py`: - -```python -from rest_framework.serializers import ModelSerializer -from netbox_animal_sounds.models import Animal - -class AnimalSerializer(ModelSerializer): - - class Meta: - model = Animal - fields = ('id', 'name', 'sound') -``` - -Next, we'll create a generic API view set that allows basic CRUD (create, read, update, and delete) operations for Animal instances. This is defined in `api/views.py`: - -```python -from rest_framework.viewsets import ModelViewSet -from netbox_animal_sounds.models import Animal -from .serializers import AnimalSerializer - -class AnimalViewSet(ModelViewSet): - queryset = Animal.objects.all() - serializer_class = AnimalSerializer -``` - -Finally, we'll register a URL for our endpoint in `api/urls.py`. This file **must** define a variable named `urlpatterns`. - -```python -from rest_framework import routers -from .views import AnimalViewSet - -router = routers.DefaultRouter() -router.register('animals', AnimalViewSet) -urlpatterns = router.urls -``` - -With these three components in place, we can request `/api/plugins/animal-sounds/animals/` to retrieve a list of all Animal objects defined. - -![NetBox REST API plugin endpoint](../media/plugins/plugin_rest_api_endpoint.png) - -!!! warning - This example is provided as a minimal reference implementation only. It does not address authentication, performance, or myriad other concerns that plugin authors should have. - -## Navigation Menu Items - -To make its views easily accessible to users, a plugin can inject items in NetBox's navigation menu under the "Plugins" header. Menu items are added by defining a list of PluginMenuItem instances. By default, this should be a variable named `menu_items` in the file `navigation.py`. An example is shown below. - -```python -from extras.plugins import PluginMenuButton, PluginMenuItem -from utilities.choices import ButtonColorChoices - -menu_items = ( - PluginMenuItem( - link='plugins:netbox_animal_sounds:random_animal', - link_text='Random sound', - buttons=( - PluginMenuButton('home', 'Button A', 'fa fa-info', ButtonColorChoices.BLUE), - PluginMenuButton('home', 'Button B', 'fa fa-warning', ButtonColorChoices.GREEN), - ) - ), -) -``` - -A `PluginMenuItem` has the following attributes: - -* `link` - The name of the URL path to which this menu item links -* `link_text` - The text presented to the user -* `permissions` - A list of permissions required to display this link (optional) -* `buttons` - An iterable of PluginMenuButton instances to display (optional) - -A `PluginMenuButton` has the following attributes: - -* `link` - The name of the URL path to which this button links -* `title` - The tooltip text (displayed when the mouse hovers over the button) -* `icon_class` - Button icon CSS class (NetBox currently supports [Font Awesome 4.7](https://fontawesome.com/v4.7.0/icons/)) -* `color` - One of the choices provided by `ButtonColorChoices` (optional) -* `permissions` - A list of permissions required to display this button (optional) - -!!! note - Any buttons associated within a menu item will be shown only if the user has permission to view the link, regardless of what permissions are set on the buttons. - -## Extending Core Templates - -Plugins can inject custom content into certain areas of the detail views of applicable models. This is accomplished by subclassing `PluginTemplateExtension`, designating a particular NetBox model, and defining the desired methods to render custom content. Four methods are available: - -* `left_page()` - Inject content on the left side of the page -* `right_page()` - Inject content on the right side of the page -* `full_width_page()` - Inject content across the entire bottom of the page -* `buttons()` - Add buttons to the top of the page - -Additionally, a `render()` method is available for convenience. This method accepts the name of a template to render, and any additional context data you want to pass. Its use is optional, however. - -When a PluginTemplateExtension is instantiated, context data is assigned to `self.context`. Available data include: - -* `object` - The object being viewed -* `request` - The current request -* `settings` - Global NetBox settings -* `config` - Plugin-specific configuration parameters - -For example, accessing `{{ request.user }}` within a template will return the current user. - -Declared subclasses should be gathered into a list or tuple for integration with NetBox. By default, NetBox looks for an iterable named `template_extensions` within a `template_content.py` file. (This can be overridden by setting `template_extensions` to a custom value on the plugin's PluginConfig.) An example is below. - -```python -from extras.plugins import PluginTemplateExtension -from .models import Animal - -class SiteAnimalCount(PluginTemplateExtension): - model = 'dcim.site' - - def right_page(self): - return self.render('netbox_animal_sounds/inc/animal_count.html', extra_context={ - 'animal_count': Animal.objects.count(), - }) - -template_extensions = [SiteAnimalCount] -``` - -## Background Tasks - -By default, Netbox provides 3 differents [RQ](https://python-rq.org/) queues to run background jobs : *high*, *default* and *low*. -These 3 core queues can be used out-of-the-box by plugins to define background tasks. - -Plugins can also define dedicated queues. These queues can be configured under the PluginConfig class `queues` attribute. An example configuration -is below: - -```python -class MyPluginConfig(PluginConfig): - name = 'myplugin' - ... - queues = [ - 'queue1', - 'queue2', - 'queue-whatever-the-name' - ] -``` - -The PluginConfig above creates 3 queues with the following names: *myplugin.queue1*, *myplugin.queue2*, *myplugin.queue-whatever-the-name*. -As you can see, the queue's name is always preprended with the plugin's name, to avoid any name clashes between different plugins. - -In case you create dedicated queues for your plugin, it is strongly advised to also create a dedicated RQ worker instance. This instance should only listen to the queues defined in your plugin - to avoid impact between your background tasks and netbox internal tasks. - -``` -python manage.py rqworker myplugin.queue1 myplugin.queue2 myplugin.queue-whatever-the-name -``` diff --git a/docs/plugins/development/background-tasks.md b/docs/plugins/development/background-tasks.md new file mode 100644 index 00000000000..7c7e2936bc4 --- /dev/null +++ b/docs/plugins/development/background-tasks.md @@ -0,0 +1,27 @@ +# Background Tasks + +By default, Netbox provides 3 differents [RQ](https://python-rq.org/) queues to run background jobs : *high*, *default* and *low*. +These 3 core queues can be used out-of-the-box by plugins to define background tasks. + +Plugins can also define dedicated queues. These queues can be configured under the PluginConfig class `queues` attribute. An example configuration +is below: + +```python +class MyPluginConfig(PluginConfig): + name = 'myplugin' + ... + queues = [ + 'queue1', + 'queue2', + 'queue-whatever-the-name' + ] +``` + +The PluginConfig above creates 3 queues with the following names: *myplugin.queue1*, *myplugin.queue2*, *myplugin.queue-whatever-the-name*. +As you can see, the queue's name is always preprended with the plugin's name, to avoid any name clashes between different plugins. + +In case you create dedicated queues for your plugin, it is strongly advised to also create a dedicated RQ worker instance. This instance should only listen to the queues defined in your plugin - to avoid impact between your background tasks and netbox internal tasks. + +``` +python manage.py rqworker myplugin.queue1 myplugin.queue2 myplugin.queue-whatever-the-name +``` diff --git a/docs/plugins/development/filtersets.md b/docs/plugins/development/filtersets.md new file mode 100644 index 00000000000..e2a98ed0be7 --- /dev/null +++ b/docs/plugins/development/filtersets.md @@ -0,0 +1,56 @@ +# Filter Sets + +Filter sets define the mechanisms available for filtering or searching through a set of objects in NetBox. For instance, sites can be filtered by their parent region or group, status, facility ID, and so on. The same filter set is used consistently for a model whether the request is made via the UI, REST API, or GraphQL API. NetBox employs the [django-filters2](https://django-tables2.readthedocs.io/en/latest/) library to define filter sets. + +## FilterSet Classes + +To support additional functionality standard to NetBox models, such as tag assignment and custom field support, the `NetBoxModelFilterSet` class is available for use by plugins. This should be used as the base filter set class for plugin models which inherit from `NetBoxModel`. Within this class, individual filters can be declared as directed by the `django-filters` documentation. An example is provided below. + +```python +# filtersets.py +import django_filters +from netbox.filtersets import NetBoxModelFilterSet +from .models import MyModel + +class MyFilterSet(NetBoxModelFilterSet): + status = django_filters.MultipleChoiceFilter( + choices=( + ('foo', 'Foo'), + ('bar', 'Bar'), + ('baz', 'Baz'), + ), + null_value=None + ) + + class Meta: + model = MyModel + fields = ('some', 'other', 'fields') +``` + +## Declaring Filter Sets + +To utilize a filter set in the subclass of a generic view, such as `ObjectListView` or `BulkEditView`, set it as the `filterset` attribute on the view class: + +```python +# views.py +from netbox.views.generic import ObjectListView +from .filtersets import MyModelFitlerSet +from .models import MyModel + +class MyModelListView(ObjectListView): + queryset = MyModel.objects.all() + filterset = MyModelFitlerSet +``` + +To enable a filter on a REST API endpoint, set it as the `filterset_class` attribute on the API view: + +```python +# api/views.py +from myplugin import models, filtersets +from . import serializers + +class MyModelViewSet(...): + queryset = models.MyModel.objects.all() + serializer_class = serializers.MyModelSerializer + filterset_class = filtersets.MyModelFilterSet +``` diff --git a/docs/plugins/development/index.md b/docs/plugins/development/index.md new file mode 100644 index 00000000000..07a04f39f11 --- /dev/null +++ b/docs/plugins/development/index.md @@ -0,0 +1,146 @@ +# Plugins Development + +!!! info "Help Improve the NetBox Plugins Framework!" + We're looking for volunteers to help improve NetBox's plugins framework. If you have experience developing plugins, we'd love to hear from you! You can find more information about this initiative [here](https://github.com/netbox-community/netbox/discussions/8338). + +This documentation covers the development of custom plugins for NetBox. Plugins are essentially self-contained [Django apps](https://docs.djangoproject.com/en/stable/) which integrate with NetBox to provide custom functionality. Since the development of Django apps is already very well-documented, we'll only be covering the aspects that are specific to NetBox. + +Plugins can do a lot, including: + +* Create Django models to store data in the database +* Provide their own "pages" (views) in the web user interface +* Inject template content and navigation links +* Establish their own REST API endpoints +* Add custom request/response middleware + +However, keep in mind that each piece of functionality is entirely optional. For example, if your plugin merely adds a piece of middleware or an API endpoint for existing data, there's no need to define any new models. + +!!! warning + While very powerful, the NetBox plugins API is necessarily limited in its scope. The plugins API is discussed here in its entirety: Any part of the NetBox code base not documented here is _not_ part of the supported plugins API, and should not be employed by a plugin. Internal elements of NetBox are subject to change at any time and without warning. Plugin authors are **strongly** encouraged to develop plugins using only the officially supported components discussed here and those provided by the underlying Django framework so as to avoid breaking changes in future releases. + +## Initial Setup + +### Plugin Structure + +Although the specific structure of a plugin is largely left to the discretion of its authors, a typical NetBox plugin looks something like this: + +```no-highlight +project-name/ + - plugin_name/ + - templates/ + - plugin_name/ + - *.html + - __init__.py + - middleware.py + - navigation.py + - signals.py + - template_content.py + - urls.py + - views.py + - README + - setup.py +``` + +The top level is the project root, which can have any name that you like. Immediately within the root should exist several items: + +* `setup.py` - This is a standard installation script used to install the plugin package within the Python environment. +* `README` - A brief introduction to your plugin, how to install and configure it, where to find help, and any other pertinent information. It is recommended to write README files using a markup language such as Markdown. +* The plugin source directory, with the same name as your plugin. This must be a valid Python package name (e.g. no spaces or hyphens). + +The plugin source directory contains all the actual Python code and other resources used by your plugin. Its structure is left to the author's discretion, however it is recommended to follow best practices as outlined in the [Django documentation](https://docs.djangoproject.com/en/stable/intro/reusable-apps/). At a minimum, this directory **must** contain an `__init__.py` file containing an instance of NetBox's `PluginConfig` class. + +### Create setup.py + +`setup.py` is the [setup script](https://docs.python.org/3.8/distutils/setupscript.html) we'll use to install our plugin once it's finished. The primary function of this script is to call the setuptools library's `setup()` function to create a Python distribution package. We can pass a number of keyword arguments to inform the package creation as well as to provide metadata about the plugin. An example `setup.py` is below: + +```python +from setuptools import find_packages, setup + +setup( + name='netbox-animal-sounds', + version='0.1', + description='An example NetBox plugin', + url='https://github.com/netbox-community/netbox-animal-sounds', + author='Jeremy Stretch', + license='Apache 2.0', + install_requires=[], + packages=find_packages(), + include_package_data=True, + zip_safe=False, +) +``` + +Many of these are self-explanatory, but for more information, see the [setuptools documentation](https://setuptools.readthedocs.io/en/latest/setuptools.html). + +!!! note + `zip_safe=False` is **required** as the current plugin iteration is not zip safe due to upstream python issue [issue19699](https://bugs.python.org/issue19699) + +### Define a PluginConfig + +The `PluginConfig` class is a NetBox-specific wrapper around Django's built-in [`AppConfig`](https://docs.djangoproject.com/en/stable/ref/applications/) class. It is used to declare NetBox plugin functionality within a Python package. Each plugin should provide its own subclass, defining its name, metadata, and default and required configuration parameters. An example is below: + +```python +from extras.plugins import PluginConfig + +class AnimalSoundsConfig(PluginConfig): + name = 'netbox_animal_sounds' + verbose_name = 'Animal Sounds' + description = 'An example plugin for development purposes' + version = '0.1' + author = 'Jeremy Stretch' + author_email = 'author@example.com' + base_url = 'animal-sounds' + required_settings = [] + default_settings = { + 'loud': False + } + +config = AnimalSoundsConfig +``` + +NetBox looks for the `config` variable within a plugin's `__init__.py` to load its configuration. Typically, this will be set to the PluginConfig subclass, but you may wish to dynamically generate a PluginConfig class based on environment variables or other factors. + +#### PluginConfig Attributes + +| Name | Description | +| ---- |---------------------------------------------------------------------------------------------------------------| +| `name` | Raw plugin name; same as the plugin's source directory | +| `verbose_name` | Human-friendly name for the plugin | +| `version` | Current release ([semantic versioning](https://semver.org/) is encouraged) | +| `description` | Brief description of the plugin's purpose | +| `author` | Name of plugin's author | +| `author_email` | Author's public email address | +| `base_url` | Base path to use for plugin URLs (optional). If not specified, the project's `name` will be used. | +| `required_settings` | A list of any configuration parameters that **must** be defined by the user | +| `default_settings` | A dictionary of configuration parameters and their default values | +| `min_version` | Minimum version of NetBox with which the plugin is compatible | +| `max_version` | Maximum version of NetBox with which the plugin is compatible | +| `middleware` | A list of middleware classes to append after NetBox's build-in middleware | +| `template_extensions` | The dotted path to the list of template extension classes (default: `template_content.template_extensions`) | +| `menu_items` | The dotted path to the list of menu items provided by the plugin (default: `navigation.menu_items`) | +| `user_preferences` | The dotted path to the dictionary mapping of user preferences defined by the plugin (default: `preferences.preferences`) | + +All required settings must be configured by the user. If a configuration parameter is listed in both `required_settings` and `default_settings`, the default setting will be ignored. + +### Create a Virtual Environment + +It is strongly recommended to create a Python [virtual environment](https://docs.python.org/3/tutorial/venv.html) specific to your plugin. This will afford you complete control over the installed versions of all dependencies and avoid conflicting with any system packages. This environment can live wherever you'd like, however it should be excluded from revision control. (A popular convention is to keep all virtual environments in the user's home directory, e.g. `~/.virtualenvs/`.) + +```shell +python3 -m venv /path/to/my/venv +``` + +You can make NetBox available within this environment by creating a path file pointing to its location. This will add NetBox to the Python path upon activation. (Be sure to adjust the command below to specify your actual virtual environment path, Python version, and NetBox installation.) + +```shell +cd $VENV/lib/python3.8/site-packages/ +echo /opt/netbox/netbox > netbox.pth +``` + +### Install the Plugin for Development + +To ease development, it is recommended to go ahead and install the plugin at this point using setuptools' `develop` mode. This will create symbolic links within your Python environment to the plugin development directory. Call `setup.py` from the plugin's root directory with the `develop` argument (instead of `install`): + +```no-highlight +$ python setup.py develop +``` diff --git a/docs/plugins/development/models.md b/docs/plugins/development/models.md new file mode 100644 index 00000000000..521420b1bbf --- /dev/null +++ b/docs/plugins/development/models.md @@ -0,0 +1,111 @@ +# Database Models + +## Creating Models + +If your plugin introduces a new type of object in NetBox, you'll probably want to create a [Django model](https://docs.djangoproject.com/en/stable/topics/db/models/) for it. A model is essentially a Python representation of a database table, with attributes that represent individual columns. Model instances can be created, manipulated, and deleted using [queries](https://docs.djangoproject.com/en/stable/topics/db/queries/). Models must be defined within a file named `models.py`. + +Below is an example `models.py` file containing a model with two character fields: + +```python +from django.db import models + +class Animal(models.Model): + name = models.CharField(max_length=50) + sound = models.CharField(max_length=50) + + def __str__(self): + return self.name +``` + +### Migrations + +Once you have defined the model(s) for your plugin, you'll need to create the database schema migrations. A migration file is essentially a set of instructions for manipulating the PostgreSQL database to support your new model, or to alter existing models. Creating migrations can usually be done automatically using Django's `makemigrations` management command. + +!!! note + A plugin must be installed before it can be used with Django management commands. If you skipped this step above, run `python setup.py develop` from the plugin's root directory. + +```no-highlight +$ ./manage.py makemigrations netbox_animal_sounds +Migrations for 'netbox_animal_sounds': + /home/jstretch/animal_sounds/netbox_animal_sounds/migrations/0001_initial.py + - Create model Animal +``` + +Next, we can apply the migration to the database with the `migrate` command: + +```no-highlight +$ ./manage.py migrate netbox_animal_sounds +Operations to perform: + Apply all migrations: netbox_animal_sounds +Running migrations: + Applying netbox_animal_sounds.0001_initial... OK +``` + +For more background on schema migrations, see the [Django documentation](https://docs.djangoproject.com/en/stable/topics/migrations/). + +## Enabling NetBox Features + +Plugin models can leverage certain NetBox features by inheriting from NetBox's `NetBoxModel` class. This class extends the plugin model to enable numerous feature, including: + +* Change logging +* Custom fields +* Custom links +* Custom validation +* Export templates +* Journaling +* Tags +* Webhooks + +This class performs two crucial functions: + +1. Apply any fields, methods, or attributes necessary to the operation of these features +2. Register the model with NetBox as utilizing these feature + +Simply subclass BaseModel when defining a model in your plugin: + +```python +# models.py +from django.db import models +from netbox.models import NetBoxModel + +class MyModel(NetBoxModel): + foo = models.CharField() + ... +``` + +### Enabling Features Individually + +If you prefer instead to enable only a subset of these features for a plugin model, NetBox provides a discrete "mix-in" class for each feature. You can subclass each of these individually when defining your model. (You will also need to inherit from Django's built-in `Model` class.) + +```python +# models.py +from django.db import models +from netbox.models.features import ExportTemplatesMixin, TagsMixin + +class MyModel(ExportTemplatesMixin, TagsMixin, models.Model): + foo = models.CharField() + ... +``` + +The example above will enable export templates and tags, but no other NetBox features. A complete list of available feature mixins is included below. (Inheriting all the available mixins is essentially the same as subclassing `BaseModel`.) + +## Feature Mixins Reference + +!!! note + Please note that only the classes which appear in this documentation are currently supported. Although other classes may be present within the `features` module, they are not yet supported for use by plugins. + +::: netbox.models.features.ChangeLoggingMixin + +::: netbox.models.features.CustomLinksMixin + +::: netbox.models.features.CustomFieldsMixin + +::: netbox.models.features.CustomValidationMixin + +::: netbox.models.features.ExportTemplatesMixin + +::: netbox.models.features.JournalingMixin + +::: netbox.models.features.TagsMixin + +::: netbox.models.features.WebhooksMixin diff --git a/docs/plugins/development/rest-api.md b/docs/plugins/development/rest-api.md new file mode 100644 index 00000000000..efe7b112750 --- /dev/null +++ b/docs/plugins/development/rest-api.md @@ -0,0 +1,46 @@ +# REST API + +Plugins can declare custom endpoints on NetBox's REST API to retrieve or manipulate models or other data. These behave very similarly to views, except that instead of rendering arbitrary content using a template, data is returned in JSON format using a serializer. NetBox uses the [Django REST Framework](https://www.django-rest-framework.org/), which makes writing API serializers and views very simple. + +First, we'll create a serializer for our `Animal` model, in `api/serializers.py`: + +```python +from rest_framework.serializers import ModelSerializer +from netbox_animal_sounds.models import Animal + +class AnimalSerializer(ModelSerializer): + + class Meta: + model = Animal + fields = ('id', 'name', 'sound') +``` + +Next, we'll create a generic API view set that allows basic CRUD (create, read, update, and delete) operations for Animal instances. This is defined in `api/views.py`: + +```python +from rest_framework.viewsets import ModelViewSet +from netbox_animal_sounds.models import Animal +from .serializers import AnimalSerializer + +class AnimalViewSet(ModelViewSet): + queryset = Animal.objects.all() + serializer_class = AnimalSerializer +``` + +Finally, we'll register a URL for our endpoint in `api/urls.py`. This file **must** define a variable named `urlpatterns`. + +```python +from rest_framework import routers +from .views import AnimalViewSet + +router = routers.DefaultRouter() +router.register('animals', AnimalViewSet) +urlpatterns = router.urls +``` + +With these three components in place, we can request `/api/plugins/animal-sounds/animals/` to retrieve a list of all Animal objects defined. + +![NetBox REST API plugin endpoint](../../media/plugins/plugin_rest_api_endpoint.png) + +!!! warning + This example is provided as a minimal reference implementation only. It does not address authentication, performance, or myriad other concerns that plugin authors should have. diff --git a/docs/plugins/development/tables.md b/docs/plugins/development/tables.md new file mode 100644 index 00000000000..16f9f6c178b --- /dev/null +++ b/docs/plugins/development/tables.md @@ -0,0 +1,37 @@ +# Tables + +NetBox employs the [`django-tables2`](https://django-tables2.readthedocs.io/) library for rendering dynamic object tables. These tables display lists of objects, and can be sorted and filtered by various parameters. + +## NetBoxTable + +To provide additional functionality beyond what is supported by the stock `Table` class in `django-tables2`, NetBox provides the `NetBoxTable` class. This custom table class includes support for: + +* User-configurable column display and ordering +* Custom field & custom link columns +* Automatic prefetching of related objects + +It also includes several default columns: + +* `pk` - A checkbox for selecting the object associated with each table row +* `id` - The object's numeric database ID, as a hyperlink to the object's view +* `actions` - A dropdown menu presenting object-specific actions available to the user. + +### Example + +```python +# tables.py +import django_tables2 as tables +from netbox.tables import NetBoxTable +from .models import MyModel + +class MyModelTable(NetBoxTable): + name = tables.Column( + linkify=True + ) + ... + + class Meta(NetBoxTable.Meta): + model = MyModel + fields = ('pk', 'id', 'name', ...) + default_columns = ('pk', 'name', ...) +``` diff --git a/docs/plugins/development/views.md b/docs/plugins/development/views.md new file mode 100644 index 00000000000..9c44e18ede6 --- /dev/null +++ b/docs/plugins/development/views.md @@ -0,0 +1,254 @@ +# Views + +If your plugin needs its own page or pages in the NetBox web UI, you'll need to define views. A view is a particular page tied to a URL within NetBox, which renders content using a template. Views are typically defined in `views.py`, and URL patterns in `urls.py`. As an example, let's write a view which displays a random animal and the sound it makes. First, we'll create the view in `views.py`: + +```python +from django.shortcuts import render +from django.views.generic import View +from .models import Animal + +class RandomAnimalView(View): + """ + Display a randomly-selected animal. + """ + def get(self, request): + animal = Animal.objects.order_by('?').first() + return render(request, 'netbox_animal_sounds/animal.html', { + 'animal': animal, + }) +``` + +This view retrieves a random animal from the database and and passes it as a context variable when rendering a template named `animal.html`, which doesn't exist yet. To create this template, first create a directory named `templates/netbox_animal_sounds/` within the plugin source directory. (We use the plugin's name as a subdirectory to guard against naming collisions with other plugins.) Then, create a template named `animal.html` as described below. + +## View Classes + +NetBox provides several generic view classes (documented below) to facilitate common operations, such as creating, viewing, modifying, and deleting objects. Plugins can subclass these views for their own use. + +| View Class | Description | +|------------|-------------| +| `ObjectView` | View a single object | +| `ObjectEditView` | Create or edit a single object | +| `ObjectDeleteView` | Delete a single object | +| `ObjectListView` | View a list of objects | +| `BulkImportView` | Import a set of new objects | +| `BulkEditView` | Edit multiple objects | +| `BulkDeleteView` | Delete multiple objects | + +!!! warning + Please note that only the classes which appear in this documentation are currently supported. Although other classes may be present within the `views.generic` module, they are not yet supported for use by plugins. + +### Example Usage + +```python +# views.py +from netbox.views.generic import ObjectEditView +from .models import Thing + +class ThingEditView(ObjectEditView): + queryset = Thing.objects.all() + template_name = 'myplugin/thing.html' + ... +``` + +## URL Registration + +To make the view accessible to users, we need to register a URL for it. We do this in `urls.py` by defining a `urlpatterns` variable containing a list of paths. + +```python +from django.urls import path +from . import views + +urlpatterns = [ + path('random/', views.RandomAnimalView.as_view(), name='random_animal'), +] +``` + +A URL pattern has three components: + +* `route` - The unique portion of the URL dedicated to this view +* `view` - The view itself +* `name` - A short name used to identify the URL path internally + +This makes our view accessible at the URL `/plugins/animal-sounds/random/`. (Remember, our `AnimalSoundsConfig` class sets our plugin's base URL to `animal-sounds`.) Viewing this URL should show the base NetBox template with our custom content inside it. + +## Templates + +### Plugin Views + +NetBox provides a base template to ensure a consistent user experience, which plugins can extend with their own content. This template includes four content blocks: + +* `title` - The page title +* `header` - The upper portion of the page +* `content` - The main page body +* `javascript` - A section at the end of the page for including Javascript code + +For more information on how template blocks work, consult the [Django documentation](https://docs.djangoproject.com/en/stable/ref/templates/builtins/#block). + +```jinja2 +{% extends 'base/layout.html' %} + +{% block content %} + {% with config=settings.PLUGINS_CONFIG.netbox_animal_sounds %} +

+ {% if animal %} + The {{ animal.name|lower }} says + {% if config.loud %} + {{ animal.sound|upper }}! + {% else %} + {{ animal.sound }} + {% endif %} + {% else %} + No animals have been created yet! + {% endif %} +

+ {% endwith %} +{% endblock %} + +``` + +The first line of the template instructs Django to extend the NetBox base template and inject our custom content within its `content` block. + +!!! note + Django renders templates with its own custom [template language](https://docs.djangoproject.com/en/stable/topics/templates/#the-django-template-language). This is very similar to Jinja2, however there are some important differences to be aware of. + +### Extending Core Views + +Plugins can inject custom content into certain areas of the detail views of applicable models. This is accomplished by subclassing `PluginTemplateExtension`, designating a particular NetBox model, and defining the desired methods to render custom content. Four methods are available: + +* `left_page()` - Inject content on the left side of the page +* `right_page()` - Inject content on the right side of the page +* `full_width_page()` - Inject content across the entire bottom of the page +* `buttons()` - Add buttons to the top of the page + +Additionally, a `render()` method is available for convenience. This method accepts the name of a template to render, and any additional context data you want to pass. Its use is optional, however. + +When a PluginTemplateExtension is instantiated, context data is assigned to `self.context`. Available data include: + +* `object` - The object being viewed +* `request` - The current request +* `settings` - Global NetBox settings +* `config` - Plugin-specific configuration parameters + +For example, accessing `{{ request.user }}` within a template will return the current user. + +Declared subclasses should be gathered into a list or tuple for integration with NetBox. By default, NetBox looks for an iterable named `template_extensions` within a `template_content.py` file. (This can be overridden by setting `template_extensions` to a custom value on the plugin's PluginConfig.) An example is below. + +```python +from extras.plugins import PluginTemplateExtension +from .models import Animal + +class SiteAnimalCount(PluginTemplateExtension): + model = 'dcim.site' + + def right_page(self): + return self.render('netbox_animal_sounds/inc/animal_count.html', extra_context={ + 'animal_count': Animal.objects.count(), + }) + +template_extensions = [SiteAnimalCount] +``` + +## Navigation Menu Items + +To make its views easily accessible to users, a plugin can inject items in NetBox's navigation menu under the "Plugins" header. Menu items are added by defining a list of PluginMenuItem instances. By default, this should be a variable named `menu_items` in the file `navigation.py`. An example is shown below. + +```python +from extras.plugins import PluginMenuButton, PluginMenuItem +from utilities.choices import ButtonColorChoices + +menu_items = ( + PluginMenuItem( + link='plugins:netbox_animal_sounds:random_animal', + link_text='Random sound', + buttons=( + PluginMenuButton('home', 'Button A', 'fa fa-info', ButtonColorChoices.BLUE), + PluginMenuButton('home', 'Button B', 'fa fa-warning', ButtonColorChoices.GREEN), + ) + ), +) +``` + +A `PluginMenuItem` has the following attributes: + +* `link` - The name of the URL path to which this menu item links +* `link_text` - The text presented to the user +* `permissions` - A list of permissions required to display this link (optional) +* `buttons` - An iterable of PluginMenuButton instances to display (optional) + +A `PluginMenuButton` has the following attributes: + +* `link` - The name of the URL path to which this button links +* `title` - The tooltip text (displayed when the mouse hovers over the button) +* `icon_class` - Button icon CSS class (NetBox currently supports [Font Awesome 4.7](https://fontawesome.com/v4.7.0/icons/)) +* `color` - One of the choices provided by `ButtonColorChoices` (optional) +* `permissions` - A list of permissions required to display this button (optional) + +!!! note + Any buttons associated within a menu item will be shown only if the user has permission to view the link, regardless of what permissions are set on the buttons. + +## Object Views Reference + +Below is the class definition for NetBox's BaseObjectView. The attributes and methods defined here are available on all generic views which handle a single object. + +::: netbox.views.generic.base.BaseObjectView + rendering: + show_source: false + +::: netbox.views.generic.ObjectView + selection: + members: + - get_object + - get_template_name + rendering: + show_source: false + +::: netbox.views.generic.ObjectEditView + selection: + members: + - get_object + - alter_object + rendering: + show_source: false + +::: netbox.views.generic.ObjectDeleteView + selection: + members: + - get_object + rendering: + show_source: false + +## Multi-Object Views Reference + +Below is the class definition for NetBox's BaseMultiObjectView. The attributes and methods defined here are available on all generic views which deal with multiple objects. + +::: netbox.views.generic.base.BaseMultiObjectView + rendering: + show_source: false + +::: netbox.views.generic.ObjectListView + selection: + members: + - get_table + - export_table + - export_template + rendering: + show_source: false + +::: netbox.views.generic.BulkImportView + selection: + members: false + rendering: + show_source: false + +::: netbox.views.generic.BulkEditView + selection: + members: false + rendering: + show_source: false + +::: netbox.views.generic.BulkDeleteView + selection: + members: + - get_form + rendering: + show_source: false diff --git a/docs/release-notes/index.md b/docs/release-notes/index.md index 7caa1e3abb8..13c1293982b 100644 --- a/docs/release-notes/index.md +++ b/docs/release-notes/index.md @@ -1,6 +1,14 @@ # Release Notes -Listed below are the major features introduced in each NetBox release. For more detail on a specific release train, see its individual release notes page. +NetBox releases are numbered as major, minor, and patch releases. For example, version 3.1.0 is a minor release, and v3.1.5 is a patch release. Briefly, these can be described as follows: + +* **Major** - Introduces or removes an entire API or other core functionality +* **Minor** - Implements major new features but may include breaking changes for API consumers or other integrations +* **Patch** - A maintenance release which fixes bugs and may introduce backward-compatible enhancements + +Minor releases are published in April, August, and December of each calendar year. Patch releases are published as needed to address bugs and fulfill minor feature requests, typically around every one to two weeks. + +This page contains a history of all major and minor releases since NetBox v2.0. For more detail on a specific patch release, please see the release notes page for that specific minor release. #### [Version 3.1](./version-3.1.md) (December 2021) diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index 29213a4c5ef..c42837b246c 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -1,6 +1,52 @@ # NetBox v3.1 -## v3.1.5 (FUTURE) +## v3.1.7 (FUTURE) + +--- + +## v3.1.6 (2022-01-17) + +### Enhancements + +* [#8246](https://github.com/netbox-community/netbox/issues/8246) - Show human-friendly values for commit rates in circuits table +* [#8262](https://github.com/netbox-community/netbox/issues/8262) - Add cable count to tenant stats +* [#8265](https://github.com/netbox-community/netbox/issues/8265) - Add Stackwise-n interface types +* [#8293](https://github.com/netbox-community/netbox/issues/8293) - Show 4-byte ASNs in ASDOT notation +* [#8302](https://github.com/netbox-community/netbox/issues/8302) - Linkify role column in device & VM tables +* [#8337](https://github.com/netbox-community/netbox/issues/8337) - Enable sorting object tables by created & updated times + +### Bug Fixes + +* [#8279](https://github.com/netbox-community/netbox/issues/8279) - Fix display of virtual chassis members in rack elevations +* [#8285](https://github.com/netbox-community/netbox/issues/8285) - Fix `cluster_count` under tenant REST API serializer +* [#8287](https://github.com/netbox-community/netbox/issues/8287) - Correct label in export template form +* [#8301](https://github.com/netbox-community/netbox/issues/8301) - Fix delete button for various object children views +* [#8305](https://github.com/netbox-community/netbox/issues/8305) - Fix assignment of custom field data to FHRP groups via UI +* [#8306](https://github.com/netbox-community/netbox/issues/8306) - Redirect user to previous page after login +* [#8314](https://github.com/netbox-community/netbox/issues/8314) - Prevent custom fields with default values from appearing as applied filters erroneously +* [#8317](https://github.com/netbox-community/netbox/issues/8317) - Fix CSV import of multi-select custom field values +* [#8319](https://github.com/netbox-community/netbox/issues/8319) - Custom URL fields should honor `ALLOWED_URL_SCHEMES` config parameter +* [#8342](https://github.com/netbox-community/netbox/issues/8342) - Restore `created` & `last_updated` fields missing from several REST API serializers +* [#8357](https://github.com/netbox-community/netbox/issues/8357) - Add missing tags field to location filter form +* [#8358](https://github.com/netbox-community/netbox/issues/8358) - Fix inconsistent styling of custom fields on filter & bulk edit forms + +--- + +## v3.1.5 (2022-01-06) + +### Enhancements + +* [#8231](https://github.com/netbox-community/netbox/issues/8231) - Use in-page dialogs for confirming object deletion +* [#8244](https://github.com/netbox-community/netbox/issues/8244) - Add length & length unit fields to cable filter form +* [#8252](https://github.com/netbox-community/netbox/issues/8252) - Linkify type and group columns in clusters table + +### Bug Fixes + +* [#8213](https://github.com/netbox-community/netbox/issues/8213) - Fix ValueError exception under prefix IP addresses view +* [#8224](https://github.com/netbox-community/netbox/issues/8224) - Fix KeyError exception when creating FHRP group with IP address and protocol "other" +* [#8226](https://github.com/netbox-community/netbox/issues/8226) - Honor return URL after populating a device bay +* [#8228](https://github.com/netbox-community/netbox/issues/8228) - Optional ChoiceVar fields should not force a selection +* [#8255](https://github.com/netbox-community/netbox/issues/8255) - Fix bulk editing of authentication parameters for wireless LANs and links --- diff --git a/docs/release-notes/version-3.2.md b/docs/release-notes/version-3.2.md index d2702cfdaab..1b4a7ef8713 100644 --- a/docs/release-notes/version-3.2.md +++ b/docs/release-notes/version-3.2.md @@ -14,13 +14,15 @@ ### New Features -#### Automatic Provisioning of Next Available VLANs ([#2658](https://github.com/netbox-community/netbox/issues/2658)) +#### Plugins Framework Extensions ([#8333](https://github.com/netbox-community/netbox/issues/8333)) -A new REST API endpoint has been added at `/api/ipam/vlan-groups//available-vlans/`. A GET request to this endpoint will return a list of available VLANs within the group. A POST request can be made to this endpoint specifying the name(s) of one or more VLANs to create within the group, and their VLAN IDs will be assigned automatically. +NetBox's plugins framework has been extended considerably in this release. Changes include: -#### Inventory Item Roles ([#3087](https://github.com/netbox-community/netbox/issues/3087)) +* Seven generic view classes are now officially supported for use by plugins. +* `NetBoxModel` is available for subclassing to enable various NetBox features, such as custom fields and change logging. +* `NetBoxModelFilterSet` is available to extend NetBox's dynamic filtering ability to plugin models. -A new model has been introduced to represent function roles for inventory items, similar to device roles. The assignment of roles to inventory items is optional. +No breaking changes to previously supported components have been introduced in this release. However, plugin authors are encouraged to audit their code for misuse of unsupported components, as much of NetBox's internal code base has been reorganized. #### Modules & Module Types ([#7844](https://github.com/netbox-community/netbox/issues/7844)) @@ -28,6 +30,12 @@ Several new models have been added to support field-replaceable device modules, Automatic renaming of module components is also supported. When a new module is created, any occurrence of the string `{module}` in a component name will be replaced with the position of the module bay into which the module is being installed. +#### Custom Object Fields ([#7006](https://github.com/netbox-community/netbox/issues/7006)) + +Two new types of custom field have been added: object and multi-object. These can be used to associate objects with other objects in NetBox. For example, you might create a custom field named `primary_site` on the tenant model so that a particular site can be associated with each tenant as its primary. The multi-object custom field type allows for the assignment of one or more objects of the same type. + +Custom field object assignment is fully supported in the REST API, and functions similarly to normal foreign key relations. Nested representations are provided for each custom field object. + #### Custom Status Choices ([#8054](https://github.com/netbox-community/netbox/issues/8054)) Custom choices can be now added to most status fields in NetBox. This is done by defining the `FIELD_CHOICES` configuration parameter to map field identifiers to an iterable of custom choices. These choices are populated automatically when NetBox initializes. For example, the following will add three custom choices for the site status field: @@ -42,20 +50,40 @@ FIELD_CHOICES = { } ``` +#### Inventory Item Roles ([#3087](https://github.com/netbox-community/netbox/issues/3087)) + +A new model has been introduced to represent function roles for inventory items, similar to device roles. The assignment of roles to inventory items is optional. + #### Inventory Item Templates ([#8118](https://github.com/netbox-community/netbox/issues/8118)) Inventory items can now be templatized on a device type similar to the other component types. This enables users to better pre-model fixed hardware components. Inventory item templates can be arranged hierarchically within a device type, and may be assigned to other components. These relationships will be mirrored when instantiating inventory items on a newly-created device. +#### Service Templates ([#1591](https://github.com/netbox-community/netbox/issues/1591)) + +A new service template model has been introduced to assist in standardizing the definition and application of layer four services to devices and virtual machines. As an alternative to manually defining a name, protocol, and port(s) each time a service is created, a user now has the option of selecting a pre-defined template from which these values will be populated. + +#### Automatic Provisioning of Next Available VLANs ([#2658](https://github.com/netbox-community/netbox/issues/2658)) + +A new REST API endpoint has been added at `/api/ipam/vlan-groups//available-vlans/`. A GET request to this endpoint will return a list of available VLANs within the group. A POST request can be made to this endpoint specifying the name(s) of one or more VLANs to create within the group, and their VLAN IDs will be assigned automatically. + ### Enhancements +* [#5429](https://github.com/netbox-community/netbox/issues/5429) - Enable toggling the placement of table paginators +* [#6954](https://github.com/netbox-community/netbox/issues/6954) - Remember users' table ordering preferences * [#7650](https://github.com/netbox-community/netbox/issues/7650) - Add support for local account password validation +* [#7679](https://github.com/netbox-community/netbox/issues/7679) - Add actions menu to all object tables * [#7681](https://github.com/netbox-community/netbox/issues/7681) - Add `service_id` field for provider networks * [#7759](https://github.com/netbox-community/netbox/issues/7759) - Improved the user preferences form * [#7784](https://github.com/netbox-community/netbox/issues/7784) - Support cluster type assignment for config contexts * [#7846](https://github.com/netbox-community/netbox/issues/7846) - Enable associating inventory items with device components +* [#7852](https://github.com/netbox-community/netbox/issues/7852) - Enable assigning interfaces to VRFs +* [#7853](https://github.com/netbox-community/netbox/issues/7853) - Add `speed` and `duplex` fields to interface model * [#8168](https://github.com/netbox-community/netbox/issues/8168) - Add `min_vid` and `max_vid` fields to VLAN group +* [#8295](https://github.com/netbox-community/netbox/issues/8295) - Webhook URLs can now be templatized +* [#8296](https://github.com/netbox-community/netbox/issues/8296) - Allow disabling custom links +* [#8307](https://github.com/netbox-community/netbox/issues/8307) - Add `data_type` indicator to REST API serializer for custom fields ### Other Changes @@ -63,6 +91,7 @@ Inventory item templates can be arranged hierarchically within a device type, an * [#7743](https://github.com/netbox-community/netbox/issues/7743) - Remove legacy ASN field from site model * [#7748](https://github.com/netbox-community/netbox/issues/7748) - Remove legacy contact fields from site model * [#8031](https://github.com/netbox-community/netbox/issues/8031) - Remove automatic redirection of legacy slug-based URLs +* [#8195](https://github.com/netbox-community/netbox/issues/8195), [#8454](https://github.com/netbox-community/netbox/issues/8454) - Use 64-bit integers for all primary keys ### REST API Changes @@ -73,6 +102,7 @@ Inventory item templates can be arranged hierarchically within a device type, an * `/api/dcim/module-bays/` * `/api/dcim/module-bay-templates/` * `/api/dcim/module-types/` + * `/api/extras/service-templates/` * circuits.ProviderNetwork * Added `service_id` field * dcim.ConsolePort @@ -82,7 +112,7 @@ Inventory item templates can be arranged hierarchically within a device type, an * dcim.FrontPort * Added `module` field * dcim.Interface - * Added `module` field + * Added `module`, `speed`, `duplex`, and `vrf` fields * dcim.InventoryItem * Added `component_type`, `component_id`, and `role` fields * Added read-only `component` field @@ -96,6 +126,10 @@ Inventory item templates can be arranged hierarchically within a device type, an * Removed the `asn`, `contact_name`, `contact_phone`, and `contact_email` fields * extras.ConfigContext * Add `cluster_types` field +* extras.CustomField + * Added `object_type` field +* extras.CustomLink + * Added `enabled` field * ipam.VLANGroup * Added the `/availables-vlans/` endpoint * Added the `min_vid` and `max_vid` fields diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index c8726f8e67c..00000000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -# File inclusion plugin for Python-Markdown -# https://github.com/cmacmackin/markdown-include -markdown-include - -# MkDocs Material theme (for documentation build) -# https://github.com/squidfunk/mkdocs-material -mkdocs-material diff --git a/mkdocs.yml b/mkdocs.yml index f89bdaea7a3..3b1e52f5071 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -16,6 +16,22 @@ theme: toggle: icon: material/lightbulb name: Switch to Light Mode +plugins: + - mkdocstrings: + handlers: + python: + setup_commands: + - import os + - import django + - os.chdir('netbox/') + - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "netbox.settings") + - django.setup() + rendering: + heading_level: 3 + members_order: source + show_root_heading: true + show_root_full_path: false + show_root_toc_entry: false extra: social: - icon: fontawesome/brands/github @@ -84,7 +100,14 @@ nav: - Webhooks: 'additional-features/webhooks.md' - Plugins: - Using Plugins: 'plugins/index.md' - - Developing Plugins: 'plugins/development.md' + - Developing Plugins: + - Getting Started: 'plugins/development/index.md' + - Models: 'plugins/development/models.md' + - Views: 'plugins/development/views.md' + - Tables: 'plugins/development/tables.md' + - Filter Sets: 'plugins/development/filtersets.md' + - REST API: 'plugins/development/rest-api.md' + - Background Tasks: 'plugins/development/background-tasks.md' - Administration: - Authentication: 'administration/authentication.md' - Permissions: 'administration/permissions.md' diff --git a/netbox/circuits/api/serializers.py b/netbox/circuits/api/serializers.py index 7a827d547f1..90767d0812b 100644 --- a/netbox/circuits/api/serializers.py +++ b/netbox/circuits/api/serializers.py @@ -100,5 +100,5 @@ class CircuitTerminationSerializer(ValidatedModelSerializer, LinkTerminationSeri fields = [ 'id', 'url', 'display', 'circuit', 'term_side', 'site', 'provider_network', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info', 'description', 'mark_connected', 'cable', 'link_peer', 'link_peer_type', - '_occupied', + '_occupied', 'created', 'last_updated', ] diff --git a/netbox/circuits/filtersets.py b/netbox/circuits/filtersets.py index 0a90116bdc6..40ac61e7741 100644 --- a/netbox/circuits/filtersets.py +++ b/netbox/circuits/filtersets.py @@ -3,8 +3,7 @@ from django.db.models import Q from dcim.filtersets import CableTerminationFilterSet from dcim.models import Region, Site, SiteGroup -from extras.filters import TagFilter -from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet +from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, NetBoxModelFilterSet from tenancy.filtersets import TenancyFilterSet from utilities.filters import TreeNodeMultipleChoiceFilter from .choices import * @@ -19,7 +18,7 @@ __all__ = ( ) -class ProviderFilterSet(PrimaryModelFilterSet): +class ProviderFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -61,7 +60,6 @@ class ProviderFilterSet(PrimaryModelFilterSet): to_field_name='slug', label='Site (slug)', ) - tag = TagFilter() class Meta: model = Provider @@ -79,7 +77,7 @@ class ProviderFilterSet(PrimaryModelFilterSet): ) -class ProviderNetworkFilterSet(PrimaryModelFilterSet): +class ProviderNetworkFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -94,7 +92,6 @@ class ProviderNetworkFilterSet(PrimaryModelFilterSet): to_field_name='slug', label='Provider (slug)', ) - tag = TagFilter() class Meta: model = ProviderNetwork @@ -112,14 +109,13 @@ class ProviderNetworkFilterSet(PrimaryModelFilterSet): class CircuitTypeFilterSet(OrganizationalModelFilterSet): - tag = TagFilter() class Meta: model = CircuitType fields = ['id', 'name', 'slug'] -class CircuitFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class CircuitFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -190,7 +186,6 @@ class CircuitFilterSet(PrimaryModelFilterSet, TenancyFilterSet): to_field_name='slug', label='Site (slug)', ) - tag = TagFilter() class Meta: model = Circuit diff --git a/netbox/circuits/migrations/0033_standardize_id_fields.py b/netbox/circuits/migrations/0033_standardize_id_fields.py new file mode 100644 index 00000000000..475fc25274b --- /dev/null +++ b/netbox/circuits/migrations/0033_standardize_id_fields.py @@ -0,0 +1,44 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('circuits', '0032_provider_service_id'), + ] + + operations = [ + # Model IDs + migrations.AlterField( + model_name='circuit', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='circuittermination', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='circuittype', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='provider', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='providernetwork', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + + # GFK IDs + migrations.AlterField( + model_name='circuittermination', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + ] diff --git a/netbox/circuits/models/circuits.py b/netbox/circuits/models/circuits.py index 013aef55752..0f3de91ed2e 100644 --- a/netbox/circuits/models/circuits.py +++ b/netbox/circuits/models/circuits.py @@ -5,8 +5,8 @@ from django.urls import reverse from circuits.choices import * from dcim.models import LinkTermination -from extras.utils import extras_features -from netbox.models import ChangeLoggedModel, OrganizationalModel, PrimaryModel +from netbox.models import ChangeLoggedModel, OrganizationalModel, NetBoxModel +from netbox.models.features import WebhooksMixin __all__ = ( 'Circuit', @@ -15,7 +15,6 @@ __all__ = ( ) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class CircuitType(OrganizationalModel): """ Circuits can be organized by their functional role. For example, a user might wish to define CircuitTypes named @@ -44,8 +43,7 @@ class CircuitType(OrganizationalModel): return reverse('circuits:circuittype', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Circuit(PrimaryModel): +class Circuit(NetBoxModel): """ A communications circuit connects two points. Each Circuit belongs to a Provider; Providers may have multiple circuits. Each circuit is also assigned a CircuitType and a Site. Circuit port speed and commit rate are measured @@ -138,8 +136,7 @@ class Circuit(PrimaryModel): return CircuitStatusChoices.colors.get(self.status, 'secondary') -@extras_features('webhooks') -class CircuitTermination(ChangeLoggedModel, LinkTermination): +class CircuitTermination(WebhooksMixin, ChangeLoggedModel, LinkTermination): circuit = models.ForeignKey( to='circuits.Circuit', on_delete=models.CASCADE, @@ -212,13 +209,9 @@ class CircuitTermination(ChangeLoggedModel, LinkTermination): raise ValidationError("A circuit termination cannot attach to both a site and a provider network.") def to_objectchange(self, action): - # Annotate the parent Circuit - try: - circuit = self.circuit - except Circuit.DoesNotExist: - # Parent circuit has been deleted - circuit = None - return super().to_objectchange(action, related_object=circuit) + objectchange = super().to_objectchange(action) + objectchange.related_object = self.circuit + return objectchange @property def parent_object(self): diff --git a/netbox/circuits/models/providers.py b/netbox/circuits/models/providers.py index 153e241a734..9cf4bf5c127 100644 --- a/netbox/circuits/models/providers.py +++ b/netbox/circuits/models/providers.py @@ -3,8 +3,7 @@ from django.db import models from django.urls import reverse from dcim.fields import ASNField -from extras.utils import extras_features -from netbox.models import PrimaryModel +from netbox.models import NetBoxModel __all__ = ( 'ProviderNetwork', @@ -12,8 +11,7 @@ __all__ = ( ) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Provider(PrimaryModel): +class Provider(NetBoxModel): """ Each Circuit belongs to a Provider. This is usually a telecommunications company or similar organization. This model stores information pertinent to the user's relationship with the Provider. @@ -72,8 +70,7 @@ class Provider(PrimaryModel): return reverse('circuits:provider', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class ProviderNetwork(PrimaryModel): +class ProviderNetwork(NetBoxModel): """ This represents a provider network which exists outside of NetBox, the details of which are unknown or unimportant to the user. diff --git a/netbox/circuits/tables.py b/netbox/circuits/tables.py index 32c40f26985..56da24842e4 100644 --- a/netbox/circuits/tables.py +++ b/netbox/circuits/tables.py @@ -1,11 +1,10 @@ import django_tables2 as tables from django_tables2.utils import Accessor +from netbox.tables import NetBoxTable, columns from tenancy.tables import TenantColumn -from utilities.tables import BaseTable, ButtonsColumn, ChoiceFieldColumn, MarkdownColumn, TagColumn, ToggleColumn from .models import * - __all__ = ( 'CircuitTable', 'CircuitTypeTable', @@ -23,12 +22,32 @@ CIRCUITTERMINATION_LINK = """ """ +# +# Table columns +# + +class CommitRateColumn(tables.TemplateColumn): + """ + Humanize the commit rate in the column view + """ + + template_code = """ + {% load helpers %} + {{ record.commit_rate|humanize_speed }} + """ + + def __init__(self, *args, **kwargs): + super().__init__(template_code=self.template_code, *args, **kwargs) + + def value(self, value): + return str(value) if value else None + + # # Providers # -class ProviderTable(BaseTable): - pk = ToggleColumn() +class ProviderTable(NetBoxTable): name = tables.Column( linkify=True ) @@ -36,16 +55,16 @@ class ProviderTable(BaseTable): accessor=Accessor('count_circuits'), verbose_name='Circuits' ) - comments = MarkdownColumn() - tags = TagColumn( + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='circuits:provider_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Provider fields = ( 'pk', 'id', 'name', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'circuit_count', - 'comments', 'tags', + 'comments', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'asn', 'account', 'circuit_count') @@ -54,22 +73,23 @@ class ProviderTable(BaseTable): # Provider networks # -class ProviderNetworkTable(BaseTable): - pk = ToggleColumn() +class ProviderNetworkTable(NetBoxTable): name = tables.Column( linkify=True ) provider = tables.Column( linkify=True ) - comments = MarkdownColumn() - tags = TagColumn( + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='circuits:providernetwork_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = ProviderNetwork - fields = ('pk', 'id', 'name', 'provider', 'service_id', 'description', 'comments', 'tags') + fields = ( + 'pk', 'id', 'name', 'provider', 'service_id', 'description', 'comments', 'created', 'last_updated', 'tags', + ) default_columns = ('pk', 'name', 'provider', 'service_id', 'description') @@ -77,31 +97,30 @@ class ProviderNetworkTable(BaseTable): # Circuit types # -class CircuitTypeTable(BaseTable): - pk = ToggleColumn() +class CircuitTypeTable(NetBoxTable): name = tables.Column( linkify=True ) - tags = TagColumn( + tags = columns.TagColumn( url_name='circuits:circuittype_list' ) circuit_count = tables.Column( verbose_name='Circuits' ) - actions = ButtonsColumn(CircuitType) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = CircuitType - fields = ('pk', 'id', 'name', 'circuit_count', 'description', 'slug', 'tags', 'actions') - default_columns = ('pk', 'name', 'circuit_count', 'description', 'slug', 'actions') + fields = ( + 'pk', 'id', 'name', 'circuit_count', 'description', 'slug', 'tags', 'created', 'last_updated', 'actions', + ) + default_columns = ('pk', 'name', 'circuit_count', 'description', 'slug') # # Circuits # -class CircuitTable(BaseTable): - pk = ToggleColumn() +class CircuitTable(NetBoxTable): cid = tables.Column( linkify=True, verbose_name='Circuit ID' @@ -109,7 +128,7 @@ class CircuitTable(BaseTable): provider = tables.Column( linkify=True ) - status = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() tenant = TenantColumn() termination_a = tables.TemplateColumn( template_code=CIRCUITTERMINATION_LINK, @@ -119,16 +138,17 @@ class CircuitTable(BaseTable): template_code=CIRCUITTERMINATION_LINK, verbose_name='Side Z' ) - comments = MarkdownColumn() - tags = TagColumn( + commit_rate = CommitRateColumn() + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='circuits:circuit_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Circuit fields = ( 'pk', 'id', 'cid', 'provider', 'type', 'status', 'tenant', 'termination_a', 'termination_z', 'install_date', - 'commit_rate', 'description', 'comments', 'tags', + 'commit_rate', 'description', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'cid', 'provider', 'type', 'status', 'tenant', 'termination_a', 'termination_z', 'description', diff --git a/netbox/circuits/views.py b/netbox/circuits/views.py index 2f1addab104..3229977becf 100644 --- a/netbox/circuits/views.py +++ b/netbox/circuits/views.py @@ -5,10 +5,9 @@ from django.shortcuts import get_object_or_404, redirect, render from netbox.views import generic from utilities.forms import ConfirmationForm -from utilities.tables import paginate_table +from netbox.tables import configure_table from utilities.utils import count_related from . import filtersets, forms, tables -from .choices import CircuitTerminationSideChoices from .models import * @@ -35,7 +34,7 @@ class ProviderView(generic.ObjectView): 'type', 'tenant', 'terminations__site' ) circuits_table = tables.CircuitTable(circuits, exclude=('provider',)) - paginate_table(circuits_table, request) + configure_table(circuits_table, request) return { 'circuits_table': circuits_table, @@ -96,7 +95,7 @@ class ProviderNetworkView(generic.ObjectView): 'type', 'tenant', 'terminations__site' ) circuits_table = tables.CircuitTable(circuits) - paginate_table(circuits_table, request) + configure_table(circuits_table, request) return { 'circuits_table': circuits_table, @@ -150,7 +149,7 @@ class CircuitTypeView(generic.ObjectView): def get_extra_context(self, request, instance): circuits = Circuit.objects.restrict(request.user, 'view').filter(type=instance) circuits_table = tables.CircuitTable(circuits, exclude=('type',)) - paginate_table(circuits_table, request) + configure_table(circuits_table, request) return { 'circuits_table': circuits_table, diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 3bc369a640a..36943061c67 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -6,7 +6,9 @@ from timezone_field.rest_framework import TimeZoneSerializerField from dcim.choices import * from dcim.constants import * from dcim.models import * -from ipam.api.nested_serializers import NestedASNSerializer, NestedIPAddressSerializer, NestedVLANSerializer +from ipam.api.nested_serializers import ( + NestedASNSerializer, NestedIPAddressSerializer, NestedVLANSerializer, NestedVRFSerializer, +) from ipam.models import ASN, VLAN from netbox.api import ChoiceField, ContentTypeField, SerializedPKRelatedField from netbox.api.serializers import ( @@ -219,7 +221,7 @@ class RackReservationSerializer(PrimaryModelSerializer): class Meta: model = RackReservation fields = [ - 'id', 'url', 'display', 'rack', 'units', 'created', 'user', 'tenant', 'description', 'tags', + 'id', 'url', 'display', 'rack', 'units', 'created', 'last_updated', 'user', 'tenant', 'description', 'tags', 'custom_fields', ] @@ -719,6 +721,7 @@ class InterfaceSerializer(PrimaryModelSerializer, LinkTerminationSerializer, Con bridge = NestedInterfaceSerializer(required=False, allow_null=True) lag = NestedInterfaceSerializer(required=False, allow_null=True) mode = ChoiceField(choices=InterfaceModeChoices, allow_blank=True, required=False) + duplex = ChoiceField(choices=InterfaceDuplexChoices, allow_blank=True, required=False) rf_role = ChoiceField(choices=WirelessRoleChoices, required=False, allow_null=True) rf_channel = ChoiceField(choices=WirelessChannelChoices, required=False) untagged_vlan = NestedVLANSerializer(required=False, allow_null=True) @@ -728,6 +731,7 @@ class InterfaceSerializer(PrimaryModelSerializer, LinkTerminationSerializer, Con required=False, many=True ) + vrf = NestedVRFSerializer(required=False, allow_null=True) cable = NestedCableSerializer(read_only=True) wireless_link = NestedWirelessLinkSerializer(read_only=True) wireless_lans = SerializedPKRelatedField( @@ -743,9 +747,9 @@ class InterfaceSerializer(PrimaryModelSerializer, LinkTerminationSerializer, Con model = Interface fields = [ 'id', 'url', 'display', 'device', 'module', 'name', 'label', 'type', 'enabled', 'parent', 'bridge', 'lag', - 'mtu', 'mac_address', 'wwn', 'mgmt_only', 'description', 'mode', 'rf_role', 'rf_channel', + 'mtu', 'mac_address', 'speed', 'duplex', 'wwn', 'mgmt_only', 'description', 'mode', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', 'untagged_vlan', 'tagged_vlans', 'mark_connected', - 'cable', 'wireless_link', 'link_peer', 'link_peer_type', 'wireless_lans', 'connected_endpoint', + 'cable', 'wireless_link', 'link_peer', 'link_peer_type', 'wireless_lans', 'vrf', 'connected_endpoint', 'connected_endpoint_type', 'connected_endpoint_reachable', 'tags', 'custom_fields', 'created', 'last_updated', 'count_ipaddresses', 'count_fhrp_groups', '_occupied', ] @@ -910,7 +914,7 @@ class CableSerializer(PrimaryModelSerializer): fields = [ 'id', 'url', 'display', 'termination_a_type', 'termination_a_id', 'termination_a', 'termination_b_type', 'termination_b_id', 'termination_b', 'type', 'status', 'tenant', 'label', 'color', 'length', 'length_unit', - 'tags', 'custom_fields', + 'tags', 'custom_fields', 'created', 'last_updated', ] def _get_termination(self, obj, side): @@ -1004,7 +1008,10 @@ class VirtualChassisSerializer(PrimaryModelSerializer): class Meta: model = VirtualChassis - fields = ['id', 'url', 'display', 'name', 'domain', 'master', 'tags', 'custom_fields', 'member_count'] + fields = [ + 'id', 'url', 'display', 'name', 'domain', 'master', 'tags', 'custom_fields', 'member_count', + 'created', 'last_updated', + ] # @@ -1023,7 +1030,10 @@ class PowerPanelSerializer(PrimaryModelSerializer): class Meta: model = PowerPanel - fields = ['id', 'url', 'display', 'site', 'location', 'name', 'tags', 'custom_fields', 'powerfeed_count'] + fields = [ + 'id', 'url', 'display', 'site', 'location', 'name', 'tags', 'custom_fields', 'powerfeed_count', + 'created', 'last_updated', + ] class PowerFeedSerializer(PrimaryModelSerializer, LinkTerminationSerializer, ConnectedEndpointSerializer): diff --git a/netbox/dcim/api/views.py b/netbox/dcim/api/views.py index 31c1fd1d083..edba03b601b 100644 --- a/netbox/dcim/api/views.py +++ b/netbox/dcim/api/views.py @@ -583,7 +583,7 @@ class PowerOutletViewSet(PathEndpointMixin, ModelViewSet): class InterfaceViewSet(PathEndpointMixin, ModelViewSet): queryset = Interface.objects.prefetch_related( 'device', 'module__module_bay', 'parent', 'bridge', 'lag', '_path__destination', 'cable', '_link_peer', - 'wireless_lans', 'untagged_vlan', 'tagged_vlans', 'ip_addresses', 'fhrp_group_assignments', 'tags' + 'wireless_lans', 'untagged_vlan', 'tagged_vlans', 'vrf', 'ip_addresses', 'fhrp_group_assignments', 'tags' ) serializer_class = serializers.InterfaceSerializer filterset_class = filtersets.InterfaceFilterSet diff --git a/netbox/dcim/choices.py b/netbox/dcim/choices.py index 368ee1336ce..2706c684d7b 100644 --- a/netbox/dcim/choices.py +++ b/netbox/dcim/choices.py @@ -793,6 +793,10 @@ class InterfaceTypeChoices(ChoiceSet): TYPE_STACKWISE_PLUS = 'cisco-stackwise-plus' TYPE_FLEXSTACK = 'cisco-flexstack' TYPE_FLEXSTACK_PLUS = 'cisco-flexstack-plus' + TYPE_STACKWISE80 = 'cisco-stackwise-80' + TYPE_STACKWISE160 = 'cisco-stackwise-160' + TYPE_STACKWISE320 = 'cisco-stackwise-320' + TYPE_STACKWISE480 = 'cisco-stackwise-480' TYPE_JUNIPER_VCP = 'juniper-vcp' TYPE_SUMMITSTACK = 'extreme-summitstack' TYPE_SUMMITSTACK128 = 'extreme-summitstack-128' @@ -927,6 +931,10 @@ class InterfaceTypeChoices(ChoiceSet): (TYPE_STACKWISE_PLUS, 'Cisco StackWise Plus'), (TYPE_FLEXSTACK, 'Cisco FlexStack'), (TYPE_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'), + (TYPE_STACKWISE80, 'Cisco StackWise-80'), + (TYPE_STACKWISE160, 'Cisco StackWise-160'), + (TYPE_STACKWISE320, 'Cisco StackWise-320'), + (TYPE_STACKWISE480, 'Cisco StackWise-480'), (TYPE_JUNIPER_VCP, 'Juniper VCP'), (TYPE_SUMMITSTACK, 'Extreme SummitStack'), (TYPE_SUMMITSTACK128, 'Extreme SummitStack-128'), @@ -943,6 +951,19 @@ class InterfaceTypeChoices(ChoiceSet): ) +class InterfaceDuplexChoices(ChoiceSet): + + DUPLEX_HALF = 'half' + DUPLEX_FULL = 'full' + DUPLEX_AUTO = 'auto' + + CHOICES = ( + (DUPLEX_HALF, 'Half'), + (DUPLEX_FULL, 'Full'), + (DUPLEX_AUTO, 'Auto'), + ) + + class InterfaceModeChoices(ChoiceSet): MODE_ACCESS = 'access' diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 9069ab25ca7..dda6de5b1e0 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -1,11 +1,10 @@ import django_filters from django.contrib.auth.models import User -from extras.filters import TagFilter from extras.filtersets import LocalConfigContextFilterSet -from ipam.models import ASN +from ipam.models import ASN, VRF from netbox.filtersets import ( - BaseFilterSet, ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet, + BaseFilterSet, ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, NetBoxModelFilterSet, ) from tenancy.filtersets import TenancyFilterSet from tenancy.models import Tenant @@ -79,7 +78,6 @@ class RegionFilterSet(OrganizationalModelFilterSet): to_field_name='slug', label='Parent region (slug)', ) - tag = TagFilter() class Meta: model = Region @@ -97,14 +95,13 @@ class SiteGroupFilterSet(OrganizationalModelFilterSet): to_field_name='slug', label='Parent site group (slug)', ) - tag = TagFilter() class Meta: model = SiteGroup fields = ['id', 'name', 'slug', 'description'] -class SiteFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class SiteFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -148,7 +145,6 @@ class SiteFilterSet(PrimaryModelFilterSet, TenancyFilterSet): queryset=ASN.objects.all(), label='AS (ID)', ) - tag = TagFilter() class Meta: model = Site @@ -225,7 +221,6 @@ class LocationFilterSet(TenancyFilterSet, OrganizationalModelFilterSet): to_field_name='slug', label='Location (slug)', ) - tag = TagFilter() class Meta: model = Location @@ -241,14 +236,13 @@ class LocationFilterSet(TenancyFilterSet, OrganizationalModelFilterSet): class RackRoleFilterSet(OrganizationalModelFilterSet): - tag = TagFilter() class Meta: model = RackRole fields = ['id', 'name', 'slug', 'color'] -class RackFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class RackFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -325,7 +319,6 @@ class RackFilterSet(PrimaryModelFilterSet, TenancyFilterSet): serial = django_filters.CharFilter( lookup_expr='iexact' ) - tag = TagFilter() class Meta: model = Rack @@ -346,7 +339,7 @@ class RackFilterSet(PrimaryModelFilterSet, TenancyFilterSet): ) -class RackReservationFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class RackReservationFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -389,7 +382,6 @@ class RackReservationFilterSet(PrimaryModelFilterSet, TenancyFilterSet): to_field_name='username', label='User (name)', ) - tag = TagFilter() class Meta: model = RackReservation @@ -407,14 +399,13 @@ class RackReservationFilterSet(PrimaryModelFilterSet, TenancyFilterSet): class ManufacturerFilterSet(OrganizationalModelFilterSet): - tag = TagFilter() class Meta: model = Manufacturer fields = ['id', 'name', 'slug', 'description'] -class DeviceTypeFilterSet(PrimaryModelFilterSet): +class DeviceTypeFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -461,7 +452,6 @@ class DeviceTypeFilterSet(PrimaryModelFilterSet): method='_device_bays', label='Has device bays', ) - tag = TagFilter() class Meta: model = DeviceType @@ -507,7 +497,7 @@ class DeviceTypeFilterSet(PrimaryModelFilterSet): return queryset.exclude(devicebaytemplates__isnull=value) -class ModuleTypeFilterSet(PrimaryModelFilterSet): +class ModuleTypeFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -546,7 +536,6 @@ class ModuleTypeFilterSet(PrimaryModelFilterSet): method='_pass_through_ports', label='Has pass-through ports', ) - tag = TagFilter() class Meta: model = ModuleType @@ -732,7 +721,6 @@ class InventoryItemTemplateFilterSet(ChangeLoggedModelFilterSet, DeviceTypeCompo class DeviceRoleFilterSet(OrganizationalModelFilterSet): - tag = TagFilter() class Meta: model = DeviceRole @@ -751,14 +739,13 @@ class PlatformFilterSet(OrganizationalModelFilterSet): to_field_name='slug', label='Manufacturer (slug)', ) - tag = TagFilter() class Meta: model = Platform fields = ['id', 'name', 'slug', 'napalm_driver', 'description'] -class DeviceFilterSet(PrimaryModelFilterSet, TenancyFilterSet, LocalConfigContextFilterSet): +class DeviceFilterSet(NetBoxModelFilterSet, TenancyFilterSet, LocalConfigContextFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -916,7 +903,6 @@ class DeviceFilterSet(PrimaryModelFilterSet, TenancyFilterSet, LocalConfigContex method='_device_bays', label='Has device bays', ) - tag = TagFilter() class Meta: model = Device @@ -970,7 +956,7 @@ class DeviceFilterSet(PrimaryModelFilterSet, TenancyFilterSet, LocalConfigContex return queryset.exclude(devicebays__isnull=value) -class ModuleFilterSet(PrimaryModelFilterSet): +class ModuleFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -990,7 +976,6 @@ class ModuleFilterSet(PrimaryModelFilterSet): queryset=Device.objects.all(), label='Device (ID)', ) - tag = TagFilter() class Meta: model = Module @@ -1080,7 +1065,6 @@ class DeviceComponentFilterSet(django_filters.FilterSet): to_field_name='name', label='Virtual Chassis', ) - tag = TagFilter() def search(self, queryset, name, value): if not value.strip(): @@ -1112,7 +1096,7 @@ class PathEndpointFilterSet(django_filters.FilterSet): return queryset.filter(Q(_path__isnull=True) | Q(_path__is_active=False)) -class ConsolePortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): +class ConsolePortFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): type = django_filters.MultipleChoiceFilter( choices=ConsolePortTypeChoices, null_value=None @@ -1123,7 +1107,7 @@ class ConsolePortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, Cabl fields = ['id', 'name', 'label', 'description'] -class ConsoleServerPortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): +class ConsoleServerPortFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): type = django_filters.MultipleChoiceFilter( choices=ConsolePortTypeChoices, null_value=None @@ -1134,7 +1118,7 @@ class ConsoleServerPortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet fields = ['id', 'name', 'label', 'description'] -class PowerPortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): +class PowerPortFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): type = django_filters.MultipleChoiceFilter( choices=PowerPortTypeChoices, null_value=None @@ -1145,7 +1129,7 @@ class PowerPortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableT fields = ['id', 'name', 'label', 'maximum_draw', 'allocated_draw', 'description'] -class PowerOutletFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): +class PowerOutletFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): type = django_filters.MultipleChoiceFilter( choices=PowerOutletTypeChoices, null_value=None @@ -1160,7 +1144,7 @@ class PowerOutletFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, Cabl fields = ['id', 'name', 'label', 'feed_leg', 'description'] -class InterfaceFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): +class InterfaceFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -1196,9 +1180,12 @@ class InterfaceFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableT queryset=Interface.objects.all(), label='LAG interface (ID)', ) + speed = MultiValueNumberFilter() + duplex = django_filters.MultipleChoiceFilter( + choices=InterfaceDuplexChoices + ) mac_address = MultiValueMACAddressFilter() wwn = MultiValueWWNFilter() - tag = TagFilter() vlan_id = django_filters.CharFilter( method='filter_vlan_id', label='Assigned VLAN' @@ -1217,6 +1204,17 @@ class InterfaceFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableT rf_channel = django_filters.MultipleChoiceFilter( choices=WirelessChannelChoices ) + vrf_id = django_filters.ModelMultipleChoiceFilter( + field_name='vrf', + queryset=VRF.objects.all(), + label='VRF', + ) + vrf = django_filters.ModelMultipleChoiceFilter( + field_name='vrf__rd', + queryset=VRF.objects.all(), + to_field_name='rd', + label='VRF (RD)', + ) class Meta: model = Interface @@ -1273,7 +1271,7 @@ class InterfaceFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableT }.get(value, queryset.none()) -class FrontPortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet): +class FrontPortFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet): type = django_filters.MultipleChoiceFilter( choices=PortTypeChoices, null_value=None @@ -1284,7 +1282,7 @@ class FrontPortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableT fields = ['id', 'name', 'label', 'type', 'color', 'description'] -class RearPortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet): +class RearPortFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet, CableTerminationFilterSet): type = django_filters.MultipleChoiceFilter( choices=PortTypeChoices, null_value=None @@ -1295,21 +1293,21 @@ class RearPortFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet, CableTe fields = ['id', 'name', 'label', 'type', 'color', 'positions', 'description'] -class ModuleBayFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet): +class ModuleBayFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet): class Meta: model = ModuleBay fields = ['id', 'name', 'label', 'description'] -class DeviceBayFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet): +class DeviceBayFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet): class Meta: model = DeviceBay fields = ['id', 'name', 'label', 'description'] -class InventoryItemFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet): +class InventoryItemFilterSet(NetBoxModelFilterSet, DeviceComponentFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -1362,14 +1360,13 @@ class InventoryItemFilterSet(PrimaryModelFilterSet, DeviceComponentFilterSet): class InventoryItemRoleFilterSet(OrganizationalModelFilterSet): - tag = TagFilter() class Meta: model = InventoryItemRole fields = ['id', 'name', 'slug', 'color'] -class VirtualChassisFilterSet(PrimaryModelFilterSet): +class VirtualChassisFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -1432,7 +1429,6 @@ class VirtualChassisFilterSet(PrimaryModelFilterSet): to_field_name='slug', label='Tenant (slug)', ) - tag = TagFilter() class Meta: model = VirtualChassis @@ -1449,7 +1445,7 @@ class VirtualChassisFilterSet(PrimaryModelFilterSet): return queryset.filter(qs_filter).distinct() -class CableFilterSet(TenancyFilterSet, PrimaryModelFilterSet): +class CableFilterSet(TenancyFilterSet, NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -1490,7 +1486,6 @@ class CableFilterSet(TenancyFilterSet, PrimaryModelFilterSet): method='filter_device', field_name='device__site__slug' ) - tag = TagFilter() class Meta: model = Cable @@ -1509,7 +1504,7 @@ class CableFilterSet(TenancyFilterSet, PrimaryModelFilterSet): return queryset -class PowerPanelFilterSet(PrimaryModelFilterSet): +class PowerPanelFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -1556,7 +1551,6 @@ class PowerPanelFilterSet(PrimaryModelFilterSet): lookup_expr='in', label='Location (ID)', ) - tag = TagFilter() class Meta: model = PowerPanel @@ -1571,7 +1565,7 @@ class PowerPanelFilterSet(PrimaryModelFilterSet): return queryset.filter(qs_filter) -class PowerFeedFilterSet(PrimaryModelFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): +class PowerFeedFilterSet(NetBoxModelFilterSet, CableTerminationFilterSet, PathEndpointFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -1626,7 +1620,6 @@ class PowerFeedFilterSet(PrimaryModelFilterSet, CableTerminationFilterSet, PathE choices=PowerFeedStatusChoices, null_value=None ) - tag = TagFilter() class Meta: model = PowerFeed diff --git a/netbox/dcim/forms/bulk_create.py b/netbox/dcim/forms/bulk_create.py index 02c8feb4b0b..4d73fcc2a44 100644 --- a/netbox/dcim/forms/bulk_create.py +++ b/netbox/dcim/forms/bulk_create.py @@ -72,12 +72,12 @@ class PowerOutletBulkCreateForm( class InterfaceBulkCreateForm( - form_from_model(Interface, ['type', 'enabled', 'mtu', 'mgmt_only', 'mark_connected']), + form_from_model(Interface, ['type', 'enabled', 'speed', 'duplex', 'mtu', 'mgmt_only', 'mark_connected']), DeviceBulkAddComponentForm ): model = Interface field_order = ( - 'name_pattern', 'label_pattern', 'type', 'enabled', 'mtu', 'mgmt_only', 'mark_connected', 'description', 'tags', + 'name_pattern', 'label_pattern', 'type', 'enabled', 'speed', 'duplex', 'mtu', 'mgmt_only', 'mark_connected', 'description', 'tags', ) diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index 3cd8ec35e77..3d73ada47fd 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -7,11 +7,11 @@ from dcim.choices import * from dcim.constants import * from dcim.models import * from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm -from ipam.models import VLAN, ASN +from ipam.models import ASN, VLAN, VRF from tenancy.models import Tenant from utilities.forms import ( add_blank_choice, BulkEditForm, BulkEditNullBooleanSelect, ColorField, CommentField, DynamicModelChoiceField, - DynamicModelMultipleChoiceField, form_from_model, SmallTextarea, StaticSelect, + DynamicModelMultipleChoiceField, form_from_model, SmallTextarea, StaticSelect, SelectSpeedWidget, ) __all__ = ( @@ -1028,7 +1028,7 @@ class PowerOutletBulkEditForm( class InterfaceBulkEditForm( form_from_model(Interface, [ - 'label', 'type', 'parent', 'bridge', 'lag', 'mac_address', 'wwn', 'mtu', 'mgmt_only', 'mark_connected', + 'label', 'type', 'parent', 'bridge', 'lag', 'speed', 'duplex', 'mac_address', 'wwn', 'mtu', 'mgmt_only', 'mark_connected', 'description', 'mode', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', ]), AddRemoveTagsForm, @@ -1061,7 +1061,13 @@ class InterfaceBulkEditForm( required=False, query_params={ 'type': 'lag', - } + }, + label='LAG' + ) + speed = forms.IntegerField( + required=False, + widget=SelectSpeedWidget(attrs={'readonly': None}), + label='Speed' ) mgmt_only = forms.NullBooleanField( required=False, @@ -1080,11 +1086,16 @@ class InterfaceBulkEditForm( queryset=VLAN.objects.all(), required=False ) + vrf = DynamicModelChoiceField( + queryset=VRF.objects.all(), + required=False, + label='VRF' + ) class Meta: nullable_fields = [ - 'label', 'parent', 'bridge', 'lag', 'mac_address', 'wwn', 'mtu', 'description', 'mode', 'rf_channel', - 'rf_channel_frequency', 'rf_channel_width', 'tx_power', 'untagged_vlan', 'tagged_vlans', + 'label', 'parent', 'bridge', 'lag', 'speed', 'duplex', 'mac_address', 'wwn', 'mtu', 'description', 'mode', 'rf_channel', + 'rf_channel_frequency', 'rf_channel_width', 'tx_power', 'untagged_vlan', 'tagged_vlans', 'vrf', ] def __init__(self, *args, **kwargs): diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index 1297fc98024..1aec329eb52 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -8,6 +8,7 @@ from dcim.choices import * from dcim.constants import * from dcim.models import * from extras.forms import CustomFieldModelCSVForm +from ipam.models import VRF from tenancy.models import Tenant from utilities.forms import CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, CSVTypedChoiceField, SlugField from virtualization.models import Cluster @@ -617,11 +618,21 @@ class InterfaceCSVForm(CustomFieldModelCSVForm): choices=InterfaceTypeChoices, help_text='Physical medium' ) + duplex = CSVChoiceField( + choices=InterfaceDuplexChoices, + required=False + ) mode = CSVChoiceField( choices=InterfaceModeChoices, required=False, help_text='IEEE 802.1Q operational mode (for L2 interfaces)' ) + vrf = CSVModelChoiceField( + queryset=VRF.objects.all(), + required=False, + to_field_name='rd', + help_text='Assigned VRF' + ) rf_role = CSVChoiceField( choices=WirelessRoleChoices, required=False, @@ -631,8 +642,8 @@ class InterfaceCSVForm(CustomFieldModelCSVForm): class Meta: model = Interface fields = ( - 'device', 'name', 'label', 'parent', 'bridge', 'lag', 'type', 'enabled', 'mark_connected', 'mac_address', - 'wwn', 'mtu', 'mgmt_only', 'description', 'mode', 'rf_role', 'rf_channel', 'rf_channel_frequency', + 'device', 'name', 'label', 'parent', 'bridge', 'lag', 'type', 'speed', 'duplex', 'enabled', 'mark_connected', 'mac_address', + 'wwn', 'mtu', 'mgmt_only', 'description', 'mode', 'vrf', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'tx_power', ) diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index eb303512226..8868cdf787d 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -6,11 +6,11 @@ from dcim.choices import * from dcim.constants import * from dcim.models import * from extras.forms import CustomFieldModelFilterForm, LocalConfigContextFilterForm -from ipam.models import ASN +from ipam.models import ASN, VRF from tenancy.forms import TenancyFilterForm from utilities.forms import ( APISelectMultiple, add_blank_choice, ColorField, DynamicModelMultipleChoiceField, FilterForm, StaticSelect, - StaticSelectMultiple, TagFilterField, BOOLEAN_WITH_BLANK_CHOICES, + StaticSelectMultiple, TagFilterField, BOOLEAN_WITH_BLANK_CHOICES, SelectSpeedWidget, ) from wireless.choices import * @@ -157,7 +157,7 @@ class SiteFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): class LocationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): model = Location field_groups = [ - ['q'], + ['q', 'tag'], ['region_id', 'site_group_id', 'site_id', 'parent_id'], ['tenant_group_id', 'tenant_id'], ] @@ -678,7 +678,7 @@ class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): field_groups = [ ['q', 'tag'], ['site_id', 'rack_id', 'device_id'], - ['type', 'status', 'color'], + ['type', 'status', 'color', 'length', 'length_unit'], ['tenant_group_id', 'tenant_id'], ] region_id = DynamicModelMultipleChoiceField( @@ -703,6 +703,16 @@ class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): 'site_id': '$site_id' } ) + device_id = DynamicModelMultipleChoiceField( + queryset=Device.objects.all(), + required=False, + query_params={ + 'site_id': '$site_id', + 'tenant_id': '$tenant_id', + 'rack_id': '$rack_id', + }, + label=_('Device') + ) type = forms.MultipleChoiceField( choices=add_blank_choice(CableTypeChoices), required=False, @@ -716,15 +726,12 @@ class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): color = ColorField( required=False ) - device_id = DynamicModelMultipleChoiceField( - queryset=Device.objects.all(), - required=False, - query_params={ - 'site_id': '$site_id', - 'tenant_id': '$tenant_id', - 'rack_id': '$rack_id', - }, - label=_('Device') + length = forms.IntegerField( + required=False + ) + length_unit = forms.ChoiceField( + choices=add_blank_choice(CableLengthUnitChoices), + required=False ) tag = TagFilterField(model) @@ -920,7 +927,8 @@ class InterfaceFilterForm(DeviceComponentFilterForm): model = Interface field_groups = [ ['q', 'tag'], - ['name', 'label', 'kind', 'type', 'enabled', 'mgmt_only', 'mac_address', 'wwn'], + ['name', 'label', 'kind', 'type', 'speed', 'duplex', 'enabled', 'mgmt_only'], + ['vrf_id', 'mac_address', 'wwn'], ['rf_role', 'rf_channel', 'rf_channel_width', 'tx_power'], ['region_id', 'site_group_id', 'site_id', 'location_id', 'virtual_chassis_id', 'device_id'], ] @@ -934,6 +942,17 @@ class InterfaceFilterForm(DeviceComponentFilterForm): required=False, widget=StaticSelectMultiple() ) + speed = forms.IntegerField( + required=False, + label='Select Speed', + widget=SelectSpeedWidget(attrs={'readonly': None}) + ) + duplex = forms.MultipleChoiceField( + choices=InterfaceDuplexChoices, + required=False, + label='Select Duplex', + widget=StaticSelectMultiple() + ) enabled = forms.NullBooleanField( required=False, widget=StaticSelect( @@ -980,6 +999,11 @@ class InterfaceFilterForm(DeviceComponentFilterForm): min_value=0, max_value=127 ) + vrf_id = DynamicModelMultipleChoiceField( + queryset=VRF.objects.all(), + required=False, + label='VRF' + ) tag = TagFilterField(model) diff --git a/netbox/dcim/forms/models.py b/netbox/dcim/forms/models.py index 65b7d46a8fe..378a567fc57 100644 --- a/netbox/dcim/forms/models.py +++ b/netbox/dcim/forms/models.py @@ -9,12 +9,12 @@ from dcim.constants import * from dcim.models import * from extras.forms import CustomFieldModelForm from extras.models import Tag -from ipam.models import IPAddress, VLAN, VLANGroup, ASN +from ipam.models import ASN, IPAddress, VLAN, VLANGroup, VRF from tenancy.forms import TenancyForm from utilities.forms import ( APISelect, add_blank_choice, BootstrapMixin, ClearableFileInput, CommentField, ContentTypeChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, JSONField, NumericArrayField, SelectWithPK, SmallTextarea, - SlugField, StaticSelect, + SlugField, StaticSelect, SelectSpeedWidget, ) from virtualization.models import Cluster, ClusterGroup from wireless.models import WirelessLAN, WirelessLANGroup @@ -1261,6 +1261,11 @@ class InterfaceForm(InterfaceCommonForm, CustomFieldModelForm): 'available_on_device': '$device', } ) + vrf = DynamicModelChoiceField( + queryset=VRF.objects.all(), + required=False, + label='VRF' + ) tags = DynamicModelMultipleChoiceField( queryset=Tag.objects.all(), required=False @@ -1269,13 +1274,13 @@ class InterfaceForm(InterfaceCommonForm, CustomFieldModelForm): class Meta: model = Interface fields = [ - 'device', 'name', 'label', 'type', 'enabled', 'parent', 'bridge', 'lag', 'mac_address', 'wwn', 'mtu', + 'device', 'name', 'label', 'type', 'speed', 'duplex', 'enabled', 'parent', 'bridge', 'lag', 'mac_address', 'wwn', 'mtu', 'mgmt_only', 'mark_connected', 'description', 'mode', 'rf_role', 'rf_channel', 'rf_channel_frequency', - 'rf_channel_width', 'tx_power', 'wireless_lans', 'untagged_vlan', 'tagged_vlans', 'tags', + 'rf_channel_width', 'tx_power', 'wireless_lans', 'untagged_vlan', 'tagged_vlans', 'vrf', 'tags', ] fieldsets = ( - ('Interface', ('device', 'name', 'type', 'label', 'description', 'tags')), - ('Addressing', ('mac_address', 'wwn')), + ('Interface', ('device', 'name', 'type', 'speed', 'duplex', 'label', 'description', 'tags')), + ('Addressing', ('vrf', 'mac_address', 'wwn')), ('Operation', ('mtu', 'tx_power', 'enabled', 'mgmt_only', 'mark_connected')), ('Related Interfaces', ('parent', 'bridge', 'lag')), ('802.1Q Switching', ('mode', 'vlan_group', 'untagged_vlan', 'tagged_vlans')), @@ -1287,6 +1292,8 @@ class InterfaceForm(InterfaceCommonForm, CustomFieldModelForm): widgets = { 'device': forms.HiddenInput(), 'type': StaticSelect(), + 'speed': SelectSpeedWidget(), + 'duplex': StaticSelect(), 'mode': StaticSelect(), 'rf_role': StaticSelect(), 'rf_channel': StaticSelect(), diff --git a/netbox/dcim/migrations/0149_interface_vrf.py b/netbox/dcim/migrations/0149_interface_vrf.py new file mode 100644 index 00000000000..224671f5b60 --- /dev/null +++ b/netbox/dcim/migrations/0149_interface_vrf.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.11 on 2022-01-07 18:34 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('ipam', '0054_vlangroup_min_max_vids'), + ('dcim', '0148_inventoryitem_templates'), + ] + + operations = [ + migrations.AddField( + model_name='interface', + name='vrf', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='interfaces', to='ipam.vrf'), + ), + ] diff --git a/netbox/dcim/migrations/0150_interface_speed_duplex.py b/netbox/dcim/migrations/0150_interface_speed_duplex.py new file mode 100644 index 00000000000..f9517107a34 --- /dev/null +++ b/netbox/dcim/migrations/0150_interface_speed_duplex.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.10 on 2022-01-08 18:23 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0149_interface_vrf'), + ] + + operations = [ + migrations.AddField( + model_name='interface', + name='duplex', + field=models.CharField(blank=True, max_length=50, null=True), + ), + migrations.AddField( + model_name='interface', + name='speed', + field=models.PositiveIntegerField(blank=True, null=True), + ), + ] diff --git a/netbox/dcim/migrations/0151_standardize_id_fields.py b/netbox/dcim/migrations/0151_standardize_id_fields.py new file mode 100644 index 00000000000..76fea859b3b --- /dev/null +++ b/netbox/dcim/migrations/0151_standardize_id_fields.py @@ -0,0 +1,274 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0150_interface_speed_duplex'), + ] + + operations = [ + # Model IDs + migrations.AlterField( + model_name='cable', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='cablepath', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='consoleport', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='consoleporttemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='consoleserverport', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='consoleserverporttemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='device', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='devicebay', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='devicebaytemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='devicerole', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='devicetype', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='frontport', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='frontporttemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='interface', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='interfacetemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='inventoryitem', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='inventoryitemrole', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='inventoryitemtemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='location', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='manufacturer', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='module', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='modulebay', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='modulebaytemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='moduletype', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='platform', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='powerfeed', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='poweroutlet', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='poweroutlettemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='powerpanel', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='powerport', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='powerporttemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='rack', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='rackreservation', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='rackrole', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='rearport', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='rearporttemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='region', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='site', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='sitegroup', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='virtualchassis', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + + # GFK IDs + migrations.AlterField( + model_name='cable', + name='termination_a_id', + field=models.PositiveBigIntegerField(), + ), + migrations.AlterField( + model_name='cable', + name='termination_b_id', + field=models.PositiveBigIntegerField(), + ), + migrations.AlterField( + model_name='cablepath', + name='destination_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AlterField( + model_name='cablepath', + name='origin_id', + field=models.PositiveBigIntegerField(), + ), + migrations.AlterField( + model_name='consoleport', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AlterField( + model_name='consoleserverport', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AlterField( + model_name='frontport', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AlterField( + model_name='interface', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AlterField( + model_name='powerfeed', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AlterField( + model_name='poweroutlet', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AlterField( + model_name='powerport', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + migrations.AlterField( + model_name='rearport', + name='_link_peer_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + ] diff --git a/netbox/dcim/models/cables.py b/netbox/dcim/models/cables.py index 12fe9103608..0d46d3c8f73 100644 --- a/netbox/dcim/models/cables.py +++ b/netbox/dcim/models/cables.py @@ -11,8 +11,7 @@ from dcim.choices import * from dcim.constants import * from dcim.fields import PathField from dcim.utils import decompile_path_node, object_to_path_node, path_node_to_object -from extras.utils import extras_features -from netbox.models import BigIDModel, PrimaryModel +from netbox.models import NetBoxModel from utilities.fields import ColorField from utilities.utils import to_meters from .devices import Device @@ -29,8 +28,7 @@ __all__ = ( # Cables # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Cable(PrimaryModel): +class Cable(NetBoxModel): """ A physical connection between two endpoints. """ @@ -40,7 +38,7 @@ class Cable(PrimaryModel): on_delete=models.PROTECT, related_name='+' ) - termination_a_id = models.PositiveIntegerField() + termination_a_id = models.PositiveBigIntegerField() termination_a = GenericForeignKey( ct_field='termination_a_type', fk_field='termination_a_id' @@ -51,7 +49,7 @@ class Cable(PrimaryModel): on_delete=models.PROTECT, related_name='+' ) - termination_b_id = models.PositiveIntegerField() + termination_b_id = models.PositiveBigIntegerField() termination_b = GenericForeignKey( ct_field='termination_b_type', fk_field='termination_b_id' @@ -300,7 +298,7 @@ class Cable(PrimaryModel): return COMPATIBLE_TERMINATION_TYPES[self.termination_a._meta.model_name] -class CablePath(BigIDModel): +class CablePath(models.Model): """ A CablePath instance represents the physical path from an origin to a destination, including all intermediate elements in the path. Every instance must specify an `origin`, whereas `destination` may be null (for paths which do @@ -329,7 +327,7 @@ class CablePath(BigIDModel): on_delete=models.CASCADE, related_name='+' ) - origin_id = models.PositiveIntegerField() + origin_id = models.PositiveBigIntegerField() origin = GenericForeignKey( ct_field='origin_type', fk_field='origin_id' @@ -341,7 +339,7 @@ class CablePath(BigIDModel): blank=True, null=True ) - destination_id = models.PositiveIntegerField( + destination_id = models.PositiveBigIntegerField( blank=True, null=True ) diff --git a/netbox/dcim/models/device_component_templates.py b/netbox/dcim/models/device_component_templates.py index b3ede828225..0538704d2ca 100644 --- a/netbox/dcim/models/device_component_templates.py +++ b/netbox/dcim/models/device_component_templates.py @@ -1,4 +1,4 @@ -from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation +from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.core.validators import MaxValueValidator, MinValueValidator @@ -7,8 +7,8 @@ from mptt.models import MPTTModel, TreeForeignKey from dcim.choices import * from dcim.constants import * -from extras.utils import extras_features from netbox.models import ChangeLoggedModel +from netbox.models.features import WebhooksMixin from utilities.fields import ColorField, NaturalOrderingField from utilities.mptt import TreeManager from utilities.ordering import naturalize_interface @@ -32,7 +32,7 @@ __all__ = ( ) -class ComponentTemplateModel(ChangeLoggedModel): +class ComponentTemplateModel(WebhooksMixin, ChangeLoggedModel): device_type = models.ForeignKey( to='dcim.DeviceType', on_delete=models.CASCADE, @@ -70,14 +70,10 @@ class ComponentTemplateModel(ChangeLoggedModel): """ raise NotImplementedError() - def to_objectchange(self, action, related_object=None): - # Annotate the parent DeviceType - try: - device_type = self.device_type - except ObjectDoesNotExist: - # The parent DeviceType has already been deleted - device_type = None - return super().to_objectchange(action, related_object=device_type) + def to_objectchange(self, action): + objectchange = super().to_objectchange(action) + objectchange.related_object = self.device_type + return objectchange class ModularComponentTemplateModel(ComponentTemplateModel): @@ -102,19 +98,13 @@ class ModularComponentTemplateModel(ComponentTemplateModel): class Meta: abstract = True - def to_objectchange(self, action, related_object=None): - # Annotate the parent DeviceType or ModuleType - try: - if getattr(self, 'device_type'): - return super().to_objectchange(action, related_object=self.device_type) - except ObjectDoesNotExist: - pass - try: - if getattr(self, 'module_type'): - return super().to_objectchange(action, related_object=self.module_type) - except ObjectDoesNotExist: - pass - return super().to_objectchange(action) + def to_objectchange(self, action): + objectchange = super().to_objectchange(action) + if self.device_type is not None: + objectchange.related_object = self.device_type + elif self.module_type is not None: + objectchange.related_object = self.module_type + return objectchange def clean(self): super().clean() @@ -135,7 +125,6 @@ class ModularComponentTemplateModel(ComponentTemplateModel): return self.name -@extras_features('webhooks') class ConsolePortTemplate(ModularComponentTemplateModel): """ A template for a ConsolePort to be created for a new Device. @@ -164,7 +153,6 @@ class ConsolePortTemplate(ModularComponentTemplateModel): ) -@extras_features('webhooks') class ConsoleServerPortTemplate(ModularComponentTemplateModel): """ A template for a ConsoleServerPort to be created for a new Device. @@ -193,7 +181,6 @@ class ConsoleServerPortTemplate(ModularComponentTemplateModel): ) -@extras_features('webhooks') class PowerPortTemplate(ModularComponentTemplateModel): """ A template for a PowerPort to be created for a new Device. @@ -245,7 +232,6 @@ class PowerPortTemplate(ModularComponentTemplateModel): }) -@extras_features('webhooks') class PowerOutletTemplate(ModularComponentTemplateModel): """ A template for a PowerOutlet to be created for a new Device. @@ -307,7 +293,6 @@ class PowerOutletTemplate(ModularComponentTemplateModel): ) -@extras_features('webhooks') class InterfaceTemplate(ModularComponentTemplateModel): """ A template for a physical data interface on a new Device. @@ -347,7 +332,6 @@ class InterfaceTemplate(ModularComponentTemplateModel): ) -@extras_features('webhooks') class FrontPortTemplate(ModularComponentTemplateModel): """ Template for a pass-through port on the front of a new Device. @@ -420,7 +404,6 @@ class FrontPortTemplate(ModularComponentTemplateModel): ) -@extras_features('webhooks') class RearPortTemplate(ModularComponentTemplateModel): """ Template for a pass-through port on the rear of a new Device. @@ -460,7 +443,6 @@ class RearPortTemplate(ModularComponentTemplateModel): ) -@extras_features('webhooks') class ModuleBayTemplate(ComponentTemplateModel): """ A template for a ModuleBay to be created for a new parent Device. @@ -486,7 +468,6 @@ class ModuleBayTemplate(ComponentTemplateModel): ) -@extras_features('webhooks') class DeviceBayTemplate(ComponentTemplateModel): """ A template for a DeviceBay to be created for a new parent Device. @@ -511,7 +492,6 @@ class DeviceBayTemplate(ComponentTemplateModel): ) -@extras_features('webhooks') class InventoryItemTemplate(MPTTModel, ComponentTemplateModel): """ A template for an InventoryItem to be created for a new parent Device. diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index cdfaa7c89ec..a6887a7689f 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -11,8 +11,7 @@ from dcim.choices import * from dcim.constants import * from dcim.fields import MACAddressField, WWNField from dcim.svg import CableTraceSVG -from extras.utils import extras_features -from netbox.models import OrganizationalModel, PrimaryModel +from netbox.models import OrganizationalModel, NetBoxModel from utilities.choices import ColorChoices from utilities.fields import ColorField, NaturalOrderingField from utilities.mptt import TreeManager @@ -40,7 +39,7 @@ __all__ = ( ) -class ComponentModel(PrimaryModel): +class ComponentModel(NetBoxModel): """ An abstract model inherited by any model which has a parent Device. """ @@ -76,13 +75,9 @@ class ComponentModel(PrimaryModel): return self.name def to_objectchange(self, action): - # Annotate the parent Device - try: - device = self.device - except ObjectDoesNotExist: - # The parent Device has already been deleted - device = None - return super().to_objectchange(action, related_object=device) + objectchange = super().to_objectchange(action) + objectchange.related_object = self.device + return super().to_objectchange(action) @property def parent_object(self): @@ -131,7 +126,7 @@ class LinkTermination(models.Model): blank=True, null=True ) - _link_peer_id = models.PositiveIntegerField( + _link_peer_id = models.PositiveBigIntegerField( blank=True, null=True ) @@ -254,7 +249,6 @@ class PathEndpoint(models.Model): # Console components # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class ConsolePort(ModularComponentModel, LinkTermination, PathEndpoint): """ A physical console port within a Device. ConsolePorts connect to ConsoleServerPorts. @@ -282,7 +276,6 @@ class ConsolePort(ModularComponentModel, LinkTermination, PathEndpoint): return reverse('dcim:consoleport', kwargs={'pk': self.pk}) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class ConsoleServerPort(ModularComponentModel, LinkTermination, PathEndpoint): """ A physical port within a Device (typically a designated console server) which provides access to ConsolePorts. @@ -314,7 +307,6 @@ class ConsoleServerPort(ModularComponentModel, LinkTermination, PathEndpoint): # Power components # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class PowerPort(ModularComponentModel, LinkTermination, PathEndpoint): """ A physical power supply (intake) port within a Device. PowerPorts connect to PowerOutlets. @@ -407,7 +399,6 @@ class PowerPort(ModularComponentModel, LinkTermination, PathEndpoint): } -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class PowerOutlet(ModularComponentModel, LinkTermination, PathEndpoint): """ A physical power outlet (output) within a Device which provides power to a PowerPort. @@ -522,7 +513,6 @@ class BaseInterface(models.Model): return self.fhrp_group_assignments.count() -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class Interface(ModularComponentModel, BaseInterface, LinkTermination, PathEndpoint): """ A network interface within a Device. A physical Interface can connect to exactly one other Interface. @@ -551,6 +541,16 @@ class Interface(ModularComponentModel, BaseInterface, LinkTermination, PathEndpo verbose_name='Management only', help_text='This interface is used only for out-of-band management' ) + speed = models.PositiveIntegerField( + blank=True, + null=True + ) + duplex = models.CharField( + max_length=50, + blank=True, + null=True, + choices=InterfaceDuplexChoices + ) wwn = WWNField( null=True, blank=True, @@ -616,6 +616,14 @@ class Interface(ModularComponentModel, BaseInterface, LinkTermination, PathEndpo blank=True, verbose_name='Tagged VLANs' ) + vrf = models.ForeignKey( + to='ipam.VRF', + on_delete=models.SET_NULL, + related_name='interfaces', + null=True, + blank=True, + verbose_name='VRF' + ) ip_addresses = GenericRelation( to='ipam.IPAddress', content_type_field='assigned_object_type', @@ -785,7 +793,6 @@ class Interface(ModularComponentModel, BaseInterface, LinkTermination, PathEndpo # Pass-through ports # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class FrontPort(ModularComponentModel, LinkTermination): """ A pass-through port on the front of a Device. @@ -839,7 +846,6 @@ class FrontPort(ModularComponentModel, LinkTermination): }) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class RearPort(ModularComponentModel, LinkTermination): """ A pass-through port on the rear of a Device. @@ -883,7 +889,6 @@ class RearPort(ModularComponentModel, LinkTermination): # Bays # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class ModuleBay(ComponentModel): """ An empty space within a Device which can house a child device @@ -904,7 +909,6 @@ class ModuleBay(ComponentModel): return reverse('dcim:modulebay', kwargs={'pk': self.pk}) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class DeviceBay(ComponentModel): """ An empty space within a Device which can house a child device @@ -955,7 +959,6 @@ class DeviceBay(ComponentModel): # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class InventoryItemRole(OrganizationalModel): """ Inventory items may optionally be assigned a functional role. @@ -986,7 +989,6 @@ class InventoryItemRole(OrganizationalModel): return reverse('dcim:inventoryitemrole', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class InventoryItem(MPTTModel, ComponentModel): """ An InventoryItem represents a serialized piece of hardware within a Device, such as a line card or power supply. diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index 631f0c8c1db..37c9002869b 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -13,9 +13,8 @@ from dcim.choices import * from dcim.constants import * from extras.models import ConfigContextModel from extras.querysets import ConfigContextModelQuerySet -from extras.utils import extras_features from netbox.config import ConfigItem -from netbox.models import OrganizationalModel, PrimaryModel +from netbox.models import OrganizationalModel, NetBoxModel from utilities.choices import ColorChoices from utilities.fields import ColorField, NaturalOrderingField from .device_components import * @@ -37,7 +36,6 @@ __all__ = ( # Device Types # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class Manufacturer(OrganizationalModel): """ A Manufacturer represents a company which produces hardware devices; for example, Juniper or Dell. @@ -70,8 +68,7 @@ class Manufacturer(OrganizationalModel): return reverse('dcim:manufacturer', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class DeviceType(PrimaryModel): +class DeviceType(NetBoxModel): """ A DeviceType represents a particular make (Manufacturer) and model of device. It specifies rack height and depth, as well as high-level functional role(s). @@ -353,8 +350,7 @@ class DeviceType(PrimaryModel): return self.subdevice_role == SubdeviceRoleChoices.ROLE_CHILD -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class ModuleType(PrimaryModel): +class ModuleType(NetBoxModel): """ A ModuleType represents a hardware element that can be installed within a device and which houses additional components; for example, a line card within a chassis-based switch such as the Cisco Catalyst 6500. Like a @@ -487,7 +483,6 @@ class ModuleType(PrimaryModel): # Devices # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class DeviceRole(OrganizationalModel): """ Devices are organized by functional role; for example, "Core Switch" or "File Server". Each DeviceRole is assigned a @@ -525,7 +520,6 @@ class DeviceRole(OrganizationalModel): return reverse('dcim:devicerole', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class Platform(OrganizationalModel): """ Platform refers to the software or firmware running on a Device. For example, "Cisco IOS-XR" or "Juniper Junos". @@ -575,8 +569,7 @@ class Platform(OrganizationalModel): return reverse('dcim:platform', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Device(PrimaryModel, ConfigContextModel): +class Device(NetBoxModel, ConfigContextModel): """ A Device represents a piece of physical hardware mounted within a Rack. Each Device is assigned a DeviceType, DeviceRole, and (optionally) a Platform. Device names are not required, however if one is set it must be unique. @@ -1012,8 +1005,7 @@ class Device(PrimaryModel, ConfigContextModel): return DeviceStatusChoices.colors.get(self.status, 'secondary') -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Module(PrimaryModel, ConfigContextModel): +class Module(NetBoxModel, ConfigContextModel): """ A Module represents a field-installable component within a Device which may itself hold multiple device components (for example, a line card within a chassis switch). Modules are instantiated from ModuleTypes. @@ -1095,8 +1087,7 @@ class Module(PrimaryModel, ConfigContextModel): # Virtual chassis # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class VirtualChassis(PrimaryModel): +class VirtualChassis(NetBoxModel): """ A collection of Devices which operate with a shared control plane (e.g. a switch stack). """ diff --git a/netbox/dcim/models/power.py b/netbox/dcim/models/power.py index e3146c16779..bbbdda83c12 100644 --- a/netbox/dcim/models/power.py +++ b/netbox/dcim/models/power.py @@ -6,8 +6,7 @@ from django.urls import reverse from dcim.choices import * from dcim.constants import * -from extras.utils import extras_features -from netbox.models import PrimaryModel +from netbox.models import NetBoxModel from utilities.validators import ExclusionValidator from .device_components import LinkTermination, PathEndpoint @@ -21,8 +20,7 @@ __all__ = ( # Power # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class PowerPanel(PrimaryModel): +class PowerPanel(NetBoxModel): """ A distribution point for electrical power; e.g. a data center RPP. """ @@ -68,8 +66,7 @@ class PowerPanel(PrimaryModel): ) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class PowerFeed(PrimaryModel, PathEndpoint, LinkTermination): +class PowerFeed(NetBoxModel, PathEndpoint, LinkTermination): """ An electrical circuit delivered from a PowerPanel. """ diff --git a/netbox/dcim/models/racks.py b/netbox/dcim/models/racks.py index c324d4cbaa9..0fe84aa0cdb 100644 --- a/netbox/dcim/models/racks.py +++ b/netbox/dcim/models/racks.py @@ -13,9 +13,8 @@ from django.urls import reverse from dcim.choices import * from dcim.constants import * from dcim.svg import RackElevationSVG -from extras.utils import extras_features from netbox.config import get_config -from netbox.models import OrganizationalModel, PrimaryModel +from netbox.models import OrganizationalModel, NetBoxModel from utilities.choices import ColorChoices from utilities.fields import ColorField, NaturalOrderingField from utilities.utils import array_to_string @@ -34,7 +33,6 @@ __all__ = ( # Racks # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class RackRole(OrganizationalModel): """ Racks can be organized by functional role, similar to Devices. @@ -65,8 +63,7 @@ class RackRole(OrganizationalModel): return reverse('dcim:rackrole', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Rack(PrimaryModel): +class Rack(NetBoxModel): """ Devices are housed within Racks. Each rack has a defined height measured in rack units, and a front and rear face. Each Rack is assigned to a Site and (optionally) a Location. @@ -438,8 +435,7 @@ class Rack(PrimaryModel): return int(allocated_draw_total / available_power_total * 100) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class RackReservation(PrimaryModel): +class RackReservation(NetBoxModel): """ One or more reserved units within a Rack. """ diff --git a/netbox/dcim/models/sites.py b/netbox/dcim/models/sites.py index a712062246b..625422d6b76 100644 --- a/netbox/dcim/models/sites.py +++ b/netbox/dcim/models/sites.py @@ -7,9 +7,7 @@ from timezone_field import TimeZoneField from dcim.choices import * from dcim.constants import * -from dcim.fields import ASNField -from extras.utils import extras_features -from netbox.models import NestedGroupModel, PrimaryModel +from netbox.models import NestedGroupModel, NetBoxModel from utilities.fields import NaturalOrderingField __all__ = ( @@ -24,7 +22,6 @@ __all__ = ( # Regions # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class Region(NestedGroupModel): """ A region represents a geographic collection of sites. For example, you might create regions representing countries, @@ -111,7 +108,6 @@ class Region(NestedGroupModel): # Site groups # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class SiteGroup(NestedGroupModel): """ A site group is an arbitrary grouping of sites. For example, you might have corporate sites and customer sites; and @@ -198,8 +194,7 @@ class SiteGroup(NestedGroupModel): # Sites # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Site(PrimaryModel): +class Site(NetBoxModel): """ A Site represents a geographic location within a network; typically a building or campus. The optional facility field can be used to include an external designation, such as a data center name (e.g. Equinix SV6). @@ -322,7 +317,6 @@ class Site(PrimaryModel): # Locations # -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class Location(NestedGroupModel): """ A Location represents a subgroup of Racks and/or Devices within a Site. A Location may represent a building within a diff --git a/netbox/dcim/svg.py b/netbox/dcim/svg.py index e19e8fa2f54..1058d838546 100644 --- a/netbox/dcim/svg.py +++ b/netbox/dcim/svg.py @@ -19,7 +19,12 @@ __all__ = ( def get_device_name(device): - return device.name or str(device.device_type) + if device.virtual_chassis: + return f'{device.virtual_chassis.name}:{device.vc_position}' + elif device.name: + return device.name + else: + return str(device.device_type) class RackElevationSVG: diff --git a/netbox/dcim/tables/__init__.py b/netbox/dcim/tables/__init__.py index 993ae0518f9..e3b2a42bae7 100644 --- a/netbox/dcim/tables/__init__.py +++ b/netbox/dcim/tables/__init__.py @@ -1,7 +1,7 @@ import django_tables2 as tables from django_tables2.utils import Accessor -from utilities.tables import BaseTable, BooleanColumn +from netbox.tables import BaseTable, columns from dcim.models import ConsolePort, Interface, PowerPort from .cables import * from .devices import * @@ -36,7 +36,7 @@ class ConsoleConnectionTable(BaseTable): linkify=True, verbose_name='Console Port' ) - reachable = BooleanColumn( + reachable = columns.BooleanColumn( accessor=Accessor('_path__is_active'), verbose_name='Reachable' ) @@ -44,7 +44,6 @@ class ConsoleConnectionTable(BaseTable): class Meta(BaseTable.Meta): model = ConsolePort fields = ('device', 'name', 'console_server', 'console_server_port', 'reachable') - exclude = ('id', ) class PowerConnectionTable(BaseTable): @@ -67,7 +66,7 @@ class PowerConnectionTable(BaseTable): linkify=True, verbose_name='Power Port' ) - reachable = BooleanColumn( + reachable = columns.BooleanColumn( accessor=Accessor('_path__is_active'), verbose_name='Reachable' ) @@ -75,7 +74,6 @@ class PowerConnectionTable(BaseTable): class Meta(BaseTable.Meta): model = PowerPort fields = ('device', 'name', 'pdu', 'outlet', 'reachable') - exclude = ('id', ) class InterfaceConnectionTable(BaseTable): @@ -101,7 +99,7 @@ class InterfaceConnectionTable(BaseTable): linkify=True, verbose_name='Interface B' ) - reachable = BooleanColumn( + reachable = columns.BooleanColumn( accessor=Accessor('_path__is_active'), verbose_name='Reachable' ) @@ -109,4 +107,3 @@ class InterfaceConnectionTable(BaseTable): class Meta(BaseTable.Meta): model = Interface fields = ('device_a', 'interface_a', 'device_b', 'interface_b', 'reachable') - exclude = ('id', ) diff --git a/netbox/dcim/tables/cables.py b/netbox/dcim/tables/cables.py index 9b912894be4..1774a3e22f2 100644 --- a/netbox/dcim/tables/cables.py +++ b/netbox/dcim/tables/cables.py @@ -2,8 +2,8 @@ import django_tables2 as tables from django_tables2.utils import Accessor from dcim.models import Cable +from netbox.tables import NetBoxTable, columns from tenancy.tables import TenantColumn -from utilities.tables import BaseTable, ChoiceFieldColumn, ColorColumn, TagColumn, TemplateColumn, ToggleColumn from .template_code import CABLE_LENGTH, CABLE_TERMINATION_PARENT __all__ = ( @@ -15,8 +15,7 @@ __all__ = ( # Cables # -class CableTable(BaseTable): - pk = ToggleColumn() +class CableTable(NetBoxTable): termination_a_parent = tables.TemplateColumn( template_code=CABLE_TERMINATION_PARENT, accessor=Accessor('termination_a'), @@ -41,22 +40,22 @@ class CableTable(BaseTable): linkify=True, verbose_name='Termination B' ) - status = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() tenant = TenantColumn() - length = TemplateColumn( + length = columns.TemplateColumn( template_code=CABLE_LENGTH, order_by='_abs_length' ) - color = ColorColumn() - tags = TagColumn( + color = columns.ColorColumn() + tags = columns.TagColumn( url_name='dcim:cable_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Cable fields = ( 'pk', 'id', 'label', 'termination_a_parent', 'termination_a', 'termination_b_parent', 'termination_b', - 'status', 'type', 'tenant', 'color', 'length', 'tags', + 'status', 'type', 'tenant', 'color', 'length', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'id', 'label', 'termination_a_parent', 'termination_a', 'termination_b_parent', 'termination_b', diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 0c3a5f6a1f7..37faaae7f81 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -5,11 +5,8 @@ from dcim.models import ( ConsolePort, ConsoleServerPort, Device, DeviceBay, DeviceRole, FrontPort, Interface, InventoryItem, InventoryItemRole, ModuleBay, Platform, PowerOutlet, PowerPort, RearPort, VirtualChassis, ) +from netbox.tables import NetBoxTable, columns from tenancy.tables import TenantColumn -from utilities.tables import ( - BaseTable, BooleanColumn, ButtonsColumn, ChoiceFieldColumn, ColorColumn, ColoredLabelColumn, LinkedCountColumn, - MarkdownColumn, TagColumn, TemplateColumn, ToggleColumn, -) from .template_code import * __all__ = ( @@ -74,69 +71,65 @@ def get_interface_state_attribute(record): # Device roles # -class DeviceRoleTable(BaseTable): - pk = ToggleColumn() +class DeviceRoleTable(NetBoxTable): name = tables.Column( linkify=True ) - device_count = LinkedCountColumn( + device_count = columns.LinkedCountColumn( viewname='dcim:device_list', url_params={'role_id': 'pk'}, verbose_name='Devices' ) - vm_count = LinkedCountColumn( + vm_count = columns.LinkedCountColumn( viewname='virtualization:virtualmachine_list', url_params={'role_id': 'pk'}, verbose_name='VMs' ) - color = ColorColumn() - vm_role = BooleanColumn() - tags = TagColumn( + color = columns.ColorColumn() + vm_role = columns.BooleanColumn() + tags = columns.TagColumn( url_name='dcim:devicerole_list' ) - actions = ButtonsColumn(DeviceRole) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = DeviceRole fields = ( 'pk', 'id', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description', 'slug', 'tags', - 'actions', + 'actions', 'created', 'last_updated', ) - default_columns = ('pk', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description', 'actions') + default_columns = ('pk', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description') # # Platforms # -class PlatformTable(BaseTable): - pk = ToggleColumn() +class PlatformTable(NetBoxTable): name = tables.Column( linkify=True ) - device_count = LinkedCountColumn( + device_count = columns.LinkedCountColumn( viewname='dcim:device_list', url_params={'platform_id': 'pk'}, verbose_name='Devices' ) - vm_count = LinkedCountColumn( + vm_count = columns.LinkedCountColumn( viewname='virtualization:virtualmachine_list', url_params={'platform_id': 'pk'}, verbose_name='VMs' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:platform_list' ) - actions = ButtonsColumn(Platform) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Platform fields = ( 'pk', 'id', 'name', 'manufacturer', 'device_count', 'vm_count', 'slug', 'napalm_driver', 'napalm_args', - 'description', 'tags', 'actions', + 'description', 'tags', 'actions', 'created', 'last_updated', ) default_columns = ( - 'pk', 'name', 'manufacturer', 'device_count', 'vm_count', 'napalm_driver', 'description', 'actions', + 'pk', 'name', 'manufacturer', 'device_count', 'vm_count', 'napalm_driver', 'description', ) @@ -144,13 +137,12 @@ class PlatformTable(BaseTable): # Devices # -class DeviceTable(BaseTable): - pk = ToggleColumn() +class DeviceTable(NetBoxTable): name = tables.TemplateColumn( order_by=('_name',), template_code=DEVICE_LINK ) - status = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() tenant = TenantColumn() site = tables.Column( linkify=True @@ -161,7 +153,7 @@ class DeviceTable(BaseTable): rack = tables.Column( linkify=True ) - device_role = ColoredLabelColumn( + device_role = columns.ColoredLabelColumn( verbose_name='Role' ) manufacturer = tables.Column( @@ -197,17 +189,18 @@ class DeviceTable(BaseTable): vc_priority = tables.Column( verbose_name='VC Priority' ) - comments = MarkdownColumn() - tags = TagColumn( + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='dcim:device_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Device fields = ( 'pk', 'id', 'name', 'status', 'tenant', 'device_role', 'manufacturer', 'device_type', 'platform', 'serial', 'asset_tag', 'site', 'location', 'rack', 'position', 'face', 'primary_ip', 'airflow', 'primary_ip4', - 'primary_ip6', 'cluster', 'virtual_chassis', 'vc_position', 'vc_priority', 'comments', 'tags', + 'primary_ip6', 'cluster', 'virtual_chassis', 'vc_position', 'vc_priority', 'comments', 'tags', 'created', + 'last_updated', ) default_columns = ( 'pk', 'name', 'status', 'tenant', 'site', 'location', 'rack', 'device_role', 'manufacturer', 'device_type', @@ -215,11 +208,11 @@ class DeviceTable(BaseTable): ) -class DeviceImportTable(BaseTable): +class DeviceImportTable(NetBoxTable): name = tables.TemplateColumn( template_code=DEVICE_LINK ) - status = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() tenant = TenantColumn() site = tables.Column( linkify=True @@ -234,7 +227,7 @@ class DeviceImportTable(BaseTable): verbose_name='Type' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Device fields = ('id', 'name', 'status', 'tenant', 'site', 'rack', 'position', 'device_role', 'device_type') empty_text = False @@ -244,8 +237,7 @@ class DeviceImportTable(BaseTable): # Device components # -class DeviceComponentTable(BaseTable): - pk = ToggleColumn() +class DeviceComponentTable(NetBoxTable): device = tables.Column( linkify=True ) @@ -254,7 +246,7 @@ class DeviceComponentTable(BaseTable): order_by=('_name',) ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): order_by = ('device', 'name') @@ -271,26 +263,26 @@ class ModularDeviceComponentTable(DeviceComponentTable): ) -class CableTerminationTable(BaseTable): +class CableTerminationTable(NetBoxTable): cable = tables.Column( linkify=True ) - cable_color = ColorColumn( + cable_color = columns.ColorColumn( accessor='cable.color', orderable=False, verbose_name='Cable Color' ) - link_peer = TemplateColumn( + link_peer = columns.TemplateColumn( accessor='_link_peer', template_code=LINKTERMINATION, orderable=False, verbose_name='Link Peer' ) - mark_connected = BooleanColumn() + mark_connected = columns.BooleanColumn() class PathEndpointTable(CableTerminationTable): - connection = TemplateColumn( + connection = columns.TemplateColumn( accessor='_path.last_node', template_code=LINKTERMINATION, verbose_name='Connection', @@ -305,7 +297,7 @@ class ConsolePortTable(ModularDeviceComponentTable, PathEndpointTable): 'args': [Accessor('device_id')], } ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:consoleport_list' ) @@ -313,7 +305,7 @@ class ConsolePortTable(ModularDeviceComponentTable, PathEndpointTable): model = ConsolePort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'speed', 'description', - 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', + 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'device', 'label', 'type', 'speed', 'description') @@ -324,10 +316,8 @@ class DeviceConsolePortTable(ConsolePortTable): order_by=Accessor('_name'), attrs={'td': {'class': 'text-nowrap'}} ) - actions = ButtonsColumn( - model=ConsolePort, - buttons=('edit', 'delete'), - prepend_template=CONSOLEPORT_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=CONSOLEPORT_BUTTONS ) class Meta(DeviceComponentTable.Meta): @@ -336,7 +326,7 @@ class DeviceConsolePortTable(ConsolePortTable): 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions' ) - default_columns = ('pk', 'name', 'label', 'type', 'speed', 'description', 'cable', 'connection', 'actions') + default_columns = ('pk', 'name', 'label', 'type', 'speed', 'description', 'cable', 'connection') row_attrs = { 'class': get_cabletermination_row_class } @@ -349,7 +339,7 @@ class ConsoleServerPortTable(ModularDeviceComponentTable, PathEndpointTable): 'args': [Accessor('device_id')], } ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:consoleserverport_list' ) @@ -357,7 +347,7 @@ class ConsoleServerPortTable(ModularDeviceComponentTable, PathEndpointTable): model = ConsoleServerPort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'speed', 'description', - 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', + 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'device', 'label', 'type', 'speed', 'description') @@ -369,10 +359,8 @@ class DeviceConsoleServerPortTable(ConsoleServerPortTable): order_by=Accessor('_name'), attrs={'td': {'class': 'text-nowrap'}} ) - actions = ButtonsColumn( - model=ConsoleServerPort, - buttons=('edit', 'delete'), - prepend_template=CONSOLESERVERPORT_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=CONSOLESERVERPORT_BUTTONS ) class Meta(DeviceComponentTable.Meta): @@ -381,7 +369,7 @@ class DeviceConsoleServerPortTable(ConsoleServerPortTable): 'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions', ) - default_columns = ('pk', 'name', 'label', 'type', 'speed', 'description', 'cable', 'connection', 'actions') + default_columns = ('pk', 'name', 'label', 'type', 'speed', 'description', 'cable', 'connection') row_attrs = { 'class': get_cabletermination_row_class } @@ -394,7 +382,7 @@ class PowerPortTable(ModularDeviceComponentTable, PathEndpointTable): 'args': [Accessor('device_id')], } ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:powerport_list' ) @@ -402,7 +390,8 @@ class PowerPortTable(ModularDeviceComponentTable, PathEndpointTable): model = PowerPort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'description', 'mark_connected', - 'maximum_draw', 'allocated_draw', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', + 'maximum_draw', 'allocated_draw', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'created', + 'last_updated', ) default_columns = ('pk', 'name', 'device', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description') @@ -414,10 +403,8 @@ class DevicePowerPortTable(PowerPortTable): order_by=Accessor('_name'), attrs={'td': {'class': 'text-nowrap'}} ) - actions = ButtonsColumn( - model=PowerPort, - buttons=('edit', 'delete'), - prepend_template=POWERPORT_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=POWERPORT_BUTTONS ) class Meta(DeviceComponentTable.Meta): @@ -428,7 +415,6 @@ class DevicePowerPortTable(PowerPortTable): ) default_columns = ( 'pk', 'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'cable', 'connection', - 'actions', ) row_attrs = { 'class': get_cabletermination_row_class @@ -445,7 +431,7 @@ class PowerOutletTable(ModularDeviceComponentTable, PathEndpointTable): power_port = tables.Column( linkify=True ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:poweroutlet_list' ) @@ -453,7 +439,8 @@ class PowerOutletTable(ModularDeviceComponentTable, PathEndpointTable): model = PowerOutlet fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'description', 'power_port', - 'feed_leg', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', + 'feed_leg', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'created', + 'last_updated', ) default_columns = ('pk', 'name', 'device', 'label', 'type', 'power_port', 'feed_leg', 'description') @@ -464,10 +451,8 @@ class DevicePowerOutletTable(PowerOutletTable): order_by=Accessor('_name'), attrs={'td': {'class': 'text-nowrap'}} ) - actions = ButtonsColumn( - model=PowerOutlet, - buttons=('edit', 'delete'), - prepend_template=POWEROUTLET_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=POWEROUTLET_BUTTONS ) class Meta(DeviceComponentTable.Meta): @@ -477,15 +462,15 @@ class DevicePowerOutletTable(PowerOutletTable): 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions', ) default_columns = ( - 'pk', 'name', 'label', 'type', 'power_port', 'feed_leg', 'description', 'cable', 'connection', 'actions', + 'pk', 'name', 'label', 'type', 'power_port', 'feed_leg', 'description', 'cable', 'connection', ) row_attrs = { 'class': get_cabletermination_row_class } -class BaseInterfaceTable(BaseTable): - enabled = BooleanColumn() +class BaseInterfaceTable(NetBoxTable): + enabled = columns.BooleanColumn() ip_addresses = tables.TemplateColumn( template_code=INTERFACE_IPADDRESSES, orderable=False, @@ -498,7 +483,7 @@ class BaseInterfaceTable(BaseTable): verbose_name='FHRP Groups' ) untagged_vlan = tables.Column(linkify=True) - tagged_vlans = TemplateColumn( + tagged_vlans = columns.TemplateColumn( template_code=INTERFACE_TAGGED_VLANS, orderable=False, verbose_name='Tagged VLANs' @@ -512,16 +497,19 @@ class InterfaceTable(ModularDeviceComponentTable, BaseInterfaceTable, PathEndpoi 'args': [Accessor('device_id')], } ) - mgmt_only = BooleanColumn() + mgmt_only = columns.BooleanColumn() wireless_link = tables.Column( linkify=True ) - wireless_lans = TemplateColumn( + wireless_lans = columns.TemplateColumn( template_code=INTERFACE_WIRELESS_LANS, orderable=False, verbose_name='Wireless LANs' ) - tags = TagColumn( + vrf = tables.Column( + linkify=True + ) + tags = columns.TagColumn( url_name='dcim:interface_list' ) @@ -529,9 +517,10 @@ class InterfaceTable(ModularDeviceComponentTable, BaseInterfaceTable, PathEndpoi model = Interface fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'enabled', 'type', 'mgmt_only', 'mtu', - 'mode', 'mac_address', 'wwn', 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', - 'tx_power', 'description', 'mark_connected', 'cable', 'cable_color', 'wireless_link', 'wireless_lans', - 'link_peer', 'connection', 'tags', 'ip_addresses', 'fhrp_groups', 'untagged_vlan', 'tagged_vlans', + 'speed', 'duplex', 'mode', 'mac_address', 'wwn', 'rf_role', 'rf_channel', 'rf_channel_frequency', + 'rf_channel_width', 'tx_power', 'description', 'mark_connected', 'cable', 'cable_color', 'wireless_link', + 'wireless_lans', 'link_peer', 'connection', 'tags', 'vrf', 'ip_addresses', 'fhrp_groups', 'untagged_vlan', + 'tagged_vlans', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'device', 'label', 'enabled', 'type', 'description') @@ -554,10 +543,8 @@ class DeviceInterfaceTable(InterfaceTable): linkify=True, verbose_name='LAG' ) - actions = ButtonsColumn( - model=Interface, - buttons=('edit', 'delete'), - prepend_template=INTERFACE_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=INTERFACE_BUTTONS ) class Meta(DeviceComponentTable.Meta): @@ -572,7 +559,7 @@ class DeviceInterfaceTable(InterfaceTable): order_by = ('name',) default_columns = ( 'pk', 'name', 'label', 'enabled', 'type', 'parent', 'lag', 'mtu', 'mode', 'description', 'ip_addresses', - 'cable', 'connection', 'actions', + 'cable', 'connection', ) row_attrs = { 'class': get_interface_row_class, @@ -588,14 +575,14 @@ class FrontPortTable(ModularDeviceComponentTable, CableTerminationTable): 'args': [Accessor('device_id')], } ) - color = ColorColumn() + color = columns.ColorColumn() rear_port_position = tables.Column( verbose_name='Position' ) rear_port = tables.Column( linkify=True ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:frontport_list' ) @@ -604,6 +591,7 @@ class FrontPortTable(ModularDeviceComponentTable, CableTerminationTable): fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'tags', + 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'device', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description', @@ -617,10 +605,8 @@ class DeviceFrontPortTable(FrontPortTable): order_by=Accessor('_name'), attrs={'td': {'class': 'text-nowrap'}} ) - actions = ButtonsColumn( - model=FrontPort, - buttons=('edit', 'delete'), - prepend_template=FRONTPORT_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=FRONTPORT_BUTTONS ) class Meta(DeviceComponentTable.Meta): @@ -631,7 +617,6 @@ class DeviceFrontPortTable(FrontPortTable): ) default_columns = ( 'pk', 'name', 'label', 'type', 'rear_port', 'rear_port_position', 'description', 'cable', 'link_peer', - 'actions', ) row_attrs = { 'class': get_cabletermination_row_class @@ -645,8 +630,8 @@ class RearPortTable(ModularDeviceComponentTable, CableTerminationTable): 'args': [Accessor('device_id')], } ) - color = ColorColumn() - tags = TagColumn( + color = columns.ColorColumn() + tags = columns.TagColumn( url_name='dcim:rearport_list' ) @@ -654,7 +639,7 @@ class RearPortTable(ModularDeviceComponentTable, CableTerminationTable): model = RearPort fields = ( 'pk', 'id', 'name', 'device', 'module_bay', 'module', 'label', 'type', 'color', 'positions', 'description', - 'mark_connected', 'cable', 'cable_color', 'link_peer', 'tags', + 'mark_connected', 'cable', 'cable_color', 'link_peer', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'device', 'label', 'type', 'color', 'description') @@ -666,10 +651,8 @@ class DeviceRearPortTable(RearPortTable): order_by=Accessor('_name'), attrs={'td': {'class': 'text-nowrap'}} ) - actions = ButtonsColumn( - model=RearPort, - buttons=('edit', 'delete'), - prepend_template=REARPORT_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=REARPORT_BUTTONS ) class Meta(DeviceComponentTable.Meta): @@ -679,7 +662,7 @@ class DeviceRearPortTable(RearPortTable): 'cable', 'cable_color', 'link_peer', 'tags', 'actions', ) default_columns = ( - 'pk', 'name', 'label', 'type', 'positions', 'description', 'cable', 'link_peer', 'actions', + 'pk', 'name', 'label', 'type', 'positions', 'description', 'cable', 'link_peer', ) row_attrs = { 'class': get_cabletermination_row_class @@ -700,13 +683,17 @@ class DeviceBayTable(DeviceComponentTable): installed_device = tables.Column( linkify=True ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:devicebay_list' ) class Meta(DeviceComponentTable.Meta): model = DeviceBay - fields = ('pk', 'id', 'name', 'device', 'label', 'status', 'installed_device', 'description', 'tags') + fields = ( + 'pk', 'id', 'name', 'device', 'label', 'status', 'installed_device', 'description', 'tags', + 'created', 'last_updated', + ) + default_columns = ('pk', 'name', 'device', 'label', 'status', 'installed_device', 'description') @@ -717,10 +704,8 @@ class DeviceDeviceBayTable(DeviceBayTable): order_by=Accessor('_name'), attrs={'td': {'class': 'text-nowrap'}} ) - actions = ButtonsColumn( - model=DeviceBay, - buttons=('edit', 'delete'), - prepend_template=DEVICEBAY_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=DEVICEBAY_BUTTONS ) class Meta(DeviceComponentTable.Meta): @@ -728,9 +713,7 @@ class DeviceDeviceBayTable(DeviceBayTable): fields = ( 'pk', 'id', 'name', 'label', 'status', 'installed_device', 'description', 'tags', 'actions', ) - default_columns = ( - 'pk', 'name', 'label', 'status', 'installed_device', 'description', 'actions', - ) + default_columns = ('pk', 'name', 'label', 'status', 'installed_device', 'description') class ModuleBayTable(DeviceComponentTable): @@ -744,7 +727,7 @@ class ModuleBayTable(DeviceComponentTable): linkify=True, verbose_name='Installed module' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:modulebay_list' ) @@ -755,16 +738,14 @@ class ModuleBayTable(DeviceComponentTable): class DeviceModuleBayTable(ModuleBayTable): - actions = ButtonsColumn( - model=DeviceBay, - buttons=('edit', 'delete'), - prepend_template=MODULEBAY_BUTTONS + actions = columns.ActionsColumn( + extra_buttons=MODULEBAY_BUTTONS ) class Meta(DeviceComponentTable.Meta): model = ModuleBay fields = ('pk', 'id', 'name', 'label', 'description', 'installed_module', 'tags', 'actions') - default_columns = ('pk', 'name', 'label', 'description', 'installed_module', 'actions') + default_columns = ('pk', 'name', 'label', 'description', 'installed_module') class InventoryItemTable(DeviceComponentTable): @@ -785,17 +766,17 @@ class InventoryItemTable(DeviceComponentTable): orderable=False, linkify=True ) - discovered = BooleanColumn() - tags = TagColumn( + discovered = columns.BooleanColumn() + tags = columns.TagColumn( url_name='dcim:inventoryitem_list' ) cable = None # Override DeviceComponentTable - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = InventoryItem fields = ( 'pk', 'id', 'name', 'device', 'component', 'label', 'role', 'manufacturer', 'part_id', 'serial', - 'asset_tag', 'description', 'discovered', 'tags', + 'asset_tag', 'description', 'discovered', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'device', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', @@ -809,68 +790,62 @@ class DeviceInventoryItemTable(InventoryItemTable): order_by=Accessor('_name'), attrs={'td': {'class': 'text-nowrap'}} ) - actions = ButtonsColumn( - model=InventoryItem, - buttons=('edit', 'delete') - ) + actions = columns.ActionsColumn() - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = InventoryItem fields = ( 'pk', 'id', 'name', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'component', 'description', 'discovered', 'tags', 'actions', ) default_columns = ( - 'pk', 'name', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'component', 'actions', + 'pk', 'name', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'component', ) -class InventoryItemRoleTable(BaseTable): - pk = ToggleColumn() +class InventoryItemRoleTable(NetBoxTable): name = tables.Column( linkify=True ) - inventoryitem_count = LinkedCountColumn( + inventoryitem_count = columns.LinkedCountColumn( viewname='dcim:inventoryitem_list', url_params={'role_id': 'pk'}, verbose_name='Items' ) - color = ColorColumn() - tags = TagColumn( + color = columns.ColorColumn() + tags = columns.TagColumn( url_name='dcim:inventoryitemrole_list' ) - actions = ButtonsColumn(InventoryItemRole) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = InventoryItemRole fields = ( 'pk', 'id', 'name', 'inventoryitem_count', 'color', 'description', 'slug', 'tags', 'actions', ) - default_columns = ('pk', 'name', 'inventoryitem_count', 'color', 'description', 'actions') + default_columns = ('pk', 'name', 'inventoryitem_count', 'color', 'description') # # Virtual chassis # -class VirtualChassisTable(BaseTable): - pk = ToggleColumn() +class VirtualChassisTable(NetBoxTable): name = tables.Column( linkify=True ) master = tables.Column( linkify=True ) - member_count = LinkedCountColumn( + member_count = columns.LinkedCountColumn( viewname='dcim:device_list', url_params={'virtual_chassis_id': 'pk'}, verbose_name='Members' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:virtualchassis_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = VirtualChassis - fields = ('pk', 'id', 'name', 'domain', 'master', 'member_count', 'tags') + fields = ('pk', 'id', 'name', 'domain', 'master', 'member_count', 'tags', 'created', 'last_updated',) default_columns = ('pk', 'name', 'domain', 'master', 'member_count') diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index 525c6903075..44848f6baf3 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -5,9 +5,7 @@ from dcim.models import ( ConsolePortTemplate, ConsoleServerPortTemplate, DeviceBayTemplate, DeviceType, FrontPortTemplate, InterfaceTemplate, InventoryItemTemplate, Manufacturer, ModuleBayTemplate, PowerOutletTemplate, PowerPortTemplate, RearPortTemplate, ) -from utilities.tables import ( - BaseTable, BooleanColumn, ButtonsColumn, ColorColumn, LinkedCountColumn, MarkdownColumn, TagColumn, ToggleColumn, -) +from netbox.tables import NetBoxTable, columns from .template_code import MODULAR_COMPONENT_TEMPLATE_BUTTONS __all__ = ( @@ -30,8 +28,7 @@ __all__ = ( # Manufacturers # -class ManufacturerTable(BaseTable): - pk = ToggleColumn() +class ManufacturerTable(NetBoxTable): name = tables.Column( linkify=True ) @@ -45,19 +42,18 @@ class ManufacturerTable(BaseTable): verbose_name='Platforms' ) slug = tables.Column() - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:manufacturer_list' ) - actions = ButtonsColumn(Manufacturer) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Manufacturer fields = ( 'pk', 'id', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug', - 'actions', + 'actions', 'created', 'last_updated', ) default_columns = ( - 'pk', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug', 'actions', + 'pk', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug', ) @@ -65,30 +61,29 @@ class ManufacturerTable(BaseTable): # Device types # -class DeviceTypeTable(BaseTable): - pk = ToggleColumn() +class DeviceTypeTable(NetBoxTable): model = tables.Column( linkify=True, verbose_name='Device Type' ) - is_full_depth = BooleanColumn( + is_full_depth = columns.BooleanColumn( verbose_name='Full Depth' ) - instance_count = LinkedCountColumn( + instance_count = columns.LinkedCountColumn( viewname='dcim:device_list', url_params={'device_type_id': 'pk'}, verbose_name='Instances' ) - comments = MarkdownColumn() - tags = TagColumn( + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='dcim:devicetype_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = DeviceType fields = ( 'pk', 'id', 'model', 'manufacturer', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', - 'airflow', 'comments', 'instance_count', 'tags', + 'airflow', 'comments', 'instance_count', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'model', 'manufacturer', 'part_number', 'u_height', 'is_full_depth', 'instance_count', @@ -99,8 +94,7 @@ class DeviceTypeTable(BaseTable): # Device type components # -class ComponentTemplateTable(BaseTable): - pk = ToggleColumn() +class ComponentTemplateTable(NetBoxTable): id = tables.Column( verbose_name='ID' ) @@ -108,15 +102,14 @@ class ComponentTemplateTable(BaseTable): order_by=('_name',) ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): exclude = ('id', ) class ConsolePortTemplateTable(ComponentTemplateTable): - actions = ButtonsColumn( - model=ConsolePortTemplate, - buttons=('edit', 'delete'), - prepend_template=MODULAR_COMPONENT_TEMPLATE_BUTTONS + actions = columns.ActionsColumn( + sequence=('edit', 'delete'), + extra_buttons=MODULAR_COMPONENT_TEMPLATE_BUTTONS ) class Meta(ComponentTemplateTable.Meta): @@ -126,10 +119,9 @@ class ConsolePortTemplateTable(ComponentTemplateTable): class ConsoleServerPortTemplateTable(ComponentTemplateTable): - actions = ButtonsColumn( - model=ConsoleServerPortTemplate, - buttons=('edit', 'delete'), - prepend_template=MODULAR_COMPONENT_TEMPLATE_BUTTONS + actions = columns.ActionsColumn( + sequence=('edit', 'delete'), + extra_buttons=MODULAR_COMPONENT_TEMPLATE_BUTTONS ) class Meta(ComponentTemplateTable.Meta): @@ -139,10 +131,9 @@ class ConsoleServerPortTemplateTable(ComponentTemplateTable): class PowerPortTemplateTable(ComponentTemplateTable): - actions = ButtonsColumn( - model=PowerPortTemplate, - buttons=('edit', 'delete'), - prepend_template=MODULAR_COMPONENT_TEMPLATE_BUTTONS + actions = columns.ActionsColumn( + sequence=('edit', 'delete'), + extra_buttons=MODULAR_COMPONENT_TEMPLATE_BUTTONS ) class Meta(ComponentTemplateTable.Meta): @@ -152,10 +143,9 @@ class PowerPortTemplateTable(ComponentTemplateTable): class PowerOutletTemplateTable(ComponentTemplateTable): - actions = ButtonsColumn( - model=PowerOutletTemplate, - buttons=('edit', 'delete'), - prepend_template=MODULAR_COMPONENT_TEMPLATE_BUTTONS + actions = columns.ActionsColumn( + sequence=('edit', 'delete'), + extra_buttons=MODULAR_COMPONENT_TEMPLATE_BUTTONS ) class Meta(ComponentTemplateTable.Meta): @@ -165,13 +155,12 @@ class PowerOutletTemplateTable(ComponentTemplateTable): class InterfaceTemplateTable(ComponentTemplateTable): - mgmt_only = BooleanColumn( + mgmt_only = columns.BooleanColumn( verbose_name='Management Only' ) - actions = ButtonsColumn( - model=InterfaceTemplate, - buttons=('edit', 'delete'), - prepend_template=MODULAR_COMPONENT_TEMPLATE_BUTTONS + actions = columns.ActionsColumn( + sequence=('edit', 'delete'), + extra_buttons=MODULAR_COMPONENT_TEMPLATE_BUTTONS ) class Meta(ComponentTemplateTable.Meta): @@ -184,11 +173,10 @@ class FrontPortTemplateTable(ComponentTemplateTable): rear_port_position = tables.Column( verbose_name='Position' ) - color = ColorColumn() - actions = ButtonsColumn( - model=FrontPortTemplate, - buttons=('edit', 'delete'), - prepend_template=MODULAR_COMPONENT_TEMPLATE_BUTTONS + color = columns.ColorColumn() + actions = columns.ActionsColumn( + sequence=('edit', 'delete'), + extra_buttons=MODULAR_COMPONENT_TEMPLATE_BUTTONS ) class Meta(ComponentTemplateTable.Meta): @@ -198,11 +186,10 @@ class FrontPortTemplateTable(ComponentTemplateTable): class RearPortTemplateTable(ComponentTemplateTable): - color = ColorColumn() - actions = ButtonsColumn( - model=RearPortTemplate, - buttons=('edit', 'delete'), - prepend_template=MODULAR_COMPONENT_TEMPLATE_BUTTONS + color = columns.ColorColumn() + actions = columns.ActionsColumn( + sequence=('edit', 'delete'), + extra_buttons=MODULAR_COMPONENT_TEMPLATE_BUTTONS ) class Meta(ComponentTemplateTable.Meta): @@ -212,9 +199,8 @@ class RearPortTemplateTable(ComponentTemplateTable): class ModuleBayTemplateTable(ComponentTemplateTable): - actions = ButtonsColumn( - model=ModuleBayTemplate, - buttons=('edit', 'delete') + actions = columns.ActionsColumn( + sequence=('edit', 'delete') ) class Meta(ComponentTemplateTable.Meta): @@ -224,9 +210,8 @@ class ModuleBayTemplateTable(ComponentTemplateTable): class DeviceBayTemplateTable(ComponentTemplateTable): - actions = ButtonsColumn( - model=DeviceBayTemplate, - buttons=('edit', 'delete') + actions = columns.ActionsColumn( + sequence=('edit', 'delete') ) class Meta(ComponentTemplateTable.Meta): @@ -236,9 +221,8 @@ class DeviceBayTemplateTable(ComponentTemplateTable): class InventoryItemTemplateTable(ComponentTemplateTable): - actions = ButtonsColumn( - model=InventoryItemTemplate, - buttons=('edit', 'delete') + actions = columns.ActionsColumn( + sequence=('edit', 'delete') ) role = tables.Column( linkify=True diff --git a/netbox/dcim/tables/modules.py b/netbox/dcim/tables/modules.py index 6d620433a68..5b009e42e6f 100644 --- a/netbox/dcim/tables/modules.py +++ b/netbox/dcim/tables/modules.py @@ -1,7 +1,7 @@ import django_tables2 as tables from dcim.models import Module, ModuleType -from utilities.tables import BaseTable, LinkedCountColumn, MarkdownColumn, TagColumn, ToggleColumn +from netbox.tables import NetBoxTable, columns __all__ = ( 'ModuleTable', @@ -9,23 +9,22 @@ __all__ = ( ) -class ModuleTypeTable(BaseTable): - pk = ToggleColumn() +class ModuleTypeTable(NetBoxTable): model = tables.Column( linkify=True, verbose_name='Module Type' ) - instance_count = LinkedCountColumn( + instance_count = columns.LinkedCountColumn( viewname='dcim:module_list', url_params={'module_type_id': 'pk'}, verbose_name='Instances' ) - comments = MarkdownColumn() - tags = TagColumn( + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='dcim:moduletype_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = ModuleType fields = ( 'pk', 'id', 'model', 'manufacturer', 'part_number', 'comments', 'tags', @@ -35,8 +34,7 @@ class ModuleTypeTable(BaseTable): ) -class ModuleTable(BaseTable): - pk = ToggleColumn() +class ModuleTable(NetBoxTable): device = tables.Column( linkify=True ) @@ -46,12 +44,12 @@ class ModuleTable(BaseTable): module_type = tables.Column( linkify=True ) - comments = MarkdownColumn() - tags = TagColumn( + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='dcim:module_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Module fields = ( 'pk', 'id', 'device', 'module_bay', 'module_type', 'serial', 'asset_tag', 'comments', 'tags', diff --git a/netbox/dcim/tables/power.py b/netbox/dcim/tables/power.py index ac58b64de9a..99bc963f90b 100644 --- a/netbox/dcim/tables/power.py +++ b/netbox/dcim/tables/power.py @@ -1,7 +1,7 @@ import django_tables2 as tables from dcim.models import PowerFeed, PowerPanel -from utilities.tables import BaseTable, ChoiceFieldColumn, LinkedCountColumn, MarkdownColumn, TagColumn, ToggleColumn +from netbox.tables import NetBoxTable, columns from .devices import CableTerminationTable __all__ = ( @@ -14,26 +14,25 @@ __all__ = ( # Power panels # -class PowerPanelTable(BaseTable): - pk = ToggleColumn() +class PowerPanelTable(NetBoxTable): name = tables.Column( linkify=True ) site = tables.Column( linkify=True ) - powerfeed_count = LinkedCountColumn( + powerfeed_count = columns.LinkedCountColumn( viewname='dcim:powerfeed_list', url_params={'power_panel_id': 'pk'}, verbose_name='Feeds' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:powerpanel_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = PowerPanel - fields = ('pk', 'id', 'name', 'site', 'location', 'powerfeed_count', 'tags') + fields = ('pk', 'id', 'name', 'site', 'location', 'powerfeed_count', 'tags', 'created', 'last_updated',) default_columns = ('pk', 'name', 'site', 'location', 'powerfeed_count') @@ -44,7 +43,6 @@ class PowerPanelTable(BaseTable): # We're not using PathEndpointTable for PowerFeed because power connections # cannot traverse pass-through ports. class PowerFeedTable(CableTerminationTable): - pk = ToggleColumn() name = tables.Column( linkify=True ) @@ -54,25 +52,25 @@ class PowerFeedTable(CableTerminationTable): rack = tables.Column( linkify=True ) - status = ChoiceFieldColumn() - type = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() + type = columns.ChoiceFieldColumn() max_utilization = tables.TemplateColumn( template_code="{{ value }}%" ) available_power = tables.Column( verbose_name='Available power (VA)' ) - comments = MarkdownColumn() - tags = TagColumn( + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='dcim:powerfeed_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = PowerFeed fields = ( 'pk', 'id', 'name', 'power_panel', 'rack', 'status', 'type', 'supply', 'voltage', 'amperage', 'phase', 'max_utilization', 'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'available_power', - 'comments', 'tags', + 'comments', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'power_panel', 'rack', 'status', 'type', 'supply', 'voltage', 'amperage', 'phase', 'cable', diff --git a/netbox/dcim/tables/racks.py b/netbox/dcim/tables/racks.py index 14bbe358912..416e9e8ff46 100644 --- a/netbox/dcim/tables/racks.py +++ b/netbox/dcim/tables/racks.py @@ -2,11 +2,8 @@ import django_tables2 as tables from django_tables2.utils import Accessor from dcim.models import Rack, RackReservation, RackRole +from netbox.tables import NetBoxTable, columns from tenancy.tables import TenantColumn -from utilities.tables import ( - BaseTable, ButtonsColumn, ChoiceFieldColumn, ColorColumn, ColoredLabelColumn, LinkedCountColumn, MarkdownColumn, - TagColumn, ToggleColumn, UtilizationColumn, -) __all__ = ( 'RackTable', @@ -19,28 +16,28 @@ __all__ = ( # Rack roles # -class RackRoleTable(BaseTable): - pk = ToggleColumn() +class RackRoleTable(NetBoxTable): name = tables.Column(linkify=True) rack_count = tables.Column(verbose_name='Racks') - color = ColorColumn() - tags = TagColumn( + color = columns.ColorColumn() + tags = columns.TagColumn( url_name='dcim:rackrole_list' ) - actions = ButtonsColumn(RackRole) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = RackRole - fields = ('pk', 'id', 'name', 'rack_count', 'color', 'description', 'slug', 'tags', 'actions') - default_columns = ('pk', 'name', 'rack_count', 'color', 'description', 'actions') + fields = ( + 'pk', 'id', 'name', 'rack_count', 'color', 'description', 'slug', 'tags', 'actions', 'created', + 'last_updated', + ) + default_columns = ('pk', 'name', 'rack_count', 'color', 'description') # # Racks # -class RackTable(BaseTable): - pk = ToggleColumn() +class RackTable(NetBoxTable): name = tables.Column( order_by=('_name',), linkify=True @@ -52,27 +49,27 @@ class RackTable(BaseTable): linkify=True ) tenant = TenantColumn() - status = ChoiceFieldColumn() - role = ColoredLabelColumn() + status = columns.ChoiceFieldColumn() + role = columns.ColoredLabelColumn() u_height = tables.TemplateColumn( template_code="{{ record.u_height }}U", verbose_name='Height' ) - comments = MarkdownColumn() - device_count = LinkedCountColumn( + comments = columns.MarkdownColumn() + device_count = columns.LinkedCountColumn( viewname='dcim:device_list', url_params={'rack_id': 'pk'}, verbose_name='Devices' ) - get_utilization = UtilizationColumn( + get_utilization = columns.UtilizationColumn( orderable=False, verbose_name='Space' ) - get_power_utilization = UtilizationColumn( + get_power_utilization = columns.UtilizationColumn( orderable=False, verbose_name='Power' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:rack_list' ) outer_width = tables.TemplateColumn( @@ -84,11 +81,12 @@ class RackTable(BaseTable): verbose_name='Outer Depth' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Rack fields = ( - 'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'serial', 'asset_tag', 'type', - 'width', 'outer_width', 'outer_depth', 'u_height', 'comments', 'device_count', 'get_utilization', 'get_power_utilization', 'tags', + 'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'serial', 'asset_tag', + 'type', 'width', 'outer_width', 'outer_depth', 'u_height', 'comments', 'device_count', 'get_utilization', + 'get_power_utilization', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'u_height', 'device_count', @@ -100,8 +98,7 @@ class RackTable(BaseTable): # Rack reservations # -class RackReservationTable(BaseTable): - pk = ToggleColumn() +class RackReservationTable(NetBoxTable): reservation = tables.Column( accessor='pk', linkify=True @@ -118,17 +115,14 @@ class RackReservationTable(BaseTable): orderable=False, verbose_name='Units' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:rackreservation_list' ) - actions = ButtonsColumn(RackReservation) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = RackReservation fields = ( 'pk', 'id', 'reservation', 'site', 'rack', 'unit_list', 'user', 'created', 'tenant', 'description', 'tags', - 'actions', - ) - default_columns = ( - 'pk', 'reservation', 'site', 'rack', 'unit_list', 'user', 'description', 'actions', + 'actions', 'created', 'last_updated', ) + default_columns = ('pk', 'reservation', 'site', 'rack', 'unit_list', 'user', 'description') diff --git a/netbox/dcim/tables/sites.py b/netbox/dcim/tables/sites.py index ceca41c86b8..1be1f74d0e8 100644 --- a/netbox/dcim/tables/sites.py +++ b/netbox/dcim/tables/sites.py @@ -1,11 +1,9 @@ import django_tables2 as tables from dcim.models import Location, Region, Site, SiteGroup +from netbox.tables import NetBoxTable, columns from tenancy.tables import TenantColumn -from utilities.tables import ( - BaseTable, ButtonsColumn, ChoiceFieldColumn, LinkedCountColumn, MarkdownColumn, MPTTColumn, TagColumn, ToggleColumn, -) -from .template_code import LOCATION_ELEVATIONS +from .template_code import LOCATION_BUTTONS __all__ = ( 'LocationTable', @@ -19,85 +17,85 @@ __all__ = ( # Regions # -class RegionTable(BaseTable): - pk = ToggleColumn() - name = MPTTColumn( +class RegionTable(NetBoxTable): + name = columns.MPTTColumn( linkify=True ) - site_count = LinkedCountColumn( + site_count = columns.LinkedCountColumn( viewname='dcim:site_list', url_params={'region_id': 'pk'}, verbose_name='Sites' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:region_list' ) - actions = ButtonsColumn(Region) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Region - fields = ('pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'actions') - default_columns = ('pk', 'name', 'site_count', 'description', 'actions') + fields = ( + 'pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'created', 'last_updated', 'actions', + ) + default_columns = ('pk', 'name', 'site_count', 'description') # # Site groups # -class SiteGroupTable(BaseTable): - pk = ToggleColumn() - name = MPTTColumn( +class SiteGroupTable(NetBoxTable): + name = columns.MPTTColumn( linkify=True ) - site_count = LinkedCountColumn( + site_count = columns.LinkedCountColumn( viewname='dcim:site_list', url_params={'group_id': 'pk'}, verbose_name='Sites' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:sitegroup_list' ) - actions = ButtonsColumn(SiteGroup) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = SiteGroup - fields = ('pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'actions') - default_columns = ('pk', 'name', 'site_count', 'description', 'actions') + fields = ( + 'pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'created', 'last_updated', 'actions', + ) + default_columns = ('pk', 'name', 'site_count', 'description') # # Sites # -class SiteTable(BaseTable): - pk = ToggleColumn() +class SiteTable(NetBoxTable): name = tables.Column( linkify=True ) - status = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() region = tables.Column( linkify=True ) group = tables.Column( linkify=True ) - asn_count = LinkedCountColumn( + asn_count = columns.LinkedCountColumn( accessor=tables.A('asns.count'), viewname='ipam:asn_list', url_params={'site_id': 'pk'}, verbose_name='ASNs' ) tenant = TenantColumn() - comments = MarkdownColumn() - tags = TagColumn( + comments = columns.MarkdownColumn() + tags = columns.TagColumn( url_name='dcim:site_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Site fields = ( 'pk', 'id', 'name', 'slug', 'status', 'facility', 'region', 'group', 'tenant', 'asn_count', 'time_zone', 'description', 'physical_address', 'shipping_address', 'latitude', 'longitude', 'comments', 'tags', + 'created', 'last_updated', 'actions', ) default_columns = ('pk', 'name', 'status', 'facility', 'region', 'group', 'tenant', 'description') @@ -106,37 +104,35 @@ class SiteTable(BaseTable): # Locations # -class LocationTable(BaseTable): - pk = ToggleColumn() - name = MPTTColumn( +class LocationTable(NetBoxTable): + name = columns.MPTTColumn( linkify=True ) site = tables.Column( linkify=True ) tenant = TenantColumn() - rack_count = LinkedCountColumn( + rack_count = columns.LinkedCountColumn( viewname='dcim:rack_list', url_params={'location_id': 'pk'}, verbose_name='Racks' ) - device_count = LinkedCountColumn( + device_count = columns.LinkedCountColumn( viewname='dcim:device_list', url_params={'location_id': 'pk'}, verbose_name='Devices' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='dcim:location_list' ) - actions = ButtonsColumn( - model=Location, - prepend_template=LOCATION_ELEVATIONS + actions = columns.ActionsColumn( + extra_buttons=LOCATION_BUTTONS ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Location fields = ( 'pk', 'id', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description', 'slug', 'tags', - 'actions', + 'actions', 'created', 'last_updated', ) - default_columns = ('pk', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description', 'actions') + default_columns = ('pk', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description') diff --git a/netbox/dcim/tables/template_code.py b/netbox/dcim/tables/template_code.py index 2b6c02b8295..a1baeb33646 100644 --- a/netbox/dcim/tables/template_code.py +++ b/netbox/dcim/tables/template_code.py @@ -87,7 +87,7 @@ POWERFEED_CABLETERMINATION = """ {{ value }} """ -LOCATION_ELEVATIONS = """ +LOCATION_BUTTONS = """ @@ -99,8 +99,8 @@ LOCATION_ELEVATIONS = """ MODULAR_COMPONENT_TEMPLATE_BUTTONS = """ {% load helpers %} -{% if perms.dcim.add_invnetoryitemtemplate %} - +{% if perms.dcim.add_inventoryitemtemplate %} + {% endif %} diff --git a/netbox/dcim/tests/test_api.py b/netbox/dcim/tests/test_api.py index 0c9b918dff1..4ab682d747b 100644 --- a/netbox/dcim/tests/test_api.py +++ b/netbox/dcim/tests/test_api.py @@ -6,7 +6,7 @@ from rest_framework import status from dcim.choices import * from dcim.constants import * from dcim.models import * -from ipam.models import ASN, RIR, VLAN +from ipam.models import ASN, RIR, VLAN, VRF from utilities.testing import APITestCase, APIViewTestCases, create_test_device from virtualization.models import Cluster, ClusterType from wireless.models import WirelessLAN @@ -1424,6 +1424,13 @@ class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase ) WirelessLAN.objects.bulk_create(wireless_lans) + vrfs = ( + VRF(name='VRF 1'), + VRF(name='VRF 2'), + VRF(name='VRF 3'), + ) + VRF.objects.bulk_create(vrfs) + cls.create_data = [ { 'device': device.pk, @@ -1431,9 +1438,12 @@ class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase 'type': '1000base-t', 'mode': InterfaceModeChoices.MODE_TAGGED, 'tx_power': 10, + 'vrf': vrfs[0].pk, 'tagged_vlans': [vlans[0].pk, vlans[1].pk], 'untagged_vlan': vlans[2].pk, 'wireless_lans': [wireless_lans[0].pk, wireless_lans[1].pk], + 'speed': 1000000, + 'duplex': 'full' }, { 'device': device.pk, @@ -1442,9 +1452,12 @@ class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase 'mode': InterfaceModeChoices.MODE_TAGGED, 'bridge': interfaces[0].pk, 'tx_power': 10, + 'vrf': vrfs[1].pk, 'tagged_vlans': [vlans[0].pk, vlans[1].pk], 'untagged_vlan': vlans[2].pk, 'wireless_lans': [wireless_lans[0].pk, wireless_lans[1].pk], + 'speed': 100000, + 'duplex': 'half' }, { 'device': device.pk, @@ -1453,6 +1466,7 @@ class InterfaceTest(Mixins.ComponentTraceMixin, APIViewTestCases.APIViewTestCase 'mode': InterfaceModeChoices.MODE_TAGGED, 'parent': interfaces[1].pk, 'tx_power': 10, + 'vrf': vrfs[2].pk, 'tagged_vlans': [vlans[0].pk, vlans[1].pk], 'untagged_vlan': vlans[2].pk, 'wireless_lans': [wireless_lans[0].pk, wireless_lans[1].pk], diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index 2973e46e711..de4806498b4 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -4,7 +4,7 @@ from django.test import TestCase from dcim.choices import * from dcim.filtersets import * from dcim.models import * -from ipam.models import ASN, IPAddress, RIR +from ipam.models import ASN, IPAddress, RIR, VRF from tenancy.models import Tenant, TenantGroup from utilities.choices import ColorChoices from utilities.testing import ChangeLoggedFilterSetTests, create_test_device @@ -2370,16 +2370,23 @@ class InterfaceTestCase(TestCase, ChangeLoggedFilterSetTests): ) Device.objects.bulk_create(devices) + vrfs = ( + VRF(name='VRF 1', rd='65000:1'), + VRF(name='VRF 2', rd='65000:2'), + VRF(name='VRF 3', rd='65000:3'), + ) + VRF.objects.bulk_create(vrfs) + # VirtualChassis assignment for filtering virtual_chassis = VirtualChassis.objects.create(master=devices[0]) Device.objects.filter(pk=devices[0].pk).update(virtual_chassis=virtual_chassis, vc_position=1, vc_priority=1) Device.objects.filter(pk=devices[1].pk).update(virtual_chassis=virtual_chassis, vc_position=2, vc_priority=2) interfaces = ( - Interface(device=devices[0], name='Interface 1', label='A', type=InterfaceTypeChoices.TYPE_1GE_SFP, enabled=True, mgmt_only=True, mtu=100, mode=InterfaceModeChoices.MODE_ACCESS, mac_address='00-00-00-00-00-01', description='First'), - Interface(device=devices[1], name='Interface 2', label='B', type=InterfaceTypeChoices.TYPE_1GE_GBIC, enabled=True, mgmt_only=True, mtu=200, mode=InterfaceModeChoices.MODE_TAGGED, mac_address='00-00-00-00-00-02', description='Second'), - Interface(device=devices[2], name='Interface 3', label='C', type=InterfaceTypeChoices.TYPE_1GE_FIXED, enabled=False, mgmt_only=False, mtu=300, mode=InterfaceModeChoices.MODE_TAGGED_ALL, mac_address='00-00-00-00-00-03', description='Third'), - Interface(device=devices[3], name='Interface 4', label='D', type=InterfaceTypeChoices.TYPE_OTHER, enabled=True, mgmt_only=True, tx_power=40), + Interface(device=devices[0], name='Interface 1', label='A', type=InterfaceTypeChoices.TYPE_1GE_SFP, enabled=True, mgmt_only=True, mtu=100, mode=InterfaceModeChoices.MODE_ACCESS, mac_address='00-00-00-00-00-01', description='First', vrf=vrfs[0], speed=1000000, duplex='half'), + Interface(device=devices[1], name='Interface 2', label='B', type=InterfaceTypeChoices.TYPE_1GE_GBIC, enabled=True, mgmt_only=True, mtu=200, mode=InterfaceModeChoices.MODE_TAGGED, mac_address='00-00-00-00-00-02', description='Second', vrf=vrfs[1], speed=1000000, duplex='full'), + Interface(device=devices[2], name='Interface 3', label='C', type=InterfaceTypeChoices.TYPE_1GE_FIXED, enabled=False, mgmt_only=False, mtu=300, mode=InterfaceModeChoices.MODE_TAGGED_ALL, mac_address='00-00-00-00-00-03', description='Third', vrf=vrfs[2], speed=100000, duplex='half'), + Interface(device=devices[3], name='Interface 4', label='D', type=InterfaceTypeChoices.TYPE_OTHER, enabled=True, mgmt_only=True, tx_power=40, speed=100000, duplex='full'), Interface(device=devices[3], name='Interface 5', label='E', type=InterfaceTypeChoices.TYPE_OTHER, enabled=True, mgmt_only=True, tx_power=40), Interface(device=devices[3], name='Interface 6', label='F', type=InterfaceTypeChoices.TYPE_OTHER, enabled=False, mgmt_only=False, tx_power=40), Interface(device=devices[3], name='Interface 7', type=InterfaceTypeChoices.TYPE_80211AC, rf_role=WirelessRoleChoices.ROLE_AP, rf_channel=WirelessChannelChoices.CHANNEL_24G_1, rf_channel_frequency=2412, rf_channel_width=22), @@ -2416,6 +2423,14 @@ class InterfaceTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'mtu': [100, 200]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_speed(self): + params = {'speed': [1000000, 100000]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) + + def test_duplex(self): + params = {'duplex': ['half', 'full']} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) + def test_mgmt_only(self): params = {'mgmt_only': 'true'} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) @@ -2550,6 +2565,13 @@ class InterfaceTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'tx_power': [40]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3) + def test_vrf(self): + vrfs = VRF.objects.all()[:2] + params = {'vrf_id': [vrfs[0].pk, vrfs[1].pk]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'vrf': [vrfs[0].rd, vrfs[1].rd]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + class FrontPortTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = FrontPort.objects.all() diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index 8f7cb606b89..4afa8a9f4f2 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -11,7 +11,7 @@ from netaddr import EUI from dcim.choices import * from dcim.constants import * from dcim.models import * -from ipam.models import ASN, RIR, VLAN +from ipam.models import ASN, RIR, VLAN, VRF from tenancy.models import Tenant from utilities.testing import ViewTestCases, create_tags, create_test_device from wireless.models import WirelessLAN @@ -2105,6 +2105,13 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): ) WirelessLAN.objects.bulk_create(wireless_lans) + vrfs = ( + VRF(name='VRF 1'), + VRF(name='VRF 2'), + VRF(name='VRF 3'), + ) + VRF.objects.bulk_create(vrfs) + tags = create_tags('Alpha', 'Bravo', 'Charlie') cls.form_data = { @@ -2117,6 +2124,8 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): 'mac_address': EUI('01:02:03:04:05:06'), 'wwn': EUI('01:02:03:04:05:06:07:08', version=64), 'mtu': 65000, + 'speed': 1000000, + 'duplex': 'full', 'mgmt_only': True, 'description': 'A front port', 'mode': InterfaceModeChoices.MODE_TAGGED, @@ -2124,6 +2133,7 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): 'untagged_vlan': vlans[0].pk, 'tagged_vlans': [v.pk for v in vlans[1:4]], 'wireless_lans': [wireless_lans[0].pk, wireless_lans[1].pk], + 'vrf': vrfs[0].pk, 'tags': [t.pk for t in tags], } @@ -2137,12 +2147,15 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): 'mac_address': EUI('01:02:03:04:05:06'), 'wwn': EUI('01:02:03:04:05:06:07:08', version=64), 'mtu': 2000, + 'speed': 100000, + 'duplex': 'half', 'mgmt_only': True, 'description': 'A front port', 'mode': InterfaceModeChoices.MODE_TAGGED, 'untagged_vlan': vlans[0].pk, 'tagged_vlans': [v.pk for v in vlans[1:4]], 'wireless_lans': [wireless_lans[0].pk, wireless_lans[1].pk], + 'vrf': vrfs[0].pk, 'tags': [t.pk for t in tags], } @@ -2153,19 +2166,22 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): 'mac_address': EUI('01:02:03:04:05:06'), 'wwn': EUI('01:02:03:04:05:06:07:08', version=64), 'mtu': 2000, + 'speed': 1000000, + 'duplex': 'full', 'mgmt_only': True, 'description': 'New description', 'mode': InterfaceModeChoices.MODE_TAGGED, 'tx_power': 10, 'untagged_vlan': vlans[0].pk, 'tagged_vlans': [v.pk for v in vlans[1:4]], + 'vrf': vrfs[1].pk, } cls.csv_data = ( - "device,name,type", - "Device 1,Interface 4,1000base-t", - "Device 1,Interface 5,1000base-t", - "Device 1,Interface 6,1000base-t", + f"device,name,type,vrf.pk", + f"Device 1,Interface 4,1000base-t,{vrfs[0].pk}", + f"Device 1,Interface 5,1000base-t,{vrfs[0].pk}", + f"Device 1,Interface 6,1000base-t,{vrfs[0].pk}", ) @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index e6412453954..231a3ef0988 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -20,7 +20,7 @@ from netbox.views import generic from utilities.forms import ConfirmationForm from utilities.paginator import EnhancedPaginator, get_paginate_count from utilities.permissions import get_permission_for_model -from utilities.tables import paginate_table +from netbox.tables import configure_table from utilities.utils import count_related from utilities.views import GetReturnURLMixin, ObjectPermissionRequiredMixin from virtualization.models import VirtualMachine @@ -165,7 +165,7 @@ class RegionView(generic.ObjectView): region=instance ) sites_table = tables.SiteTable(sites, exclude=('region',)) - paginate_table(sites_table, request) + configure_table(sites_table, request) return { 'child_regions_table': child_regions_table, @@ -250,7 +250,7 @@ class SiteGroupView(generic.ObjectView): group=instance ) sites_table = tables.SiteTable(sites, exclude=('group',)) - paginate_table(sites_table, request) + configure_table(sites_table, request) return { 'child_groups_table': child_groups_table, @@ -422,7 +422,7 @@ class LocationView(generic.ObjectView): cumulative=True ).filter(pk__in=location_ids).exclude(pk=instance.pk) child_locations_table = tables.LocationTable(child_locations) - paginate_table(child_locations_table, request) + configure_table(child_locations_table, request) return { 'rack_count': rack_count, @@ -493,7 +493,7 @@ class RackRoleView(generic.ObjectView): ) racks_table = tables.RackTable(racks, exclude=('role', 'get_utilization', 'get_power_utilization')) - paginate_table(racks_table, request) + configure_table(racks_table, request) return { 'racks_table': racks_table, @@ -743,7 +743,7 @@ class ManufacturerView(generic.ObjectView): ) devicetypes_table = tables.DeviceTypeTable(devicetypes, exclude=('manufacturer',)) - paginate_table(devicetypes_table, request) + configure_table(devicetypes_table, request) return { 'devicetypes_table': devicetypes_table, @@ -1439,7 +1439,7 @@ class DeviceRoleView(generic.ObjectView): device_role=instance ) devices_table = tables.DeviceTable(devices, exclude=('device_role',)) - paginate_table(devices_table, request) + configure_table(devices_table, request) return { 'devices_table': devices_table, @@ -1503,7 +1503,7 @@ class PlatformView(generic.ObjectView): platform=instance ) devices_table = tables.DeviceTable(devices, exclude=('platform',)) - paginate_table(devices_table, request) + configure_table(devices_table, request) return { 'devices_table': devices_table, @@ -2379,8 +2379,9 @@ class DeviceBayPopulateView(generic.ObjectEditView): device_bay.installed_device = form.cleaned_data['installed_device'] device_bay.save() messages.success(request, "Added {} to {}.".format(device_bay.installed_device, device_bay)) + return_url = self.get_return_url(request) - return redirect('dcim:device', pk=device_bay.device.pk) + return redirect(return_url) return render(request, 'dcim/devicebay_populate.html', { 'device_bay': device_bay, diff --git a/netbox/extras/api/customfields.py b/netbox/extras/api/customfields.py index 5cb1fc27618..fd6e1f55027 100644 --- a/netbox/extras/api/customfields.py +++ b/netbox/extras/api/customfields.py @@ -1,6 +1,7 @@ from django.contrib.contenttypes.models import ContentType from rest_framework.fields import Field +from extras.choices import CustomFieldTypeChoices from extras.models import CustomField @@ -44,9 +45,20 @@ class CustomFieldsDataField(Field): return self._custom_fields def to_representation(self, obj): - return { - cf.name: obj.get(cf.name) for cf in self._get_custom_fields() - } + # TODO: Fix circular import + from utilities.api import get_serializer_for_model + data = {} + for cf in self._get_custom_fields(): + value = cf.deserialize(obj.get(cf.name)) + if value is not None and cf.type == CustomFieldTypeChoices.TYPE_OBJECT: + serializer = get_serializer_for_model(cf.object_type.model_class(), prefix='Nested') + value = serializer(value, context=self.parent.context).data + elif value is not None and cf.type == CustomFieldTypeChoices.TYPE_MULTIOBJECT: + serializer = get_serializer_for_model(cf.object_type.model_class(), prefix='Nested') + value = serializer(value, many=True, context=self.parent.context).data + data[cf.name] = value + + return data def to_internal_value(self, data): # If updating an existing instance, start with existing custom_field_data diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index fa0e5189f00..36b307b397a 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -63,7 +63,7 @@ class WebhookSerializer(ValidatedModelSerializer): fields = [ 'id', 'url', 'display', 'content_types', 'name', 'type_create', 'type_update', 'type_delete', 'payload_url', 'enabled', 'http_method', 'http_content_type', 'additional_headers', 'body_template', 'secret', - 'conditions', 'ssl_verification', 'ca_file_path', + 'conditions', 'ssl_verification', 'ca_file_path', 'created', 'last_updated', ] @@ -79,14 +79,28 @@ class CustomFieldSerializer(ValidatedModelSerializer): ) type = ChoiceField(choices=CustomFieldTypeChoices) filter_logic = ChoiceField(choices=CustomFieldFilterLogicChoices, required=False) + data_type = serializers.SerializerMethodField() class Meta: model = CustomField fields = [ - 'id', 'url', 'display', 'content_types', 'type', 'name', 'label', 'description', 'required', 'filter_logic', - 'default', 'weight', 'validation_minimum', 'validation_maximum', 'validation_regex', 'choices', + 'id', 'url', 'display', 'content_types', 'type', 'data_type', 'name', 'label', 'description', 'required', + 'filter_logic', 'default', 'weight', 'validation_minimum', 'validation_maximum', 'validation_regex', + 'choices', 'created', 'last_updated', ] + def get_data_type(self, obj): + types = CustomFieldTypeChoices + if obj.type == types.TYPE_INTEGER: + return 'integer' + if obj.type == types.TYPE_BOOLEAN: + return 'boolean' + if obj.type in (types.TYPE_JSON, types.TYPE_OBJECT): + return 'object' + if obj.type in (types.TYPE_MULTISELECT, types.TYPE_MULTIOBJECT): + return 'array' + return 'string' + # # Custom links @@ -101,8 +115,8 @@ class CustomLinkSerializer(ValidatedModelSerializer): class Meta: model = CustomLink fields = [ - 'id', 'url', 'display', 'content_type', 'name', 'link_text', 'link_url', 'weight', 'group_name', - 'button_class', 'new_window', + 'id', 'url', 'display', 'content_type', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', + 'button_class', 'new_window', 'created', 'last_updated', ] @@ -120,7 +134,7 @@ class ExportTemplateSerializer(ValidatedModelSerializer): model = ExportTemplate fields = [ 'id', 'url', 'display', 'content_type', 'name', 'description', 'template_code', 'mime_type', - 'file_extension', 'as_attachment', + 'file_extension', 'as_attachment', 'created', 'last_updated', ] @@ -134,7 +148,9 @@ class TagSerializer(ValidatedModelSerializer): class Meta: model = Tag - fields = ['id', 'url', 'display', 'name', 'slug', 'color', 'description', 'tagged_items'] + fields = [ + 'id', 'url', 'display', 'name', 'slug', 'color', 'description', 'tagged_items', 'created', 'last_updated', + ] # diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index cf64bc005df..0632c2b1ffa 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -16,6 +16,8 @@ class CustomFieldTypeChoices(ChoiceSet): TYPE_JSON = 'json' TYPE_SELECT = 'select' TYPE_MULTISELECT = 'multiselect' + TYPE_OBJECT = 'object' + TYPE_MULTIOBJECT = 'multiobject' CHOICES = ( (TYPE_TEXT, 'Text'), @@ -27,6 +29,8 @@ class CustomFieldTypeChoices(ChoiceSet): (TYPE_JSON, 'JSON'), (TYPE_SELECT, 'Selection'), (TYPE_MULTISELECT, 'Multiple selection'), + (TYPE_OBJECT, 'Object'), + (TYPE_MULTIOBJECT, 'Multiple objects'), ) diff --git a/netbox/extras/constants.py b/netbox/extras/constants.py index 64cc82f630a..123eb0a45b3 100644 --- a/netbox/extras/constants.py +++ b/netbox/extras/constants.py @@ -7,6 +7,7 @@ EXTRAS_FEATURES = [ 'custom_links', 'export_templates', 'job_results', + 'journaling', 'tags', 'webhooks' ] diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index bf25ff76c42..a839e2dd353 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -82,7 +82,9 @@ class CustomLinkFilterSet(BaseFilterSet): class Meta: model = CustomLink - fields = ['id', 'content_type', 'name', 'link_text', 'link_url', 'weight', 'group_name', 'new_window'] + fields = [ + 'id', 'content_type', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'new_window', + ] def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/extras/forms/bulk_edit.py b/netbox/extras/forms/bulk_edit.py index 1b87256a5be..56b51c89404 100644 --- a/netbox/extras/forms/bulk_edit.py +++ b/netbox/extras/forms/bulk_edit.py @@ -47,6 +47,10 @@ class CustomLinkBulkEditForm(BulkEditForm): limit_choices_to=FeatureQuery('custom_fields'), required=False ) + enabled = forms.NullBooleanField( + required=False, + widget=BulkEditNullBooleanSelect() + ) new_window = forms.NullBooleanField( required=False, widget=BulkEditNullBooleanSelect() diff --git a/netbox/extras/forms/bulk_import.py b/netbox/extras/forms/bulk_import.py index 9f44494e030..fa6d8af5512 100644 --- a/netbox/extras/forms/bulk_import.py +++ b/netbox/extras/forms/bulk_import.py @@ -51,7 +51,8 @@ class CustomLinkCSVForm(CSVModelForm): class Meta: model = CustomLink fields = ( - 'name', 'content_type', 'weight', 'group_name', 'button_class', 'new_window', 'link_text', 'link_url', + 'name', 'content_type', 'enabled', 'weight', 'group_name', 'button_class', 'new_window', 'link_text', + 'link_url', ) diff --git a/netbox/extras/forms/customfields.py b/netbox/extras/forms/customfields.py index d58e6ce65b3..8912d03651d 100644 --- a/netbox/extras/forms/customfields.py +++ b/netbox/extras/forms/customfields.py @@ -4,7 +4,7 @@ from django.db.models import Q from extras.choices import * from extras.models import * -from utilities.forms import BootstrapMixin, BulkEditForm, CSVModelForm, FilterForm +from utilities.forms import BootstrapMixin, BulkEditBaseForm, CSVModelForm __all__ = ( 'CustomFieldModelCSVForm', @@ -20,7 +20,7 @@ class CustomFieldsMixin: Extend a Form to include custom field support. """ def __init__(self, *args, **kwargs): - self.custom_fields = [] + self.custom_fields = {} super().__init__(*args, **kwargs) @@ -34,6 +34,9 @@ class CustomFieldsMixin: raise NotImplementedError(f"{self.__class__.__name__} must specify a model class.") return ContentType.objects.get_for_model(self.model) + def _get_custom_fields(self, content_type): + return CustomField.objects.filter(content_types=content_type) + def _get_form_field(self, customfield): return customfield.to_form_field() @@ -41,15 +44,12 @@ class CustomFieldsMixin: """ Append form fields for all CustomFields assigned to this object type. """ - content_type = self._get_content_type() - - # Append form fields; assign initial values if modifying and existing object - for customfield in CustomField.objects.filter(content_types=content_type): + for customfield in self._get_custom_fields(self._get_content_type()): field_name = f'cf_{customfield.name}' self.fields[field_name] = self._get_form_field(customfield) # Annotate the field in the list of CustomField form fields - self.custom_fields.append(field_name) + self.custom_fields[field_name] = customfield class CustomFieldModelForm(BootstrapMixin, CustomFieldsMixin, forms.ModelForm): @@ -70,12 +70,15 @@ class CustomFieldModelForm(BootstrapMixin, CustomFieldsMixin, forms.ModelForm): def clean(self): # Save custom field data on instance - for cf_name in self.custom_fields: + for cf_name, customfield in self.custom_fields.items(): key = cf_name[3:] # Strip "cf_" from field name value = self.cleaned_data.get(cf_name) - empty_values = self.fields[cf_name].empty_values + # Convert "empty" values to null - self.instance.custom_field_data[key] = value if value not in empty_values else None + if value in self.fields[cf_name].empty_values: + self.instance.custom_field_data[key] = None + else: + self.instance.custom_field_data[key] = customfield.serialize(value) return super().clean() @@ -86,40 +89,37 @@ class CustomFieldModelCSVForm(CSVModelForm, CustomFieldModelForm): return customfield.to_form_field(for_csv_import=True) -class CustomFieldModelBulkEditForm(BulkEditForm): +class CustomFieldModelBulkEditForm(BootstrapMixin, CustomFieldsMixin, BulkEditBaseForm): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) + def _get_form_field(self, customfield): + return customfield.to_form_field(set_initial=False, enforce_required=False) - self.custom_fields = [] - self.obj_type = ContentType.objects.get_for_model(self.model) - - # Add all applicable CustomFields to the form - custom_fields = CustomField.objects.filter(content_types=self.obj_type) - for cf in custom_fields: + def _append_customfield_fields(self): + """ + Append form fields for all CustomFields assigned to this object type. + """ + for customfield in self._get_custom_fields(self._get_content_type()): # Annotate non-required custom fields as nullable - if not cf.required: - self.nullable_fields.append(cf.name) - self.fields[cf.name] = cf.to_form_field(set_initial=False, enforce_required=False) - # Annotate this as a custom field - self.custom_fields.append(cf.name) + if not customfield.required: + self.nullable_fields.append(customfield.name) + + self.fields[customfield.name] = self._get_form_field(customfield) + + # Annotate the field in the list of CustomField form fields + self.custom_fields[customfield.name] = customfield -class CustomFieldModelFilterForm(FilterForm): +class CustomFieldModelFilterForm(BootstrapMixin, CustomFieldsMixin, forms.Form): + q = forms.CharField( + required=False, + label='Search' + ) - def __init__(self, *args, **kwargs): - - self.obj_type = ContentType.objects.get_for_model(self.model) - - super().__init__(*args, **kwargs) - - # Add all applicable CustomFields to the form - self.custom_field_filters = [] - custom_fields = CustomField.objects.filter(content_types=self.obj_type).exclude( + def _get_custom_fields(self, content_type): + return CustomField.objects.filter(content_types=content_type).exclude( Q(filter_logic=CustomFieldFilterLogicChoices.FILTER_DISABLED) | Q(type=CustomFieldTypeChoices.TYPE_JSON) ) - for cf in custom_fields: - field_name = f'cf_{cf.name}' - self.fields[field_name] = cf.to_form_field(set_initial=True, enforce_required=False) - self.custom_field_filters.append(field_name) + + def _get_form_field(self, customfield): + return customfield.to_form_field(set_initial=False, enforce_required=False) diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 388cd1e60ef..330bb91e349 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -58,15 +58,18 @@ class CustomFieldFilterForm(FilterForm): class CustomLinkFilterForm(FilterForm): field_groups = [ ['q'], - ['content_type', 'weight', 'new_window'], + ['content_type', 'enabled', 'new_window', 'weight'], ] content_type = ContentTypeChoiceField( queryset=ContentType.objects.all(), limit_choices_to=FeatureQuery('custom_fields'), required=False ) - weight = forms.IntegerField( - required=False + enabled = forms.NullBooleanField( + required=False, + widget=StaticSelect( + choices=BOOLEAN_WITH_BLANK_CHOICES + ) ) new_window = forms.NullBooleanField( required=False, @@ -74,6 +77,9 @@ class CustomLinkFilterForm(FilterForm): choices=BOOLEAN_WITH_BLANK_CHOICES ) ) + weight = forms.IntegerField( + required=False + ) class ExportTemplateFilterForm(FilterForm): diff --git a/netbox/extras/forms/models.py b/netbox/extras/forms/models.py index d7521472294..9aac8454b10 100644 --- a/netbox/extras/forms/models.py +++ b/netbox/extras/forms/models.py @@ -7,8 +7,8 @@ from extras.models import * from extras.utils import FeatureQuery from tenancy.models import Tenant, TenantGroup from utilities.forms import ( - add_blank_choice, BootstrapMixin, CommentField, ContentTypeChoiceField, - ContentTypeMultipleChoiceField, DynamicModelMultipleChoiceField, JSONField, SlugField, StaticSelect, + add_blank_choice, BootstrapMixin, CommentField, ContentTypeChoiceField, ContentTypeMultipleChoiceField, + DynamicModelMultipleChoiceField, JSONField, SlugField, StaticSelect, ) from virtualization.models import Cluster, ClusterGroup, ClusterType @@ -35,12 +35,16 @@ class CustomFieldForm(BootstrapMixin, forms.ModelForm): model = CustomField fields = '__all__' fieldsets = ( - ('Custom Field', ('name', 'label', 'type', 'weight', 'required', 'description')), + ('Custom Field', ('name', 'label', 'type', 'object_type', 'weight', 'required', 'description')), ('Assigned Models', ('content_types',)), ('Behavior', ('filter_logic',)), ('Values', ('default', 'choices')), ('Validation', ('validation_minimum', 'validation_maximum', 'validation_regex')), ) + widgets = { + 'type': StaticSelect(), + 'filter_logic': StaticSelect(), + } class CustomLinkForm(BootstrapMixin, forms.ModelForm): @@ -53,10 +57,11 @@ class CustomLinkForm(BootstrapMixin, forms.ModelForm): model = CustomLink fields = '__all__' fieldsets = ( - ('Custom Link', ('name', 'content_type', 'weight', 'group_name', 'button_class', 'new_window')), + ('Custom Link', ('name', 'content_type', 'weight', 'group_name', 'button_class', 'enabled', 'new_window')), ('Templates', ('link_text', 'link_url')), ) widgets = { + 'button_class': StaticSelect(), 'link_text': forms.Textarea(attrs={'class': 'font-monospace'}), 'link_url': forms.Textarea(attrs={'class': 'font-monospace'}), } @@ -77,7 +82,7 @@ class ExportTemplateForm(BootstrapMixin, forms.ModelForm): model = ExportTemplate fields = '__all__' fieldsets = ( - ('Custom Link', ('name', 'content_type', 'description')), + ('Export Template', ('name', 'content_type', 'description')), ('Template', ('template_code',)), ('Rendering', ('mime_type', 'file_extension', 'as_attachment')), ) @@ -96,8 +101,7 @@ class WebhookForm(BootstrapMixin, forms.ModelForm): model = Webhook fields = '__all__' fieldsets = ( - ('Webhook', ('name', 'enabled')), - ('Assigned Models', ('content_types',)), + ('Webhook', ('name', 'content_types', 'enabled')), ('Events', ('type_create', 'type_update', 'type_delete')), ('HTTP Request', ( 'payload_url', 'http_method', 'http_content_type', 'additional_headers', 'body_template', 'secret', @@ -105,7 +109,13 @@ class WebhookForm(BootstrapMixin, forms.ModelForm): ('Conditions', ('conditions',)), ('SSL', ('ssl_verification', 'ca_file_path')), ) + labels = { + 'type_create': 'Creations', + 'type_update': 'Updates', + 'type_delete': 'Deletions', + } widgets = { + 'http_method': StaticSelect(), 'additional_headers': forms.Textarea(attrs={'class': 'font-monospace'}), 'body_template': forms.Textarea(attrs={'class': 'font-monospace'}), } diff --git a/netbox/extras/migrations/0069_custom_object_field.py b/netbox/extras/migrations/0069_custom_object_field.py new file mode 100644 index 00000000000..720e21edc8e --- /dev/null +++ b/netbox/extras/migrations/0069_custom_object_field.py @@ -0,0 +1,18 @@ +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('contenttypes', '0002_remove_content_type_name'), + ('extras', '0068_configcontext_cluster_types'), + ] + + operations = [ + migrations.AddField( + model_name='customfield', + name='object_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='contenttypes.contenttype'), + ), + ] diff --git a/netbox/extras/migrations/0070_customlink_enabled.py b/netbox/extras/migrations/0070_customlink_enabled.py new file mode 100644 index 00000000000..839a4dba5c2 --- /dev/null +++ b/netbox/extras/migrations/0070_customlink_enabled.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.11 on 2022-01-10 16:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0069_custom_object_field'), + ] + + operations = [ + migrations.AddField( + model_name='customlink', + name='enabled', + field=models.BooleanField(default=True), + ), + ] diff --git a/netbox/extras/migrations/0071_standardize_id_fields.py b/netbox/extras/migrations/0071_standardize_id_fields.py new file mode 100644 index 00000000000..63e3051d819 --- /dev/null +++ b/netbox/extras/migrations/0071_standardize_id_fields.py @@ -0,0 +1,89 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0070_customlink_enabled'), + ] + + operations = [ + # Model IDs + migrations.AlterField( + model_name='configcontext', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='configrevision', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='customfield', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='customlink', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='exporttemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='imageattachment', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='jobresult', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='journalentry', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='objectchange', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='taggeditem', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='webhook', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + + # GFK IDs + migrations.AlterField( + model_name='imageattachment', + name='object_id', + field=models.PositiveBigIntegerField(), + ), + migrations.AlterField( + model_name='journalentry', + name='assigned_object_id', + field=models.PositiveBigIntegerField(), + ), + migrations.AlterField( + model_name='objectchange', + name='changed_object_id', + field=models.PositiveBigIntegerField(), + ), + migrations.AlterField( + model_name='objectchange', + name='related_object_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + ] diff --git a/netbox/extras/models/change_logging.py b/netbox/extras/models/change_logging.py index 8dfeb2f18eb..8444260c84c 100644 --- a/netbox/extras/models/change_logging.py +++ b/netbox/extras/models/change_logging.py @@ -5,11 +5,10 @@ from django.db import models from django.urls import reverse from extras.choices import * -from netbox.models import BigIDModel from utilities.querysets import RestrictedQuerySet -class ObjectChange(BigIDModel): +class ObjectChange(models.Model): """ Record a change to an object and the user account associated with that change. A change record may optionally indicate an object related to the one being changed. For example, a change to an interface may also indicate the @@ -43,7 +42,7 @@ class ObjectChange(BigIDModel): on_delete=models.PROTECT, related_name='+' ) - changed_object_id = models.PositiveIntegerField() + changed_object_id = models.PositiveBigIntegerField() changed_object = GenericForeignKey( ct_field='changed_object_type', fk_field='changed_object_id' @@ -55,7 +54,7 @@ class ObjectChange(BigIDModel): blank=True, null=True ) - related_object_id = models.PositiveIntegerField( + related_object_id = models.PositiveBigIntegerField( blank=True, null=True ) diff --git a/netbox/extras/models/configcontexts.py b/netbox/extras/models/configcontexts.py index 2a14f143fc3..0dc5d57dba6 100644 --- a/netbox/extras/models/configcontexts.py +++ b/netbox/extras/models/configcontexts.py @@ -5,8 +5,8 @@ from django.db import models from django.urls import reverse from extras.querysets import ConfigContextQuerySet -from extras.utils import extras_features from netbox.models import ChangeLoggedModel +from netbox.models.features import WebhooksMixin from utilities.utils import deepmerge @@ -20,8 +20,7 @@ __all__ = ( # Config contexts # -@extras_features('webhooks') -class ConfigContext(ChangeLoggedModel): +class ConfigContext(WebhooksMixin, ChangeLoggedModel): """ A ConfigContext represents a set of arbitrary data available to any Device or VirtualMachine matching its assigned qualifiers (region, site, etc.). For example, the data stored in a ConfigContext assigned to site A and tenant B diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index 8c817ad33b4..923d8441319 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -12,11 +12,13 @@ from django.utils.html import escape from django.utils.safestring import mark_safe from extras.choices import * -from extras.utils import FeatureQuery, extras_features +from extras.utils import FeatureQuery from netbox.models import ChangeLoggedModel +from netbox.models.features import ExportTemplatesMixin, WebhooksMixin from utilities import filters from utilities.forms import ( - CSVChoiceField, DatePicker, LaxURLField, StaticSelectMultiple, StaticSelect, add_blank_choice, + CSVChoiceField, CSVMultipleChoiceField, DatePicker, DynamicModelChoiceField, DynamicModelMultipleChoiceField, + LaxURLField, StaticSelectMultiple, StaticSelect, add_blank_choice, ) from utilities.querysets import RestrictedQuerySet from utilities.validators import validate_regex @@ -39,8 +41,7 @@ class CustomFieldManager(models.Manager.from_queryset(RestrictedQuerySet)): return self.get_queryset().filter(content_types=content_type) -@extras_features('webhooks', 'export_templates') -class CustomField(ChangeLoggedModel): +class CustomField(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): content_types = models.ManyToManyField( to=ContentType, related_name='custom_fields', @@ -50,7 +51,15 @@ class CustomField(ChangeLoggedModel): type = models.CharField( max_length=50, choices=CustomFieldTypeChoices, - default=CustomFieldTypeChoices.TYPE_TEXT + default=CustomFieldTypeChoices.TYPE_TEXT, + help_text='The type of data this custom field holds' + ) + object_type = models.ForeignKey( + to=ContentType, + on_delete=models.PROTECT, + blank=True, + null=True, + help_text='The type of NetBox object this field maps to (for object fields)' ) name = models.CharField( max_length=50, @@ -122,7 +131,6 @@ class CustomField(ChangeLoggedModel): null=True, help_text='Comma-separated list of available choices (for selection fields)' ) - objects = CustomFieldManager() class Meta: @@ -234,11 +242,48 @@ class CustomField(ChangeLoggedModel): 'default': f"The specified default value ({self.default}) is not listed as an available choice." }) + # Object fields must define an object_type; other fields must not + if self.type in (CustomFieldTypeChoices.TYPE_OBJECT, CustomFieldTypeChoices.TYPE_MULTIOBJECT): + if not self.object_type: + raise ValidationError({ + 'object_type': "Object fields must define an object type." + }) + elif self.object_type: + raise ValidationError({ + 'object_type': f"{self.get_type_display()} fields may not define an object type." + }) + + def serialize(self, value): + """ + Prepare a value for storage as JSON data. + """ + if value is None: + return value + if self.type == CustomFieldTypeChoices.TYPE_OBJECT: + return value.pk + if self.type == CustomFieldTypeChoices.TYPE_MULTIOBJECT: + return [obj.pk for obj in value] or None + return value + + def deserialize(self, value): + """ + Convert JSON data to a Python object suitable for the field type. + """ + if value is None: + return value + if self.type == CustomFieldTypeChoices.TYPE_OBJECT: + model = self.object_type.model_class() + return model.objects.filter(pk=value).first() + if self.type == CustomFieldTypeChoices.TYPE_MULTIOBJECT: + model = self.object_type.model_class() + return model.objects.filter(pk__in=value) + return value + def to_form_field(self, set_initial=True, enforce_required=True, for_csv_import=False): """ Return a form field suitable for setting a CustomField's value for an object. - set_initial: Set initial date for the field. This should be False when generating a field for bulk editing. + set_initial: Set initial data for the field. This should be False when generating a field for bulk editing. enforce_required: Honor the value of CustomField.required. Set to False for filtering/bulk editing. for_csv_import: Return a form field suitable for bulk import of objects in CSV format. """ @@ -287,7 +332,7 @@ class CustomField(ChangeLoggedModel): choices=choices, required=required, initial=initial, widget=StaticSelect() ) else: - field_class = CSVChoiceField if for_csv_import else forms.MultipleChoiceField + field_class = CSVMultipleChoiceField if for_csv_import else forms.MultipleChoiceField field = field_class( choices=choices, required=required, initial=initial, widget=StaticSelectMultiple() ) @@ -300,6 +345,24 @@ class CustomField(ChangeLoggedModel): elif self.type == CustomFieldTypeChoices.TYPE_JSON: field = forms.JSONField(required=required, initial=initial) + # Object + elif self.type == CustomFieldTypeChoices.TYPE_OBJECT: + model = self.object_type.model_class() + field = DynamicModelChoiceField( + queryset=model.objects.all(), + required=required, + initial=initial + ) + + # Multiple objects + elif self.type == CustomFieldTypeChoices.TYPE_MULTIOBJECT: + model = self.object_type.model_class() + field = DynamicModelMultipleChoiceField( + queryset=model.objects.all(), + required=required, + initial=initial + ) + # Text else: if self.type == CustomFieldTypeChoices.TYPE_LONGTEXT: diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index ac3a23410d9..afcb6556c36 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -17,8 +17,9 @@ from rest_framework.utils.encoders import JSONEncoder from extras.choices import * from extras.constants import * from extras.conditions import ConditionSet -from extras.utils import extras_features, FeatureQuery, image_upload -from netbox.models import BigIDModel, ChangeLoggedModel +from extras.utils import FeatureQuery, image_upload +from netbox.models import ChangeLoggedModel +from netbox.models.features import ExportTemplatesMixin, JobResultsMixin, WebhooksMixin from utilities.querysets import RestrictedQuerySet from utilities.utils import render_jinja2 @@ -35,8 +36,7 @@ __all__ = ( ) -@extras_features('webhooks', 'export_templates') -class Webhook(ChangeLoggedModel): +class Webhook(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): """ A Webhook defines a request that will be sent to a remote application when an object is created, updated, and/or delete in NetBox. The request will contain a representation of the object, which the remote application can act on. @@ -68,7 +68,8 @@ class Webhook(ChangeLoggedModel): payload_url = models.CharField( max_length=500, verbose_name='URL', - help_text="A POST will be sent to this URL when the webhook is called." + help_text='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.' ) enabled = models.BooleanField( default=True @@ -176,9 +177,14 @@ class Webhook(ChangeLoggedModel): else: return json.dumps(context, cls=JSONEncoder) + def render_payload_url(self, context): + """ + Render the payload URL. + """ + return render_jinja2(self.payload_url, context) -@extras_features('webhooks', 'export_templates') -class CustomLink(ChangeLoggedModel): + +class CustomLink(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): """ A custom link to an external representation of a NetBox object. The link text and URL fields accept Jinja2 template code to be rendered with an object as context. @@ -192,6 +198,9 @@ class CustomLink(ChangeLoggedModel): max_length=100, unique=True ) + enabled = models.BooleanField( + default=True + ) link_text = models.CharField( max_length=500, help_text="Jinja2 template code for link text" @@ -248,8 +257,7 @@ class CustomLink(ChangeLoggedModel): } -@extras_features('webhooks', 'export_templates') -class ExportTemplate(ChangeLoggedModel): +class ExportTemplate(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): content_type = models.ForeignKey( to=ContentType, on_delete=models.CASCADE, @@ -335,8 +343,7 @@ class ExportTemplate(ChangeLoggedModel): return response -@extras_features('webhooks') -class ImageAttachment(ChangeLoggedModel): +class ImageAttachment(WebhooksMixin, ChangeLoggedModel): """ An uploaded image which is associated with an object. """ @@ -344,7 +351,7 @@ class ImageAttachment(ChangeLoggedModel): to=ContentType, on_delete=models.CASCADE ) - object_id = models.PositiveIntegerField() + object_id = models.PositiveBigIntegerField() parent = GenericForeignKey( ct_field='content_type', fk_field='object_id' @@ -411,11 +418,12 @@ class ImageAttachment(ChangeLoggedModel): return None def to_objectchange(self, action): - return super().to_objectchange(action, related_object=self.parent) + objectchange = super().to_objectchange(action) + objectchange.related_object = self.parent + return objectchange -@extras_features('webhooks') -class JournalEntry(ChangeLoggedModel): +class JournalEntry(WebhooksMixin, ChangeLoggedModel): """ A historical remark concerning an object; collectively, these form an object's journal. The journal is used to preserve historical context around an object, and complements NetBox's built-in change logging. For example, you @@ -425,7 +433,7 @@ class JournalEntry(ChangeLoggedModel): to=ContentType, on_delete=models.CASCADE ) - assigned_object_id = models.PositiveIntegerField() + assigned_object_id = models.PositiveBigIntegerField() assigned_object = GenericForeignKey( ct_field='assigned_object_type', fk_field='assigned_object_id' @@ -461,7 +469,7 @@ class JournalEntry(ChangeLoggedModel): return JournalEntryKindChoices.colors.get(self.kind) -class JobResult(BigIDModel): +class JobResult(models.Model): """ This model stores the results from running a user-defined report. """ @@ -593,8 +601,7 @@ class ConfigRevision(models.Model): # Custom scripts & reports # -@extras_features('job_results') -class Script(models.Model): +class Script(JobResultsMixin, models.Model): """ Dummy model used to generate permissions for custom scripts. Does not exist in the database. """ @@ -606,8 +613,7 @@ class Script(models.Model): # Reports # -@extras_features('job_results') -class Report(models.Model): +class Report(JobResultsMixin, models.Model): """ Dummy model used to generate permissions for reports. Does not exist in the database. """ diff --git a/netbox/extras/models/tags.py b/netbox/extras/models/tags.py index 2925da6521d..a4e4049d73f 100644 --- a/netbox/extras/models/tags.py +++ b/netbox/extras/models/tags.py @@ -3,8 +3,8 @@ from django.urls import reverse from django.utils.text import slugify from taggit.models import TagBase, GenericTaggedItemBase -from extras.utils import extras_features -from netbox.models import BigIDModel, ChangeLoggedModel +from netbox.models import ChangeLoggedModel +from netbox.models.features import ExportTemplatesMixin, WebhooksMixin from utilities.choices import ColorChoices from utilities.fields import ColorField @@ -13,8 +13,10 @@ from utilities.fields import ColorField # Tags # -@extras_features('webhooks', 'export_templates') -class Tag(ChangeLoggedModel, TagBase): +class Tag(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel, TagBase): + id = models.BigAutoField( + primary_key=True + ) color = ColorField( default=ColorChoices.COLOR_GREY ) @@ -37,7 +39,7 @@ class Tag(ChangeLoggedModel, TagBase): return slug -class TaggedItem(BigIDModel, GenericTaggedItemBase): +class TaggedItem(GenericTaggedItemBase): tag = models.ForeignKey( to=Tag, related_name="%(app_label)s_%(class)s_items", diff --git a/netbox/extras/registry.py b/netbox/extras/registry.py index cb58f5135a9..07fd4cc2426 100644 --- a/netbox/extras/registry.py +++ b/netbox/extras/registry.py @@ -1,3 +1,8 @@ +import collections + +from extras.constants import EXTRAS_FEATURES + + class Registry(dict): """ Central registry for registration of functionality. Once a store (key) is defined, it cannot be overwritten or @@ -7,15 +12,19 @@ class Registry(dict): try: return super().__getitem__(key) except KeyError: - raise KeyError("Invalid store: {}".format(key)) + raise KeyError(f"Invalid store: {key}") def __setitem__(self, key, value): if key in self: - raise KeyError("Store already set: {}".format(key)) + raise KeyError(f"Store already set: {key}") super().__setitem__(key, value) def __delitem__(self, key): raise TypeError("Cannot delete stores from registry") +# Initialize the global registry registry = Registry() +registry['model_features'] = { + feature: collections.defaultdict(set) for feature in EXTRAS_FEATURES +} diff --git a/netbox/extras/scripts.py b/netbox/extras/scripts.py index b128f746122..3c7ad3c15e4 100644 --- a/netbox/extras/scripts.py +++ b/netbox/extras/scripts.py @@ -21,7 +21,7 @@ from extras.models import JobResult from ipam.formfields import IPAddressFormField, IPNetworkFormField from ipam.validators import MaxPrefixLengthValidator, MinPrefixLengthValidator, prefix_validator from utilities.exceptions import AbortTransaction -from utilities.forms import DynamicModelChoiceField, DynamicModelMultipleChoiceField +from utilities.forms import add_blank_choice, DynamicModelChoiceField, DynamicModelMultipleChoiceField from .context_managers import change_logging from .forms import ScriptForm @@ -164,16 +164,22 @@ class ChoiceVar(ScriptVariable): def __init__(self, choices, *args, **kwargs): super().__init__(*args, **kwargs) - # Set field choices - self.field_attrs['choices'] = choices + # Set field choices, adding a blank choice to avoid forced selections + self.field_attrs['choices'] = add_blank_choice(choices) -class MultiChoiceVar(ChoiceVar): +class MultiChoiceVar(ScriptVariable): """ Like ChoiceVar, but allows for the selection of multiple choices. """ form_field = forms.MultipleChoiceField + def __init__(self, choices, *args, **kwargs): + super().__init__(*args, **kwargs) + + # Set field choices + self.field_attrs['choices'] = choices + class ObjectVar(ScriptVariable): """ diff --git a/netbox/extras/tables.py b/netbox/extras/tables.py index 62317e6366a..52aeb9708d5 100644 --- a/netbox/extras/tables.py +++ b/netbox/extras/tables.py @@ -1,10 +1,7 @@ import django_tables2 as tables from django.conf import settings -from utilities.tables import ( - BaseTable, BooleanColumn, ButtonsColumn, ChoiceFieldColumn, ColorColumn, ContentTypeColumn, ContentTypesColumn, - MarkdownColumn, ToggleColumn, -) +from netbox.tables import NetBoxTable, columns from .models import * __all__ = ( @@ -46,19 +43,18 @@ OBJECTCHANGE_REQUEST_ID = """ # Custom fields # -class CustomFieldTable(BaseTable): - pk = ToggleColumn() +class CustomFieldTable(NetBoxTable): name = tables.Column( linkify=True ) - content_types = ContentTypesColumn() - required = BooleanColumn() + content_types = columns.ContentTypesColumn() + required = columns.BooleanColumn() - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = CustomField fields = ( 'pk', 'id', 'name', 'content_types', 'label', 'type', 'required', 'weight', 'default', - 'description', 'filter_logic', 'choices', + 'description', 'filter_logic', 'choices', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'content_types', 'label', 'type', 'required', 'description') @@ -67,39 +63,39 @@ class CustomFieldTable(BaseTable): # Custom links # -class CustomLinkTable(BaseTable): - pk = ToggleColumn() +class CustomLinkTable(NetBoxTable): name = tables.Column( linkify=True ) - content_type = ContentTypeColumn() - new_window = BooleanColumn() + content_type = columns.ContentTypeColumn() + enabled = columns.BooleanColumn() + new_window = columns.BooleanColumn() - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = CustomLink fields = ( - 'pk', 'id', 'name', 'content_type', 'link_text', 'link_url', 'weight', 'group_name', - 'button_class', 'new_window', + 'pk', 'id', 'name', 'content_type', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', + 'button_class', 'new_window', 'created', 'last_updated', ) - default_columns = ('pk', 'name', 'content_type', 'group_name', 'button_class', 'new_window') + default_columns = ('pk', 'name', 'content_type', 'enabled', 'group_name', 'button_class', 'new_window') # # Export templates # -class ExportTemplateTable(BaseTable): - pk = ToggleColumn() +class ExportTemplateTable(NetBoxTable): name = tables.Column( linkify=True ) - content_type = ContentTypeColumn() - as_attachment = BooleanColumn() + content_type = columns.ContentTypeColumn() + as_attachment = columns.BooleanColumn() - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = ExportTemplate fields = ( 'pk', 'id', 'name', 'content_type', 'description', 'mime_type', 'file_extension', 'as_attachment', + 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'content_type', 'description', 'mime_type', 'file_extension', 'as_attachment', @@ -110,31 +106,30 @@ class ExportTemplateTable(BaseTable): # Webhooks # -class WebhookTable(BaseTable): - pk = ToggleColumn() +class WebhookTable(NetBoxTable): name = tables.Column( linkify=True ) - content_types = ContentTypesColumn() - enabled = BooleanColumn() - type_create = BooleanColumn( + content_types = columns.ContentTypesColumn() + enabled = columns.BooleanColumn() + type_create = columns.BooleanColumn( verbose_name='Create' ) - type_update = BooleanColumn( + type_update = columns.BooleanColumn( verbose_name='Update' ) - type_delete = BooleanColumn( + type_delete = columns.BooleanColumn( verbose_name='Delete' ) - ssl_validation = BooleanColumn( + ssl_validation = columns.BooleanColumn( verbose_name='SSL Validation' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Webhook fields = ( 'pk', 'id', 'name', 'content_types', 'enabled', 'type_create', 'type_update', 'type_delete', 'http_method', - 'payload_url', 'secret', 'ssl_validation', 'ca_file_path', + 'payload_url', 'secret', 'ssl_validation', 'ca_file_path', 'created', 'last_updated', ) default_columns = ( 'pk', 'name', 'content_types', 'enabled', 'type_create', 'type_update', 'type_delete', 'http_method', @@ -146,27 +141,25 @@ class WebhookTable(BaseTable): # Tags # -class TagTable(BaseTable): - pk = ToggleColumn() +class TagTable(NetBoxTable): name = tables.Column( linkify=True ) - color = ColorColumn() - actions = ButtonsColumn(Tag) + color = columns.ColorColumn() - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Tag - fields = ('pk', 'id', 'name', 'items', 'slug', 'color', 'description', 'actions') - default_columns = ('pk', 'name', 'items', 'slug', 'color', 'description', 'actions') + fields = ('pk', 'id', 'name', 'items', 'slug', 'color', 'description', 'created', 'last_updated', 'actions') + default_columns = ('pk', 'name', 'items', 'slug', 'color', 'description') -class TaggedItemTable(BaseTable): +class TaggedItemTable(NetBoxTable): id = tables.Column( verbose_name='ID', linkify=lambda record: record.content_object.get_absolute_url(), accessor='content_object__id' ) - content_type = ContentTypeColumn( + content_type = columns.ContentTypeColumn( verbose_name='Type' ) content_object = tables.Column( @@ -175,36 +168,36 @@ class TaggedItemTable(BaseTable): verbose_name='Object' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = TaggedItem fields = ('id', 'content_type', 'content_object') -class ConfigContextTable(BaseTable): - pk = ToggleColumn() +class ConfigContextTable(NetBoxTable): name = tables.Column( linkify=True ) - is_active = BooleanColumn( + is_active = columns.BooleanColumn( verbose_name='Active' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = ConfigContext fields = ( 'pk', 'id', 'name', 'weight', 'is_active', 'description', 'regions', 'sites', 'roles', - 'platforms', 'cluster_types', 'cluster_groups', 'clusters', 'tenant_groups', 'tenants', + 'platforms', 'cluster_types', 'cluster_groups', 'clusters', 'tenant_groups', 'tenants', 'created', + 'last_updated', ) default_columns = ('pk', 'name', 'weight', 'is_active', 'description') -class ObjectChangeTable(BaseTable): +class ObjectChangeTable(NetBoxTable): time = tables.DateTimeColumn( linkify=True, format=settings.SHORT_DATETIME_FORMAT ) - action = ChoiceFieldColumn() - changed_object_type = ContentTypeColumn( + action = columns.ChoiceFieldColumn() + changed_object_type = columns.ContentTypeColumn( verbose_name='Type' ) object_repr = tables.TemplateColumn( @@ -215,13 +208,14 @@ class ObjectChangeTable(BaseTable): template_code=OBJECTCHANGE_REQUEST_ID, verbose_name='Request ID' ) + actions = columns.ActionsColumn(sequence=()) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = ObjectChange fields = ('id', 'time', 'user_name', 'action', 'changed_object_type', 'object_repr', 'request_id') -class ObjectJournalTable(BaseTable): +class ObjectJournalTable(NetBoxTable): """ Used for displaying a set of JournalEntries within the context of a single object. """ @@ -229,22 +223,18 @@ class ObjectJournalTable(BaseTable): linkify=True, format=settings.SHORT_DATETIME_FORMAT ) - kind = ChoiceFieldColumn() + kind = columns.ChoiceFieldColumn() comments = tables.TemplateColumn( template_code='{% load helpers %}{{ value|render_markdown|truncatewords_html:50 }}' ) - actions = ButtonsColumn( - model=JournalEntry - ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = JournalEntry fields = ('id', 'created', 'created_by', 'kind', 'comments', 'actions') class JournalEntryTable(ObjectJournalTable): - pk = ToggleColumn() - assigned_object_type = ContentTypeColumn( + assigned_object_type = columns.ContentTypeColumn( verbose_name='Object type' ) assigned_object = tables.Column( @@ -252,15 +242,14 @@ class JournalEntryTable(ObjectJournalTable): orderable=False, verbose_name='Object' ) - comments = MarkdownColumn() + comments = columns.MarkdownColumn() - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = JournalEntry fields = ( 'pk', 'id', 'created', 'created_by', 'assigned_object_type', 'assigned_object', 'kind', 'comments', 'actions' ) default_columns = ( - 'pk', 'created', 'created_by', 'assigned_object_type', 'assigned_object', 'kind', - 'comments', 'actions' + 'pk', 'created', 'created_by', 'assigned_object_type', 'assigned_object', 'kind', 'comments' ) diff --git a/netbox/extras/templatetags/custom_links.py b/netbox/extras/templatetags/custom_links.py index 32ec966b35c..dd546733884 100644 --- a/netbox/extras/templatetags/custom_links.py +++ b/netbox/extras/templatetags/custom_links.py @@ -36,7 +36,7 @@ def custom_links(context, obj): Render all applicable links for the given object. """ content_type = ContentType.objects.get_for_model(obj) - custom_links = CustomLink.objects.filter(content_type=content_type) + custom_links = CustomLink.objects.filter(content_type=content_type, enabled=True) if not custom_links: return '' diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index d15b57e4376..d790eff7187 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -139,24 +139,28 @@ class CustomLinkTest(APIViewTestCases.APIViewTestCase): { 'content_type': 'dcim.site', 'name': 'Custom Link 4', + 'enabled': True, 'link_text': 'Link 4', 'link_url': 'http://example.com/?4', }, { 'content_type': 'dcim.site', 'name': 'Custom Link 5', + 'enabled': True, 'link_text': 'Link 5', 'link_url': 'http://example.com/?5', }, { 'content_type': 'dcim.site', 'name': 'Custom Link 6', + 'enabled': False, 'link_text': 'Link 6', 'link_url': 'http://example.com/?6', }, ] bulk_update_data = { 'new_window': True, + 'enabled': False, } @classmethod @@ -167,18 +171,21 @@ class CustomLinkTest(APIViewTestCases.APIViewTestCase): CustomLink( content_type=site_ct, name='Custom Link 1', + enabled=True, link_text='Link 1', link_url='http://example.com/?1', ), CustomLink( content_type=site_ct, name='Custom Link 2', + enabled=True, link_text='Link 2', link_url='http://example.com/?2', ), CustomLink( content_type=site_ct, name='Custom Link 3', + enabled=False, link_text='Link 3', link_url='http://example.com/?3', ), diff --git a/netbox/extras/tests/test_customfields.py b/netbox/extras/tests/test_customfields.py index fdabe0fcf2b..3a5fe3ac92a 100644 --- a/netbox/extras/tests/test_customfields.py +++ b/netbox/extras/tests/test_customfields.py @@ -8,13 +8,15 @@ from dcim.forms import SiteCSVForm from dcim.models import Site, Rack from extras.choices import * from extras.models import CustomField +from ipam.models import VLAN from utilities.testing import APITestCase, TestCase from virtualization.models import VirtualMachine class CustomFieldTest(TestCase): - def setUp(self): + @classmethod + def setUpTestData(cls): Site.objects.bulk_create([ Site(name='Site A', slug='site-a'), @@ -22,137 +24,294 @@ class CustomFieldTest(TestCase): Site(name='Site C', slug='site-c'), ]) - def test_simple_fields(self): - DATA = ( - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_TEXT, - }, - 'value': 'Foobar!', - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_LONGTEXT, - }, - 'value': 'Text with **Markdown**', - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_INTEGER, - }, - 'value': 0, - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_INTEGER, - 'validation_minimum': 1, - 'validation_maximum': 100, - }, - 'value': 42, - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_INTEGER, - 'validation_minimum': -100, - 'validation_maximum': -1, - }, - 'value': -42, - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_BOOLEAN, - }, - 'value': True, - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_BOOLEAN, - }, - 'value': False, - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_DATE, - }, - 'value': '2016-06-23', - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_URL, - }, - 'value': 'http://example.com/', - }, - { - 'field': { - 'type': CustomFieldTypeChoices.TYPE_JSON, - }, - 'value': '{"foo": 1, "bar": 2}', - }, + cls.object_type = ContentType.objects.get_for_model(Site) + + def test_text_field(self): + value = 'Foobar!' + + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='text_field', + type=CustomFieldTypeChoices.TYPE_TEXT, + required=False ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) - obj_type = ContentType.objects.get_for_model(Site) + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) - for data in DATA: + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) - # Create a custom field - cf = CustomField(name='my_field', required=False, **data['field']) - cf.save() - cf.content_types.set([obj_type]) + def test_longtext_field(self): + value = 'A' * 256 - # Check that the field has a null initial value - site = Site.objects.first() - self.assertIsNone(site.custom_field_data[cf.name]) + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='longtext_field', + type=CustomFieldTypeChoices.TYPE_LONGTEXT, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) - # Assign a value to the first Site - site.custom_field_data[cf.name] = data['value'] - site.save() + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) - # Retrieve the stored value - site.refresh_from_db() - self.assertEqual(site.custom_field_data[cf.name], data['value']) + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) - # Delete the stored value - site.custom_field_data.pop(cf.name) - site.save() - site.refresh_from_db() - self.assertIsNone(site.custom_field_data.get(cf.name)) + def test_integer_field(self): - # Delete the custom field - cf.delete() + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='integer_field', + type=CustomFieldTypeChoices.TYPE_INTEGER, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) + + for value in (123456, 0, -123456): + + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) + + def test_boolean_field(self): + + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='boolean_field', + type=CustomFieldTypeChoices.TYPE_INTEGER, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) + + for value in (True, False): + + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) + + def test_date_field(self): + value = '2016-06-23' + + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='date_field', + type=CustomFieldTypeChoices.TYPE_TEXT, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) + + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) + + def test_url_field(self): + value = 'http://example.com/' + + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='url_field', + type=CustomFieldTypeChoices.TYPE_URL, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) + + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) + + def test_json_field(self): + value = '{"foo": 1, "bar": 2}' + + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='json_field', + type=CustomFieldTypeChoices.TYPE_JSON, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) + + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) def test_select_field(self): - obj_type = ContentType.objects.get_for_model(Site) + CHOICES = ('Option A', 'Option B', 'Option C') + value = CHOICES[1] - # Create a custom field - cf = CustomField( + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='select_field', type=CustomFieldTypeChoices.TYPE_SELECT, - name='my_field', required=False, - choices=['Option A', 'Option B', 'Option C'] + choices=CHOICES ) - cf.save() - cf.content_types.set([obj_type]) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) - # Check that the field has a null initial value - site = Site.objects.first() - self.assertIsNone(site.custom_field_data[cf.name]) + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) - # Assign a value to the first Site - site.custom_field_data[cf.name] = 'Option A' - site.save() + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) - # Retrieve the stored value - site.refresh_from_db() - self.assertEqual(site.custom_field_data[cf.name], 'Option A') + def test_multiselect_field(self): + CHOICES = ['Option A', 'Option B', 'Option C'] + value = [CHOICES[1], CHOICES[2]] - # Delete the stored value - site.custom_field_data.pop(cf.name) - site.save() - site.refresh_from_db() - self.assertIsNone(site.custom_field_data.get(cf.name)) + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='multiselect_field', + type=CustomFieldTypeChoices.TYPE_MULTISELECT, + required=False, + choices=CHOICES + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) - # Delete the custom field - cf.delete() + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) + + def test_object_field(self): + value = VLAN.objects.create(name='VLAN 1', vid=1).pk + + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='object_field', + type=CustomFieldTypeChoices.TYPE_OBJECT, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) + + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) + + def test_multiobject_field(self): + vlans = ( + VLAN(name='VLAN 1', vid=1), + VLAN(name='VLAN 2', vid=2), + VLAN(name='VLAN 3', vid=3), + ) + VLAN.objects.bulk_create(vlans) + value = [vlan.pk for vlan in vlans] + + # Create a custom field & check that initial value is null + cf = CustomField.objects.create( + name='object_field', + type=CustomFieldTypeChoices.TYPE_MULTIOBJECT, + required=False + ) + cf.content_types.set([self.object_type]) + instance = Site.objects.first() + self.assertIsNone(instance.custom_field_data[cf.name]) + + # Assign a value and check that it is saved + instance.custom_field_data[cf.name] = value + instance.save() + instance.refresh_from_db() + self.assertEqual(instance.custom_field_data[cf.name], value) + + # Delete the stored value and check that it is now null + instance.custom_field_data.pop(cf.name) + instance.save() + instance.refresh_from_db() + self.assertIsNone(instance.custom_field_data.get(cf.name)) def test_rename_customfield(self): obj_type = ContentType.objects.get_for_model(Site) @@ -201,76 +360,116 @@ class CustomFieldAPITest(APITestCase): def setUpTestData(cls): content_type = ContentType.objects.get_for_model(Site) - # Text custom field - cls.cf_text = CustomField(type=CustomFieldTypeChoices.TYPE_TEXT, name='text_field', default='foo') - cls.cf_text.save() - cls.cf_text.content_types.set([content_type]) + # Create some VLANs + vlans = ( + VLAN(name='VLAN 1', vid=1), + VLAN(name='VLAN 2', vid=2), + VLAN(name='VLAN 3', vid=3), + VLAN(name='VLAN 4', vid=4), + VLAN(name='VLAN 5', vid=5), + ) + VLAN.objects.bulk_create(vlans) - # Long text custom field - cls.cf_longtext = CustomField(type=CustomFieldTypeChoices.TYPE_LONGTEXT, name='longtext_field', default='ABC') - cls.cf_longtext.save() - cls.cf_longtext.content_types.set([content_type]) + custom_fields = ( + CustomField(type=CustomFieldTypeChoices.TYPE_TEXT, name='text_field', default='foo'), + CustomField(type=CustomFieldTypeChoices.TYPE_LONGTEXT, name='longtext_field', default='ABC'), + CustomField(type=CustomFieldTypeChoices.TYPE_INTEGER, name='number_field', default=123), + CustomField(type=CustomFieldTypeChoices.TYPE_BOOLEAN, name='boolean_field', default=False), + CustomField(type=CustomFieldTypeChoices.TYPE_DATE, name='date_field', default='2020-01-01'), + CustomField(type=CustomFieldTypeChoices.TYPE_URL, name='url_field', default='http://example.com/1'), + CustomField(type=CustomFieldTypeChoices.TYPE_JSON, name='json_field', default='{"x": "y"}'), + CustomField( + type=CustomFieldTypeChoices.TYPE_SELECT, + name='select_field', + default='Foo', + choices=( + 'Foo', 'Bar', 'Baz' + ) + ), + CustomField( + type=CustomFieldTypeChoices.TYPE_MULTISELECT, + name='multiselect_field', + default=['Foo'], + choices=( + 'Foo', 'Bar', 'Baz' + ) + ), + CustomField( + type=CustomFieldTypeChoices.TYPE_OBJECT, + name='object_field', + object_type=ContentType.objects.get_for_model(VLAN), + default=vlans[0].pk, + ), + CustomField( + type=CustomFieldTypeChoices.TYPE_MULTIOBJECT, + name='multiobject_field', + object_type=ContentType.objects.get_for_model(VLAN), + default=[vlans[0].pk, vlans[1].pk], + ), + ) + for cf in custom_fields: + cf.save() + cf.content_types.set([content_type]) - # Integer custom field - cls.cf_integer = CustomField(type=CustomFieldTypeChoices.TYPE_INTEGER, name='number_field', default=123) - cls.cf_integer.save() - cls.cf_integer.content_types.set([content_type]) - - # Boolean custom field - cls.cf_boolean = CustomField(type=CustomFieldTypeChoices.TYPE_BOOLEAN, name='boolean_field', default=False) - cls.cf_boolean.save() - cls.cf_boolean.content_types.set([content_type]) - - # Date custom field - cls.cf_date = CustomField(type=CustomFieldTypeChoices.TYPE_DATE, name='date_field', default='2020-01-01') - cls.cf_date.save() - cls.cf_date.content_types.set([content_type]) - - # URL custom field - cls.cf_url = CustomField(type=CustomFieldTypeChoices.TYPE_URL, name='url_field', default='http://example.com/1') - cls.cf_url.save() - cls.cf_url.content_types.set([content_type]) - - # JSON custom field - cls.cf_json = CustomField(type=CustomFieldTypeChoices.TYPE_JSON, name='json_field', default='{"x": "y"}') - cls.cf_json.save() - cls.cf_json.content_types.set([content_type]) - - # Select custom field - cls.cf_select = CustomField(type=CustomFieldTypeChoices.TYPE_SELECT, name='choice_field', choices=['Foo', 'Bar', 'Baz']) - cls.cf_select.default = 'Foo' - cls.cf_select.save() - cls.cf_select.content_types.set([content_type]) - - # Create some sites - cls.sites = ( + # Create some sites *after* creating the custom fields. This ensures that + # default values are not set for the assigned objects. + sites = ( Site(name='Site 1', slug='site-1'), Site(name='Site 2', slug='site-2'), ) - Site.objects.bulk_create(cls.sites) + Site.objects.bulk_create(sites) # Assign custom field values for site 2 - cls.sites[1].custom_field_data = { - cls.cf_text.name: 'bar', - cls.cf_longtext.name: 'DEF', - cls.cf_integer.name: 456, - cls.cf_boolean.name: True, - cls.cf_date.name: '2020-01-02', - cls.cf_url.name: 'http://example.com/2', - cls.cf_json.name: '{"foo": 1, "bar": 2}', - cls.cf_select.name: 'Bar', + sites[1].custom_field_data = { + custom_fields[0].name: 'bar', + custom_fields[1].name: 'DEF', + custom_fields[2].name: 456, + custom_fields[3].name: True, + custom_fields[4].name: '2020-01-02', + custom_fields[5].name: 'http://example.com/2', + custom_fields[6].name: '{"foo": 1, "bar": 2}', + custom_fields[7].name: 'Bar', + custom_fields[8].name: ['Bar', 'Baz'], + custom_fields[9].name: vlans[1].pk, + custom_fields[10].name: [vlans[2].pk, vlans[3].pk], } - cls.sites[1].save() + sites[1].save() + + def test_get_custom_fields(self): + TYPES = { + CustomFieldTypeChoices.TYPE_TEXT: 'string', + CustomFieldTypeChoices.TYPE_LONGTEXT: 'string', + CustomFieldTypeChoices.TYPE_INTEGER: 'integer', + CustomFieldTypeChoices.TYPE_BOOLEAN: 'boolean', + CustomFieldTypeChoices.TYPE_DATE: 'string', + CustomFieldTypeChoices.TYPE_URL: 'string', + CustomFieldTypeChoices.TYPE_JSON: 'object', + CustomFieldTypeChoices.TYPE_SELECT: 'string', + CustomFieldTypeChoices.TYPE_MULTISELECT: 'array', + CustomFieldTypeChoices.TYPE_OBJECT: 'object', + CustomFieldTypeChoices.TYPE_MULTIOBJECT: 'array', + } + + self.add_permissions('extras.view_customfield') + url = reverse('extras-api:customfield-list') + response = self.client.get(url, **self.header) + self.assertEqual(response.data['count'], len(TYPES)) + + # Validate data types + for customfield in response.data['results']: + cf_type = customfield['type']['value'] + self.assertEqual(customfield['data_type'], TYPES[cf_type]) def test_get_single_object_without_custom_field_data(self): """ Validate that custom fields are present on an object even if it has no values defined. """ - url = reverse('dcim-api:site-detail', kwargs={'pk': self.sites[0].pk}) + site1 = Site.objects.get(name='Site 1') + url = reverse('dcim-api:site-detail', kwargs={'pk': site1.pk}) self.add_permissions('dcim.view_site') response = self.client.get(url, **self.header) - self.assertEqual(response.data['name'], self.sites[0].name) + self.assertEqual(response.data['name'], site1.name) self.assertEqual(response.data['custom_fields'], { 'text_field': None, 'longtext_field': None, @@ -279,19 +478,23 @@ class CustomFieldAPITest(APITestCase): 'date_field': None, 'url_field': None, 'json_field': None, - 'choice_field': None, + 'select_field': None, + 'multiselect_field': None, + 'object_field': None, + 'multiobject_field': None, }) def test_get_single_object_with_custom_field_data(self): """ Validate that custom fields are present and correctly set for an object with values defined. """ - site2_cfvs = self.sites[1].custom_field_data - url = reverse('dcim-api:site-detail', kwargs={'pk': self.sites[1].pk}) + site2 = Site.objects.get(name='Site 2') + site2_cfvs = site2.custom_field_data + url = reverse('dcim-api:site-detail', kwargs={'pk': site2.pk}) self.add_permissions('dcim.view_site') response = self.client.get(url, **self.header) - self.assertEqual(response.data['name'], self.sites[1].name) + self.assertEqual(response.data['name'], site2.name) self.assertEqual(response.data['custom_fields']['text_field'], site2_cfvs['text_field']) self.assertEqual(response.data['custom_fields']['longtext_field'], site2_cfvs['longtext_field']) self.assertEqual(response.data['custom_fields']['number_field'], site2_cfvs['number_field']) @@ -299,12 +502,21 @@ class CustomFieldAPITest(APITestCase): self.assertEqual(response.data['custom_fields']['date_field'], site2_cfvs['date_field']) self.assertEqual(response.data['custom_fields']['url_field'], site2_cfvs['url_field']) self.assertEqual(response.data['custom_fields']['json_field'], site2_cfvs['json_field']) - self.assertEqual(response.data['custom_fields']['choice_field'], site2_cfvs['choice_field']) + self.assertEqual(response.data['custom_fields']['select_field'], site2_cfvs['select_field']) + self.assertEqual(response.data['custom_fields']['multiselect_field'], site2_cfvs['multiselect_field']) + self.assertEqual(response.data['custom_fields']['object_field']['id'], site2_cfvs['object_field']) + self.assertEqual( + [obj['id'] for obj in response.data['custom_fields']['multiobject_field']], + site2_cfvs['multiobject_field'] + ) def test_create_single_object_with_defaults(self): """ Create a new site with no specified custom field values and check that it received the default values. """ + cf_defaults = { + cf.name: cf.default for cf in CustomField.objects.all() + } data = { 'name': 'Site 3', 'slug': 'site-3', @@ -317,25 +529,34 @@ class CustomFieldAPITest(APITestCase): # Validate response data response_cf = response.data['custom_fields'] - self.assertEqual(response_cf['text_field'], self.cf_text.default) - self.assertEqual(response_cf['longtext_field'], self.cf_longtext.default) - self.assertEqual(response_cf['number_field'], self.cf_integer.default) - self.assertEqual(response_cf['boolean_field'], self.cf_boolean.default) - self.assertEqual(response_cf['date_field'], self.cf_date.default) - self.assertEqual(response_cf['url_field'], self.cf_url.default) - self.assertEqual(response_cf['json_field'], self.cf_json.default) - self.assertEqual(response_cf['choice_field'], self.cf_select.default) + self.assertEqual(response_cf['text_field'], cf_defaults['text_field']) + self.assertEqual(response_cf['longtext_field'], cf_defaults['longtext_field']) + self.assertEqual(response_cf['number_field'], cf_defaults['number_field']) + self.assertEqual(response_cf['boolean_field'], cf_defaults['boolean_field']) + self.assertEqual(response_cf['date_field'], cf_defaults['date_field']) + self.assertEqual(response_cf['url_field'], cf_defaults['url_field']) + self.assertEqual(response_cf['json_field'], cf_defaults['json_field']) + self.assertEqual(response_cf['select_field'], cf_defaults['select_field']) + self.assertEqual(response_cf['multiselect_field'], cf_defaults['multiselect_field']) + self.assertEqual(response_cf['object_field']['id'], cf_defaults['object_field']) + self.assertEqual( + [obj['id'] for obj in response.data['custom_fields']['multiobject_field']], + cf_defaults['multiobject_field'] + ) # Validate database data site = Site.objects.get(pk=response.data['id']) - self.assertEqual(site.custom_field_data['text_field'], self.cf_text.default) - self.assertEqual(site.custom_field_data['longtext_field'], self.cf_longtext.default) - self.assertEqual(site.custom_field_data['number_field'], self.cf_integer.default) - self.assertEqual(site.custom_field_data['boolean_field'], self.cf_boolean.default) - self.assertEqual(str(site.custom_field_data['date_field']), self.cf_date.default) - self.assertEqual(site.custom_field_data['url_field'], self.cf_url.default) - self.assertEqual(site.custom_field_data['json_field'], self.cf_json.default) - self.assertEqual(site.custom_field_data['choice_field'], self.cf_select.default) + self.assertEqual(site.custom_field_data['text_field'], cf_defaults['text_field']) + self.assertEqual(site.custom_field_data['longtext_field'], cf_defaults['longtext_field']) + self.assertEqual(site.custom_field_data['number_field'], cf_defaults['number_field']) + self.assertEqual(site.custom_field_data['boolean_field'], cf_defaults['boolean_field']) + self.assertEqual(str(site.custom_field_data['date_field']), cf_defaults['date_field']) + self.assertEqual(site.custom_field_data['url_field'], cf_defaults['url_field']) + self.assertEqual(site.custom_field_data['json_field'], cf_defaults['json_field']) + self.assertEqual(site.custom_field_data['select_field'], cf_defaults['select_field']) + self.assertEqual(site.custom_field_data['multiselect_field'], cf_defaults['multiselect_field']) + self.assertEqual(site.custom_field_data['object_field'], cf_defaults['object_field']) + self.assertEqual(site.custom_field_data['multiobject_field'], cf_defaults['multiobject_field']) def test_create_single_object_with_values(self): """ @@ -352,7 +573,10 @@ class CustomFieldAPITest(APITestCase): 'date_field': '2020-01-02', 'url_field': 'http://example.com/2', 'json_field': '{"foo": 1, "bar": 2}', - 'choice_field': 'Bar', + 'select_field': 'Bar', + 'multiselect_field': ['Bar', 'Baz'], + 'object_field': VLAN.objects.get(vid=2).pk, + 'multiobject_field': list(VLAN.objects.filter(vid__in=[3, 4]).values_list('pk', flat=True)), }, } url = reverse('dcim-api:site-list') @@ -371,7 +595,13 @@ class CustomFieldAPITest(APITestCase): self.assertEqual(response_cf['date_field'], data_cf['date_field']) self.assertEqual(response_cf['url_field'], data_cf['url_field']) self.assertEqual(response_cf['json_field'], data_cf['json_field']) - self.assertEqual(response_cf['choice_field'], data_cf['choice_field']) + self.assertEqual(response_cf['select_field'], data_cf['select_field']) + self.assertEqual(response_cf['multiselect_field'], data_cf['multiselect_field']) + self.assertEqual(response_cf['object_field']['id'], data_cf['object_field']) + self.assertEqual( + [obj['id'] for obj in response_cf['multiobject_field']], + data_cf['multiobject_field'] + ) # Validate database data site = Site.objects.get(pk=response.data['id']) @@ -382,13 +612,19 @@ class CustomFieldAPITest(APITestCase): self.assertEqual(str(site.custom_field_data['date_field']), data_cf['date_field']) self.assertEqual(site.custom_field_data['url_field'], data_cf['url_field']) self.assertEqual(site.custom_field_data['json_field'], data_cf['json_field']) - self.assertEqual(site.custom_field_data['choice_field'], data_cf['choice_field']) + self.assertEqual(site.custom_field_data['select_field'], data_cf['select_field']) + self.assertEqual(site.custom_field_data['multiselect_field'], data_cf['multiselect_field']) + self.assertEqual(site.custom_field_data['object_field'], data_cf['object_field']) + self.assertEqual(site.custom_field_data['multiobject_field'], data_cf['multiobject_field']) def test_create_multiple_objects_with_defaults(self): """ - Create three news sites with no specified custom field values and check that each received + Create three new sites with no specified custom field values and check that each received the default custom field values. """ + cf_defaults = { + cf.name: cf.default for cf in CustomField.objects.all() + } data = ( { 'name': 'Site 3', @@ -414,25 +650,34 @@ class CustomFieldAPITest(APITestCase): # Validate response data response_cf = response.data[i]['custom_fields'] - self.assertEqual(response_cf['text_field'], self.cf_text.default) - self.assertEqual(response_cf['longtext_field'], self.cf_longtext.default) - self.assertEqual(response_cf['number_field'], self.cf_integer.default) - self.assertEqual(response_cf['boolean_field'], self.cf_boolean.default) - self.assertEqual(response_cf['date_field'], self.cf_date.default) - self.assertEqual(response_cf['url_field'], self.cf_url.default) - self.assertEqual(response_cf['json_field'], self.cf_json.default) - self.assertEqual(response_cf['choice_field'], self.cf_select.default) + self.assertEqual(response_cf['text_field'], cf_defaults['text_field']) + self.assertEqual(response_cf['longtext_field'], cf_defaults['longtext_field']) + self.assertEqual(response_cf['number_field'], cf_defaults['number_field']) + self.assertEqual(response_cf['boolean_field'], cf_defaults['boolean_field']) + self.assertEqual(response_cf['date_field'], cf_defaults['date_field']) + self.assertEqual(response_cf['url_field'], cf_defaults['url_field']) + self.assertEqual(response_cf['json_field'], cf_defaults['json_field']) + self.assertEqual(response_cf['select_field'], cf_defaults['select_field']) + self.assertEqual(response_cf['multiselect_field'], cf_defaults['multiselect_field']) + self.assertEqual(response_cf['object_field']['id'], cf_defaults['object_field']) + self.assertEqual( + [obj['id'] for obj in response_cf['multiobject_field']], + cf_defaults['multiobject_field'] + ) # Validate database data site = Site.objects.get(pk=response.data[i]['id']) - self.assertEqual(site.custom_field_data['text_field'], self.cf_text.default) - self.assertEqual(site.custom_field_data['longtext_field'], self.cf_longtext.default) - self.assertEqual(site.custom_field_data['number_field'], self.cf_integer.default) - self.assertEqual(site.custom_field_data['boolean_field'], self.cf_boolean.default) - self.assertEqual(str(site.custom_field_data['date_field']), self.cf_date.default) - self.assertEqual(site.custom_field_data['url_field'], self.cf_url.default) - self.assertEqual(site.custom_field_data['json_field'], self.cf_json.default) - self.assertEqual(site.custom_field_data['choice_field'], self.cf_select.default) + self.assertEqual(site.custom_field_data['text_field'], cf_defaults['text_field']) + self.assertEqual(site.custom_field_data['longtext_field'], cf_defaults['longtext_field']) + self.assertEqual(site.custom_field_data['number_field'], cf_defaults['number_field']) + self.assertEqual(site.custom_field_data['boolean_field'], cf_defaults['boolean_field']) + self.assertEqual(str(site.custom_field_data['date_field']), cf_defaults['date_field']) + self.assertEqual(site.custom_field_data['url_field'], cf_defaults['url_field']) + self.assertEqual(site.custom_field_data['json_field'], cf_defaults['json_field']) + self.assertEqual(site.custom_field_data['select_field'], cf_defaults['select_field']) + self.assertEqual(site.custom_field_data['multiselect_field'], cf_defaults['multiselect_field']) + self.assertEqual(site.custom_field_data['object_field'], cf_defaults['object_field']) + self.assertEqual(site.custom_field_data['multiobject_field'], cf_defaults['multiobject_field']) def test_create_multiple_objects_with_values(self): """ @@ -446,7 +691,10 @@ class CustomFieldAPITest(APITestCase): 'date_field': '2020-01-02', 'url_field': 'http://example.com/2', 'json_field': '{"foo": 1, "bar": 2}', - 'choice_field': 'Bar', + 'select_field': 'Bar', + 'multiselect_field': ['Bar', 'Baz'], + 'object_field': VLAN.objects.get(vid=2).pk, + 'multiobject_field': list(VLAN.objects.filter(vid__in=[3, 4]).values_list('pk', flat=True)), } data = ( { @@ -483,7 +731,13 @@ class CustomFieldAPITest(APITestCase): self.assertEqual(response_cf['date_field'], custom_field_data['date_field']) self.assertEqual(response_cf['url_field'], custom_field_data['url_field']) self.assertEqual(response_cf['json_field'], custom_field_data['json_field']) - self.assertEqual(response_cf['choice_field'], custom_field_data['choice_field']) + self.assertEqual(response_cf['select_field'], custom_field_data['select_field']) + self.assertEqual(response_cf['multiselect_field'], custom_field_data['multiselect_field']) + self.assertEqual(response_cf['object_field']['id'], custom_field_data['object_field']) + self.assertEqual( + [obj['id'] for obj in response_cf['multiobject_field']], + custom_field_data['multiobject_field'] + ) # Validate database data site = Site.objects.get(pk=response.data[i]['id']) @@ -494,22 +748,25 @@ class CustomFieldAPITest(APITestCase): self.assertEqual(str(site.custom_field_data['date_field']), custom_field_data['date_field']) self.assertEqual(site.custom_field_data['url_field'], custom_field_data['url_field']) self.assertEqual(site.custom_field_data['json_field'], custom_field_data['json_field']) - self.assertEqual(site.custom_field_data['choice_field'], custom_field_data['choice_field']) + self.assertEqual(site.custom_field_data['select_field'], custom_field_data['select_field']) + self.assertEqual(site.custom_field_data['multiselect_field'], custom_field_data['multiselect_field']) + self.assertEqual(site.custom_field_data['object_field'], custom_field_data['object_field']) + self.assertEqual(site.custom_field_data['multiobject_field'], custom_field_data['multiobject_field']) def test_update_single_object_with_values(self): """ Update an object with existing custom field values. Ensure that only the updated custom field values are modified. """ - site = self.sites[1] - original_cfvs = {**site.custom_field_data} + site2 = Site.objects.get(name='Site 2') + original_cfvs = {**site2.custom_field_data} data = { 'custom_fields': { 'text_field': 'ABCD', 'number_field': 1234, }, } - url = reverse('dcim-api:site-detail', kwargs={'pk': self.sites[1].pk}) + url = reverse('dcim-api:site-detail', kwargs={'pk': site2.pk}) self.add_permissions('dcim.change_site') response = self.client.patch(url, data, format='json', **self.header) @@ -524,26 +781,37 @@ class CustomFieldAPITest(APITestCase): self.assertEqual(response_cf['date_field'], original_cfvs['date_field']) self.assertEqual(response_cf['url_field'], original_cfvs['url_field']) self.assertEqual(response_cf['json_field'], original_cfvs['json_field']) - self.assertEqual(response_cf['choice_field'], original_cfvs['choice_field']) + self.assertEqual(response_cf['select_field'], original_cfvs['select_field']) + self.assertEqual(response_cf['multiselect_field'], original_cfvs['multiselect_field']) + self.assertEqual(response_cf['object_field']['id'], original_cfvs['object_field']) + self.assertEqual( + [obj['id'] for obj in response_cf['multiobject_field']], + original_cfvs['multiobject_field'] + ) # Validate database data - site.refresh_from_db() - self.assertEqual(site.custom_field_data['text_field'], data['custom_fields']['text_field']) - self.assertEqual(site.custom_field_data['number_field'], data['custom_fields']['number_field']) - self.assertEqual(site.custom_field_data['longtext_field'], original_cfvs['longtext_field']) - self.assertEqual(site.custom_field_data['boolean_field'], original_cfvs['boolean_field']) - self.assertEqual(site.custom_field_data['date_field'], original_cfvs['date_field']) - self.assertEqual(site.custom_field_data['url_field'], original_cfvs['url_field']) - self.assertEqual(site.custom_field_data['json_field'], original_cfvs['json_field']) - self.assertEqual(site.custom_field_data['choice_field'], original_cfvs['choice_field']) + site2.refresh_from_db() + self.assertEqual(site2.custom_field_data['text_field'], data['custom_fields']['text_field']) + self.assertEqual(site2.custom_field_data['number_field'], data['custom_fields']['number_field']) + self.assertEqual(site2.custom_field_data['longtext_field'], original_cfvs['longtext_field']) + self.assertEqual(site2.custom_field_data['boolean_field'], original_cfvs['boolean_field']) + self.assertEqual(site2.custom_field_data['date_field'], original_cfvs['date_field']) + self.assertEqual(site2.custom_field_data['url_field'], original_cfvs['url_field']) + self.assertEqual(site2.custom_field_data['json_field'], original_cfvs['json_field']) + self.assertEqual(site2.custom_field_data['select_field'], original_cfvs['select_field']) + self.assertEqual(site2.custom_field_data['multiselect_field'], original_cfvs['multiselect_field']) + self.assertEqual(site2.custom_field_data['object_field'], original_cfvs['object_field']) + self.assertEqual(site2.custom_field_data['multiobject_field'], original_cfvs['multiobject_field']) def test_minimum_maximum_values_validation(self): - url = reverse('dcim-api:site-detail', kwargs={'pk': self.sites[1].pk}) + site2 = Site.objects.get(name='Site 2') + url = reverse('dcim-api:site-detail', kwargs={'pk': site2.pk}) self.add_permissions('dcim.change_site') - self.cf_integer.validation_minimum = 10 - self.cf_integer.validation_maximum = 20 - self.cf_integer.save() + cf_integer = CustomField.objects.get(name='number_field') + cf_integer.validation_minimum = 10 + cf_integer.validation_maximum = 20 + cf_integer.save() data = {'custom_fields': {'number_field': 9}} response = self.client.patch(url, data, format='json', **self.header) @@ -558,11 +826,13 @@ class CustomFieldAPITest(APITestCase): self.assertHttpStatus(response, status.HTTP_200_OK) def test_regex_validation(self): - url = reverse('dcim-api:site-detail', kwargs={'pk': self.sites[1].pk}) + site2 = Site.objects.get(name='Site 2') + url = reverse('dcim-api:site-detail', kwargs={'pk': site2.pk}) self.add_permissions('dcim.change_site') - self.cf_text.validation_regex = r'^[A-Z]{3}$' # Three uppercase letters - self.cf_text.save() + cf_text = CustomField.objects.get(name='text_field') + cf_text.validation_regex = r'^[A-Z]{3}$' # Three uppercase letters + cf_text.save() data = {'custom_fields': {'text_field': 'ABC123'}} response = self.client.patch(url, data, format='json', **self.header) @@ -597,6 +867,9 @@ class CustomFieldImportTest(TestCase): CustomField(name='select', type=CustomFieldTypeChoices.TYPE_SELECT, choices=[ 'Choice A', 'Choice B', 'Choice C', ]), + CustomField(name='multiselect', type=CustomFieldTypeChoices.TYPE_MULTISELECT, choices=[ + 'Choice A', 'Choice B', 'Choice C', + ]), ) for cf in custom_fields: cf.save() @@ -607,19 +880,20 @@ class CustomFieldImportTest(TestCase): Import a Site in CSV format, including a value for each CustomField. """ data = ( - ('name', 'slug', 'status', 'cf_text', 'cf_longtext', 'cf_integer', 'cf_boolean', 'cf_date', 'cf_url', 'cf_json', 'cf_select'), - ('Site 1', 'site-1', 'active', 'ABC', 'Foo', '123', 'True', '2020-01-01', 'http://example.com/1', '{"foo": 123}', 'Choice A'), - ('Site 2', 'site-2', 'active', 'DEF', 'Bar', '456', 'False', '2020-01-02', 'http://example.com/2', '{"bar": 456}', 'Choice B'), - ('Site 3', 'site-3', 'active', '', '', '', '', '', '', '', ''), + ('name', 'slug', 'status', 'cf_text', 'cf_longtext', 'cf_integer', 'cf_boolean', 'cf_date', 'cf_url', 'cf_json', 'cf_select', 'cf_multiselect'), + ('Site 1', 'site-1', 'active', 'ABC', 'Foo', '123', 'True', '2020-01-01', 'http://example.com/1', '{"foo": 123}', 'Choice A', '"Choice A,Choice B"'), + ('Site 2', 'site-2', 'active', 'DEF', 'Bar', '456', 'False', '2020-01-02', 'http://example.com/2', '{"bar": 456}', 'Choice B', '"Choice B,Choice C"'), + ('Site 3', 'site-3', 'active', '', '', '', '', '', '', '', '', ''), ) csv_data = '\n'.join(','.join(row) for row in data) response = self.client.post(reverse('dcim:site_import'), {'csv': csv_data}) self.assertEqual(response.status_code, 200) + self.assertEqual(Site.objects.count(), 3) # Validate data for site 1 site1 = Site.objects.get(name='Site 1') - self.assertEqual(len(site1.custom_field_data), 8) + self.assertEqual(len(site1.custom_field_data), 9) self.assertEqual(site1.custom_field_data['text'], 'ABC') self.assertEqual(site1.custom_field_data['longtext'], 'Foo') self.assertEqual(site1.custom_field_data['integer'], 123) @@ -628,10 +902,11 @@ class CustomFieldImportTest(TestCase): self.assertEqual(site1.custom_field_data['url'], 'http://example.com/1') self.assertEqual(site1.custom_field_data['json'], {"foo": 123}) self.assertEqual(site1.custom_field_data['select'], 'Choice A') + self.assertEqual(site1.custom_field_data['multiselect'], ['Choice A', 'Choice B']) # Validate data for site 2 site2 = Site.objects.get(name='Site 2') - self.assertEqual(len(site2.custom_field_data), 8) + self.assertEqual(len(site2.custom_field_data), 9) self.assertEqual(site2.custom_field_data['text'], 'DEF') self.assertEqual(site2.custom_field_data['longtext'], 'Bar') self.assertEqual(site2.custom_field_data['integer'], 456) @@ -640,6 +915,7 @@ class CustomFieldImportTest(TestCase): self.assertEqual(site2.custom_field_data['url'], 'http://example.com/2') self.assertEqual(site2.custom_field_data['json'], {"bar": 456}) self.assertEqual(site2.custom_field_data['select'], 'Choice B') + self.assertEqual(site2.custom_field_data['multiselect'], ['Choice B', 'Choice C']) # No custom field data should be set for site 3 site3 = Site.objects.get(name='Site 3') diff --git a/netbox/extras/tests/test_filtersets.py b/netbox/extras/tests/test_filtersets.py index a5f77afa9f7..3a08055cb5f 100644 --- a/netbox/extras/tests/test_filtersets.py +++ b/netbox/extras/tests/test_filtersets.py @@ -100,6 +100,7 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): CustomLink( name='Custom Link 1', content_type=content_types[0], + enabled=True, weight=100, new_window=False, link_text='Link 1', @@ -108,6 +109,7 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): CustomLink( name='Custom Link 2', content_type=content_types[1], + enabled=True, weight=200, new_window=False, link_text='Link 1', @@ -116,6 +118,7 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): CustomLink( name='Custom Link 3', content_type=content_types[2], + enabled=False, weight=300, new_window=True, link_text='Link 1', @@ -136,6 +139,12 @@ class CustomLinkTestCase(TestCase, BaseFilterSetTests): params = {'weight': [100, 200]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_enabled(self): + params = {'enabled': True} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'enabled': False} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + def test_new_window(self): params = {'new_window': False} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) diff --git a/netbox/extras/tests/test_forms.py b/netbox/extras/tests/test_forms.py index cf28a46e756..1ec50b7ddd2 100644 --- a/netbox/extras/tests/test_forms.py +++ b/netbox/extras/tests/test_forms.py @@ -38,10 +38,27 @@ class CustomFieldModelFormTest(TestCase): cf_select = CustomField.objects.create(name='select', type=CustomFieldTypeChoices.TYPE_SELECT, choices=CHOICES) cf_select.content_types.set([obj_type]) - cf_multiselect = CustomField.objects.create(name='multiselect', type=CustomFieldTypeChoices.TYPE_MULTISELECT, - choices=CHOICES) + cf_multiselect = CustomField.objects.create( + name='multiselect', + type=CustomFieldTypeChoices.TYPE_MULTISELECT, + choices=CHOICES + ) cf_multiselect.content_types.set([obj_type]) + cf_object = CustomField.objects.create( + name='object', + type=CustomFieldTypeChoices.TYPE_OBJECT, + object_type=ContentType.objects.get_for_model(Site) + ) + cf_object.content_types.set([obj_type]) + + cf_multiobject = CustomField.objects.create( + name='multiobject', + type=CustomFieldTypeChoices.TYPE_MULTIOBJECT, + object_type=ContentType.objects.get_for_model(Site) + ) + cf_multiobject.content_types.set([obj_type]) + def test_empty_values(self): """ Test that empty custom field values are stored as null diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index 34d5cb67e27..ea3a952d61b 100644 --- a/netbox/extras/tests/test_views.py +++ b/netbox/extras/tests/test_views.py @@ -59,14 +59,15 @@ class CustomLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): site_ct = ContentType.objects.get_for_model(Site) CustomLink.objects.bulk_create(( - CustomLink(name='Custom Link 1', content_type=site_ct, link_text='Link 1', link_url='http://example.com/?1'), - CustomLink(name='Custom Link 2', content_type=site_ct, link_text='Link 2', link_url='http://example.com/?2'), - CustomLink(name='Custom Link 3', content_type=site_ct, link_text='Link 3', link_url='http://example.com/?3'), + CustomLink(name='Custom Link 1', content_type=site_ct, enabled=True, link_text='Link 1', link_url='http://example.com/?1'), + CustomLink(name='Custom Link 2', content_type=site_ct, enabled=True, link_text='Link 2', link_url='http://example.com/?2'), + CustomLink(name='Custom Link 3', content_type=site_ct, enabled=False, link_text='Link 3', link_url='http://example.com/?3'), )) cls.form_data = { 'name': 'Custom Link X', 'content_type': site_ct.pk, + 'enabled': False, 'weight': 100, 'button_class': CustomLinkButtonClassChoices.DEFAULT, 'link_text': 'Link X', @@ -74,14 +75,15 @@ class CustomLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): } cls.csv_data = ( - "name,content_type,weight,button_class,link_text,link_url", - "Custom Link 4,dcim.site,100,blue,Link 4,http://exmaple.com/?4", - "Custom Link 5,dcim.site,100,blue,Link 5,http://exmaple.com/?5", - "Custom Link 6,dcim.site,100,blue,Link 6,http://exmaple.com/?6", + "name,content_type,enabled,weight,button_class,link_text,link_url", + "Custom Link 4,dcim.site,True,100,blue,Link 4,http://exmaple.com/?4", + "Custom Link 5,dcim.site,True,100,blue,Link 5,http://exmaple.com/?5", + "Custom Link 6,dcim.site,False,100,blue,Link 6,http://exmaple.com/?6", ) cls.bulk_edit_data = { 'button_class': CustomLinkButtonClassChoices.CYAN, + 'enabled': False, 'weight': 200, } diff --git a/netbox/extras/utils.py b/netbox/extras/utils.py index ace49cce586..e1680782163 100644 --- a/netbox/extras/utils.py +++ b/netbox/extras/utils.py @@ -1,5 +1,3 @@ -import collections - from django.db.models import Q from django.utils.deconstruct import deconstructible from taggit.managers import _TaggableManager @@ -57,21 +55,9 @@ class FeatureQuery: return query -def extras_features(*features): - """ - Decorator used to register extras provided features to a model - """ - def wrapper(model_class): - # Initialize the model_features store if not already defined - if 'model_features' not in registry: - registry['model_features'] = { - f: collections.defaultdict(list) for f in EXTRAS_FEATURES - } - for feature in features: - if feature in EXTRAS_FEATURES: - app_label, model_name = model_class._meta.label_lower.split('.') - registry['model_features'][feature][app_label].append(model_name) - else: - raise ValueError('{} is not a valid extras feature!'.format(feature)) - return model_class - return wrapper +def register_features(model, features): + for feature in features: + if feature not in EXTRAS_FEATURES: + raise ValueError(f"{feature} is not a valid extras feature!") + app_label, model_name = model._meta.label_lower.split('.') + registry['model_features'][feature][app_label].add(model_name) diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 0df4d690557..0c59ae8744f 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -11,7 +11,7 @@ from rq import Worker from netbox.views import generic from utilities.forms import ConfirmationForm from utilities.htmx import is_htmx -from utilities.tables import paginate_table +from netbox.tables import configure_table from utilities.utils import copy_safe_request, count_related, normalize_querydict, shallow_compare_dict from utilities.views import ContentTypePermissionRequiredMixin from . import filtersets, forms, tables @@ -215,7 +215,7 @@ class TagView(generic.ObjectView): data=tagged_items, orderable=False ) - paginate_table(taggeditem_table, request) + configure_table(taggeditem_table, request) object_types = [ { @@ -451,7 +451,7 @@ class ObjectChangeLogView(View): data=objectchanges, orderable=False ) - paginate_table(objectchanges_table, request) + configure_table(objectchanges_table, request) # Default to using "/.html" as the template, if it exists. Otherwise, # fall back to using base.html. @@ -571,7 +571,7 @@ class ObjectJournalView(View): assigned_object_id=obj.pk ) journalentry_table = tables.ObjectJournalTable(journalentries) - paginate_table(journalentry_table, request) + configure_table(journalentry_table, request) if request.user.has_perm('extras.add_journalentry'): form = forms.JournalEntryForm( diff --git a/netbox/extras/webhooks_worker.py b/netbox/extras/webhooks_worker.py index 1f0a66b8aba..7e89651823e 100644 --- a/netbox/extras/webhooks_worker.py +++ b/netbox/extras/webhooks_worker.py @@ -67,7 +67,7 @@ def process_webhook(webhook, model_name, event, data, snapshots, timestamp, user # Prepare the HTTP request params = { 'method': webhook.http_method, - 'url': webhook.payload_url, + 'url': webhook.render_payload_url(context), 'headers': headers, 'data': body.encode('utf8'), } diff --git a/netbox/ipam/api/nested_serializers.py b/netbox/ipam/api/nested_serializers.py index 1eb66743b33..5f9e0904955 100644 --- a/netbox/ipam/api/nested_serializers.py +++ b/netbox/ipam/api/nested_serializers.py @@ -15,6 +15,7 @@ __all__ = [ 'NestedRoleSerializer', 'NestedRouteTargetSerializer', 'NestedServiceSerializer', + 'NestedServiceTemplateSerializer', 'NestedVLANGroupSerializer', 'NestedVLANSerializer', 'NestedVRFSerializer', @@ -175,6 +176,14 @@ class NestedIPAddressSerializer(WritableNestedSerializer): # Services # +class NestedServiceTemplateSerializer(WritableNestedSerializer): + url = serializers.HyperlinkedIdentityField(view_name='ipam-api:servicetemplate-detail') + + class Meta: + model = models.ServiceTemplate + fields = ['id', 'url', 'display', 'name', 'protocol', 'ports'] + + class NestedServiceSerializer(WritableNestedSerializer): url = serializers.HyperlinkedIdentityField(view_name='ipam-api:service-detail') diff --git a/netbox/ipam/api/serializers.py b/netbox/ipam/api/serializers.py index c028a3d5d8b..f71d3958aca 100644 --- a/netbox/ipam/api/serializers.py +++ b/netbox/ipam/api/serializers.py @@ -403,6 +403,18 @@ class AvailableIPSerializer(serializers.Serializer): # Services # +class ServiceTemplateSerializer(PrimaryModelSerializer): + url = serializers.HyperlinkedIdentityField(view_name='ipam-api:servicetemplate-detail') + protocol = ChoiceField(choices=ServiceProtocolChoices, required=False) + + class Meta: + model = ServiceTemplate + fields = [ + 'id', 'url', 'display', 'name', 'ports', 'protocol', 'description', 'tags', 'custom_fields', 'created', + 'last_updated', + ] + + class ServiceSerializer(PrimaryModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='ipam-api:service-detail') device = NestedDeviceSerializer(required=False, allow_null=True) diff --git a/netbox/ipam/api/urls.py b/netbox/ipam/api/urls.py index 3d69e258e1f..8a68db9bea7 100644 --- a/netbox/ipam/api/urls.py +++ b/netbox/ipam/api/urls.py @@ -42,6 +42,7 @@ router.register('vlan-groups', views.VLANGroupViewSet) router.register('vlans', views.VLANViewSet) # Services +router.register('service-templates', views.ServiceTemplateViewSet) router.register('services', views.ServiceViewSet) app_name = 'ipam-api' diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index de415cd8174..357937855d7 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -140,7 +140,13 @@ class VLANViewSet(CustomFieldModelViewSet): filterset_class = filtersets.VLANFilterSet -class ServiceViewSet(ModelViewSet): +class ServiceTemplateViewSet(CustomFieldModelViewSet): + queryset = ServiceTemplate.objects.prefetch_related('tags') + serializer_class = serializers.ServiceTemplateSerializer + filterset_class = filtersets.ServiceTemplateFilterSet + + +class ServiceViewSet(CustomFieldModelViewSet): queryset = Service.objects.prefetch_related( 'device', 'virtual_machine', 'tags', 'ipaddresses' ) diff --git a/netbox/ipam/constants.py b/netbox/ipam/constants.py index b19d4061b78..ab88dfc1a96 100644 --- a/netbox/ipam/constants.py +++ b/netbox/ipam/constants.py @@ -65,6 +65,7 @@ FHRP_PROTOCOL_ROLE_MAPPINGS = { FHRPGroupProtocolChoices.PROTOCOL_HSRP: IPAddressRoleChoices.ROLE_HSRP, FHRPGroupProtocolChoices.PROTOCOL_GLBP: IPAddressRoleChoices.ROLE_GLBP, FHRPGroupProtocolChoices.PROTOCOL_CARP: IPAddressRoleChoices.ROLE_CARP, + FHRPGroupProtocolChoices.PROTOCOL_OTHER: IPAddressRoleChoices.ROLE_VIP, } diff --git a/netbox/ipam/filtersets.py b/netbox/ipam/filtersets.py index 8a10a7b2479..207b5e2dc12 100644 --- a/netbox/ipam/filtersets.py +++ b/netbox/ipam/filtersets.py @@ -6,8 +6,7 @@ from django.db.models import Q from netaddr.core import AddrFormatError from dcim.models import Device, Interface, Region, Site, SiteGroup -from extras.filters import TagFilter -from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, PrimaryModelFilterSet +from netbox.filtersets import ChangeLoggedModelFilterSet, OrganizationalModelFilterSet, NetBoxModelFilterSet from tenancy.filtersets import TenancyFilterSet from utilities.filters import ( ContentTypeFilter, MultiValueCharFilter, MultiValueNumberFilter, NumericArrayFilter, TreeNodeMultipleChoiceFilter, @@ -29,13 +28,14 @@ __all__ = ( 'RoleFilterSet', 'RouteTargetFilterSet', 'ServiceFilterSet', + 'ServiceTemplateFilterSet', 'VLANFilterSet', 'VLANGroupFilterSet', 'VRFFilterSet', ) -class VRFFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class VRFFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -62,7 +62,6 @@ class VRFFilterSet(PrimaryModelFilterSet, TenancyFilterSet): to_field_name='name', label='Export target (name)', ) - tag = TagFilter() def search(self, queryset, name, value): if not value.strip(): @@ -78,7 +77,7 @@ class VRFFilterSet(PrimaryModelFilterSet, TenancyFilterSet): fields = ['id', 'name', 'rd', 'enforce_unique'] -class RouteTargetFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class RouteTargetFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -105,7 +104,6 @@ class RouteTargetFilterSet(PrimaryModelFilterSet, TenancyFilterSet): to_field_name='rd', label='Export VRF (RD)', ) - tag = TagFilter() def search(self, queryset, name, value): if not value.strip(): @@ -121,14 +119,13 @@ class RouteTargetFilterSet(PrimaryModelFilterSet, TenancyFilterSet): class RIRFilterSet(OrganizationalModelFilterSet): - tag = TagFilter() class Meta: model = RIR fields = ['id', 'name', 'slug', 'is_private', 'description'] -class AggregateFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class AggregateFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -151,7 +148,6 @@ class AggregateFilterSet(PrimaryModelFilterSet, TenancyFilterSet): to_field_name='slug', label='RIR (slug)', ) - tag = TagFilter() class Meta: model = Aggregate @@ -217,14 +213,13 @@ class RoleFilterSet(OrganizationalModelFilterSet): method='search', label='Search', ) - tag = TagFilter() class Meta: model = Role fields = ['id', 'name', 'slug'] -class PrefixFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class PrefixFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -346,7 +341,6 @@ class PrefixFilterSet(PrimaryModelFilterSet, TenancyFilterSet): choices=PrefixStatusChoices, null_value=None ) - tag = TagFilter() class Meta: model = Prefix @@ -415,7 +409,7 @@ class PrefixFilterSet(PrimaryModelFilterSet, TenancyFilterSet): ) -class IPRangeFilterSet(TenancyFilterSet, PrimaryModelFilterSet): +class IPRangeFilterSet(TenancyFilterSet, NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -452,7 +446,6 @@ class IPRangeFilterSet(TenancyFilterSet, PrimaryModelFilterSet): choices=IPRangeStatusChoices, null_value=None ) - tag = TagFilter() class Meta: model = IPRange @@ -482,7 +475,7 @@ class IPRangeFilterSet(TenancyFilterSet, PrimaryModelFilterSet): return queryset.none() -class IPAddressFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class IPAddressFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -577,7 +570,6 @@ class IPAddressFilterSet(PrimaryModelFilterSet, TenancyFilterSet): role = django_filters.MultipleChoiceFilter( choices=IPAddressRoleChoices ) - tag = TagFilter() class Meta: model = IPAddress @@ -648,7 +640,7 @@ class IPAddressFilterSet(PrimaryModelFilterSet, TenancyFilterSet): return queryset.exclude(assigned_object_id__isnull=value) -class FHRPGroupFilterSet(PrimaryModelFilterSet): +class FHRPGroupFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -663,7 +655,6 @@ class FHRPGroupFilterSet(PrimaryModelFilterSet): queryset=IPAddress.objects.all(), method='filter_related_ip' ) - tag = TagFilter() class Meta: model = FHRPGroup @@ -736,7 +727,6 @@ class VLANGroupFilterSet(OrganizationalModelFilterSet): cluster = django_filters.NumberFilter( method='filter_scope' ) - tag = TagFilter() class Meta: model = VLANGroup @@ -758,7 +748,7 @@ class VLANGroupFilterSet(OrganizationalModelFilterSet): ) -class VLANFilterSet(PrimaryModelFilterSet, TenancyFilterSet): +class VLANFilterSet(NetBoxModelFilterSet, TenancyFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -831,7 +821,6 @@ class VLANFilterSet(PrimaryModelFilterSet, TenancyFilterSet): queryset=VirtualMachine.objects.all(), method='get_for_virtualmachine' ) - tag = TagFilter() class Meta: model = VLAN @@ -854,7 +843,28 @@ class VLANFilterSet(PrimaryModelFilterSet, TenancyFilterSet): return queryset.get_for_virtualmachine(value) -class ServiceFilterSet(PrimaryModelFilterSet): +class ServiceTemplateFilterSet(NetBoxModelFilterSet): + q = django_filters.CharFilter( + method='search', + label='Search', + ) + port = NumericArrayFilter( + field_name='ports', + lookup_expr='contains' + ) + + class Meta: + model = ServiceTemplate + fields = ['id', 'name', 'protocol'] + + def search(self, queryset, name, value): + if not value.strip(): + return queryset + qs_filter = Q(name__icontains=value) | Q(description__icontains=value) + return queryset.filter(qs_filter) + + +class ServiceFilterSet(NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label='Search', @@ -883,7 +893,6 @@ class ServiceFilterSet(PrimaryModelFilterSet): field_name='ports', lookup_expr='contains' ) - tag = TagFilter() class Meta: model = Service diff --git a/netbox/ipam/forms/bulk_edit.py b/netbox/ipam/forms/bulk_edit.py index 1e25a10903f..308a467d149 100644 --- a/netbox/ipam/forms/bulk_edit.py +++ b/netbox/ipam/forms/bulk_edit.py @@ -23,6 +23,7 @@ __all__ = ( 'RoleBulkEditForm', 'RouteTargetBulkEditForm', 'ServiceBulkEditForm', + 'ServiceTemplateBulkEditForm', 'VLANBulkEditForm', 'VLANGroupBulkEditForm', 'VRFBulkEditForm', @@ -433,9 +434,9 @@ class VLANBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): ] -class ServiceBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): +class ServiceTemplateBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): pk = forms.ModelMultipleChoiceField( - queryset=Service.objects.all(), + queryset=ServiceTemplate.objects.all(), widget=forms.MultipleHiddenInput() ) protocol = forms.ChoiceField( @@ -459,3 +460,10 @@ class ServiceBulkEditForm(AddRemoveTagsForm, CustomFieldModelBulkEditForm): nullable_fields = [ 'description', ] + + +class ServiceBulkEditForm(ServiceTemplateBulkEditForm): + pk = forms.ModelMultipleChoiceField( + queryset=Service.objects.all(), + widget=forms.MultipleHiddenInput() + ) diff --git a/netbox/ipam/forms/bulk_import.py b/netbox/ipam/forms/bulk_import.py index a4fdaa3ae5e..1ae977fe5fb 100644 --- a/netbox/ipam/forms/bulk_import.py +++ b/netbox/ipam/forms/bulk_import.py @@ -21,6 +21,7 @@ __all__ = ( 'RoleCSVForm', 'RouteTargetCSVForm', 'ServiceCSVForm', + 'ServiceTemplateCSVForm', 'VLANCSVForm', 'VLANGroupCSVForm', 'VRFCSVForm', @@ -392,6 +393,17 @@ class VLANCSVForm(CustomFieldModelCSVForm): } +class ServiceTemplateCSVForm(CustomFieldModelCSVForm): + protocol = CSVChoiceField( + choices=ServiceProtocolChoices, + help_text='IP protocol' + ) + + class Meta: + model = ServiceTemplate + fields = ('name', 'protocol', 'ports', 'description') + + class ServiceCSVForm(CustomFieldModelCSVForm): device = CSVModelChoiceField( queryset=Device.objects.all(), diff --git a/netbox/ipam/forms/filtersets.py b/netbox/ipam/forms/filtersets.py index df95bdd053c..9bfb1df104f 100644 --- a/netbox/ipam/forms/filtersets.py +++ b/netbox/ipam/forms/filtersets.py @@ -24,6 +24,7 @@ __all__ = ( 'RoleFilterForm', 'RouteTargetFilterForm', 'ServiceFilterForm', + 'ServiceTemplateFilterForm', 'VLANFilterForm', 'VLANGroupFilterForm', 'VRFFilterForm', @@ -447,8 +448,8 @@ class VLANFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): tag = TagFilterField(model) -class ServiceFilterForm(CustomFieldModelFilterForm): - model = Service +class ServiceTemplateFilterForm(CustomFieldModelFilterForm): + model = ServiceTemplate field_groups = ( ('q', 'tag'), ('protocol', 'port'), @@ -462,3 +463,7 @@ class ServiceFilterForm(CustomFieldModelFilterForm): required=False, ) tag = TagFilterField(model) + + +class ServiceFilterForm(ServiceTemplateFilterForm): + model = Service diff --git a/netbox/ipam/forms/models.py b/netbox/ipam/forms/models.py index 68eac54564a..34c67773f19 100644 --- a/netbox/ipam/forms/models.py +++ b/netbox/ipam/forms/models.py @@ -31,6 +31,8 @@ __all__ = ( 'RoleForm', 'RouteTargetForm', 'ServiceForm', + 'ServiceCreateForm', + 'ServiceTemplateForm', 'VLANForm', 'VLANGroupForm', 'VRFForm', @@ -580,7 +582,7 @@ class FHRPGroupForm(CustomFieldModelForm): vrf=self.cleaned_data['ip_vrf'], address=self.cleaned_data['ip_address'], status=self.cleaned_data['ip_status'], - role=FHRP_PROTOCOL_ROLE_MAPPINGS[self.cleaned_data['protocol']], + role=FHRP_PROTOCOL_ROLE_MAPPINGS.get(self.cleaned_data['protocol'], IPAddressRoleChoices.ROLE_VIP), assigned_object=instance ) ipaddress.save() @@ -592,6 +594,8 @@ class FHRPGroupForm(CustomFieldModelForm): return instance def clean(self): + super().clean() + ip_vrf = self.cleaned_data.get('ip_vrf') ip_address = self.cleaned_data.get('ip_address') ip_status = self.cleaned_data.get('ip_status') @@ -628,8 +632,7 @@ class FHRPGroupAssignmentForm(BootstrapMixin, forms.ModelForm): class VLANGroupForm(CustomFieldModelForm): scope_type = ContentTypeChoiceField( queryset=ContentType.objects.filter(model__in=VLANGROUP_SCOPE_TYPES), - required=False, - widget=StaticSelect + required=False ) region = DynamicModelChoiceField( queryset=Region.objects.all(), @@ -814,6 +817,27 @@ class VLANForm(TenancyForm, CustomFieldModelForm): } +class ServiceTemplateForm(CustomFieldModelForm): + ports = NumericArrayField( + base_field=forms.IntegerField( + min_value=SERVICE_PORT_MIN, + max_value=SERVICE_PORT_MAX + ), + help_text="Comma-separated list of one or more port numbers. A range may be specified using a hyphen." + ) + tags = DynamicModelMultipleChoiceField( + queryset=Tag.objects.all(), + required=False + ) + + class Meta: + model = ServiceTemplate + fields = ('name', 'protocol', 'ports', 'description', 'tags') + widgets = { + 'protocol': StaticSelect(), + } + + class ServiceForm(CustomFieldModelForm): device = DynamicModelChoiceField( queryset=Device.objects.all(), @@ -857,3 +881,36 @@ class ServiceForm(CustomFieldModelForm): 'protocol': StaticSelect(), 'ipaddresses': StaticSelectMultiple(), } + + +class ServiceCreateForm(ServiceForm): + service_template = DynamicModelChoiceField( + queryset=ServiceTemplate.objects.all(), + required=False + ) + + class Meta(ServiceForm.Meta): + fields = [ + 'device', 'virtual_machine', 'service_template', 'name', 'protocol', 'ports', 'ipaddresses', 'description', + 'tags', + ] + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # Fields which may be populated from a ServiceTemplate are not required + for field in ('name', 'protocol', 'ports'): + self.fields[field].required = False + del(self.fields[field].widget.attrs['required']) + + def clean(self): + if self.cleaned_data['service_template']: + # Create a new Service from the specified template + service_template = self.cleaned_data['service_template'] + self.cleaned_data['name'] = service_template.name + self.cleaned_data['protocol'] = service_template.protocol + self.cleaned_data['ports'] = service_template.ports + if not self.cleaned_data['description']: + self.cleaned_data['description'] = service_template.description + elif not all(self.cleaned_data[f] for f in ('name', 'protocol', 'ports')): + raise forms.ValidationError("Must specify name, protocol, and port(s) if not using a service template.") diff --git a/netbox/ipam/graphql/schema.py b/netbox/ipam/graphql/schema.py index 9609d14349f..f466c1857af 100644 --- a/netbox/ipam/graphql/schema.py +++ b/netbox/ipam/graphql/schema.py @@ -32,6 +32,9 @@ class IPAMQuery(graphene.ObjectType): service = ObjectField(ServiceType) service_list = ObjectListField(ServiceType) + service_template = ObjectField(ServiceTemplateType) + service_template_list = ObjectListField(ServiceTemplateType) + fhrp_group = ObjectField(FHRPGroupType) fhrp_group_list = ObjectListField(FHRPGroupType) diff --git a/netbox/ipam/graphql/types.py b/netbox/ipam/graphql/types.py index d9aec66b36a..8dd122a0c28 100644 --- a/netbox/ipam/graphql/types.py +++ b/netbox/ipam/graphql/types.py @@ -16,6 +16,7 @@ __all__ = ( 'RoleType', 'RouteTargetType', 'ServiceType', + 'ServiceTemplateType', 'VLANType', 'VLANGroupType', 'VRFType', @@ -120,6 +121,14 @@ class ServiceType(PrimaryObjectType): filterset_class = filtersets.ServiceFilterSet +class ServiceTemplateType(PrimaryObjectType): + + class Meta: + model = models.ServiceTemplate + fields = '__all__' + filterset_class = filtersets.ServiceTemplateFilterSet + + class VLANType(PrimaryObjectType): class Meta: diff --git a/netbox/ipam/migrations/0055_servicetemplate.py b/netbox/ipam/migrations/0055_servicetemplate.py new file mode 100644 index 00000000000..738317907a9 --- /dev/null +++ b/netbox/ipam/migrations/0055_servicetemplate.py @@ -0,0 +1,33 @@ +import django.contrib.postgres.fields +import django.core.serializers.json +import django.core.validators +from django.db import migrations, models +import taggit.managers + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0070_customlink_enabled'), + ('ipam', '0054_vlangroup_min_max_vids'), + ] + + operations = [ + migrations.CreateModel( + name='ServiceTemplate', + fields=[ + ('created', models.DateField(auto_now_add=True, null=True)), + ('last_updated', models.DateTimeField(auto_now=True, null=True)), + ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), + ('id', models.BigAutoField(primary_key=True, serialize=False)), + ('protocol', models.CharField(max_length=50)), + ('ports', django.contrib.postgres.fields.ArrayField(base_field=models.PositiveIntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(65535)]), size=None)), + ('description', models.CharField(blank=True, max_length=200)), + ('name', models.CharField(max_length=100, unique=True)), + ('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')), + ], + options={ + 'ordering': ('name',), + }, + ), + ] diff --git a/netbox/ipam/migrations/0056_standardize_id_fields.py b/netbox/ipam/migrations/0056_standardize_id_fields.py new file mode 100644 index 00000000000..cb756445062 --- /dev/null +++ b/netbox/ipam/migrations/0056_standardize_id_fields.py @@ -0,0 +1,99 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ipam', '0055_servicetemplate'), + ] + + operations = [ + # Model IDs + migrations.AlterField( + model_name='aggregate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='asn', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='fhrpgroup', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='fhrpgroupassignment', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='ipaddress', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='iprange', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='prefix', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='rir', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='role', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='routetarget', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='service', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='servicetemplate', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='vlan', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='vlangroup', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + migrations.AlterField( + model_name='vrf', + name='id', + field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False), + ), + + # GFK IDs + migrations.AlterField( + model_name='fhrpgroupassignment', + name='interface_id', + field=models.PositiveBigIntegerField(), + ), + migrations.AlterField( + model_name='ipaddress', + name='assigned_object_id', + field=models.PositiveBigIntegerField(blank=True, null=True), + ), + ] diff --git a/netbox/ipam/models/__init__.py b/netbox/ipam/models/__init__.py index ab0e4b6caa6..1857b7d666b 100644 --- a/netbox/ipam/models/__init__.py +++ b/netbox/ipam/models/__init__.py @@ -16,6 +16,7 @@ __all__ = ( 'Role', 'RouteTarget', 'Service', + 'ServiceTemplate', 'VLAN', 'VLANGroup', 'VRF', diff --git a/netbox/ipam/models/fhrp.py b/netbox/ipam/models/fhrp.py index 9e721c65f6f..2a8d1bdcd7c 100644 --- a/netbox/ipam/models/fhrp.py +++ b/netbox/ipam/models/fhrp.py @@ -4,8 +4,8 @@ from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models from django.urls import reverse -from extras.utils import extras_features -from netbox.models import ChangeLoggedModel, PrimaryModel +from netbox.models import ChangeLoggedModel, NetBoxModel +from netbox.models.features import WebhooksMixin from ipam.choices import * from ipam.constants import * @@ -15,8 +15,7 @@ __all__ = ( ) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class FHRPGroup(PrimaryModel): +class FHRPGroup(NetBoxModel): """ A grouping of next hope resolution protocol (FHRP) peers. (For instance, VRRP or HSRP.) """ @@ -70,13 +69,12 @@ class FHRPGroup(PrimaryModel): return reverse('ipam:fhrpgroup', args=[self.pk]) -@extras_features('webhooks') -class FHRPGroupAssignment(ChangeLoggedModel): +class FHRPGroupAssignment(WebhooksMixin, ChangeLoggedModel): interface_type = models.ForeignKey( to=ContentType, on_delete=models.CASCADE ) - interface_id = models.PositiveIntegerField() + interface_id = models.PositiveBigIntegerField() interface = GenericForeignKey( ct_field='interface_type', fk_field='interface_id' diff --git a/netbox/ipam/models/ip.py b/netbox/ipam/models/ip.py index 13ae0f54f5d..1354c6e64fc 100644 --- a/netbox/ipam/models/ip.py +++ b/netbox/ipam/models/ip.py @@ -9,8 +9,7 @@ from django.utils.functional import cached_property from dcim.fields import ASNField from dcim.models import Device -from extras.utils import extras_features -from netbox.models import OrganizationalModel, PrimaryModel +from netbox.models import OrganizationalModel, NetBoxModel from ipam.choices import * from ipam.constants import * from ipam.fields import IPNetworkField, IPAddressField @@ -54,7 +53,6 @@ class GetAvailablePrefixesMixin: return available_prefixes.iter_cidrs()[0] -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class RIR(OrganizationalModel): """ A Regional Internet Registry (RIR) is responsible for the allocation of a large portion of the global IP address @@ -90,8 +88,7 @@ class RIR(OrganizationalModel): return reverse('ipam:rir', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class ASN(PrimaryModel): +class ASN(NetBoxModel): """ An autonomous system (AS) number is typically used to represent an independent routing domain. A site can have one or more ASNs assigned to it. @@ -125,14 +122,32 @@ class ASN(PrimaryModel): verbose_name_plural = 'ASNs' def __str__(self): - return f'AS{self.asn}' + return f'AS{self.asn_with_asdot}' def get_absolute_url(self): return reverse('ipam:asn', args=[self.pk]) + @property + def asn_asdot(self): + """ + 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 -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Aggregate(GetAvailablePrefixesMixin, PrimaryModel): + @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 + + +class Aggregate(GetAvailablePrefixesMixin, NetBoxModel): """ An aggregate exists at the root level of the IP address space hierarchy in NetBox. Aggregates are used to organize the hierarchy and track the overall utilization of available address space. Each Aggregate is assigned to a RIR. @@ -234,7 +249,6 @@ class Aggregate(GetAvailablePrefixesMixin, PrimaryModel): return min(utilization, 100) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class Role(OrganizationalModel): """ A Role represents the functional role of a Prefix or VLAN; for example, "Customer," "Infrastructure," or @@ -266,8 +280,7 @@ class Role(OrganizationalModel): return reverse('ipam:role', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Prefix(GetAvailablePrefixesMixin, PrimaryModel): +class Prefix(GetAvailablePrefixesMixin, NetBoxModel): """ A Prefix represents an IPv4 or IPv6 network, including mask length. Prefixes can optionally be assigned to Sites and VRFs. A Prefix must be assigned a status and may optionally be assigned a used-define Role. A Prefix can also be @@ -544,8 +557,7 @@ class Prefix(GetAvailablePrefixesMixin, PrimaryModel): return min(utilization, 100) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class IPRange(PrimaryModel): +class IPRange(NetBoxModel): """ A range of IP addresses, defined by start and end addresses. """ @@ -740,8 +752,7 @@ class IPRange(PrimaryModel): return int(float(child_count) / self.size * 100) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class IPAddress(PrimaryModel): +class IPAddress(NetBoxModel): """ An IPAddress represents an individual IPv4 or IPv6 address and its mask. The mask length should match what is configured in the real world. (Typically, only loopback interfaces are configured with /32 or /128 masks.) Like @@ -790,7 +801,7 @@ class IPAddress(PrimaryModel): blank=True, null=True ) - assigned_object_id = models.PositiveIntegerField( + assigned_object_id = models.PositiveBigIntegerField( blank=True, null=True ) @@ -893,8 +904,9 @@ class IPAddress(PrimaryModel): super().save(*args, **kwargs) def to_objectchange(self, action): - # Annotate the assigned object, if any - return super().to_objectchange(action, related_object=self.assigned_object) + objectchange = super().to_objectchange(action) + objectchange.related_object = self.assigned_object + return objectchange @property def family(self): diff --git a/netbox/ipam/models/services.py b/netbox/ipam/models/services.py index 5c1ebb9ddd1..70ad381979d 100644 --- a/netbox/ipam/models/services.py +++ b/netbox/ipam/models/services.py @@ -4,20 +4,65 @@ from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models from django.urls import reverse -from extras.utils import extras_features from ipam.choices import * from ipam.constants import * -from netbox.models import PrimaryModel +from netbox.models import NetBoxModel from utilities.utils import array_to_string __all__ = ( 'Service', + 'ServiceTemplate', ) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class Service(PrimaryModel): +class ServiceBase(models.Model): + protocol = models.CharField( + max_length=50, + choices=ServiceProtocolChoices + ) + ports = ArrayField( + base_field=models.PositiveIntegerField( + validators=[ + MinValueValidator(SERVICE_PORT_MIN), + MaxValueValidator(SERVICE_PORT_MAX) + ] + ), + verbose_name='Port numbers' + ) + description = models.CharField( + max_length=200, + blank=True + ) + + class Meta: + abstract = True + + def __str__(self): + return f'{self.name} ({self.get_protocol_display()}/{self.port_list})' + + @property + def port_list(self): + return array_to_string(self.ports) + + +class ServiceTemplate(ServiceBase, NetBoxModel): + """ + A template for a Service to be applied to a device or virtual machine. + """ + name = models.CharField( + max_length=100, + unique=True + ) + + class Meta: + ordering = ('name',) + + def get_absolute_url(self): + return reverse('ipam:servicetemplate', args=[self.pk]) + + +class Service(ServiceBase, NetBoxModel): """ A Service represents a layer-four service (e.g. HTTP or SSH) running on a Device or VirtualMachine. A Service may optionally be tied to one or more specific IPAddresses belonging to its parent. @@ -40,36 +85,16 @@ class Service(PrimaryModel): name = models.CharField( max_length=100 ) - protocol = models.CharField( - max_length=50, - choices=ServiceProtocolChoices - ) - ports = ArrayField( - base_field=models.PositiveIntegerField( - validators=[ - MinValueValidator(SERVICE_PORT_MIN), - MaxValueValidator(SERVICE_PORT_MAX) - ] - ), - verbose_name='Port numbers' - ) ipaddresses = models.ManyToManyField( to='ipam.IPAddress', related_name='services', blank=True, verbose_name='IP addresses' ) - description = models.CharField( - max_length=200, - blank=True - ) class Meta: ordering = ('protocol', 'ports', 'pk') # (protocol, port) may be non-unique - def __str__(self): - return f'{self.name} ({self.get_protocol_display()}/{self.port_list})' - def get_absolute_url(self): return reverse('ipam:service', args=[self.pk]) @@ -85,7 +110,3 @@ class Service(PrimaryModel): raise ValidationError("A service cannot be associated with both a device and a virtual machine.") if not self.device and not self.virtual_machine: raise ValidationError("A service must be associated with either a device or a virtual machine.") - - @property - def port_list(self): - return array_to_string(self.ports) diff --git a/netbox/ipam/models/vlans.py b/netbox/ipam/models/vlans.py index 31c8da2b6e8..7cd03ed5586 100644 --- a/netbox/ipam/models/vlans.py +++ b/netbox/ipam/models/vlans.py @@ -6,11 +6,10 @@ from django.db import models from django.urls import reverse from dcim.models import Interface -from extras.utils import extras_features from ipam.choices import * from ipam.constants import * from ipam.querysets import VLANQuerySet -from netbox.models import OrganizationalModel, PrimaryModel +from netbox.models import OrganizationalModel, NetBoxModel from virtualization.models import VMInterface @@ -20,7 +19,6 @@ __all__ = ( ) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') class VLANGroup(OrganizationalModel): """ A VLAN group is an arbitrary collection of VLANs within which VLAN IDs and names must be unique. @@ -118,8 +116,7 @@ class VLANGroup(OrganizationalModel): return None -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class VLAN(PrimaryModel): +class VLAN(NetBoxModel): """ A VLAN is a distinct layer two forwarding domain identified by a 12-bit integer (1-4094). Each VLAN must be assigned to a Site, however VLAN IDs need not be unique within a Site. A VLAN may optionally be assigned to a VLANGroup, diff --git a/netbox/ipam/models/vrfs.py b/netbox/ipam/models/vrfs.py index 11fab9c44f1..fc34b548804 100644 --- a/netbox/ipam/models/vrfs.py +++ b/netbox/ipam/models/vrfs.py @@ -1,9 +1,8 @@ from django.db import models from django.urls import reverse -from extras.utils import extras_features from ipam.constants import * -from netbox.models import PrimaryModel +from netbox.models import NetBoxModel __all__ = ( @@ -12,8 +11,7 @@ __all__ = ( ) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class VRF(PrimaryModel): +class VRF(NetBoxModel): """ A virtual routing and forwarding (VRF) table represents a discrete layer three forwarding domain (e.g. a routing table). Prefixes and IPAddresses can optionally be assigned to VRFs. (Prefixes and IPAddresses not assigned to a VRF @@ -75,8 +73,7 @@ class VRF(PrimaryModel): return reverse('ipam:vrf', args=[self.pk]) -@extras_features('custom_fields', 'custom_links', 'export_templates', 'tags', 'webhooks') -class RouteTarget(PrimaryModel): +class RouteTarget(NetBoxModel): """ A BGP extended community used to control the redistribution of routes among VRFs, as defined in RFC 4364. """ diff --git a/netbox/ipam/tables/fhrp.py b/netbox/ipam/tables/fhrp.py index 94bc50b93ee..8848cb079d4 100644 --- a/netbox/ipam/tables/fhrp.py +++ b/netbox/ipam/tables/fhrp.py @@ -1,7 +1,7 @@ import django_tables2 as tables -from utilities.tables import BaseTable, ButtonsColumn, MarkdownColumn, TagColumn, ToggleColumn from ipam.models import * +from netbox.tables import NetBoxTable, columns __all__ = ( 'FHRPGroupTable', @@ -16,12 +16,11 @@ IPADDRESSES = """ """ -class FHRPGroupTable(BaseTable): - pk = ToggleColumn() +class FHRPGroupTable(NetBoxTable): group_id = tables.Column( linkify=True ) - comments = MarkdownColumn() + comments = columns.MarkdownColumn() ip_addresses = tables.TemplateColumn( template_code=IPADDRESSES, orderable=False, @@ -30,21 +29,20 @@ class FHRPGroupTable(BaseTable): interface_count = tables.Column( verbose_name='Interfaces' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:fhrpgroup_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = FHRPGroup fields = ( 'pk', 'group_id', 'protocol', 'auth_type', 'auth_key', 'description', 'ip_addresses', 'interface_count', - 'tags', + 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'group_id', 'protocol', 'auth_type', 'description', 'ip_addresses', 'interface_count') -class FHRPGroupAssignmentTable(BaseTable): - pk = ToggleColumn() +class FHRPGroupAssignmentTable(NetBoxTable): interface_parent = tables.Column( accessor=tables.A('interface.parent_object'), linkify=True, @@ -58,12 +56,11 @@ class FHRPGroupAssignmentTable(BaseTable): group = tables.Column( linkify=True ) - actions = ButtonsColumn( - model=FHRPGroupAssignment, - buttons=('edit', 'delete', 'foo') + actions = columns.ActionsColumn( + sequence=('edit', 'delete') ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = FHRPGroupAssignment fields = ('pk', 'group', 'interface_parent', 'interface', 'priority') exclude = ('id',) diff --git a/netbox/ipam/tables/ip.py b/netbox/ipam/tables/ip.py index 3fddbf48e52..762857136db 100644 --- a/netbox/ipam/tables/ip.py +++ b/netbox/ipam/tables/ip.py @@ -2,12 +2,9 @@ import django_tables2 as tables from django.utils.safestring import mark_safe from django_tables2.utils import Accessor -from tenancy.tables import TenantColumn -from utilities.tables import ( - BaseTable, BooleanColumn, ButtonsColumn, ChoiceFieldColumn, LinkedCountColumn, TagColumn, - ToggleColumn, UtilizationColumn, -) from ipam.models import * +from netbox.tables import NetBoxTable, columns +from tenancy.tables import TenantColumn __all__ = ( 'AggregateTable', @@ -73,58 +70,58 @@ VRF_LINK = """ # RIRs # -class RIRTable(BaseTable): - pk = ToggleColumn() +class RIRTable(NetBoxTable): name = tables.Column( linkify=True ) - is_private = BooleanColumn( + is_private = columns.BooleanColumn( verbose_name='Private' ) - aggregate_count = LinkedCountColumn( + aggregate_count = columns.LinkedCountColumn( viewname='ipam:aggregate_list', url_params={'rir_id': 'pk'}, verbose_name='Aggregates' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:rir_list' ) - actions = ButtonsColumn(RIR) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = RIR - fields = ('pk', 'id', 'name', 'slug', 'is_private', 'aggregate_count', 'description', 'tags', 'actions') - default_columns = ('pk', 'name', 'is_private', 'aggregate_count', 'description', 'actions') + fields = ( + 'pk', 'id', 'name', 'slug', 'is_private', 'aggregate_count', 'description', 'tags', 'created', + 'last_updated', 'actions', + ) + default_columns = ('pk', 'name', 'is_private', 'aggregate_count', 'description') # # ASNs # -class ASNTable(BaseTable): - pk = ToggleColumn() +class ASNTable(NetBoxTable): asn = tables.Column( + accessor=tables.A('asn_asdot'), linkify=True ) - site_count = LinkedCountColumn( + + site_count = columns.LinkedCountColumn( viewname='dcim:site_list', url_params={'asn_id': 'pk'}, verbose_name='Sites' ) - actions = ButtonsColumn(ASN) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = ASN - fields = ('pk', 'asn', 'rir', 'site_count', 'tenant', 'description', 'actions') - default_columns = ('pk', 'asn', 'rir', 'site_count', 'sites', 'tenant', 'actions') + fields = ('pk', 'asn', 'rir', 'site_count', 'tenant', 'description', 'created', 'last_updated', 'actions') + default_columns = ('pk', 'asn', 'rir', 'site_count', 'sites', 'tenant') # # Aggregates # -class AggregateTable(BaseTable): - pk = ToggleColumn() +class AggregateTable(NetBoxTable): prefix = tables.Column( linkify=True, verbose_name='Aggregate' @@ -137,17 +134,20 @@ class AggregateTable(BaseTable): child_count = tables.Column( verbose_name='Prefixes' ) - utilization = UtilizationColumn( + utilization = columns.UtilizationColumn( accessor='get_utilization', orderable=False ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:aggregate_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Aggregate - fields = ('pk', 'id', 'prefix', 'rir', 'tenant', 'child_count', 'utilization', 'date_added', 'description', 'tags') + fields = ( + 'pk', 'id', 'prefix', 'rir', 'tenant', 'child_count', 'utilization', 'date_added', 'description', 'tags', + 'created', 'last_updated', + ) default_columns = ('pk', 'prefix', 'rir', 'tenant', 'child_count', 'utilization', 'date_added', 'description') @@ -155,37 +155,38 @@ class AggregateTable(BaseTable): # Roles # -class RoleTable(BaseTable): - pk = ToggleColumn() +class RoleTable(NetBoxTable): name = tables.Column( linkify=True ) - prefix_count = LinkedCountColumn( + prefix_count = columns.LinkedCountColumn( viewname='ipam:prefix_list', url_params={'role_id': 'pk'}, verbose_name='Prefixes' ) - vlan_count = LinkedCountColumn( + vlan_count = columns.LinkedCountColumn( viewname='ipam:vlan_list', url_params={'role_id': 'pk'}, verbose_name='VLANs' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:role_list' ) - actions = ButtonsColumn(Role) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Role - fields = ('pk', 'id', 'name', 'slug', 'prefix_count', 'vlan_count', 'description', 'weight', 'tags', 'actions') - default_columns = ('pk', 'name', 'prefix_count', 'vlan_count', 'description', 'actions') + fields = ( + 'pk', 'id', 'name', 'slug', 'prefix_count', 'vlan_count', 'description', 'weight', 'tags', 'created', + 'last_updated', 'actions', + ) + default_columns = ('pk', 'name', 'prefix_count', 'vlan_count', 'description') # # Prefixes # -class PrefixUtilizationColumn(UtilizationColumn): +class PrefixUtilizationColumn(columns.UtilizationColumn): """ Extend UtilizationColumn to allow disabling the warning & danger thresholds for prefixes marked as fully utilized. @@ -200,8 +201,7 @@ class PrefixUtilizationColumn(UtilizationColumn): """ -class PrefixTable(BaseTable): - pk = ToggleColumn() +class PrefixTable(NetBoxTable): prefix = tables.TemplateColumn( template_code=PREFIX_LINK, attrs={'td': {'class': 'text-nowrap'}} @@ -215,7 +215,7 @@ class PrefixTable(BaseTable): accessor=Accessor('_depth'), verbose_name='Depth' ) - children = LinkedCountColumn( + children = columns.LinkedCountColumn( accessor=Accessor('_children'), viewname='ipam:prefix_list', url_params={ @@ -224,7 +224,7 @@ class PrefixTable(BaseTable): }, verbose_name='Children' ) - status = ChoiceFieldColumn( + status = columns.ChoiceFieldColumn( default=AVAILABLE_LABEL ) vrf = tables.TemplateColumn( @@ -247,25 +247,25 @@ class PrefixTable(BaseTable): role = tables.Column( linkify=True ) - is_pool = BooleanColumn( + is_pool = columns.BooleanColumn( verbose_name='Pool' ) - mark_utilized = BooleanColumn( + mark_utilized = columns.BooleanColumn( verbose_name='Marked Utilized' ) utilization = PrefixUtilizationColumn( accessor='get_utilization', orderable=False ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:prefix_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Prefix fields = ( - 'pk', 'id', 'prefix', 'prefix_flat', 'status', 'children', 'vrf', 'utilization', 'tenant', 'site', 'vlan_group', - 'vlan', 'role', 'is_pool', 'mark_utilized', 'description', 'tags', + 'pk', 'id', 'prefix', 'prefix_flat', 'status', 'children', 'vrf', 'utilization', 'tenant', 'site', + 'vlan_group', 'vlan', 'role', 'is_pool', 'mark_utilized', 'description', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'prefix', 'status', 'children', 'vrf', 'utilization', 'tenant', 'site', 'vlan', 'role', 'description', @@ -278,8 +278,7 @@ class PrefixTable(BaseTable): # # IP ranges # -class IPRangeTable(BaseTable): - pk = ToggleColumn() +class IPRangeTable(NetBoxTable): start_address = tables.Column( linkify=True ) @@ -287,26 +286,26 @@ class IPRangeTable(BaseTable): template_code=VRF_LINK, verbose_name='VRF' ) - status = ChoiceFieldColumn( + status = columns.ChoiceFieldColumn( default=AVAILABLE_LABEL ) role = tables.Column( linkify=True ) tenant = TenantColumn() - utilization = UtilizationColumn( + utilization = columns.UtilizationColumn( accessor='utilization', orderable=False ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:iprange_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = IPRange fields = ( 'pk', 'id', 'start_address', 'end_address', 'size', 'vrf', 'status', 'role', 'tenant', 'description', - 'utilization', 'tags', + 'utilization', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'start_address', 'end_address', 'size', 'vrf', 'status', 'role', 'tenant', 'description', @@ -320,8 +319,7 @@ class IPRangeTable(BaseTable): # IPAddresses # -class IPAddressTable(BaseTable): - pk = ToggleColumn() +class IPAddressTable(NetBoxTable): address = tables.TemplateColumn( template_code=IPADDRESS_LINK, verbose_name='IP Address' @@ -330,10 +328,10 @@ class IPAddressTable(BaseTable): template_code=VRF_LINK, verbose_name='VRF' ) - status = ChoiceFieldColumn( + status = columns.ChoiceFieldColumn( default=AVAILABLE_LABEL ) - role = ChoiceFieldColumn() + role = columns.ChoiceFieldColumn() tenant = TenantColumn() assigned_object = tables.Column( linkify=True, @@ -351,20 +349,20 @@ class IPAddressTable(BaseTable): orderable=False, verbose_name='NAT (Inside)' ) - assigned = BooleanColumn( + assigned = columns.BooleanColumn( accessor='assigned_object_id', linkify=True, verbose_name='Assigned' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:ipaddress_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = IPAddress fields = ( 'pk', 'id', 'address', 'vrf', 'status', 'role', 'tenant', 'nat_inside', 'assigned', 'dns_name', 'description', - 'tags', + 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'address', 'vrf', 'status', 'role', 'tenant', 'assigned', 'dns_name', 'description', @@ -374,24 +372,24 @@ class IPAddressTable(BaseTable): } -class IPAddressAssignTable(BaseTable): +class IPAddressAssignTable(NetBoxTable): address = tables.TemplateColumn( template_code=IPADDRESS_ASSIGN_LINK, verbose_name='IP Address' ) - status = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() assigned_object = tables.Column( orderable=False ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = IPAddress fields = ('address', 'dns_name', 'vrf', 'status', 'role', 'tenant', 'assigned_object', 'description') exclude = ('id', ) orderable = False -class AssignedIPAddressesTable(BaseTable): +class AssignedIPAddressesTable(NetBoxTable): """ List IP addresses assigned to an object. """ @@ -403,13 +401,10 @@ class AssignedIPAddressesTable(BaseTable): template_code=VRF_LINK, verbose_name='VRF' ) - status = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() tenant = TenantColumn() - actions = ButtonsColumn( - model=IPAddress - ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = IPAddress fields = ('address', 'vrf', 'status', 'role', 'tenant', 'description') exclude = ('id', ) diff --git a/netbox/ipam/tables/services.py b/netbox/ipam/tables/services.py index ff6b766f7a9..8c81a28c29b 100644 --- a/netbox/ipam/tables/services.py +++ b/netbox/ipam/tables/services.py @@ -1,19 +1,32 @@ import django_tables2 as tables -from utilities.tables import BaseTable, TagColumn, ToggleColumn from ipam.models import * +from netbox.tables import NetBoxTable, columns __all__ = ( 'ServiceTable', + 'ServiceTemplateTable', ) -# -# Services -# +class ServiceTemplateTable(NetBoxTable): + name = tables.Column( + linkify=True + ) + ports = tables.Column( + accessor=tables.A('port_list') + ) + tags = columns.TagColumn( + url_name='ipam:servicetemplate_list' + ) -class ServiceTable(BaseTable): - pk = ToggleColumn() + class Meta(NetBoxTable.Meta): + model = ServiceTemplate + fields = ('pk', 'id', 'name', 'protocol', 'ports', 'description', 'tags') + default_columns = ('pk', 'name', 'protocol', 'ports', 'description') + + +class ServiceTable(NetBoxTable): name = tables.Column( linkify=True ) @@ -21,15 +34,17 @@ class ServiceTable(BaseTable): linkify=True, order_by=('device', 'virtual_machine') ) - ports = tables.TemplateColumn( - template_code='{{ record.port_list }}', - verbose_name='Ports' + ports = tables.Column( + accessor=tables.A('port_list') ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:service_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Service - fields = ('pk', 'id', 'name', 'parent', 'protocol', 'ports', 'ipaddresses', 'description', 'tags') + fields = ( + 'pk', 'id', 'name', 'parent', 'protocol', 'ports', 'ipaddresses', 'description', 'tags', 'created', + 'last_updated', + ) default_columns = ('pk', 'name', 'parent', 'protocol', 'ports', 'description') diff --git a/netbox/ipam/tables/vlans.py b/netbox/ipam/tables/vlans.py index ca8d22552e0..192da0813fb 100644 --- a/netbox/ipam/tables/vlans.py +++ b/netbox/ipam/tables/vlans.py @@ -3,13 +3,10 @@ from django.utils.safestring import mark_safe from django_tables2.utils import Accessor from dcim.models import Interface -from tenancy.tables import TenantColumn -from utilities.tables import ( - BaseTable, BooleanColumn, ButtonsColumn, ChoiceFieldColumn, ContentTypeColumn, LinkedCountColumn, TagColumn, - TemplateColumn, ToggleColumn, -) -from virtualization.models import VMInterface from ipam.models import * +from netbox.tables import NetBoxTable, columns +from tenancy.tables import TenantColumn +from virtualization.models import VMInterface __all__ = ( 'InterfaceVLANTable', @@ -38,7 +35,7 @@ VLAN_PREFIXES = """ {% endfor %} """ -VLANGROUP_ADD_VLAN = """ +VLANGROUP_BUTTONS = """ {% with next_vid=record.get_next_available_vid %} {% if next_vid and perms.ipam.add_vlan %} @@ -61,42 +58,39 @@ VLAN_MEMBER_TAGGED = """ # VLAN groups # -class VLANGroupTable(BaseTable): - pk = ToggleColumn() +class VLANGroupTable(NetBoxTable): name = tables.Column(linkify=True) - scope_type = ContentTypeColumn() + scope_type = columns.ContentTypeColumn() scope = tables.Column( linkify=True, orderable=False ) - vlan_count = LinkedCountColumn( + vlan_count = columns.LinkedCountColumn( viewname='ipam:vlan_list', url_params={'group_id': 'pk'}, verbose_name='VLANs' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:vlangroup_list' ) - actions = ButtonsColumn( - model=VLANGroup, - prepend_template=VLANGROUP_ADD_VLAN + actions = columns.ActionsColumn( + extra_buttons=VLANGROUP_BUTTONS ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = VLANGroup fields = ( 'pk', 'id', 'name', 'scope_type', 'scope', 'min_vid', 'max_vid', 'vlan_count', 'slug', 'description', - 'tags', 'actions', + 'tags', 'created', 'last_updated', 'actions', ) - default_columns = ('pk', 'name', 'scope_type', 'scope', 'vlan_count', 'description', 'actions') + default_columns = ('pk', 'name', 'scope_type', 'scope', 'vlan_count', 'description') # # VLANs # -class VLANTable(BaseTable): - pk = ToggleColumn() +class VLANTable(NetBoxTable): vid = tables.TemplateColumn( template_code=VLAN_LINK, verbose_name='VID' @@ -111,31 +105,34 @@ class VLANTable(BaseTable): linkify=True ) tenant = TenantColumn() - status = ChoiceFieldColumn( + status = columns.ChoiceFieldColumn( default=AVAILABLE_LABEL ) role = tables.Column( linkify=True ) - prefixes = TemplateColumn( + prefixes = columns.TemplateColumn( template_code=VLAN_PREFIXES, orderable=False, verbose_name='Prefixes' ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:vlan_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = VLAN - fields = ('pk', 'id', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'status', 'role', 'description', 'tags') + fields = ( + 'pk', 'id', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'status', 'role', 'description', 'tags', + 'created', 'last_updated', + ) default_columns = ('pk', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'status', 'role', 'description') row_attrs = { 'class': lambda record: 'success' if not isinstance(record, VLAN) else '', } -class VLANMembersTable(BaseTable): +class VLANMembersTable(NetBoxTable): """ Base table for Interface and VMInterface assignments """ @@ -153,9 +150,11 @@ class VLANDevicesTable(VLANMembersTable): device = tables.Column( linkify=True ) - actions = ButtonsColumn(Interface, buttons=['edit']) + actions = columns.ActionsColumn( + sequence=('edit',) + ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Interface fields = ('device', 'name', 'tagged', 'actions') exclude = ('id', ) @@ -165,15 +164,17 @@ class VLANVirtualMachinesTable(VLANMembersTable): virtual_machine = tables.Column( linkify=True ) - actions = ButtonsColumn(VMInterface, buttons=['edit']) + actions = columns.ActionsColumn( + sequence=('edit',) + ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = VMInterface fields = ('virtual_machine', 'name', 'tagged', 'actions') exclude = ('id', ) -class InterfaceVLANTable(BaseTable): +class InterfaceVLANTable(NetBoxTable): """ List VLANs assigned to a specific Interface. """ @@ -181,7 +182,7 @@ class InterfaceVLANTable(BaseTable): linkify=True, verbose_name='ID' ) - tagged = BooleanColumn() + tagged = columns.BooleanColumn() site = tables.Column( linkify=True ) @@ -190,12 +191,12 @@ class InterfaceVLANTable(BaseTable): verbose_name='Group' ) tenant = TenantColumn() - status = ChoiceFieldColumn() + status = columns.ChoiceFieldColumn() role = tables.Column( linkify=True ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = VLAN fields = ('vid', 'tagged', 'site', 'group', 'name', 'tenant', 'status', 'role', 'description') exclude = ('id', ) diff --git a/netbox/ipam/tables/vrfs.py b/netbox/ipam/tables/vrfs.py index 1264368f464..727f402ff4e 100644 --- a/netbox/ipam/tables/vrfs.py +++ b/netbox/ipam/tables/vrfs.py @@ -1,8 +1,8 @@ import django_tables2 as tables -from tenancy.tables import TenantColumn -from utilities.tables import BaseTable, BooleanColumn, TagColumn, TemplateColumn, ToggleColumn from ipam.models import * +from netbox.tables import NetBoxTable, columns +from tenancy.tables import TenantColumn __all__ = ( 'RouteTargetTable', @@ -20,8 +20,7 @@ VRF_TARGETS = """ # VRFs # -class VRFTable(BaseTable): - pk = ToggleColumn() +class VRFTable(NetBoxTable): name = tables.Column( linkify=True ) @@ -29,25 +28,26 @@ class VRFTable(BaseTable): verbose_name='RD' ) tenant = TenantColumn() - enforce_unique = BooleanColumn( + enforce_unique = columns.BooleanColumn( verbose_name='Unique' ) - import_targets = TemplateColumn( + import_targets = columns.TemplateColumn( template_code=VRF_TARGETS, orderable=False ) - export_targets = TemplateColumn( + export_targets = columns.TemplateColumn( template_code=VRF_TARGETS, orderable=False ) - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:vrf_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = VRF fields = ( - 'pk', 'id', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'import_targets', 'export_targets', 'tags', + 'pk', 'id', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'import_targets', 'export_targets', + 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'rd', 'tenant', 'description') @@ -56,17 +56,16 @@ class VRFTable(BaseTable): # Route targets # -class RouteTargetTable(BaseTable): - pk = ToggleColumn() +class RouteTargetTable(NetBoxTable): name = tables.Column( linkify=True ) tenant = TenantColumn() - tags = TagColumn( + tags = columns.TagColumn( url_name='ipam:vrf_list' ) - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = RouteTarget - fields = ('pk', 'id', 'name', 'tenant', 'description', 'tags') + fields = ('pk', 'id', 'name', 'tenant', 'description', 'tags', 'created', 'last_updated',) default_columns = ('pk', 'name', 'tenant', 'description') diff --git a/netbox/ipam/tests/test_api.py b/netbox/ipam/tests/test_api.py index dfbf1a97198..d99de6d2071 100644 --- a/netbox/ipam/tests/test_api.py +++ b/netbox/ipam/tests/test_api.py @@ -832,6 +832,41 @@ class VLANTest(APIViewTestCases.APIViewTestCase): self.assertTrue(content['detail'].startswith('Unable to delete object.')) +class ServiceTemplateTest(APIViewTestCases.APIViewTestCase): + model = ServiceTemplate + brief_fields = ['display', 'id', 'name', 'ports', 'protocol', 'url'] + bulk_update_data = { + 'description': 'New description', + } + + @classmethod + def setUpTestData(cls): + service_templates = ( + ServiceTemplate(name='Service Template 1', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[1, 2]), + ServiceTemplate(name='Service Template 2', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[3, 4]), + ServiceTemplate(name='Service Template 3', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[5, 6]), + ) + ServiceTemplate.objects.bulk_create(service_templates) + + cls.create_data = [ + { + 'name': 'Service Template 4', + 'protocol': ServiceProtocolChoices.PROTOCOL_TCP, + 'ports': [7, 8], + }, + { + 'name': 'Service Template 5', + 'protocol': ServiceProtocolChoices.PROTOCOL_TCP, + 'ports': [9, 10], + }, + { + 'name': 'Service Template 6', + 'protocol': ServiceProtocolChoices.PROTOCOL_TCP, + 'ports': [11, 12], + }, + ] + + class ServiceTest(APIViewTestCases.APIViewTestCase): model = Service brief_fields = ['display', 'id', 'name', 'ports', 'protocol', 'url'] diff --git a/netbox/ipam/tests/test_filtersets.py b/netbox/ipam/tests/test_filtersets.py index 773737deab2..d673628af30 100644 --- a/netbox/ipam/tests/test_filtersets.py +++ b/netbox/ipam/tests/test_filtersets.py @@ -1307,6 +1307,35 @@ class VLANTestCase(TestCase, ChangeLoggedFilterSetTests): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6) # 5 scoped + 1 global +class ServiceTemplateTestCase(TestCase, ChangeLoggedFilterSetTests): + queryset = ServiceTemplate.objects.all() + filterset = ServiceTemplateFilterSet + + @classmethod + def setUpTestData(cls): + service_templates = ( + ServiceTemplate(name='Service Template 1', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[1001]), + ServiceTemplate(name='Service Template 2', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[1002]), + ServiceTemplate(name='Service Template 3', protocol=ServiceProtocolChoices.PROTOCOL_UDP, ports=[1003]), + ServiceTemplate(name='Service Template 4', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[2001]), + ServiceTemplate(name='Service Template 5', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[2002]), + ServiceTemplate(name='Service Template 6', protocol=ServiceProtocolChoices.PROTOCOL_UDP, ports=[2003]), + ) + ServiceTemplate.objects.bulk_create(service_templates) + + def test_name(self): + params = {'name': ['Service Template 1', 'Service Template 2']} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + + def test_protocol(self): + params = {'protocol': ServiceProtocolChoices.PROTOCOL_TCP} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) + + def test_port(self): + params = {'port': '1001'} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + + class ServiceTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = Service.objects.all() filterset = ServiceFilterSet diff --git a/netbox/ipam/tests/test_views.py b/netbox/ipam/tests/test_views.py index 1e7a7238938..672cfbe082b 100644 --- a/netbox/ipam/tests/test_views.py +++ b/netbox/ipam/tests/test_views.py @@ -1,5 +1,7 @@ import datetime +from django.test import override_settings +from django.urls import reverse from netaddr import IPNetwork from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site @@ -222,6 +224,21 @@ class AggregateTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'description': 'New description', } + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_aggregate_prefixes(self): + rir = RIR.objects.first() + aggregate = Aggregate.objects.create(prefix=IPNetwork('192.168.0.0/16'), rir=rir) + prefixes = ( + Prefix(prefix=IPNetwork('192.168.1.0/24')), + Prefix(prefix=IPNetwork('192.168.2.0/24')), + Prefix(prefix=IPNetwork('192.168.3.0/24')), + ) + Prefix.objects.bulk_create(prefixes) + self.assertEqual(aggregate.get_child_prefixes().count(), 3) + + url = reverse('ipam:aggregate_prefixes', kwargs={'pk': aggregate.pk}) + self.assertHttpStatus(self.client.get(url), 200) + class RoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): model = Role @@ -319,6 +336,48 @@ class PrefixTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'description': 'New description', } + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_prefix_prefixes(self): + prefixes = ( + Prefix(prefix=IPNetwork('192.168.0.0/16')), + Prefix(prefix=IPNetwork('192.168.1.0/24')), + Prefix(prefix=IPNetwork('192.168.2.0/24')), + Prefix(prefix=IPNetwork('192.168.3.0/24')), + ) + Prefix.objects.bulk_create(prefixes) + self.assertEqual(prefixes[0].get_child_prefixes().count(), 3) + + url = reverse('ipam:prefix_prefixes', kwargs={'pk': prefixes[0].pk}) + self.assertHttpStatus(self.client.get(url), 200) + + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_prefix_ipranges(self): + prefix = Prefix.objects.create(prefix=IPNetwork('192.168.0.0/16')) + ip_ranges = ( + IPRange(start_address='192.168.0.1/24', end_address='192.168.0.100/24', size=99), + IPRange(start_address='192.168.1.1/24', end_address='192.168.1.100/24', size=99), + IPRange(start_address='192.168.2.1/24', end_address='192.168.2.100/24', size=99), + ) + IPRange.objects.bulk_create(ip_ranges) + self.assertEqual(prefix.get_child_ranges().count(), 3) + + url = reverse('ipam:prefix_ipranges', kwargs={'pk': prefix.pk}) + self.assertHttpStatus(self.client.get(url), 200) + + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_prefix_ipaddresses(self): + prefix = Prefix.objects.create(prefix=IPNetwork('192.168.0.0/16')) + ip_addresses = ( + IPAddress(address=IPNetwork('192.168.0.1/16')), + IPAddress(address=IPNetwork('192.168.0.2/16')), + IPAddress(address=IPNetwork('192.168.0.3/16')), + ) + IPAddress.objects.bulk_create(ip_addresses) + self.assertEqual(prefix.get_child_ips().count(), 3) + + url = reverse('ipam:prefix_ipaddresses', kwargs={'pk': prefix.pk}) + self.assertHttpStatus(self.client.get(url), 200) + class IPRangeTestCase(ViewTestCases.PrimaryObjectViewTestCase): model = IPRange @@ -377,6 +436,24 @@ class IPRangeTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'description': 'New description', } + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_iprange_ipaddresses(self): + iprange = IPRange.objects.create( + start_address=IPNetwork('192.168.0.1/24'), + end_address=IPNetwork('192.168.0.100/24'), + size=99 + ) + ip_addresses = ( + IPAddress(address=IPNetwork('192.168.0.1/24')), + IPAddress(address=IPNetwork('192.168.0.2/24')), + IPAddress(address=IPNetwork('192.168.0.3/24')), + ) + IPAddress.objects.bulk_create(ip_addresses) + self.assertEqual(iprange.get_child_ips().count(), 3) + + url = reverse('ipam:iprange_ipaddresses', kwargs={'pk': iprange.pk}) + self.assertHttpStatus(self.client.get(url), 200) + class IPAddressTestCase(ViewTestCases.PrimaryObjectViewTestCase): model = IPAddress @@ -564,6 +641,41 @@ class VLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): } +class ServiceTemplateTestCase(ViewTestCases.PrimaryObjectViewTestCase): + model = ServiceTemplate + + @classmethod + def setUpTestData(cls): + ServiceTemplate.objects.bulk_create([ + ServiceTemplate(name='Service Template 1', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[101]), + ServiceTemplate(name='Service Template 2', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[102]), + ServiceTemplate(name='Service Template 3', protocol=ServiceProtocolChoices.PROTOCOL_TCP, ports=[103]), + ]) + + tags = create_tags('Alpha', 'Bravo', 'Charlie') + + cls.form_data = { + 'name': 'Service Template X', + 'protocol': ServiceProtocolChoices.PROTOCOL_UDP, + 'ports': '104,105', + 'description': 'A new service template', + 'tags': [t.pk for t in tags], + } + + cls.csv_data = ( + "name,protocol,ports,description", + "Service Template 4,tcp,1,First service template", + "Service Template 5,tcp,2,Second service template", + "Service Template 6,tcp,3,Third service template", + ) + + cls.bulk_edit_data = { + 'protocol': ServiceProtocolChoices.PROTOCOL_UDP, + 'ports': '106,107', + 'description': 'New description', + } + + class ServiceTestCase(ViewTestCases.PrimaryObjectViewTestCase): model = Service @@ -607,3 +719,30 @@ class ServiceTestCase(ViewTestCases.PrimaryObjectViewTestCase): 'ports': '106,107', 'description': 'New description', } + + @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) + def test_create_from_template(self): + self.add_permissions('ipam.add_service') + + device = Device.objects.first() + service_template = ServiceTemplate.objects.create( + name='HTTP', + protocol=ServiceProtocolChoices.PROTOCOL_TCP, + ports=[80], + description='Hypertext transfer protocol' + ) + + request = { + 'path': self._get_url('add'), + 'data': { + 'device': device.pk, + 'service_template': service_template.pk, + }, + } + self.assertHttpStatus(self.client.post(**request), 302) + instance = self._get_queryset().order_by('pk').last() + self.assertEqual(instance.device, device) + self.assertEqual(instance.name, service_template.name) + self.assertEqual(instance.protocol, service_template.protocol) + self.assertEqual(instance.ports, service_template.ports) + self.assertEqual(instance.description, service_template.description) diff --git a/netbox/ipam/urls.py b/netbox/ipam/urls.py index a9f42025331..0a4eddc6cba 100644 --- a/netbox/ipam/urls.py +++ b/netbox/ipam/urls.py @@ -162,9 +162,21 @@ urlpatterns = [ path('vlans//changelog/', ObjectChangeLogView.as_view(), name='vlan_changelog', kwargs={'model': VLAN}), path('vlans//journal/', ObjectJournalView.as_view(), name='vlan_journal', kwargs={'model': VLAN}), + # Service templates + path('service-templates/', views.ServiceTemplateListView.as_view(), name='servicetemplate_list'), + path('service-templates/add/', views.ServiceTemplateEditView.as_view(), name='servicetemplate_add'), + path('service-templates/import/', views.ServiceTemplateBulkImportView.as_view(), name='servicetemplate_import'), + path('service-templates/edit/', views.ServiceTemplateBulkEditView.as_view(), name='servicetemplate_bulk_edit'), + path('service-templates/delete/', views.ServiceTemplateBulkDeleteView.as_view(), name='servicetemplate_bulk_delete'), + path('service-templates//', views.ServiceTemplateView.as_view(), name='servicetemplate'), + path('service-templates//edit/', views.ServiceTemplateEditView.as_view(), name='servicetemplate_edit'), + path('service-templates//delete/', views.ServiceTemplateDeleteView.as_view(), name='servicetemplate_delete'), + path('service-templates//changelog/', ObjectChangeLogView.as_view(), name='servicetemplate_changelog', kwargs={'model': ServiceTemplate}), + path('service-templates//journal/', ObjectJournalView.as_view(), name='servicetemplate_journal', kwargs={'model': ServiceTemplate}), + # Services path('services/', views.ServiceListView.as_view(), name='service_list'), - path('services/add/', views.ServiceEditView.as_view(), name='service_add'), + path('services/add/', views.ServiceCreateView.as_view(), name='service_add'), path('services/import/', views.ServiceBulkImportView.as_view(), name='service_import'), path('services/edit/', views.ServiceBulkEditView.as_view(), name='service_bulk_edit'), path('services/delete/', views.ServiceBulkDeleteView.as_view(), name='service_bulk_delete'), diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 1f20e886f6b..85c2482e5a9 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -8,7 +8,7 @@ from dcim.filtersets import InterfaceFilterSet from dcim.models import Interface, Site from dcim.tables import SiteTable from netbox.views import generic -from utilities.tables import paginate_table +from netbox.tables import configure_table from utilities.utils import count_related from virtualization.filtersets import VMInterfaceFilterSet from virtualization.models import VMInterface @@ -161,7 +161,7 @@ class RIRView(generic.ObjectView): rir=instance ) aggregates_table = tables.AggregateTable(aggregates, exclude=('rir', 'utilization')) - paginate_table(aggregates_table, request) + configure_table(aggregates_table, request) return { 'aggregates_table': aggregates_table, @@ -219,7 +219,7 @@ class ASNView(generic.ObjectView): def get_extra_context(self, request, instance): sites = instance.sites.restrict(request.user, 'view') sites_table = SiteTable(sites) - paginate_table(sites_table, request) + configure_table(sites_table, request) return { 'sites_table': sites_table, @@ -356,7 +356,7 @@ class RoleView(generic.ObjectView): ) prefixes_table = tables.PrefixTable(prefixes, exclude=('role', 'utilization')) - paginate_table(prefixes_table, request) + configure_table(prefixes_table, request) return { 'prefixes_table': prefixes_table, @@ -505,9 +505,7 @@ class PrefixIPAddressesView(generic.ObjectChildrenView): template_name = 'ipam/prefix/ip_addresses.html' def get_children(self, request, parent): - return parent.get_child_ips().restrict(request.user, 'view').prefetch_related( - 'vrf', 'role', 'tenant', - ) + return parent.get_child_ips().restrict(request.user, 'view').prefetch_related('vrf', 'tenant') def prep_table_data(self, request, queryset, parent): show_available = bool(request.GET.get('show_available', 'true') == 'true') @@ -531,7 +529,6 @@ class PrefixEditView(generic.ObjectEditView): class PrefixDeleteView(generic.ObjectDeleteView): queryset = Prefix.objects.all() - template_name = 'ipam/prefix_delete.html' class PrefixBulkImportView(generic.BulkImportView): @@ -664,7 +661,7 @@ class IPAddressView(generic.ObjectView): vrf=instance.vrf, address__net_contained_or_equal=str(instance.address) ) related_ips_table = tables.IPAddressTable(related_ips, orderable=False) - paginate_table(related_ips_table, request) + configure_table(related_ips_table, request) return { 'parent_prefixes_table': parent_prefixes_table, @@ -800,7 +797,7 @@ class VLANGroupView(generic.ObjectView): vlans_table = tables.VLANTable(vlans, exclude=('site', 'group', 'prefixes')) if request.user.has_perm('ipam.change_vlan') or request.user.has_perm('ipam.delete_vlan'): vlans_table.columns.show('pk') - paginate_table(vlans_table, request) + configure_table(vlans_table, request) # Compile permissions list for rendering the object table permissions = { @@ -1031,6 +1028,49 @@ class VLANBulkDeleteView(generic.BulkDeleteView): table = tables.VLANTable +# +# Service templates +# + +class ServiceTemplateListView(generic.ObjectListView): + queryset = ServiceTemplate.objects.all() + filterset = filtersets.ServiceTemplateFilterSet + filterset_form = forms.ServiceTemplateFilterForm + table = tables.ServiceTemplateTable + + +class ServiceTemplateView(generic.ObjectView): + queryset = ServiceTemplate.objects.all() + + +class ServiceTemplateEditView(generic.ObjectEditView): + queryset = ServiceTemplate.objects.all() + model_form = forms.ServiceTemplateForm + + +class ServiceTemplateDeleteView(generic.ObjectDeleteView): + queryset = ServiceTemplate.objects.all() + + +class ServiceTemplateBulkImportView(generic.BulkImportView): + queryset = ServiceTemplate.objects.all() + model_form = forms.ServiceTemplateCSVForm + table = tables.ServiceTemplateTable + + +class ServiceTemplateBulkEditView(generic.BulkEditView): + queryset = ServiceTemplate.objects.all() + filterset = filtersets.ServiceTemplateFilterSet + table = tables.ServiceTemplateTable + form = forms.ServiceTemplateBulkEditForm + + +class ServiceTemplateBulkDeleteView(generic.BulkDeleteView): + queryset = ServiceTemplate.objects.all() + filterset = filtersets.ServiceTemplateFilterSet + table = tables.ServiceTemplateTable + + # # Services # @@ -1047,22 +1087,28 @@ class ServiceView(generic.ObjectView): queryset = Service.objects.prefetch_related('ipaddresses') +class ServiceCreateView(generic.ObjectEditView): + queryset = Service.objects.all() + model_form = forms.ServiceCreateForm + template_name = 'ipam/service_create.html' + + class ServiceEditView(generic.ObjectEditView): queryset = Service.objects.prefetch_related('ipaddresses') model_form = forms.ServiceForm template_name = 'ipam/service_edit.html' +class ServiceDeleteView(generic.ObjectDeleteView): + queryset = Service.objects.all() + + class ServiceBulkImportView(generic.BulkImportView): queryset = Service.objects.all() model_form = forms.ServiceCSVForm table = tables.ServiceTable -class ServiceDeleteView(generic.ObjectDeleteView): - queryset = Service.objects.all() - - class ServiceBulkEditView(generic.BulkEditView): queryset = Service.objects.prefetch_related('device', 'virtual_machine') filterset = filtersets.ServiceFilterSet diff --git a/netbox/netbox/filtersets.py b/netbox/netbox/filtersets.py index f42ab064b15..e36b9dd1dbf 100644 --- a/netbox/netbox/filtersets.py +++ b/netbox/netbox/filtersets.py @@ -18,8 +18,8 @@ from utilities import filters __all__ = ( 'BaseFilterSet', 'ChangeLoggedModelFilterSet', + 'NetBoxModelFilterSet', 'OrganizationalModelFilterSet', - 'PrimaryModelFilterSet', ) @@ -29,7 +29,7 @@ __all__ = ( class BaseFilterSet(django_filters.FilterSet): """ - A base FilterSet which provides common functionality to all NetBox FilterSets + A base FilterSet which provides some enhanced functionality over django-filter2's FilterSet class. """ FILTER_DEFAULTS = deepcopy(django_filters.filterset.FILTER_FOR_DBFIELD_DEFAULTS) FILTER_DEFAULTS.update({ @@ -120,6 +120,10 @@ class BaseFilterSet(django_filters.FilterSet): def get_additional_lookups(cls, existing_filter_name, existing_filter): new_filters = {} + # Skip on abstract models + if not cls._meta.model: + return {} + # Skip nonstandard lookup expressions if existing_filter.method is not None or existing_filter.lookup_expr not in ['exact', 'in']: return {} @@ -213,7 +217,11 @@ class ChangeLoggedModelFilterSet(BaseFilterSet): ) -class PrimaryModelFilterSet(ChangeLoggedModelFilterSet): +class NetBoxModelFilterSet(ChangeLoggedModelFilterSet): + """ + Provides additional filtering functionality (e.g. tags, custom fields) for core NetBox models. + """ + tag = TagFilter() def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -239,7 +247,7 @@ class PrimaryModelFilterSet(ChangeLoggedModelFilterSet): self.filters.update(custom_field_filters) -class OrganizationalModelFilterSet(PrimaryModelFilterSet): +class OrganizationalModelFilterSet(NetBoxModelFilterSet): """ A base class for adding the search method to models which only expose the `name` and `slug` fields """ diff --git a/netbox/netbox/models/__init__.py b/netbox/netbox/models/__init__.py new file mode 100644 index 00000000000..b3bfe06c07d --- /dev/null +++ b/netbox/netbox/models/__init__.py @@ -0,0 +1,124 @@ +from django.core.validators import ValidationError +from django.db import models +from mptt.models import MPTTModel, TreeForeignKey + +from utilities.mptt import TreeManager +from utilities.querysets import RestrictedQuerySet +from netbox.models.features import * + +__all__ = ( + 'ChangeLoggedModel', + 'NestedGroupModel', + 'OrganizationalModel', + 'NetBoxModel', +) + + +class NetBoxFeatureSet( + ChangeLoggingMixin, + CustomFieldsMixin, + CustomLinksMixin, + CustomValidationMixin, + ExportTemplatesMixin, + JournalingMixin, + TagsMixin, + WebhooksMixin +): + class Meta: + abstract = True + + +# +# Base model classes +# + +class ChangeLoggedModel(ChangeLoggingMixin, CustomValidationMixin, models.Model): + """ + Base model for ancillary models; provides limited functionality for models which don't + support NetBox's full feature set. + """ + objects = RestrictedQuerySet.as_manager() + + class Meta: + abstract = True + + +class NetBoxModel(NetBoxFeatureSet, models.Model): + """ + Primary models represent real objects within the infrastructure being modeled. + """ + objects = RestrictedQuerySet.as_manager() + + class Meta: + abstract = True + + +class NestedGroupModel(NetBoxFeatureSet, MPTTModel): + """ + Base model for objects which are used to form a hierarchy (regions, locations, etc.). These models nest + recursively using MPTT. Within each parent, each child instance must have a unique name. + """ + parent = TreeForeignKey( + to='self', + on_delete=models.CASCADE, + related_name='children', + blank=True, + null=True, + db_index=True + ) + name = models.CharField( + max_length=100 + ) + description = models.CharField( + max_length=200, + blank=True + ) + + objects = TreeManager() + + class Meta: + abstract = True + + class MPTTMeta: + order_insertion_by = ('name',) + + def __str__(self): + return self.name + + def clean(self): + super().clean() + + # An MPTT model cannot be its own parent + if self.pk and self.parent_id == self.pk: + raise ValidationError({ + "parent": "Cannot assign self as parent." + }) + + +class OrganizationalModel(NetBoxFeatureSet, models.Model): + """ + Organizational models are those which are used solely to categorize and qualify other objects, and do not convey + any real information about the infrastructure being modeled (for example, functional device roles). Organizational + models provide the following standard attributes: + - Unique name + - Unique slug (automatically derived from name) + - Optional description + """ + name = models.CharField( + max_length=100, + unique=True + ) + slug = models.SlugField( + max_length=100, + unique=True + ) + description = models.CharField( + max_length=200, + blank=True + ) + + objects = RestrictedQuerySet.as_manager() + + class Meta: + abstract = True + ordering = ('name',) diff --git a/netbox/netbox/models.py b/netbox/netbox/models/features.py similarity index 51% rename from netbox/netbox/models.py rename to netbox/netbox/models/features.py index 91240ee9096..24b9a4bff59 100644 --- a/netbox/netbox/models.py +++ b/netbox/netbox/models/features.py @@ -1,35 +1,37 @@ -import logging -from collections import OrderedDict - from django.contrib.contenttypes.fields import GenericRelation +from django.db.models.signals import class_prepared +from django.dispatch import receiver + from django.core.serializers.json import DjangoJSONEncoder from django.core.validators import ValidationError from django.db import models -from mptt.models import MPTTModel, TreeForeignKey from taggit.managers import TaggableManager from extras.choices import ObjectChangeActionChoices +from extras.utils import register_features from netbox.signals import post_clean -from utilities.mptt import TreeManager -from utilities.querysets import RestrictedQuerySet from utilities.utils import serialize_object __all__ = ( - 'BigIDModel', - 'ChangeLoggedModel', - 'NestedGroupModel', - 'OrganizationalModel', - 'PrimaryModel', + 'ChangeLoggingMixin', + 'CustomFieldsMixin', + 'CustomLinksMixin', + 'CustomValidationMixin', + 'ExportTemplatesMixin', + 'JobResultsMixin', + 'JournalingMixin', + 'TagsMixin', + 'WebhooksMixin', ) # -# Mixins +# Feature mixins # class ChangeLoggingMixin(models.Model): """ - Provides change logging support. + Provides change logging support for a model. Adds the `created` and `last_updated` fields. """ created = models.DateField( auto_now_add=True, @@ -49,11 +51,9 @@ class ChangeLoggingMixin(models.Model): """ Save a snapshot of the object's current state in preparation for modification. """ - logger = logging.getLogger('netbox') - logger.debug(f"Taking a snapshot of {self}") self._prechange_snapshot = serialize_object(self) - def to_objectchange(self, action, related_object=None): + def to_objectchange(self, action): """ Return a new ObjectChange representing a change made to this object. This will typically be called automatically by ChangeLoggingMiddleware. @@ -61,7 +61,6 @@ class ChangeLoggingMixin(models.Model): from extras.models import ObjectChange objectchange = ObjectChange( changed_object=self, - related_object=related_object, object_repr=str(self)[:200], action=action ) @@ -75,7 +74,7 @@ class ChangeLoggingMixin(models.Model): class CustomFieldsMixin(models.Model): """ - Provides support for custom fields. + Enables support for custom fields. """ custom_field_data = models.JSONField( encoder=DjangoJSONEncoder, @@ -89,26 +88,42 @@ class CustomFieldsMixin(models.Model): @property def cf(self): """ - Convenience wrapper for custom field data. + A pass-through convenience alias for accessing `custom_field_data` (read-only). + + ```python + >>> tenant = Tenant.objects.first() + >>> tenant.cf + {'cust_id': 'CYB01'} + ``` """ return self.custom_field_data def get_custom_fields(self): """ - Return a dictionary of custom fields for a single object in the form {: value}. + Return a dictionary of custom fields for a single object in the form `{field: value}`. + + ```python + >>> tenant = Tenant.objects.first() + >>> tenant.get_custom_fields() + {: 'CYB01'} + ``` """ from extras.models import CustomField - fields = CustomField.objects.get_for_model(self) - return OrderedDict([ - (field, self.custom_field_data.get(field.name)) for field in fields - ]) + data = {} + for field in CustomField.objects.get_for_model(self): + value = self.custom_field_data.get(field.name) + data[field] = field.deserialize(value) + + return data def clean(self): super().clean() from extras.models import CustomField - custom_fields = {cf.name: cf for cf in CustomField.objects.get_for_model(self)} + custom_fields = { + cf.name: cf for cf in CustomField.objects.get_for_model(self) + } # Validate all field values for field_name, value in self.custom_field_data.items(): @@ -125,9 +140,17 @@ class CustomFieldsMixin(models.Model): raise ValidationError(f"Missing required custom field '{cf.name}'.") +class CustomLinksMixin(models.Model): + """ + Enables support for custom links. + """ + class Meta: + abstract = True + + class CustomValidationMixin(models.Model): """ - Enables user-configured validation rules for built-in models by extending the clean() method. + Enables user-configured validation rules for models. """ class Meta: abstract = True @@ -139,9 +162,41 @@ class CustomValidationMixin(models.Model): post_clean.send(sender=self.__class__, instance=self) +class ExportTemplatesMixin(models.Model): + """ + Enables support for export templates. + """ + class Meta: + abstract = True + + +class JobResultsMixin(models.Model): + """ + Enables support for job results. + """ + class Meta: + abstract = True + + +class JournalingMixin(models.Model): + """ + Enables support for object journaling. Adds a generic relation (`journal_entries`) + to NetBox's JournalEntry model. + """ + journal_entries = GenericRelation( + to='extras.JournalEntry', + object_id_field='assigned_object_id', + content_type_field='assigned_object_type' + ) + + class Meta: + abstract = True + + class TagsMixin(models.Model): """ - Enable the assignment of Tags. + Enables support for tag assignment. Assigned tags can be managed via the `tags` attribute, + which is a `TaggableManager` instance. """ tags = TaggableManager( through='extras.TaggedItem' @@ -151,113 +206,28 @@ class TagsMixin(models.Model): abstract = True -# -# Base model classes - -class BigIDModel(models.Model): +class WebhooksMixin(models.Model): """ - Abstract base model for all data objects. Ensures the use of a 64-bit PK. + Enables support for webhooks. """ - id = models.BigAutoField( - primary_key=True - ) - class Meta: abstract = True -class ChangeLoggedModel(ChangeLoggingMixin, CustomValidationMixin, BigIDModel): - """ - Base model for all objects which support change logging. - """ - objects = RestrictedQuerySet.as_manager() - - class Meta: - abstract = True +FEATURES_MAP = ( + ('custom_fields', CustomFieldsMixin), + ('custom_links', CustomLinksMixin), + ('export_templates', ExportTemplatesMixin), + ('job_results', JobResultsMixin), + ('journaling', JournalingMixin), + ('tags', TagsMixin), + ('webhooks', WebhooksMixin), +) -class PrimaryModel(ChangeLoggingMixin, CustomFieldsMixin, CustomValidationMixin, TagsMixin, BigIDModel): - """ - Primary models represent real objects within the infrastructure being modeled. - """ - journal_entries = GenericRelation( - to='extras.JournalEntry', - object_id_field='assigned_object_id', - content_type_field='assigned_object_type' - ) - - objects = RestrictedQuerySet.as_manager() - - class Meta: - abstract = True - - -class NestedGroupModel(ChangeLoggingMixin, CustomFieldsMixin, CustomValidationMixin, TagsMixin, BigIDModel, MPTTModel): - """ - Base model for objects which are used to form a hierarchy (regions, locations, etc.). These models nest - recursively using MPTT. Within each parent, each child instance must have a unique name. - """ - parent = TreeForeignKey( - to='self', - on_delete=models.CASCADE, - related_name='children', - blank=True, - null=True, - db_index=True - ) - name = models.CharField( - max_length=100 - ) - description = models.CharField( - max_length=200, - blank=True - ) - - objects = TreeManager() - - class Meta: - abstract = True - - class MPTTMeta: - order_insertion_by = ('name',) - - def __str__(self): - return self.name - - def clean(self): - super().clean() - - # An MPTT model cannot be its own parent - if self.pk and self.parent_id == self.pk: - raise ValidationError({ - "parent": "Cannot assign self as parent." - }) - - -class OrganizationalModel(ChangeLoggingMixin, CustomFieldsMixin, CustomValidationMixin, TagsMixin, BigIDModel): - """ - Organizational models are those which are used solely to categorize and qualify other objects, and do not convey - any real information about the infrastructure being modeled (for example, functional device roles). Organizational - models provide the following standard attributes: - - Unique name - - Unique slug (automatically derived from name) - - Optional description - """ - name = models.CharField( - max_length=100, - unique=True - ) - slug = models.SlugField( - max_length=100, - unique=True - ) - description = models.CharField( - max_length=200, - blank=True - ) - - objects = RestrictedQuerySet.as_manager() - - class Meta: - abstract = True - ordering = ('name',) +@receiver(class_prepared) +def _register_features(sender, **kwargs): + features = { + feature for feature, cls in FEATURES_MAP if issubclass(sender, cls) + } + register_features(sender, features) diff --git a/netbox/netbox/navigation_menu.py b/netbox/netbox/navigation_menu.py index dc83d02f96a..85d86a47acd 100644 --- a/netbox/netbox/navigation_menu.py +++ b/netbox/netbox/navigation_menu.py @@ -264,6 +264,7 @@ IPAM_MENU = Menu( label='Other', items=( get_model_item('ipam', 'fhrpgroup', 'FHRP Groups'), + get_model_item('ipam', 'servicetemplate', 'Service Templates'), get_model_item('ipam', 'service', 'Services'), ), ), diff --git a/netbox/netbox/preferences.py b/netbox/netbox/preferences.py index 4cad8cf247b..aec8bc7527a 100644 --- a/netbox/netbox/preferences.py +++ b/netbox/netbox/preferences.py @@ -26,6 +26,16 @@ PREFERENCES = { description='The number of objects to display per page', coerce=lambda x: int(x) ), + 'pagination.placement': UserPreference( + label='Paginator placement', + choices=( + ('bottom', 'Bottom'), + ('top', 'Top'), + ('both', 'Both'), + ), + description='Where the paginator controls will be displayed relative to a table', + default='bottom' + ), # Miscellaneous 'data_format': UserPreference( diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 5808602a22b..2c33ec862b9 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -406,7 +406,7 @@ LOGIN_REDIRECT_URL = f'/{BASE_PATH}' CSRF_TRUSTED_ORIGINS = ALLOWED_HOSTS -DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' # Exclude potentially sensitive models from wildcard view exemption. These may still be exempted # by specifying the model individually in the EXEMPT_VIEW_PERMISSIONS configuration parameter. diff --git a/netbox/netbox/tables/__init__.py b/netbox/netbox/tables/__init__.py new file mode 100644 index 00000000000..40ae2f5472d --- /dev/null +++ b/netbox/netbox/tables/__init__.py @@ -0,0 +1,29 @@ +from django_tables2 import RequestConfig + +from utilities.paginator import EnhancedPaginator, get_paginate_count +from .columns import * +from .tables import * + + +def configure_table(table, request): + """ + Paginate a table given a request context. + """ + # Save ordering preference + if request.user.is_authenticated: + table_name = table.__class__.__name__ + if table.prefixed_order_by_field in request.GET: + # If an ordering has been specified as a query parameter, save it as the + # user's preferred ordering for this table. + ordering = request.GET.getlist(table.prefixed_order_by_field) + request.user.config.set(f'tables.{table_name}.ordering', ordering, commit=True) + elif ordering := request.user.config.get(f'tables.{table_name}.ordering'): + # If no ordering has been specified, set the preferred ordering (if any). + table.order_by = ordering + + # Paginate the table results + paginate = { + 'paginator_class': EnhancedPaginator, + 'per_page': get_paginate_count(request) + } + RequestConfig(request, paginate).configure(table) diff --git a/netbox/netbox/tables/columns.py b/netbox/netbox/tables/columns.py new file mode 100644 index 00000000000..397a5a4efe6 --- /dev/null +++ b/netbox/netbox/tables/columns.py @@ -0,0 +1,420 @@ +from dataclasses import dataclass +from typing import Optional + +import django_tables2 as tables +from django.conf import settings +from django.contrib.auth.models import AnonymousUser +from django.template import Context, Template +from django.urls import reverse +from django.utils.safestring import mark_safe +from django_tables2.utils import Accessor + +from extras.choices import CustomFieldTypeChoices +from utilities.utils import content_type_identifier, content_type_name, resolve_namespace + +__all__ = ( + 'ActionsColumn', + 'BooleanColumn', + 'ChoiceFieldColumn', + 'ColorColumn', + 'ColoredLabelColumn', + 'ContentTypeColumn', + 'ContentTypesColumn', + 'CustomFieldColumn', + 'CustomLinkColumn', + 'LinkedCountColumn', + 'MarkdownColumn', + 'MPTTColumn', + 'TagColumn', + 'TemplateColumn', + 'ToggleColumn', + 'UtilizationColumn', +) + + +class ToggleColumn(tables.CheckBoxColumn): + """ + Extend CheckBoxColumn to add a "toggle all" checkbox in the column header. + """ + def __init__(self, *args, **kwargs): + default = kwargs.pop('default', '') + visible = kwargs.pop('visible', False) + if 'attrs' not in kwargs: + kwargs['attrs'] = { + 'td': { + 'class': 'min-width', + }, + 'input': { + 'class': 'form-check-input' + } + } + super().__init__(*args, default=default, visible=visible, **kwargs) + + @property + def header(self): + return mark_safe('') + + +class BooleanColumn(tables.Column): + """ + Custom implementation of BooleanColumn to render a nicely-formatted checkmark or X icon instead of a Unicode + character. + """ + def render(self, value): + if value: + rendered = '' + elif value is None: + rendered = '' + else: + rendered = '' + return mark_safe(rendered) + + def value(self, value): + return str(value) + + +class TemplateColumn(tables.TemplateColumn): + """ + Overrides the stock TemplateColumn to render a placeholder if the returned value is an empty string. + """ + PLACEHOLDER = mark_safe('—') + + def render(self, *args, **kwargs): + ret = super().render(*args, **kwargs) + if not ret.strip(): + return self.PLACEHOLDER + return ret + + def value(self, **kwargs): + ret = super().value(**kwargs) + if ret == self.PLACEHOLDER: + return '' + return ret + + +@dataclass +class ActionsItem: + title: str + icon: str + permission: Optional[str] = None + + +class ActionsColumn(tables.Column): + """ + A dropdown menu which provides edit, delete, and changelog links for an object. Can optionally include + additional buttons rendered from a template string. + + :param sequence: The ordered list of dropdown menu items to include + :param extra_buttons: A Django template string which renders additional buttons preceding the actions dropdown + """ + attrs = {'td': {'class': 'text-end text-nowrap noprint'}} + empty_values = () + actions = { + 'edit': ActionsItem('Edit', 'pencil', 'change'), + 'delete': ActionsItem('Delete', 'trash-can-outline', 'delete'), + 'changelog': ActionsItem('Changelog', 'history'), + } + + def __init__(self, *args, sequence=('edit', 'delete', 'changelog'), extra_buttons='', **kwargs): + super().__init__(*args, **kwargs) + + self.extra_buttons = extra_buttons + + # Determine which actions to enable + self.actions = { + name: self.actions[name] for name in sequence + } + + def header(self): + return '' + + def render(self, record, table, **kwargs): + # Skip dummy records (e.g. available VLANs) or those with no actions + if not getattr(record, 'pk', None) or not self.actions: + return '' + + model = table.Meta.model + viewname_base = f'{resolve_namespace(model)}:{model._meta.model_name}' + request = getattr(table, 'context', {}).get('request') + url_appendix = f'?return_url={request.path}' if request else '' + + links = [] + user = getattr(request, 'user', AnonymousUser()) + for action, attrs in self.actions.items(): + permission = f'{model._meta.app_label}.{attrs.permission}_{model._meta.model_name}' + if attrs.permission is None or user.has_perm(permission): + url = reverse(f'{viewname_base}_{action}', kwargs={'pk': record.pk}) + links.append(f'
  • ' + f' {attrs.title}
  • ') + + if not links: + return '' + + menu = f'' \ + f'' \ + f'' \ + f'' + + # Render any extra buttons from template code + if self.extra_buttons: + template = Template(self.extra_buttons) + context = getattr(table, "context", Context()) + context.update({'record': record}) + menu = template.render(context) + menu + + return mark_safe(menu) + + +class ChoiceFieldColumn(tables.Column): + """ + Render a ChoiceField value inside a indicating a particular CSS class. This is useful for displaying colored + choices. The CSS class is derived by calling .get_FOO_class() on the row record. + """ + def render(self, record, bound_column, value): + if value: + name = bound_column.name + css_class = getattr(record, f'get_{name}_class')() + label = getattr(record, f'get_{name}_display')() + return mark_safe( + f'{label}' + ) + return self.default + + def value(self, value): + return value + + +class ContentTypeColumn(tables.Column): + """ + Display a ContentType instance. + """ + def render(self, value): + if value is None: + return None + return content_type_name(value) + + def value(self, value): + if value is None: + return None + return content_type_identifier(value) + + +class ContentTypesColumn(tables.ManyToManyColumn): + """ + Display a list of ContentType instances. + """ + def __init__(self, separator=None, *args, **kwargs): + # Use a line break as the default separator + if separator is None: + separator = mark_safe('
    ') + super().__init__(separator=separator, *args, **kwargs) + + def transform(self, obj): + return content_type_name(obj) + + def value(self, value): + return ','.join([ + content_type_identifier(ct) for ct in self.filter(value) + ]) + + +class ColorColumn(tables.Column): + """ + Display a color (#RRGGBB). + """ + def render(self, value): + return mark_safe( + f' ' + ) + + def value(self, value): + return f'#{value}' + + +class ColoredLabelColumn(tables.TemplateColumn): + """ + Render a colored label (e.g. for DeviceRoles). + """ + template_code = """ +{% load helpers %} + {% if value %} + + {{ value }} + +{% else %} + — +{% endif %} +""" + + def __init__(self, *args, **kwargs): + super().__init__(template_code=self.template_code, *args, **kwargs) + + def value(self, value): + return str(value) + + +class LinkedCountColumn(tables.Column): + """ + Render a count of related objects linked to a filtered URL. + + :param viewname: The view name to use for URL resolution + :param view_kwargs: Additional kwargs to pass for URL resolution (optional) + :param url_params: A dict of query parameters to append to the URL (e.g. ?foo=bar) (optional) + """ + def __init__(self, viewname, *args, view_kwargs=None, url_params=None, default=0, **kwargs): + self.viewname = viewname + self.view_kwargs = view_kwargs or {} + self.url_params = url_params + super().__init__(*args, default=default, **kwargs) + + def render(self, record, value): + if value: + url = reverse(self.viewname, kwargs=self.view_kwargs) + if self.url_params: + url += '?' + '&'.join([ + f'{k}={getattr(record, v) or settings.FILTERS_NULL_CHOICE_VALUE}' + for k, v in self.url_params.items() + ]) + return mark_safe(f'{value}') + return value + + def value(self, value): + return value + + +class TagColumn(tables.TemplateColumn): + """ + Display a list of tags assigned to the object. + """ + template_code = """ + {% load helpers %} + {% for tag in value.all %} + {% tag tag url_name=url_name %} + {% empty %} + + {% endfor %} + """ + + def __init__(self, url_name=None): + super().__init__( + template_code=self.template_code, + extra_context={'url_name': url_name} + ) + + def value(self, value): + return ",".join([tag.name for tag in value.all()]) + + +class CustomFieldColumn(tables.Column): + """ + Display custom fields in the appropriate format. + """ + def __init__(self, customfield, *args, **kwargs): + self.customfield = customfield + kwargs['accessor'] = Accessor(f'custom_field_data__{customfield.name}') + if 'verbose_name' not in kwargs: + kwargs['verbose_name'] = customfield.label or customfield.name + + super().__init__(*args, **kwargs) + + def render(self, value): + if isinstance(value, list): + return ', '.join(v for v in value) + elif self.customfield.type == CustomFieldTypeChoices.TYPE_URL: + # Linkify custom URLs + return mark_safe(f'{value}') + if value is not None: + obj = self.customfield.deserialize(value) + if hasattr(obj, 'get_absolute_url'): + return mark_safe(f'{obj}') + return obj + return self.default + + +class CustomLinkColumn(tables.Column): + """ + Render a custom links as a table column. + """ + def __init__(self, customlink, *args, **kwargs): + self.customlink = customlink + kwargs['accessor'] = Accessor('pk') + if 'verbose_name' not in kwargs: + kwargs['verbose_name'] = customlink.name + + super().__init__(*args, **kwargs) + + def render(self, record): + try: + rendered = self.customlink.render({'obj': record}) + if rendered: + return mark_safe(f'{rendered["text"]}') + except Exception as e: + return mark_safe(f' Error') + return '' + + def value(self, record): + try: + rendered = self.customlink.render({'obj': record}) + if rendered: + return rendered['link'] + except Exception: + pass + return None + + +class MPTTColumn(tables.TemplateColumn): + """ + Display a nested hierarchy for MPTT-enabled models. + """ + template_code = """ + {% load helpers %} + {% for i in record.level|as_range %}{% endfor %} + {{ record.name }} + """ + + def __init__(self, *args, **kwargs): + super().__init__( + template_code=self.template_code, + orderable=False, + attrs={'td': {'class': 'text-nowrap'}}, + *args, + **kwargs + ) + + def value(self, value): + return value + + +class UtilizationColumn(tables.TemplateColumn): + """ + Display a colored utilization bar graph. + """ + template_code = """{% load helpers %}{% if record.pk %}{% utilization_graph value %}{% endif %}""" + + def __init__(self, *args, **kwargs): + super().__init__(template_code=self.template_code, *args, **kwargs) + + def value(self, value): + return f'{value}%' + + +class MarkdownColumn(tables.TemplateColumn): + """ + Render a Markdown string. + """ + template_code = """ + {% load helpers %} + {% if value %} + {{ value|render_markdown }} + {% else %} + — + {% endif %} + """ + + def __init__(self): + super().__init__( + template_code=self.template_code + ) + + def value(self, value): + return value diff --git a/netbox/netbox/tables/tables.py b/netbox/netbox/tables/tables.py new file mode 100644 index 00000000000..fe422118c43 --- /dev/null +++ b/netbox/netbox/tables/tables.py @@ -0,0 +1,168 @@ +import django_tables2 as tables +from django.contrib.auth.models import AnonymousUser +from django.contrib.contenttypes.fields import GenericForeignKey +from django.contrib.contenttypes.models import ContentType +from django.core.exceptions import FieldDoesNotExist +from django.db.models.fields.related import RelatedField +from django_tables2.data import TableQuerysetData + +from extras.models import CustomField, CustomLink +from netbox.tables import columns + +__all__ = ( + 'BaseTable', + 'NetBoxTable', +) + + +class BaseTable(tables.Table): + """ + Base table class for NetBox objects. Adds support for: + + * User configuration (column preferences) + * Automatic prefetching of related objects + * BS5 styling + + :param user: Personalize table display for the given user (optional). Has no effect if AnonymousUser is passed. + """ + exempt_columns = () + + class Meta: + attrs = { + 'class': 'table table-hover object-list', + } + + def __init__(self, *args, user=None, **kwargs): + + super().__init__(*args, **kwargs) + + # Set default empty_text if none was provided + if self.empty_text is None: + self.empty_text = f"No {self._meta.model._meta.verbose_name_plural} found" + + # Hide non-default columns + default_columns = [*getattr(self.Meta, 'default_columns', self.Meta.fields), *self.exempt_columns] + for column in self.columns: + if column.name not in default_columns: + self.columns.hide(column.name) + + # Apply custom column ordering for user + if user is not None and not isinstance(user, AnonymousUser): + selected_columns = user.config.get(f"tables.{self.__class__.__name__}.columns") + if selected_columns: + + # Show only persistent or selected columns + for name, column in self.columns.items(): + if name in [*self.exempt_columns, *selected_columns]: + self.columns.show(name) + else: + self.columns.hide(name) + + # Rearrange the sequence to list selected columns first, followed by all remaining columns + # TODO: There's probably a more clever way to accomplish this + self.sequence = [ + *[c for c in selected_columns if c in self.columns.names()], + *[c for c in self.columns.names() if c not in selected_columns] + ] + + # PK column should always come first + if 'pk' in self.sequence: + self.sequence.remove('pk') + self.sequence.insert(0, 'pk') + + # Actions column should always come last + if 'actions' in self.sequence: + self.sequence.remove('actions') + self.sequence.append('actions') + + # Dynamically update the table's QuerySet to ensure related fields are pre-fetched + if isinstance(self.data, TableQuerysetData): + + prefetch_fields = [] + for column in self.columns: + if column.visible: + model = getattr(self.Meta, 'model') + accessor = column.accessor + prefetch_path = [] + for field_name in accessor.split(accessor.SEPARATOR): + try: + field = model._meta.get_field(field_name) + except FieldDoesNotExist: + break + if isinstance(field, RelatedField): + # Follow ForeignKeys to the related model + prefetch_path.append(field_name) + model = field.remote_field.model + elif isinstance(field, GenericForeignKey): + # Can't prefetch beyond a GenericForeignKey + prefetch_path.append(field_name) + break + if prefetch_path: + prefetch_fields.append('__'.join(prefetch_path)) + self.data.data = self.data.data.prefetch_related(None).prefetch_related(*prefetch_fields) + + def _get_columns(self, visible=True): + columns = [] + for name, column in self.columns.items(): + if column.visible == visible and name not in self.exempt_columns: + columns.append((name, column.verbose_name)) + return columns + + @property + def available_columns(self): + return self._get_columns(visible=False) + + @property + def selected_columns(self): + return self._get_columns(visible=True) + + @property + def objects_count(self): + """ + Return the total number of real objects represented by the Table. This is useful when dealing with + prefixes/IP addresses/etc., where some table rows may represent available address space. + """ + if not hasattr(self, '_objects_count'): + self._objects_count = sum(1 for obj in self.data if hasattr(obj, 'pk')) + return self._objects_count + + +class NetBoxTable(BaseTable): + """ + Table class for most NetBox objects. Adds support for custom field & custom link columns. Includes + default columns for: + + * PK (row selection) + * ID + * Actions + """ + pk = columns.ToggleColumn( + visible=False + ) + id = tables.Column( + linkify=True, + verbose_name='ID' + ) + actions = columns.ActionsColumn() + + exempt_columns = ('pk', 'actions') + + class Meta(BaseTable.Meta): + pass + + def __init__(self, *args, extra_columns=None, **kwargs): + if extra_columns is None: + extra_columns = [] + + # Add custom field & custom link columns + content_type = ContentType.objects.get_for_model(self._meta.model) + custom_fields = CustomField.objects.filter(content_types=content_type) + extra_columns.extend([ + (f'cf_{cf.name}', columns.CustomFieldColumn(cf)) for cf in custom_fields + ]) + custom_links = CustomLink.objects.filter(content_type=content_type, enabled=True) + extra_columns.extend([ + (f'cl_{cl.name}', columns.CustomLinkColumn(cl)) for cl in custom_links + ]) + + super().__init__(*args, extra_columns=extra_columns, **kwargs) diff --git a/netbox/utilities/tests/test_tables.py b/netbox/netbox/tests/test_tables.py similarity index 74% rename from netbox/utilities/tests/test_tables.py rename to netbox/netbox/tests/test_tables.py index 119587ff880..17b9743cdc4 100644 --- a/netbox/utilities/tests/test_tables.py +++ b/netbox/netbox/tests/test_tables.py @@ -2,14 +2,14 @@ from django.template import Context, Template from django.test import TestCase from dcim.models import Site -from utilities.tables import BaseTable, TagColumn +from netbox.tables import NetBoxTable, columns from utilities.testing import create_tags -class TagColumnTable(BaseTable): - tags = TagColumn(url_name='dcim:site_list') +class TagColumnTable(NetBoxTable): + tags = columns.TagColumn(url_name='dcim:site_list') - class Meta(BaseTable.Meta): + class Meta(NetBoxTable.Meta): model = Site fields = ('pk', 'name', 'tags',) default_columns = fields @@ -30,7 +30,8 @@ class TagColumnTest(TestCase): def test_tagcolumn(self): template = Template('{% load render_table from django_tables2 %}{% render_table table %}') + table = TagColumnTable(Site.objects.all(), orderable=False) context = Context({ - 'table': TagColumnTable(Site.objects.all(), orderable=False) + 'table': table }) template.render(context) diff --git a/netbox/netbox/views/generic/base.py b/netbox/netbox/views/generic/base.py new file mode 100644 index 00000000000..3ad3bcf679c --- /dev/null +++ b/netbox/netbox/views/generic/base.py @@ -0,0 +1,58 @@ +from django.shortcuts import get_object_or_404 +from django.views.generic import View + +from utilities.views import ObjectPermissionRequiredMixin + + +class BaseObjectView(ObjectPermissionRequiredMixin, View): + """ + Base view class for reusable generic views. + + Attributes: + queryset: Django QuerySet from which the object(s) will be fetched + template_name: The name of the HTML template file to render + """ + queryset = None + template_name = None + + def get_object(self, **kwargs): + """ + Return the object being viewed or modified. The object is identified by an arbitrary set of keyword arguments + gleaned from the URL, which are passed to `get_object_or_404()`. (Typically, only a primary key is needed.) + + If no matching object is found, return a 404 response. + """ + return get_object_or_404(self.queryset, **kwargs) + + def get_extra_context(self, request, instance): + """ + Return any additional context data to include when rendering the template. + + Args: + request: The current request + instance: The object being viewed + """ + return {} + + +class BaseMultiObjectView(ObjectPermissionRequiredMixin, View): + """ + Base view class for reusable generic views. + + Attributes: + queryset: Django QuerySet from which the object(s) will be fetched + table: The django-tables2 Table class used to render the objects list + template_name: The name of the HTML template file to render + """ + queryset = None + table = None + template_name = None + + def get_extra_context(self, request): + """ + Return any additional context data to include when rendering the template. + + Args: + request: The current request + """ + return {} diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index 6f21a6879a3..9c834d76ff0 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -3,21 +3,27 @@ import re from copy import deepcopy from django.contrib import messages +from django.contrib.contenttypes.models import ContentType from django.core.exceptions import FieldDoesNotExist, ValidationError from django.db import transaction, IntegrityError from django.db.models import ManyToManyField, ProtectedError from django.forms import Form, ModelMultipleChoiceField, MultipleHiddenInput, Textarea -from django.shortcuts import redirect, render -from django.views.generic import View +from django.http import HttpResponse +from django.shortcuts import get_object_or_404, redirect, render +from django_tables2.export import TableExport +from extras.models import ExportTemplate from extras.signals import clear_webhooks from utilities.error_handlers import handle_protectederror from utilities.exceptions import PermissionsViolation from utilities.forms import ( BootstrapMixin, BulkRenameForm, ConfirmationForm, CSVDataField, CSVFileField, restrict_form_fields, ) +from utilities.htmx import is_htmx from utilities.permissions import get_permission_for_model -from utilities.views import GetReturnURLMixin, ObjectPermissionRequiredMixin +from netbox.tables import configure_table +from utilities.views import GetReturnURLMixin +from .base import BaseMultiObjectView __all__ = ( 'BulkComponentCreateView', @@ -26,24 +32,174 @@ __all__ = ( 'BulkEditView', 'BulkImportView', 'BulkRenameView', + 'ObjectListView', ) -class BulkCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class ObjectListView(BaseMultiObjectView): + """ + Display multiple objects, all of the same type, as a table. + + Attributes: + filterset: A django-filter FilterSet that is applied to the queryset + filterset_form: The form class used to render filter options + action_buttons: A list of buttons to include at the top of the page + """ + template_name = 'generic/object_list.html' + filterset = None + filterset_form = None + action_buttons = ('add', 'import', 'export') + + def get_required_permission(self): + return get_permission_for_model(self.queryset.model, 'view') + + def get_table(self, request, permissions): + """ + Return the django-tables2 Table instance to be used for rendering the objects list. + + Args: + request: The current request + permissions: A dictionary mapping of the view, add, change, and delete permissions to booleans indicating + whether the user has each + """ + table = self.table(self.queryset, user=request.user) + if 'pk' in table.base_columns and (permissions['change'] or permissions['delete']): + table.columns.show('pk') + + return table + + # + # Export methods + # + + def export_yaml(self): + """ + Export the queryset of objects as concatenated YAML documents. + """ + yaml_data = [obj.to_yaml() for obj in self.queryset] + + return '---\n'.join(yaml_data) + + def export_table(self, table, columns=None, filename=None): + """ + Export all table data in CSV format. + + Args: + table: The Table instance to export + columns: A list of specific columns to include. If None, all columns will be exported. + filename: The name of the file attachment sent to the client. If None, will be determined automatically + from the queryset model name. + """ + exclude_columns = {'pk', 'actions'} + if columns: + all_columns = [col_name for col_name, _ in table.selected_columns + table.available_columns] + exclude_columns.update({ + col for col in all_columns if col not in columns + }) + exporter = TableExport( + export_format=TableExport.CSV, + table=table, + exclude_columns=exclude_columns + ) + return exporter.response( + filename=filename or f'netbox_{self.queryset.model._meta.verbose_name_plural}.csv' + ) + + def export_template(self, template, request): + """ + Render an ExportTemplate using the current queryset. + + Args: + template: ExportTemplate instance + request: The current request + """ + try: + return template.render_to_response(self.queryset) + except Exception as e: + messages.error(request, f"There was an error rendering the selected export template ({template.name}): {e}") + return redirect(request.path) + + # + # Request handlers + # + + def get(self, request): + """ + GET request handler. + + Args: + request: The current request + """ + model = self.queryset.model + content_type = ContentType.objects.get_for_model(model) + + if self.filterset: + self.queryset = self.filterset(request.GET, self.queryset).qs + + # Compile a dictionary indicating which permissions are available to the current user for this model + permissions = {} + for action in ('add', 'change', 'delete', 'view'): + perm_name = get_permission_for_model(model, action) + permissions[action] = request.user.has_perm(perm_name) + + if 'export' in request.GET: + + # Export the current table view + if request.GET['export'] == 'table': + table = self.get_table(request, permissions) + columns = [name for name, _ in table.selected_columns] + return self.export_table(table, columns) + + # Render an ExportTemplate + elif request.GET['export']: + template = get_object_or_404(ExportTemplate, content_type=content_type, name=request.GET['export']) + return self.export_template(template, request) + + # Check for YAML export support on the model + elif hasattr(model, 'to_yaml'): + response = HttpResponse(self.export_yaml(), content_type='text/yaml') + filename = 'netbox_{}.yaml'.format(self.queryset.model._meta.verbose_name_plural) + response['Content-Disposition'] = 'attachment; filename="{}"'.format(filename) + return response + + # Fall back to default table/YAML export + else: + table = self.get_table(request, permissions) + return self.export_table(table) + + # Render the objects table + table = self.get_table(request, permissions) + configure_table(table, request) + + # If this is an HTMX request, return only the rendered table HTML + if is_htmx(request): + return render(request, 'htmx/table.html', { + 'table': table, + }) + + context = { + 'content_type': content_type, + 'table': table, + 'permissions': permissions, + 'action_buttons': self.action_buttons, + 'filter_form': self.filterset_form(request.GET, label_suffix='') if self.filterset_form else None, + **self.get_extra_context(request), + } + + return render(request, self.template_name, context) + + +class BulkCreateView(GetReturnURLMixin, BaseMultiObjectView): """ Create new objects in bulk. - queryset: Base queryset for the objects being created form: Form class which provides the `pattern` field model_form: The ModelForm used to create individual objects pattern_target: Name of the field to be evaluated as a pattern (if any) - template_name: The name of the template """ - queryset = None form = None model_form = None pattern_target = '' - template_name = None def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'add') @@ -73,6 +229,10 @@ class BulkCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): return new_objects + # + # Request handlers + # + def get(self, request): # Set initial values for visible form fields from query args initial = {} @@ -88,6 +248,7 @@ class BulkCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): 'form': form, 'model_form': model_form, 'return_url': self.get_return_url(request), + **self.get_extra_context(request), }) def post(self, request): @@ -132,31 +293,25 @@ class BulkCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): 'model_form': model_form, 'obj_type': model._meta.verbose_name, 'return_url': self.get_return_url(request), + **self.get_extra_context(request), }) -class BulkImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class BulkImportView(GetReturnURLMixin, BaseMultiObjectView): """ Import objects in bulk (CSV format). - queryset: Base queryset for the model - model_form: The form used to create each imported object - table: The django-tables2 Table used to render the list of imported objects - template_name: The name of the template - widget_attrs: A dict of attributes to apply to the import widget (e.g. to require a session key) + Attributes: + model_form: The form used to create each imported object """ - queryset = None - model_form = None - table = None template_name = 'generic/object_bulk_import.html' - widget_attrs = {} + model_form = None def _import_form(self, *args, **kwargs): class ImportForm(BootstrapMixin, Form): csv = CSVDataField( - from_form=self.model_form, - widget=Textarea(attrs=self.widget_attrs) + from_form=self.model_form ) csv_file = CSVFileField( label="CSV file", @@ -207,6 +362,10 @@ class BulkImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'add') + # + # Request handlers + # + def get(self, request): return render(request, self.template_name, { @@ -214,6 +373,7 @@ class BulkImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): 'fields': self.model_form().fields, 'obj_type': self.model_form._meta.model._meta.verbose_name, 'return_url': self.get_return_url(request), + **self.get_extra_context(request), }) def post(self, request): @@ -262,32 +422,29 @@ class BulkImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): 'fields': self.model_form().fields, 'obj_type': self.model_form._meta.model._meta.verbose_name, 'return_url': self.get_return_url(request), + **self.get_extra_context(request), }) -class BulkEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class BulkEditView(GetReturnURLMixin, BaseMultiObjectView): """ Edit objects in bulk. - queryset: Custom queryset to use when retrieving objects (e.g. to select related objects) - filterset: FilterSet to apply when deleting by QuerySet - table: The table used to display devices being edited - form: The form class used to edit objects in bulk - template_name: The name of the template + Attributes: + filterset: FilterSet to apply when deleting by QuerySet + form: The form class used to edit objects in bulk """ - queryset = None - filterset = None - table = None - form = None template_name = 'generic/object_bulk_edit.html' + filterset = None + form = None def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'change') def _update_objects(self, form, request): - custom_fields = form.custom_fields if hasattr(form, 'custom_fields') else [] + custom_fields = getattr(form, 'custom_fields', []) standard_fields = [ - field for field in form.fields if field not in custom_fields + ['pk'] + field for field in form.fields if field not in list(custom_fields) + ['pk'] ] nullified_fields = request.POST.getlist('_nullify') updated_objects = [] @@ -327,7 +484,7 @@ class BulkEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): if name in form.nullable_fields and name in nullified_fields: obj.custom_field_data[name] = None elif name in form.changed_data: - obj.custom_field_data[name] = form.cleaned_data[name] + obj.custom_field_data[name] = form.fields[name].prepare_value(form.cleaned_data[name]) obj.full_clean() obj.save() @@ -341,6 +498,10 @@ class BulkEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): return updated_objects + # + # Request handlers + # + def get(self, request): return redirect(self.get_return_url(request)) @@ -419,17 +580,14 @@ class BulkEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): 'table': table, 'obj_type_plural': model._meta.verbose_name_plural, 'return_url': self.get_return_url(request), + **self.get_extra_context(request), }) -class BulkRenameView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class BulkRenameView(GetReturnURLMixin, BaseMultiObjectView): """ An extendable view for renaming objects in bulk. - - queryset: QuerySet of objects being renamed - template_name: The name of the template """ - queryset = None template_name = 'generic/object_bulk_rename.html' def __init__(self, *args, **kwargs): @@ -513,25 +671,38 @@ class BulkRenameView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): }) -class BulkDeleteView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class BulkDeleteView(GetReturnURLMixin, BaseMultiObjectView): """ Delete objects in bulk. - queryset: Custom queryset to use when retrieving objects (e.g. to select related objects) filterset: FilterSet to apply when deleting by QuerySet table: The table used to display devices being deleted form: The form class used to delete objects in bulk - template_name: The name of the template """ - queryset = None + template_name = 'generic/object_bulk_delete.html' filterset = None table = None form = None - template_name = 'generic/object_bulk_delete.html' def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'delete') + def get_form(self): + """ + Provide a standard bulk delete form if none has been specified for the view + """ + class BulkDeleteForm(ConfirmationForm): + pk = ModelMultipleChoiceField(queryset=self.queryset, widget=MultipleHiddenInput) + + if self.form: + return self.form + + return BulkDeleteForm + + # + # Request handlers + # + def get(self, request): return redirect(self.get_return_url(request)) @@ -594,37 +765,25 @@ class BulkDeleteView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): 'obj_type_plural': model._meta.verbose_name_plural, 'table': table, 'return_url': self.get_return_url(request), + **self.get_extra_context(request), }) - def get_form(self): - """ - Provide a standard bulk delete form if none has been specified for the view - """ - class BulkDeleteForm(ConfirmationForm): - pk = ModelMultipleChoiceField(queryset=self.queryset, widget=MultipleHiddenInput) - - if self.form: - return self.form - - return BulkDeleteForm - # # Device/VirtualMachine components # -class BulkComponentCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class BulkComponentCreateView(GetReturnURLMixin, BaseMultiObjectView): """ Add one or more components (e.g. interfaces, console ports, etc.) to a set of Devices or VirtualMachines. """ + template_name = 'generic/object_bulk_add_component.html' parent_model = None parent_field = None form = None - queryset = None model_form = None filterset = None table = None - template_name = 'generic/object_bulk_add_component.html' def get_required_permission(self): return f'dcim.add_{self.queryset.model._meta.model_name}' diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index 607501a9b36..316c3a1ee7d 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -2,30 +2,26 @@ import logging from copy import deepcopy from django.contrib import messages -from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist from django.db import transaction from django.db.models import ProtectedError from django.forms.widgets import HiddenInput -from django.http import HttpResponse -from django.shortcuts import get_object_or_404, redirect, render +from django.shortcuts import redirect, render +from django.urls import reverse from django.utils.html import escape from django.utils.http import is_safe_url from django.utils.safestring import mark_safe -from django.views.generic import View -from django_tables2.export import TableExport -from dcim.forms.object_create import ComponentCreateForm -from extras.models import ExportTemplate from extras.signals import clear_webhooks from utilities.error_handlers import handle_protectederror from utilities.exceptions import AbortTransaction, PermissionsViolation from utilities.forms import ConfirmationForm, ImportForm, restrict_form_fields from utilities.htmx import is_htmx from utilities.permissions import get_permission_for_model -from utilities.tables import paginate_table +from netbox.tables import configure_table from utilities.utils import normalize_querydict, prepare_cloned_fields -from utilities.views import GetReturnURLMixin, ObjectPermissionRequiredMixin +from utilities.views import GetReturnURLMixin +from .base import BaseObjectView __all__ = ( 'ComponentCreateView', @@ -33,49 +29,41 @@ __all__ = ( 'ObjectDeleteView', 'ObjectEditView', 'ObjectImportView', - 'ObjectListView', 'ObjectView', ) -class ObjectView(ObjectPermissionRequiredMixin, View): +class ObjectView(BaseObjectView): """ Retrieve a single object for display. - queryset: The base queryset for retrieving the object - template_name: Name of the template to use + Note: If `template_name` is not specified, it will be determined automatically based on the queryset model. """ - queryset = None - template_name = None - def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'view') def get_template_name(self): """ - Return self.template_name if set. Otherwise, resolve the template path by model app_label and name. + Return self.template_name if defined. Otherwise, dynamically resolve the template name using the queryset + model's `app_label` and `model_name`. """ if self.template_name is not None: return self.template_name model_opts = self.queryset.model._meta return f'{model_opts.app_label}/{model_opts.model_name}.html' - def get_extra_context(self, request, instance): - """ - Return any additional context data for the template. + # + # Request handlers + # - :param request: The current request - :param instance: The object being viewed + def get(self, request, **kwargs): """ - return {} + GET request handler. `*args` and `**kwargs` are passed to identify the object being queried. - def get(self, request, *args, **kwargs): + Args: + request: The current request """ - GET request handler. *args and **kwargs are passed to identify the object being queried. - - :param request: The current request - """ - instance = get_object_or_404(self.queryset, **kwargs) + instance = self.get_object(**kwargs) return render(request, self.get_template_name(), { 'object': instance, @@ -87,15 +75,12 @@ class ObjectChildrenView(ObjectView): """ Display a table of child objects associated with the parent object. - queryset: The base queryset for retrieving the *parent* object - table: Table class used to render child objects list - template_name: Name of the template to use + Attributes: + table: Table class used to render child objects list """ - queryset = None child_model = None table = None filterset = None - template_name = None def get_children(self, request, parent): """ @@ -110,17 +95,22 @@ class ObjectChildrenView(ObjectView): """ Provides a hook for subclassed views to modify data before initializing the table. - :param request: The current request - :param queryset: The filtered queryset of child objects - :param parent: The parent object + Args: + request: The current request + queryset: The filtered queryset of child objects + parent: The parent object """ return queryset + # + # Request handlers + # + def get(self, request, *args, **kwargs): """ GET handler for rendering child objects. """ - instance = get_object_or_404(self.queryset, **kwargs) + instance = self.get_object(**kwargs) child_objects = self.get_children(request, instance) if self.filterset: @@ -135,7 +125,7 @@ class ObjectChildrenView(ObjectView): # Determine whether to display bulk action checkboxes if 'pk' in table.base_columns and (permissions['change'] or permissions['delete']): table.columns.show('pk') - paginate_table(table, request) + configure_table(table, request) # If this is an HTMX request, return only the rendered table HTML if is_htmx(request): @@ -152,171 +142,17 @@ class ObjectChildrenView(ObjectView): }) -class ObjectListView(ObjectPermissionRequiredMixin, View): - """ - List a series of objects. - - queryset: The queryset of objects to display. Note: Prefetching related objects is not necessary, as the - table will prefetch objects as needed depending on the columns being displayed. - filterset: A django-filter FilterSet that is applied to the queryset - filterset_form: The form used to render filter options - table: The django-tables2 Table used to render the objects list - template_name: The name of the template - action_buttons: A list of buttons to include at the top of the page - """ - queryset = None - filterset = None - filterset_form = None - table = None - template_name = 'generic/object_list.html' - action_buttons = ('add', 'import', 'export') - - def get_required_permission(self): - return get_permission_for_model(self.queryset.model, 'view') - - def get_table(self, request, permissions): - """ - Return the django-tables2 Table instance to be used for rendering the objects list. - - :param request: The current request - :param permissions: A dictionary mapping of the view, add, change, and delete permissions to booleans indicating - whether the user has each - """ - table = self.table(self.queryset, user=request.user) - if 'pk' in table.base_columns and (permissions['change'] or permissions['delete']): - table.columns.show('pk') - - return table - - def export_yaml(self): - """ - Export the queryset of objects as concatenated YAML documents. - """ - yaml_data = [obj.to_yaml() for obj in self.queryset] - - return '---\n'.join(yaml_data) - - def export_table(self, table, columns=None): - """ - Export all table data in CSV format. - - :param table: The Table instance to export - :param columns: A list of specific columns to include. If not specified, all columns will be exported. - """ - exclude_columns = {'pk'} - if columns: - all_columns = [col_name for col_name, _ in table.selected_columns + table.available_columns] - exclude_columns.update({ - col for col in all_columns if col not in columns - }) - exporter = TableExport( - export_format=TableExport.CSV, - table=table, - exclude_columns=exclude_columns - ) - return exporter.response( - filename=f'netbox_{self.queryset.model._meta.verbose_name_plural}.csv' - ) - - def export_template(self, template, request): - """ - Render an ExportTemplate using the current queryset. - - :param template: ExportTemplate instance - :param request: The current request - """ - try: - return template.render_to_response(self.queryset) - except Exception as e: - messages.error(request, f"There was an error rendering the selected export template ({template.name}): {e}") - return redirect(request.path) - - def get_extra_context(self, request): - """ - Return any additional context data for the template. - - :param request: The current request - """ - return {} - - def get(self, request): - """ - GET request handler. - - :param request: The current request - """ - model = self.queryset.model - content_type = ContentType.objects.get_for_model(model) - - if self.filterset: - self.queryset = self.filterset(request.GET, self.queryset).qs - - # Compile a dictionary indicating which permissions are available to the current user for this model - permissions = {} - for action in ('add', 'change', 'delete', 'view'): - perm_name = get_permission_for_model(model, action) - permissions[action] = request.user.has_perm(perm_name) - - if 'export' in request.GET: - - # Export the current table view - if request.GET['export'] == 'table': - table = self.get_table(request, permissions) - columns = [name for name, _ in table.selected_columns] - return self.export_table(table, columns) - - # Render an ExportTemplate - elif request.GET['export']: - template = get_object_or_404(ExportTemplate, content_type=content_type, name=request.GET['export']) - return self.export_template(template, request) - - # Check for YAML export support on the model - elif hasattr(model, 'to_yaml'): - response = HttpResponse(self.export_yaml(), content_type='text/yaml') - filename = 'netbox_{}.yaml'.format(self.queryset.model._meta.verbose_name_plural) - response['Content-Disposition'] = 'attachment; filename="{}"'.format(filename) - return response - - # Fall back to default table/YAML export - else: - table = self.get_table(request, permissions) - return self.export_table(table) - - # Render the objects table - table = self.get_table(request, permissions) - paginate_table(table, request) - - # If this is an HTMX request, return only the rendered table HTML - if is_htmx(request): - return render(request, 'htmx/table.html', { - 'table': table, - }) - - context = { - 'content_type': content_type, - 'table': table, - 'permissions': permissions, - 'action_buttons': self.action_buttons, - 'filter_form': self.filterset_form(request.GET, label_suffix='') if self.filterset_form else None, - } - context.update(self.get_extra_context(request)) - - return render(request, self.template_name, context) - - -class ObjectImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class ObjectImportView(GetReturnURLMixin, BaseObjectView): """ Import a single object (YAML or JSON format). - queryset: Base queryset for the objects being created - model_form: The ModelForm used to create individual objects - related_object_forms: A dictionary mapping of forms to be used for the creation of related (child) objects - template_name: The name of the template + Attributes: + model_form: The ModelForm used to create individual objects + related_object_forms: A dictionary mapping of forms to be used for the creation of related (child) objects """ - queryset = None + template_name = 'generic/object_import.html' model_form = None related_object_forms = dict() - template_name = 'generic/object_import.html' def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'add') @@ -367,6 +203,10 @@ class ObjectImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): return obj + # + # Request handlers + # + def get(self, request): form = ImportForm() @@ -445,17 +285,21 @@ class ObjectImportView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): }) -class ObjectEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class ObjectEditView(GetReturnURLMixin, BaseObjectView): """ Create or edit a single object. - queryset: The base QuerySet for the object being modified - model_form: The form used to create or edit the object - template_name: The name of the template + Attributes: + model_form: The form used to create or edit the object """ - queryset = None - model_form = None template_name = 'generic/object_edit.html' + model_form = None + + def dispatch(self, request, *args, **kwargs): + # Determine required permission based on whether we are editing an existing object + self._permission_action = 'change' if kwargs else 'add' + + return super().dispatch(request, *args, **kwargs) def get_required_permission(self): # self._permission_action is set by dispatch() to either "add" or "change" depending on whether @@ -464,42 +308,36 @@ class ObjectEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): def get_object(self, **kwargs): """ - Return an instance for editing. If a PK has been specified, this will be an existing object. - - :param kwargs: URL path kwargs + Return an object for editing. If no keyword arguments have been specified, this will be a new instance. """ - if 'pk' in kwargs: - obj = get_object_or_404(self.queryset, **kwargs) - # Take a snapshot of change-logged models - if hasattr(obj, 'snapshot'): - obj.snapshot() - return obj - - return self.queryset.model() + if not kwargs: + # We're creating a new object + return self.queryset.model() + return super().get_object(**kwargs) def alter_object(self, obj, request, url_args, url_kwargs): """ Provides a hook for views to modify an object before it is processed. For example, a parent object can be defined given some parameter from the request URL. - :param obj: The object being edited - :param request: The current request - :param url_args: URL path args - :param url_kwargs: URL path kwargs + Args: + obj: The object being edited + request: The current request + url_args: URL path args + url_kwargs: URL path kwargs """ return obj - def dispatch(self, request, *args, **kwargs): - # Determine required permission based on whether we are editing an existing object - self._permission_action = 'change' if kwargs else 'add' - - return super().dispatch(request, *args, **kwargs) + # + # Request handlers + # def get(self, request, *args, **kwargs): """ GET request handler. - :param request: The current request + Args: + request: The current request """ obj = self.get_object(**kwargs) obj = self.alter_object(obj, request, args, kwargs) @@ -513,16 +351,23 @@ class ObjectEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): 'obj_type': self.queryset.model._meta.verbose_name, 'form': form, 'return_url': self.get_return_url(request, obj), + **self.get_extra_context(request, obj), }) def post(self, request, *args, **kwargs): """ POST request handler. - :param request: The current request + Args: + request: The current request """ logger = logging.getLogger('netbox.views.ObjectEditView') obj = self.get_object(**kwargs) + + # Take a snapshot for change logging (if editing an existing object) + if obj.pk and hasattr(obj, 'snapshot'): + obj.snapshot() + obj = self.alter_object(obj, request, args, kwargs) form = self.model_form( @@ -585,62 +430,68 @@ class ObjectEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): 'obj_type': self.queryset.model._meta.verbose_name, 'form': form, 'return_url': self.get_return_url(request, obj), + **self.get_extra_context(request, obj), }) -class ObjectDeleteView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class ObjectDeleteView(GetReturnURLMixin, BaseObjectView): """ Delete a single object. - - queryset: The base queryset for the object being deleted - template_name: The name of the template """ - queryset = None template_name = 'generic/object_delete.html' def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'delete') - def get_object(self, **kwargs): - """ - Return an instance for deletion. If a PK has been specified, this will be an existing object. - - :param kwargs: URL path kwargs - """ - obj = get_object_or_404(self.queryset, **kwargs) - - # Take a snapshot of change-logged models - if hasattr(obj, 'snapshot'): - obj.snapshot() - - return obj + # + # Request handlers + # def get(self, request, *args, **kwargs): """ GET request handler. - :param request: The current request + Args: + request: The current request """ obj = self.get_object(**kwargs) form = ConfirmationForm(initial=request.GET) + # If this is an HTMX request, return only the rendered deletion form as modal content + if is_htmx(request): + viewname = f'{self.queryset.model._meta.app_label}:{self.queryset.model._meta.model_name}_delete' + form_url = reverse(viewname, kwargs={'pk': obj.pk}) + return render(request, 'htmx/delete_form.html', { + 'object': obj, + 'object_type': self.queryset.model._meta.verbose_name, + 'form': form, + 'form_url': form_url, + **self.get_extra_context(request, obj), + }) + return render(request, self.template_name, { - 'obj': obj, + 'object': obj, + 'object_type': self.queryset.model._meta.verbose_name, 'form': form, - 'obj_type': self.queryset.model._meta.verbose_name, 'return_url': self.get_return_url(request, obj), + **self.get_extra_context(request, obj), }) def post(self, request, *args, **kwargs): """ POST request handler. - :param request: The current request + Args: + request: The current request """ logger = logging.getLogger('netbox.views.ObjectDeleteView') obj = self.get_object(**kwargs) form = ConfirmationForm(request.POST) + # Take a snapshot of change-logged models + if hasattr(obj, 'snapshot'): + obj.snapshot() + if form.is_valid(): logger.debug("Form validation was successful") @@ -665,10 +516,11 @@ class ObjectDeleteView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): logger.debug("Form validation failed") return render(request, self.template_name, { - 'obj': obj, + 'object': obj, + 'object_type': self.queryset.model._meta.verbose_name, 'form': form, - 'obj_type': self.queryset.model._meta.verbose_name, 'return_url': self.get_return_url(request, obj), + **self.get_extra_context(request, obj), }) @@ -676,14 +528,13 @@ class ObjectDeleteView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): # Device/VirtualMachine components # -class ComponentCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): +class ComponentCreateView(GetReturnURLMixin, BaseObjectView): """ Add one or more components (e.g. interfaces, console ports, etc.) to a Device or VirtualMachine. """ - queryset = None + template_name = 'dcim/component_create.html' form = None model_form = None - template_name = 'dcim/component_create.html' patterned_fields = ('name', 'label') def get_required_permission(self): diff --git a/netbox/project-static/dist/netbox-dark.css b/netbox/project-static/dist/netbox-dark.css index fe89a1b48d9..752715e7cb1 100644 --- a/netbox/project-static/dist/netbox-dark.css +++ b/netbox/project-static/dist/netbox-dark.css @@ -1 +1 @@ -html[data-netbox-color-mode=dark] :root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #6ea8fe;--bs-secondary: #adb5bd;--bs-success: #75b798;--bs-info: #6edff6;--bs-warning: #ffda6a;--bs-danger: #ea868f;--bs-light: #dee2e6;--bs-dark: #adb5bd;--bs-blue: #6ea8fe;--bs-indigo: #a370f7;--bs-purple: #a98eda;--bs-pink: #e685b5;--bs-red: #ea868f;--bs-orange: #feb272;--bs-yellow: #ffda6a;--bs-green: #75b798;--bs-teal: #79dfc1;--bs-cyan: #6edff6;--bs-gray: #dee2e6;--bs-black: #000;--bs-white: #fff;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0))}html[data-netbox-color-mode=dark] *,html[data-netbox-color-mode=dark] *:before,html[data-netbox-color-mode=dark] *:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){html[data-netbox-color-mode=dark] :root{scroll-behavior:smooth}}html[data-netbox-color-mode=dark] body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#fff;background-color:#1b1f22;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}html[data-netbox-color-mode=dark] hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}html[data-netbox-color-mode=dark] hr:not([size]){height:1px}html[data-netbox-color-mode=dark] h6,html[data-netbox-color-mode=dark] .h6,html[data-netbox-color-mode=dark] h5,html[data-netbox-color-mode=dark] .h5,html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=dark] .h4,html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=dark] .h3,html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=dark] .h2,html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=dark] .h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=dark] .h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=dark] .h1{font-size:2.5rem}}html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=dark] .h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=dark] .h2{font-size:2rem}}html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=dark] .h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=dark] .h3{font-size:1.75rem}}html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=dark] .h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=dark] .h4{font-size:1.5rem}}html[data-netbox-color-mode=dark] h5,html[data-netbox-color-mode=dark] .h5{font-size:1.25rem}html[data-netbox-color-mode=dark] h6,html[data-netbox-color-mode=dark] .h6{font-size:1rem}html[data-netbox-color-mode=dark] p{margin-top:0;margin-bottom:1rem}html[data-netbox-color-mode=dark] abbr[title],html[data-netbox-color-mode=dark] abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}html[data-netbox-color-mode=dark] address{margin-bottom:1rem;font-style:normal;line-height:inherit}html[data-netbox-color-mode=dark] ol,html[data-netbox-color-mode=dark] ul{padding-left:2rem}html[data-netbox-color-mode=dark] ol,html[data-netbox-color-mode=dark] ul,html[data-netbox-color-mode=dark] dl{margin-top:0;margin-bottom:1rem}html[data-netbox-color-mode=dark] ol ol,html[data-netbox-color-mode=dark] ul ul,html[data-netbox-color-mode=dark] ol ul,html[data-netbox-color-mode=dark] ul ol{margin-bottom:0}html[data-netbox-color-mode=dark] dt{font-weight:700}html[data-netbox-color-mode=dark] dd{margin-bottom:.5rem;margin-left:0}html[data-netbox-color-mode=dark] blockquote{margin:0 0 1rem}html[data-netbox-color-mode=dark] b,html[data-netbox-color-mode=dark] strong{font-weight:800}html[data-netbox-color-mode=dark] small,html[data-netbox-color-mode=dark] .small{font-size:.875em}html[data-netbox-color-mode=dark] mark,html[data-netbox-color-mode=dark] .mark{padding:.2em;background-color:#fcf8e3}html[data-netbox-color-mode=dark] sub,html[data-netbox-color-mode=dark] sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}html[data-netbox-color-mode=dark] sub{bottom:-.25em}html[data-netbox-color-mode=dark] sup{top:-.5em}html[data-netbox-color-mode=dark] a{color:#9ec5fe;text-decoration:underline}html[data-netbox-color-mode=dark] a:hover{color:#cfe2ff}html[data-netbox-color-mode=dark] a:not([href]):not([class]),html[data-netbox-color-mode=dark] a:not([href]):not([class]):hover{color:inherit;text-decoration:none}html[data-netbox-color-mode=dark] pre,html[data-netbox-color-mode=dark] code,html[data-netbox-color-mode=dark] kbd,html[data-netbox-color-mode=dark] samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}html[data-netbox-color-mode=dark] pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}html[data-netbox-color-mode=dark] pre code{font-size:inherit;color:inherit;word-break:normal}html[data-netbox-color-mode=dark] code{font-size:.875em;color:#e9ecef;word-wrap:break-word}a>html[data-netbox-color-mode=dark] code{color:inherit}html[data-netbox-color-mode=dark] kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#dee2e6;border-radius:.375rem}html[data-netbox-color-mode=dark] kbd kbd{padding:0;font-size:1em;font-weight:700}html[data-netbox-color-mode=dark] figure{margin:0 0 1rem}html[data-netbox-color-mode=dark] img,html[data-netbox-color-mode=dark] svg{vertical-align:middle}html[data-netbox-color-mode=dark] table{caption-side:bottom;border-collapse:collapse}html[data-netbox-color-mode=dark] caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}html[data-netbox-color-mode=dark] th{text-align:inherit;text-align:-webkit-match-parent}html[data-netbox-color-mode=dark] thead,html[data-netbox-color-mode=dark] tbody,html[data-netbox-color-mode=dark] tfoot,html[data-netbox-color-mode=dark] tr,html[data-netbox-color-mode=dark] td,html[data-netbox-color-mode=dark] th{border-color:inherit;border-style:solid;border-width:0}html[data-netbox-color-mode=dark] label{display:inline-block}html[data-netbox-color-mode=dark] button{border-radius:0}html[data-netbox-color-mode=dark] button:focus:not(:focus-visible){outline:0}html[data-netbox-color-mode=dark] input,html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] select,html[data-netbox-color-mode=dark] optgroup,html[data-netbox-color-mode=dark] textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] select{text-transform:none}html[data-netbox-color-mode=dark] [role=button]{cursor:pointer}html[data-netbox-color-mode=dark] select{word-wrap:normal}html[data-netbox-color-mode=dark] select:disabled{opacity:1}html[data-netbox-color-mode=dark] [list]::-webkit-calendar-picker-indicator{display:none}html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] [type=button],html[data-netbox-color-mode=dark] [type=reset],html[data-netbox-color-mode=dark] [type=submit]{-webkit-appearance:button}html[data-netbox-color-mode=dark] button:not(:disabled),html[data-netbox-color-mode=dark] [type=button]:not(:disabled),html[data-netbox-color-mode=dark] [type=reset]:not(:disabled),html[data-netbox-color-mode=dark] [type=submit]:not(:disabled){cursor:pointer}html[data-netbox-color-mode=dark] ::-moz-focus-inner{padding:0;border-style:none}html[data-netbox-color-mode=dark] textarea{resize:vertical}html[data-netbox-color-mode=dark] fieldset{min-width:0;padding:0;margin:0;border:0}html[data-netbox-color-mode=dark] legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){html[data-netbox-color-mode=dark] legend{font-size:1.5rem}}html[data-netbox-color-mode=dark] legend+*{clear:left}html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-fields-wrapper,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-text,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-minute,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-hour-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-day-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-month-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-year-field{padding:0}html[data-netbox-color-mode=dark] ::-webkit-inner-spin-button{height:auto}html[data-netbox-color-mode=dark] [type=search]{outline-offset:-2px;-webkit-appearance:textfield}html[data-netbox-color-mode=dark] ::-webkit-search-decoration{-webkit-appearance:none}html[data-netbox-color-mode=dark] ::-webkit-color-swatch-wrapper{padding:0}html[data-netbox-color-mode=dark] ::file-selector-button{font:inherit}html[data-netbox-color-mode=dark] ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}html[data-netbox-color-mode=dark] output{display:inline-block}html[data-netbox-color-mode=dark] iframe{border:0}html[data-netbox-color-mode=dark] summary{display:list-item;cursor:pointer}html[data-netbox-color-mode=dark] progress{vertical-align:baseline}html[data-netbox-color-mode=dark] [hidden]{display:none!important}html[data-netbox-color-mode=dark] .lead{font-size:1.25rem;font-weight:300}html[data-netbox-color-mode=dark] .display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-1{font-size:5rem}}html[data-netbox-color-mode=dark] .display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-2{font-size:4.5rem}}html[data-netbox-color-mode=dark] .display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-3{font-size:4rem}}html[data-netbox-color-mode=dark] .display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-4{font-size:3.5rem}}html[data-netbox-color-mode=dark] .display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-5{font-size:3rem}}html[data-netbox-color-mode=dark] .display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-6{font-size:2.5rem}}html[data-netbox-color-mode=dark] .list-unstyled{padding-left:0;list-style:none}html[data-netbox-color-mode=dark] .list-inline{padding-left:0;list-style:none}html[data-netbox-color-mode=dark] .list-inline-item{display:inline-block}html[data-netbox-color-mode=dark] .list-inline-item:not(:last-child){margin-right:.5rem}html[data-netbox-color-mode=dark] .initialism{font-size:.875em;text-transform:uppercase}html[data-netbox-color-mode=dark] .blockquote{margin-bottom:1rem;font-size:1.25rem}html[data-netbox-color-mode=dark] .blockquote>:last-child{margin-bottom:0}html[data-netbox-color-mode=dark] .blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}html[data-netbox-color-mode=dark] .blockquote-footer:before{content:"\2014\a0"}html[data-netbox-color-mode=dark] .img-fluid{max-width:100%;height:auto}html[data-netbox-color-mode=dark] .img-thumbnail{padding:.25rem;background-color:#1b1f22;border:1px solid #dee2e6;border-radius:.375rem;max-width:100%;height:auto}html[data-netbox-color-mode=dark] .figure{display:inline-block}html[data-netbox-color-mode=dark] .figure-img{margin-bottom:.5rem;line-height:1}html[data-netbox-color-mode=dark] .figure-caption{font-size:.875em;color:#6c757d}html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=dark] .container-fluid,html[data-netbox-color-mode=dark] .container-xxl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm{width:100%;padding-right:var(--bs-gutter-x, .75rem);padding-left:var(--bs-gutter-x, .75rem);margin-right:auto;margin-left:auto}@media (min-width: 576px){html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:540px}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:720px}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:960px}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:1140px}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .container-xxl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:1320px}}html[data-netbox-color-mode=dark] .row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}html[data-netbox-color-mode=dark] .row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}html[data-netbox-color-mode=dark] .col{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width: 576px){html[data-netbox-color-mode=dark] .col-sm{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-sm-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-sm-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-sm-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-sm-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-sm-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .col-md{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-md-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-md-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-md-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-md-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-md-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .col-lg{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-lg-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-lg-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-lg-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-lg-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-lg-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .col-xl{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-xl-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-xl-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-xl-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-xl-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-xl-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .col-xxl{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-xxl-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-xxl-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-xxl-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-xxl-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}html[data-netbox-color-mode=dark] .col-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-0,html[data-netbox-color-mode=dark] .gx-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-0,html[data-netbox-color-mode=dark] .gy-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-1,html[data-netbox-color-mode=dark] .gx-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-1,html[data-netbox-color-mode=dark] .gy-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-2,html[data-netbox-color-mode=dark] .gx-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-2,html[data-netbox-color-mode=dark] .gy-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-3,html[data-netbox-color-mode=dark] .gx-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-3,html[data-netbox-color-mode=dark] .gy-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-4,html[data-netbox-color-mode=dark] .gx-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-4,html[data-netbox-color-mode=dark] .gy-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-5,html[data-netbox-color-mode=dark] .gx-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-5,html[data-netbox-color-mode=dark] .gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){html[data-netbox-color-mode=dark] .col-sm-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-sm-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-sm-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-sm-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-sm-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-sm-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-sm-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-sm-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-sm-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-sm-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-sm-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-sm-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-sm-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-sm-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-sm-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-sm-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-sm-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-sm-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-sm-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-sm-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-sm-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-sm-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-sm-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-sm-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-sm-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-sm-0,html[data-netbox-color-mode=dark] .gx-sm-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-sm-0,html[data-netbox-color-mode=dark] .gy-sm-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-sm-1,html[data-netbox-color-mode=dark] .gx-sm-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-sm-1,html[data-netbox-color-mode=dark] .gy-sm-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-sm-2,html[data-netbox-color-mode=dark] .gx-sm-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-sm-2,html[data-netbox-color-mode=dark] .gy-sm-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-sm-3,html[data-netbox-color-mode=dark] .gx-sm-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-sm-3,html[data-netbox-color-mode=dark] .gy-sm-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-sm-4,html[data-netbox-color-mode=dark] .gx-sm-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-sm-4,html[data-netbox-color-mode=dark] .gy-sm-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-sm-5,html[data-netbox-color-mode=dark] .gx-sm-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-sm-5,html[data-netbox-color-mode=dark] .gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .col-md-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-md-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-md-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-md-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-md-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-md-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-md-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-md-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-md-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-md-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-md-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-md-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-md-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-md-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-md-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-md-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-md-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-md-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-md-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-md-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-md-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-md-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-md-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-md-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-md-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-md-0,html[data-netbox-color-mode=dark] .gx-md-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-md-0,html[data-netbox-color-mode=dark] .gy-md-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-md-1,html[data-netbox-color-mode=dark] .gx-md-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-md-1,html[data-netbox-color-mode=dark] .gy-md-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-md-2,html[data-netbox-color-mode=dark] .gx-md-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-md-2,html[data-netbox-color-mode=dark] .gy-md-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-md-3,html[data-netbox-color-mode=dark] .gx-md-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-md-3,html[data-netbox-color-mode=dark] .gy-md-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-md-4,html[data-netbox-color-mode=dark] .gx-md-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-md-4,html[data-netbox-color-mode=dark] .gy-md-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-md-5,html[data-netbox-color-mode=dark] .gx-md-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-md-5,html[data-netbox-color-mode=dark] .gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .col-lg-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-lg-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-lg-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-lg-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-lg-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-lg-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-lg-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-lg-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-lg-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-lg-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-lg-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-lg-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-lg-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-lg-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-lg-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-lg-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-lg-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-lg-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-lg-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-lg-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-lg-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-lg-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-lg-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-lg-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-lg-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-lg-0,html[data-netbox-color-mode=dark] .gx-lg-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-lg-0,html[data-netbox-color-mode=dark] .gy-lg-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-lg-1,html[data-netbox-color-mode=dark] .gx-lg-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-lg-1,html[data-netbox-color-mode=dark] .gy-lg-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-lg-2,html[data-netbox-color-mode=dark] .gx-lg-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-lg-2,html[data-netbox-color-mode=dark] .gy-lg-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-lg-3,html[data-netbox-color-mode=dark] .gx-lg-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-lg-3,html[data-netbox-color-mode=dark] .gy-lg-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-lg-4,html[data-netbox-color-mode=dark] .gx-lg-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-lg-4,html[data-netbox-color-mode=dark] .gy-lg-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-lg-5,html[data-netbox-color-mode=dark] .gx-lg-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-lg-5,html[data-netbox-color-mode=dark] .gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .col-xl-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-xl-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-xl-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-xl-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-xl-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-xl-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-xl-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-xl-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-xl-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-xl-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-xl-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-xl-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-xl-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-xl-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-xl-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-xl-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-xl-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-xl-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-xl-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-xl-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-xl-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-xl-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-xl-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-xl-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-xl-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-xl-0,html[data-netbox-color-mode=dark] .gx-xl-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-xl-0,html[data-netbox-color-mode=dark] .gy-xl-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-xl-1,html[data-netbox-color-mode=dark] .gx-xl-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-xl-1,html[data-netbox-color-mode=dark] .gy-xl-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-xl-2,html[data-netbox-color-mode=dark] .gx-xl-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-xl-2,html[data-netbox-color-mode=dark] .gy-xl-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-xl-3,html[data-netbox-color-mode=dark] .gx-xl-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-xl-3,html[data-netbox-color-mode=dark] .gy-xl-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-xl-4,html[data-netbox-color-mode=dark] .gx-xl-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-xl-4,html[data-netbox-color-mode=dark] .gy-xl-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-xl-5,html[data-netbox-color-mode=dark] .gx-xl-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-xl-5,html[data-netbox-color-mode=dark] .gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .col-xxl-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-xxl-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-xxl-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-xxl-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-xxl-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-xxl-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-xxl-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-xxl-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-xxl-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-xxl-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-xxl-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-xxl-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-xxl-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-xxl-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-xxl-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-xxl-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-xxl-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-xxl-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-xxl-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-xxl-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-xxl-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-xxl-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-xxl-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-xxl-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-xxl-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-xxl-0,html[data-netbox-color-mode=dark] .gx-xxl-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-xxl-0,html[data-netbox-color-mode=dark] .gy-xxl-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-xxl-1,html[data-netbox-color-mode=dark] .gx-xxl-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-xxl-1,html[data-netbox-color-mode=dark] .gy-xxl-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-xxl-2,html[data-netbox-color-mode=dark] .gx-xxl-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-xxl-2,html[data-netbox-color-mode=dark] .gy-xxl-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-xxl-3,html[data-netbox-color-mode=dark] .gx-xxl-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-xxl-3,html[data-netbox-color-mode=dark] .gy-xxl-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-xxl-4,html[data-netbox-color-mode=dark] .gx-xxl-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-xxl-4,html[data-netbox-color-mode=dark] .gy-xxl-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-xxl-5,html[data-netbox-color-mode=dark] .gx-xxl-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-xxl-5,html[data-netbox-color-mode=dark] .gy-xxl-5{--bs-gutter-y: 3rem}}html[data-netbox-color-mode=dark] .table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #f8f9fa;--bs-table-striped-bg: rgba(255, 255, 255, .05);--bs-table-active-color: #f8f9fa;--bs-table-active-bg: rgba(255, 255, 255, .1);--bs-table-hover-color: #f8f9fa;--bs-table-hover-bg: rgba(255, 255, 255, .075);width:100%;margin-bottom:1rem;color:#f8f9fa;vertical-align:top;border-color:#495057}html[data-netbox-color-mode=dark] .table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}html[data-netbox-color-mode=dark] .table>tbody{vertical-align:inherit}html[data-netbox-color-mode=dark] .table>thead{vertical-align:bottom}html[data-netbox-color-mode=dark] .table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}html[data-netbox-color-mode=dark] .caption-top{caption-side:top}html[data-netbox-color-mode=dark] .table-sm>:not(caption)>*>*{padding:.25rem}html[data-netbox-color-mode=dark] .table-bordered>:not(caption)>*{border-width:1px 0}html[data-netbox-color-mode=dark] .table-bordered>:not(caption)>*>*{border-width:0 1px}html[data-netbox-color-mode=dark] .table-borderless>:not(caption)>*>*{border-bottom-width:0}html[data-netbox-color-mode=dark] .table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}html[data-netbox-color-mode=dark] .table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}html[data-netbox-color-mode=dark] .table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}html[data-netbox-color-mode=dark] .table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}html[data-netbox-color-mode=dark] .table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}html[data-netbox-color-mode=dark] .table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}html[data-netbox-color-mode=dark] .table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}html[data-netbox-color-mode=dark] .table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}html[data-netbox-color-mode=dark] .table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}html[data-netbox-color-mode=dark] .table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}html[data-netbox-color-mode=dark] .table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:#fff;border-color:#373b3e}html[data-netbox-color-mode=dark] .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){html[data-netbox-color-mode=dark] .table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){html[data-netbox-color-mode=dark] .table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] .table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){html[data-netbox-color-mode=dark] .table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){html[data-netbox-color-mode=dark] .table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}html[data-netbox-color-mode=dark] .form-label{margin-bottom:.5rem}html[data-netbox-color-mode=dark] .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}html[data-netbox-color-mode=dark] .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}html[data-netbox-color-mode=dark] .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}html[data-netbox-color-mode=dark] .form-text{margin-top:.25rem;font-size:.875em;color:#ced4da}html[data-netbox-color-mode=dark] .form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#f8f9fa;background-color:#212529;background-clip:padding-box;border:1px solid #495057;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-control{transition:none}}html[data-netbox-color-mode=dark] .form-control[type=file]{overflow:hidden}html[data-netbox-color-mode=dark] .form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}html[data-netbox-color-mode=dark] .form-control:focus{color:#f8f9fa;background-color:#212529;border-color:#7db1fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-control::-webkit-date-and-time-value{height:1.5em}html[data-netbox-color-mode=dark] .form-control::placeholder{color:#495057;opacity:1}html[data-netbox-color-mode=dark] .form-control:disabled,html[data-netbox-color-mode=dark] .form-control[readonly]{background-color:#495057;opacity:1}html[data-netbox-color-mode=dark] .form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#f8f9fa;background-color:#495057;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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){html[data-netbox-color-mode=dark] .form-control::file-selector-button{transition:none}}html[data-netbox-color-mode=dark] .form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#454c53}html[data-netbox-color-mode=dark] .form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#f8f9fa;background-color:#495057;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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){html[data-netbox-color-mode=dark] .form-control::-webkit-file-upload-button{transition:none}}html[data-netbox-color-mode=dark] .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#454c53}html[data-netbox-color-mode=dark] .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#fff;background-color:transparent;border:solid transparent;border-width:1px 0}html[data-netbox-color-mode=dark] .form-control-plaintext.form-control-sm,html[data-netbox-color-mode=dark] .form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}html[data-netbox-color-mode=dark] .form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html[data-netbox-color-mode=dark] .form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}html[data-netbox-color-mode=dark] .form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}html[data-netbox-color-mode=dark] .form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}html[data-netbox-color-mode=dark] .form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}html[data-netbox-color-mode=dark] .form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}html[data-netbox-color-mode=dark] textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}html[data-netbox-color-mode=dark] textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}html[data-netbox-color-mode=dark] textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}html[data-netbox-color-mode=dark] .form-control-color{max-width:3rem;height:auto;padding:.375rem}html[data-netbox-color-mode=dark] .form-control-color:not(:disabled):not([readonly]){cursor:pointer}html[data-netbox-color-mode=dark] .form-control-color::-moz-color-swatch{height:1.5em;border-radius:.375rem}html[data-netbox-color-mode=dark] .form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.375rem}html[data-netbox-color-mode=dark] .form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#f8f9fa;background-color:#212529;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='%23f8f9fa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #495057;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-select{transition:none}}html[data-netbox-color-mode=dark] .form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-select[multiple],html[data-netbox-color-mode=dark] .form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}html[data-netbox-color-mode=dark] .form-select:disabled{color:#adb5bd;background-color:#495057}html[data-netbox-color-mode=dark] .form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #f8f9fa}html[data-netbox-color-mode=dark] .form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}html[data-netbox-color-mode=dark] .form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}html[data-netbox-color-mode=dark] .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}html[data-netbox-color-mode=dark] .form-check .form-check-input{float:left;margin-left:-1.5em}html[data-netbox-color-mode=dark] .form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#212529;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(255,255,255,.25);appearance:none;color-adjust:exact}html[data-netbox-color-mode=dark] .form-check-input[type=checkbox]{border-radius:.25em}html[data-netbox-color-mode=dark] .form-check-input[type=radio]{border-radius:50%}html[data-netbox-color-mode=dark] .form-check-input:active{filter:brightness(90%)}html[data-netbox-color-mode=dark] .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-check-input:checked{background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-check-input[type=checkbox]:indeterminate{background-color:#6ea8fe;border-color:#6ea8fe;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}html[data-netbox-color-mode=dark] .form-check-input[disabled]~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input:disabled~.form-check-label{opacity:.5}html[data-netbox-color-mode=dark] .form-switch{padding-left:2.5em}html[data-netbox-color-mode=dark] .form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-switch .form-check-input{transition:none}}html[data-netbox-color-mode=dark] .form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-check-inline{display:inline-block;margin-right:1rem}html[data-netbox-color-mode=dark] .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}html[data-netbox-color-mode=dark] .btn-check[disabled]+.btn,html[data-netbox-color-mode=dark] .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}html[data-netbox-color-mode=dark] .form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}html[data-netbox-color-mode=dark] .form-range:focus{outline:0}html[data-netbox-color-mode=dark] .form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #1b1f22,0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #1b1f22,0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-range::-moz-focus-outer{border:0}html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#6ea8fe;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb{transition:none}}html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb:active{background-color:#d4e5ff}html[data-netbox-color-mode=dark] .form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#6ea8fe;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb{transition:none}}html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb:active{background-color:#d4e5ff}html[data-netbox-color-mode=dark] .form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}html[data-netbox-color-mode=dark] .form-range:disabled{pointer-events:none}html[data-netbox-color-mode=dark] .form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}html[data-netbox-color-mode=dark] .form-range:disabled::-moz-range-thumb{background-color:#adb5bd}html[data-netbox-color-mode=dark] .form-floating>.form-control,html[data-netbox-color-mode=dark] .form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}html[data-netbox-color-mode=dark] .form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-floating>label{transition:none}}html[data-netbox-color-mode=dark] .form-floating>.form-control{padding:1rem .75rem}html[data-netbox-color-mode=dark] .form-floating>.form-control::placeholder{color:transparent}html[data-netbox-color-mode=dark] .form-floating>.form-control:focus,html[data-netbox-color-mode=dark] .form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.form-control:focus~label,html[data-netbox-color-mode=dark] .form-floating>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=dark] .form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}html[data-netbox-color-mode=dark] .form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}html[data-netbox-color-mode=dark] .input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}html[data-netbox-color-mode=dark] .input-group>.form-control,html[data-netbox-color-mode=dark] .input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}html[data-netbox-color-mode=dark] .input-group>.form-control:focus,html[data-netbox-color-mode=dark] .input-group>.form-select:focus{z-index:3}html[data-netbox-color-mode=dark] .input-group .btn{position:relative;z-index:2}html[data-netbox-color-mode=dark] .input-group .btn:focus{z-index:3}html[data-netbox-color-mode=dark] .input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#f8f9fa;text-align:center;white-space:nowrap;background-color:#495057;border:1px solid #495057;border-radius:.375rem}html[data-netbox-color-mode=dark] .input-group-lg>.form-control,html[data-netbox-color-mode=dark] .input-group-lg>.form-select,html[data-netbox-color-mode=dark] .input-group-lg>.input-group-text,html[data-netbox-color-mode=dark] .input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}html[data-netbox-color-mode=dark] .input-group-sm>.form-control,html[data-netbox-color-mode=dark] .input-group-sm>.form-select,html[data-netbox-color-mode=dark] .input-group-sm>.input-group-text,html[data-netbox-color-mode=dark] .input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html[data-netbox-color-mode=dark] .input-group-lg>.form-select,html[data-netbox-color-mode=dark] .input-group-sm>.form-select{padding-right:3rem}html[data-netbox-color-mode=dark] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=dark] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=dark] .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}html[data-netbox-color-mode=dark] .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754e6;border-radius:.375rem}.was-validated html[data-netbox-color-mode=dark]:valid~.valid-feedback,.was-validated html[data-netbox-color-mode=dark]:valid~.valid-tooltip,html[data-netbox-color-mode=dark].is-valid~.valid-feedback,html[data-netbox-color-mode=dark].is-valid~.valid-tooltip{display:block}.was-validated html[data-netbox-color-mode=dark] .form-control:valid,html[data-netbox-color-mode=dark] .form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html[data-netbox-color-mode=dark] .form-control:valid:focus,html[data-netbox-color-mode=dark] .form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated html[data-netbox-color-mode=dark] textarea.form-control:valid,html[data-netbox-color-mode=dark] textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated html[data-netbox-color-mode=dark] .form-select:valid,html[data-netbox-color-mode=dark] .form-select.is-valid{border-color:#198754}.was-validated html[data-netbox-color-mode=dark] .form-select:valid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=dark] .form-select:valid:not([multiple])[size="1"],html[data-netbox-color-mode=dark] .form-select.is-valid:not([multiple]):not([size]),html[data-netbox-color-mode=dark] .form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23f8f9fa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html[data-netbox-color-mode=dark] .form-select:valid:focus,html[data-netbox-color-mode=dark] .form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid,html[data-netbox-color-mode=dark] .form-check-input.is-valid{border-color:#198754}.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid:checked,html[data-netbox-color-mode=dark] .form-check-input.is-valid:checked{background-color:#198754}.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid:focus,html[data-netbox-color-mode=dark] .form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem #19875440}.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input.is-valid~.form-check-label{color:#198754}html[data-netbox-color-mode=dark] .form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:valid,html[data-netbox-color-mode=dark] .input-group .form-control.is-valid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:valid,html[data-netbox-color-mode=dark] .input-group .form-select.is-valid{z-index:1}.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:valid:focus,html[data-netbox-color-mode=dark] .input-group .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:valid:focus,html[data-netbox-color-mode=dark] .input-group .form-select.is-valid:focus{z-index:3}html[data-netbox-color-mode=dark] .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}html[data-netbox-color-mode=dark] .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545e6;border-radius:.375rem}.was-validated html[data-netbox-color-mode=dark]:invalid~.invalid-feedback,.was-validated html[data-netbox-color-mode=dark]:invalid~.invalid-tooltip,html[data-netbox-color-mode=dark].is-invalid~.invalid-feedback,html[data-netbox-color-mode=dark].is-invalid~.invalid-tooltip{display:block}.was-validated html[data-netbox-color-mode=dark] .form-control:invalid,html[data-netbox-color-mode=dark] .form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html[data-netbox-color-mode=dark] .form-control:invalid:focus,html[data-netbox-color-mode=dark] .form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated html[data-netbox-color-mode=dark] textarea.form-control:invalid,html[data-netbox-color-mode=dark] textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated html[data-netbox-color-mode=dark] .form-select:invalid,html[data-netbox-color-mode=dark] .form-select.is-invalid{border-color:#dc3545}.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:not([multiple])[size="1"],html[data-netbox-color-mode=dark] .form-select.is-invalid:not([multiple]):not([size]),html[data-netbox-color-mode=dark] .form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23f8f9fa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:focus,html[data-netbox-color-mode=dark] .form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid,html[data-netbox-color-mode=dark] .form-check-input.is-invalid{border-color:#dc3545}.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid:checked,html[data-netbox-color-mode=dark] .form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid:focus,html[data-netbox-color-mode=dark] .form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem #dc354540}.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input.is-invalid~.form-check-label{color:#dc3545}html[data-netbox-color-mode=dark] .form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:invalid,html[data-netbox-color-mode=dark] .input-group .form-control.is-invalid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:invalid,html[data-netbox-color-mode=dark] .input-group .form-select.is-invalid{z-index:2}.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:invalid:focus,html[data-netbox-color-mode=dark] .input-group .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:invalid:focus,html[data-netbox-color-mode=dark] .input-group .form-select.is-invalid:focus{z-index:3}html[data-netbox-color-mode=dark] .btn{display:inline-block;font-weight:400;line-height:1.5;color:#fff;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;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){html[data-netbox-color-mode=dark] .btn{transition:none}}html[data-netbox-color-mode=dark] .btn:hover{color:#fff}.btn-check:focus+html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=dark] .btn:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .btn:disabled,html[data-netbox-color-mode=dark] .btn.disabled,fieldset:disabled html[data-netbox-color-mode=dark] .btn{pointer-events:none;opacity:.65}html[data-netbox-color-mode=dark] .btn-primary{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-primary:hover{color:#000;background-color:#84b5fe;border-color:#7db1fe}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=dark] .btn-primary:focus{color:#000;background-color:#84b5fe;border-color:#7db1fe;box-shadow:0 0 0 .25rem #5e8fd880}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-primary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=dark] .btn-primary:active,html[data-netbox-color-mode=dark] .btn-primary.active,.show>html[data-netbox-color-mode=dark] .btn-primary.dropdown-toggle{color:#000;background-color:#8bb9fe;border-color:#7db1fe}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-primary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-primary:focus,html[data-netbox-color-mode=dark] .btn-primary:active:focus,html[data-netbox-color-mode=dark] .btn-primary.active:focus,.show>html[data-netbox-color-mode=dark] .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #5e8fd880}html[data-netbox-color-mode=dark] .btn-primary:disabled,html[data-netbox-color-mode=dark] .btn-primary.disabled{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-secondary{color:#000;background-color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-secondary:hover{color:#000;background-color:#b9c0c7;border-color:#b5bcc4}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary:focus{color:#000;background-color:#b9c0c7;border-color:#b5bcc4;box-shadow:0 0 0 .25rem #939aa180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-secondary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary:active,html[data-netbox-color-mode=dark] .btn-secondary.active,.show>html[data-netbox-color-mode=dark] .btn-secondary.dropdown-toggle{color:#000;background-color:#bdc4ca;border-color:#b5bcc4}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-secondary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-secondary:focus,html[data-netbox-color-mode=dark] .btn-secondary:active:focus,html[data-netbox-color-mode=dark] .btn-secondary.active:focus,.show>html[data-netbox-color-mode=dark] .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #939aa180}html[data-netbox-color-mode=dark] .btn-secondary:disabled,html[data-netbox-color-mode=dark] .btn-secondary.disabled{color:#000;background-color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-success{color:#000;background-color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-success:hover{color:#000;background-color:#8ac2a7;border-color:#83bea2}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=dark] .btn-success:focus{color:#000;background-color:#8ac2a7;border-color:#83bea2;box-shadow:0 0 0 .25rem #639c8180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-success,.btn-check:active+html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=dark] .btn-success:active,html[data-netbox-color-mode=dark] .btn-success.active,.show>html[data-netbox-color-mode=dark] .btn-success.dropdown-toggle{color:#000;background-color:#91c5ad;border-color:#83bea2}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-success:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-success:focus,html[data-netbox-color-mode=dark] .btn-success:active:focus,html[data-netbox-color-mode=dark] .btn-success.active:focus,.show>html[data-netbox-color-mode=dark] .btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #639c8180}html[data-netbox-color-mode=dark] .btn-success:disabled,html[data-netbox-color-mode=dark] .btn-success.disabled{color:#000;background-color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-info{color:#000;background-color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-info:hover{color:#000;background-color:#84e4f7;border-color:#7de2f7}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=dark] .btn-info:focus{color:#000;background-color:#84e4f7;border-color:#7de2f7;box-shadow:0 0 0 .25rem #5ebed180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-info,.btn-check:active+html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=dark] .btn-info:active,html[data-netbox-color-mode=dark] .btn-info.active,.show>html[data-netbox-color-mode=dark] .btn-info.dropdown-toggle{color:#000;background-color:#8be5f8;border-color:#7de2f7}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-info:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-info:focus,html[data-netbox-color-mode=dark] .btn-info:active:focus,html[data-netbox-color-mode=dark] .btn-info.active:focus,.show>html[data-netbox-color-mode=dark] .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #5ebed180}html[data-netbox-color-mode=dark] .btn-info:disabled,html[data-netbox-color-mode=dark] .btn-info.disabled{color:#000;background-color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-warning{color:#000;background-color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-warning:hover{color:#000;background-color:#ffe080;border-color:#ffde79}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=dark] .btn-warning:focus{color:#000;background-color:#ffe080;border-color:#ffde79;box-shadow:0 0 0 .25rem #d9b95a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-warning,.btn-check:active+html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=dark] .btn-warning:active,html[data-netbox-color-mode=dark] .btn-warning.active,.show>html[data-netbox-color-mode=dark] .btn-warning.dropdown-toggle{color:#000;background-color:#ffe188;border-color:#ffde79}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-warning:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-warning:focus,html[data-netbox-color-mode=dark] .btn-warning:active:focus,html[data-netbox-color-mode=dark] .btn-warning.active:focus,.show>html[data-netbox-color-mode=dark] .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9b95a80}html[data-netbox-color-mode=dark] .btn-warning:disabled,html[data-netbox-color-mode=dark] .btn-warning.disabled{color:#000;background-color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-danger{color:#000;background-color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-danger:hover{color:#000;background-color:#ed98a0;border-color:#ec929a}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=dark] .btn-danger:focus{color:#000;background-color:#ed98a0;border-color:#ec929a;box-shadow:0 0 0 .25rem #c7727a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-danger,.btn-check:active+html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=dark] .btn-danger:active,html[data-netbox-color-mode=dark] .btn-danger.active,.show>html[data-netbox-color-mode=dark] .btn-danger.dropdown-toggle{color:#000;background-color:#ee9ea5;border-color:#ec929a}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-danger:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-danger:focus,html[data-netbox-color-mode=dark] .btn-danger:active:focus,html[data-netbox-color-mode=dark] .btn-danger.active:focus,.show>html[data-netbox-color-mode=dark] .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c7727a80}html[data-netbox-color-mode=dark] .btn-danger:disabled,html[data-netbox-color-mode=dark] .btn-danger.disabled{color:#000;background-color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-light{color:#000;background-color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-light:hover{color:#000;background-color:#e3e6ea;border-color:#e1e5e9}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=dark] .btn-light:focus{color:#000;background-color:#e3e6ea;border-color:#e1e5e9;box-shadow:0 0 0 .25rem #bdc0c480}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-light,.btn-check:active+html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=dark] .btn-light:active,html[data-netbox-color-mode=dark] .btn-light.active,.show>html[data-netbox-color-mode=dark] .btn-light.dropdown-toggle{color:#000;background-color:#e5e8eb;border-color:#e1e5e9}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-light:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-light:focus,html[data-netbox-color-mode=dark] .btn-light:active:focus,html[data-netbox-color-mode=dark] .btn-light.active:focus,.show>html[data-netbox-color-mode=dark] .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #bdc0c480}html[data-netbox-color-mode=dark] .btn-light:disabled,html[data-netbox-color-mode=dark] .btn-light.disabled{color:#000;background-color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-dark{color:#000;background-color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-dark:hover{color:#000;background-color:#b9c0c7;border-color:#b5bcc4}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=dark] .btn-dark:focus{color:#000;background-color:#b9c0c7;border-color:#b5bcc4;box-shadow:0 0 0 .25rem #939aa180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-dark,.btn-check:active+html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=dark] .btn-dark:active,html[data-netbox-color-mode=dark] .btn-dark.active,.show>html[data-netbox-color-mode=dark] .btn-dark.dropdown-toggle{color:#000;background-color:#bdc4ca;border-color:#b5bcc4}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-dark:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-dark:focus,html[data-netbox-color-mode=dark] .btn-dark:active:focus,html[data-netbox-color-mode=dark] .btn-dark.active:focus,.show>html[data-netbox-color-mode=dark] .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #939aa180}html[data-netbox-color-mode=dark] .btn-dark:disabled,html[data-netbox-color-mode=dark] .btn-dark.disabled{color:#000;background-color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-blue{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-blue:hover{color:#000;background-color:#84b5fe;border-color:#7db1fe}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=dark] .btn-blue:focus{color:#000;background-color:#84b5fe;border-color:#7db1fe;box-shadow:0 0 0 .25rem #5e8fd880}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-blue,.btn-check:active+html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=dark] .btn-blue:active,html[data-netbox-color-mode=dark] .btn-blue.active,.show>html[data-netbox-color-mode=dark] .btn-blue.dropdown-toggle{color:#000;background-color:#8bb9fe;border-color:#7db1fe}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-blue:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-blue:focus,html[data-netbox-color-mode=dark] .btn-blue:active:focus,html[data-netbox-color-mode=dark] .btn-blue.active:focus,.show>html[data-netbox-color-mode=dark] .btn-blue.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #5e8fd880}html[data-netbox-color-mode=dark] .btn-blue:disabled,html[data-netbox-color-mode=dark] .btn-blue.disabled{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-indigo{color:#000;background-color:#a370f7;border-color:#a370f7}html[data-netbox-color-mode=dark] .btn-indigo:hover{color:#000;background-color:#b185f8;border-color:#ac7ef8}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo:focus{color:#000;background-color:#b185f8;border-color:#ac7ef8;box-shadow:0 0 0 .25rem #8b5fd280}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-indigo,.btn-check:active+html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo:active,html[data-netbox-color-mode=dark] .btn-indigo.active,.show>html[data-netbox-color-mode=dark] .btn-indigo.dropdown-toggle{color:#000;background-color:#b58df9;border-color:#ac7ef8}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-indigo:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-indigo:focus,html[data-netbox-color-mode=dark] .btn-indigo:active:focus,html[data-netbox-color-mode=dark] .btn-indigo.active:focus,.show>html[data-netbox-color-mode=dark] .btn-indigo.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #8b5fd280}html[data-netbox-color-mode=dark] .btn-indigo:disabled,html[data-netbox-color-mode=dark] .btn-indigo.disabled{color:#000;background-color:#a370f7;border-color:#a370f7}html[data-netbox-color-mode=dark] .btn-purple{color:#000;background-color:#a98eda;border-color:#a98eda}html[data-netbox-color-mode=dark] .btn-purple:hover{color:#000;background-color:#b69fe0;border-color:#b299de}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=dark] .btn-purple:focus{color:#000;background-color:#b69fe0;border-color:#b299de;box-shadow:0 0 0 .25rem #9079b980}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-purple,.btn-check:active+html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=dark] .btn-purple:active,html[data-netbox-color-mode=dark] .btn-purple.active,.show>html[data-netbox-color-mode=dark] .btn-purple.dropdown-toggle{color:#000;background-color:#baa5e1;border-color:#b299de}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-purple:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-purple:focus,html[data-netbox-color-mode=dark] .btn-purple:active:focus,html[data-netbox-color-mode=dark] .btn-purple.active:focus,.show>html[data-netbox-color-mode=dark] .btn-purple.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #9079b980}html[data-netbox-color-mode=dark] .btn-purple:disabled,html[data-netbox-color-mode=dark] .btn-purple.disabled{color:#000;background-color:#a98eda;border-color:#a98eda}html[data-netbox-color-mode=dark] .btn-pink{color:#000;background-color:#e685b5;border-color:#e685b5}html[data-netbox-color-mode=dark] .btn-pink:hover{color:#000;background-color:#ea97c0;border-color:#e991bc}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=dark] .btn-pink:focus{color:#000;background-color:#ea97c0;border-color:#e991bc;box-shadow:0 0 0 .25rem #c4719a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-pink,.btn-check:active+html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=dark] .btn-pink:active,html[data-netbox-color-mode=dark] .btn-pink.active,.show>html[data-netbox-color-mode=dark] .btn-pink.dropdown-toggle{color:#000;background-color:#eb9dc4;border-color:#e991bc}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-pink:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-pink:focus,html[data-netbox-color-mode=dark] .btn-pink:active:focus,html[data-netbox-color-mode=dark] .btn-pink.active:focus,.show>html[data-netbox-color-mode=dark] .btn-pink.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c4719a80}html[data-netbox-color-mode=dark] .btn-pink:disabled,html[data-netbox-color-mode=dark] .btn-pink.disabled{color:#000;background-color:#e685b5;border-color:#e685b5}html[data-netbox-color-mode=dark] .btn-red{color:#000;background-color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-red:hover{color:#000;background-color:#ed98a0;border-color:#ec929a}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=dark] .btn-red:focus{color:#000;background-color:#ed98a0;border-color:#ec929a;box-shadow:0 0 0 .25rem #c7727a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-red,.btn-check:active+html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=dark] .btn-red:active,html[data-netbox-color-mode=dark] .btn-red.active,.show>html[data-netbox-color-mode=dark] .btn-red.dropdown-toggle{color:#000;background-color:#ee9ea5;border-color:#ec929a}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-red:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-red:focus,html[data-netbox-color-mode=dark] .btn-red:active:focus,html[data-netbox-color-mode=dark] .btn-red.active:focus,.show>html[data-netbox-color-mode=dark] .btn-red.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c7727a80}html[data-netbox-color-mode=dark] .btn-red:disabled,html[data-netbox-color-mode=dark] .btn-red.disabled{color:#000;background-color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-orange{color:#000;background-color:#feb272;border-color:#feb272}html[data-netbox-color-mode=dark] .btn-orange:hover{color:#000;background-color:#febe87;border-color:#feba80}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=dark] .btn-orange:focus{color:#000;background-color:#febe87;border-color:#feba80;box-shadow:0 0 0 .25rem #d8976180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-orange,.btn-check:active+html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=dark] .btn-orange:active,html[data-netbox-color-mode=dark] .btn-orange.active,.show>html[data-netbox-color-mode=dark] .btn-orange.dropdown-toggle{color:#000;background-color:#fec18e;border-color:#feba80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-orange:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-orange:focus,html[data-netbox-color-mode=dark] .btn-orange:active:focus,html[data-netbox-color-mode=dark] .btn-orange.active:focus,.show>html[data-netbox-color-mode=dark] .btn-orange.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d8976180}html[data-netbox-color-mode=dark] .btn-orange:disabled,html[data-netbox-color-mode=dark] .btn-orange.disabled{color:#000;background-color:#feb272;border-color:#feb272}html[data-netbox-color-mode=dark] .btn-yellow{color:#000;background-color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-yellow:hover{color:#000;background-color:#ffe080;border-color:#ffde79}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow:focus{color:#000;background-color:#ffe080;border-color:#ffde79;box-shadow:0 0 0 .25rem #d9b95a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-yellow,.btn-check:active+html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow:active,html[data-netbox-color-mode=dark] .btn-yellow.active,.show>html[data-netbox-color-mode=dark] .btn-yellow.dropdown-toggle{color:#000;background-color:#ffe188;border-color:#ffde79}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-yellow:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-yellow:focus,html[data-netbox-color-mode=dark] .btn-yellow:active:focus,html[data-netbox-color-mode=dark] .btn-yellow.active:focus,.show>html[data-netbox-color-mode=dark] .btn-yellow.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9b95a80}html[data-netbox-color-mode=dark] .btn-yellow:disabled,html[data-netbox-color-mode=dark] .btn-yellow.disabled{color:#000;background-color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-green{color:#000;background-color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-green:hover{color:#000;background-color:#8ac2a7;border-color:#83bea2}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=dark] .btn-green:focus{color:#000;background-color:#8ac2a7;border-color:#83bea2;box-shadow:0 0 0 .25rem #639c8180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-green,.btn-check:active+html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=dark] .btn-green:active,html[data-netbox-color-mode=dark] .btn-green.active,.show>html[data-netbox-color-mode=dark] .btn-green.dropdown-toggle{color:#000;background-color:#91c5ad;border-color:#83bea2}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-green:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-green:focus,html[data-netbox-color-mode=dark] .btn-green:active:focus,html[data-netbox-color-mode=dark] .btn-green.active:focus,.show>html[data-netbox-color-mode=dark] .btn-green.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #639c8180}html[data-netbox-color-mode=dark] .btn-green:disabled,html[data-netbox-color-mode=dark] .btn-green.disabled{color:#000;background-color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-teal{color:#000;background-color:#79dfc1;border-color:#79dfc1}html[data-netbox-color-mode=dark] .btn-teal:hover{color:#000;background-color:#8de4ca;border-color:#86e2c7}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=dark] .btn-teal:focus{color:#000;background-color:#8de4ca;border-color:#86e2c7;box-shadow:0 0 0 .25rem #67bea480}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-teal,.btn-check:active+html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=dark] .btn-teal:active,html[data-netbox-color-mode=dark] .btn-teal.active,.show>html[data-netbox-color-mode=dark] .btn-teal.dropdown-toggle{color:#000;background-color:#94e5cd;border-color:#86e2c7}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-teal:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-teal:focus,html[data-netbox-color-mode=dark] .btn-teal:active:focus,html[data-netbox-color-mode=dark] .btn-teal.active:focus,.show>html[data-netbox-color-mode=dark] .btn-teal.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #67bea480}html[data-netbox-color-mode=dark] .btn-teal:disabled,html[data-netbox-color-mode=dark] .btn-teal.disabled{color:#000;background-color:#79dfc1;border-color:#79dfc1}html[data-netbox-color-mode=dark] .btn-cyan{color:#000;background-color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-cyan:hover{color:#000;background-color:#84e4f7;border-color:#7de2f7}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan:focus{color:#000;background-color:#84e4f7;border-color:#7de2f7;box-shadow:0 0 0 .25rem #5ebed180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-cyan,.btn-check:active+html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan:active,html[data-netbox-color-mode=dark] .btn-cyan.active,.show>html[data-netbox-color-mode=dark] .btn-cyan.dropdown-toggle{color:#000;background-color:#8be5f8;border-color:#7de2f7}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-cyan:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-cyan:focus,html[data-netbox-color-mode=dark] .btn-cyan:active:focus,html[data-netbox-color-mode=dark] .btn-cyan.active:focus,.show>html[data-netbox-color-mode=dark] .btn-cyan.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #5ebed180}html[data-netbox-color-mode=dark] .btn-cyan:disabled,html[data-netbox-color-mode=dark] .btn-cyan.disabled{color:#000;background-color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-gray{color:#000;background-color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-gray:hover{color:#000;background-color:#e3e6ea;border-color:#e1e5e9}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=dark] .btn-gray:focus{color:#000;background-color:#e3e6ea;border-color:#e1e5e9;box-shadow:0 0 0 .25rem #bdc0c480}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-gray,.btn-check:active+html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=dark] .btn-gray:active,html[data-netbox-color-mode=dark] .btn-gray.active,.show>html[data-netbox-color-mode=dark] .btn-gray.dropdown-toggle{color:#000;background-color:#e5e8eb;border-color:#e1e5e9}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-gray:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-gray:focus,html[data-netbox-color-mode=dark] .btn-gray:active:focus,html[data-netbox-color-mode=dark] .btn-gray.active:focus,.show>html[data-netbox-color-mode=dark] .btn-gray.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #bdc0c480}html[data-netbox-color-mode=dark] .btn-gray:disabled,html[data-netbox-color-mode=dark] .btn-gray.disabled{color:#000;background-color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-black{color:#fff;background-color:#000;border-color:#000}html[data-netbox-color-mode=dark] .btn-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=dark] .btn-black:focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .25rem #26262680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-black,.btn-check:active+html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=dark] .btn-black:active,html[data-netbox-color-mode=dark] .btn-black.active,.show>html[data-netbox-color-mode=dark] .btn-black.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-black:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-black:focus,html[data-netbox-color-mode=dark] .btn-black:active:focus,html[data-netbox-color-mode=dark] .btn-black.active:focus,.show>html[data-netbox-color-mode=dark] .btn-black.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #26262680}html[data-netbox-color-mode=dark] .btn-black:disabled,html[data-netbox-color-mode=dark] .btn-black.disabled{color:#fff;background-color:#000;border-color:#000}html[data-netbox-color-mode=dark] .btn-white{color:#000;background-color:#fff;border-color:#fff}html[data-netbox-color-mode=dark] .btn-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=dark] .btn-white:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 0 0 .25rem #d9d9d980}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-white,.btn-check:active+html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=dark] .btn-white:active,html[data-netbox-color-mode=dark] .btn-white.active,.show>html[data-netbox-color-mode=dark] .btn-white.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-white:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-white:focus,html[data-netbox-color-mode=dark] .btn-white:active:focus,html[data-netbox-color-mode=dark] .btn-white.active:focus,.show>html[data-netbox-color-mode=dark] .btn-white.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9d9d980}html[data-netbox-color-mode=dark] .btn-white:disabled,html[data-netbox-color-mode=dark] .btn-white.disabled{color:#000;background-color:#fff;border-color:#fff}html[data-netbox-color-mode=dark] .btn-outline-primary{color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-outline-primary:hover{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary:focus{box-shadow:0 0 0 .25rem #6ea8fe80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-primary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary:active,html[data-netbox-color-mode=dark] .btn-outline-primary.active,html[data-netbox-color-mode=dark] .btn-outline-primary.dropdown-toggle.show{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-primary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-primary:focus,html[data-netbox-color-mode=dark] .btn-outline-primary:active:focus,html[data-netbox-color-mode=dark] .btn-outline-primary.active:focus,html[data-netbox-color-mode=dark] .btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6ea8fe80}html[data-netbox-color-mode=dark] .btn-outline-primary:disabled,html[data-netbox-color-mode=dark] .btn-outline-primary.disabled{color:#6ea8fe;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-secondary{color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-outline-secondary:hover{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-secondary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary:active,html[data-netbox-color-mode=dark] .btn-outline-secondary.active,html[data-netbox-color-mode=dark] .btn-outline-secondary.dropdown-toggle.show{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary:active:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary.active:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #adb5bd80}html[data-netbox-color-mode=dark] .btn-outline-secondary:disabled,html[data-netbox-color-mode=dark] .btn-outline-secondary.disabled{color:#adb5bd;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-success{color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-outline-success:hover{color:#000;background-color:#75b798;border-color:#75b798}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success:focus{box-shadow:0 0 0 .25rem #75b79880}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-success,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success:active,html[data-netbox-color-mode=dark] .btn-outline-success.active,html[data-netbox-color-mode=dark] .btn-outline-success.dropdown-toggle.show{color:#000;background-color:#75b798;border-color:#75b798}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-success:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-success:focus,html[data-netbox-color-mode=dark] .btn-outline-success:active:focus,html[data-netbox-color-mode=dark] .btn-outline-success.active:focus,html[data-netbox-color-mode=dark] .btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #75b79880}html[data-netbox-color-mode=dark] .btn-outline-success:disabled,html[data-netbox-color-mode=dark] .btn-outline-success.disabled{color:#75b798;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-info{color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-outline-info:hover{color:#000;background-color:#6edff6;border-color:#6edff6}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info:focus{box-shadow:0 0 0 .25rem #6edff680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-info,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info:active,html[data-netbox-color-mode=dark] .btn-outline-info.active,html[data-netbox-color-mode=dark] .btn-outline-info.dropdown-toggle.show{color:#000;background-color:#6edff6;border-color:#6edff6}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-info:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-info:focus,html[data-netbox-color-mode=dark] .btn-outline-info:active:focus,html[data-netbox-color-mode=dark] .btn-outline-info.active:focus,html[data-netbox-color-mode=dark] .btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6edff680}html[data-netbox-color-mode=dark] .btn-outline-info:disabled,html[data-netbox-color-mode=dark] .btn-outline-info.disabled{color:#6edff6;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-warning{color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-outline-warning:hover{color:#000;background-color:#ffda6a;border-color:#ffda6a}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning:focus{box-shadow:0 0 0 .25rem #ffda6a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-warning,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning:active,html[data-netbox-color-mode=dark] .btn-outline-warning.active,html[data-netbox-color-mode=dark] .btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffda6a;border-color:#ffda6a}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-warning:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-warning:focus,html[data-netbox-color-mode=dark] .btn-outline-warning:active:focus,html[data-netbox-color-mode=dark] .btn-outline-warning.active:focus,html[data-netbox-color-mode=dark] .btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffda6a80}html[data-netbox-color-mode=dark] .btn-outline-warning:disabled,html[data-netbox-color-mode=dark] .btn-outline-warning.disabled{color:#ffda6a;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-danger{color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-outline-danger:hover{color:#000;background-color:#ea868f;border-color:#ea868f}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger:focus{box-shadow:0 0 0 .25rem #ea868f80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-danger,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger:active,html[data-netbox-color-mode=dark] .btn-outline-danger.active,html[data-netbox-color-mode=dark] .btn-outline-danger.dropdown-toggle.show{color:#000;background-color:#ea868f;border-color:#ea868f}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-danger:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-danger:focus,html[data-netbox-color-mode=dark] .btn-outline-danger:active:focus,html[data-netbox-color-mode=dark] .btn-outline-danger.active:focus,html[data-netbox-color-mode=dark] .btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ea868f80}html[data-netbox-color-mode=dark] .btn-outline-danger:disabled,html[data-netbox-color-mode=dark] .btn-outline-danger.disabled{color:#ea868f;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-light{color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-outline-light:hover{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light:focus{box-shadow:0 0 0 .25rem #dee2e680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-light,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light:active,html[data-netbox-color-mode=dark] .btn-outline-light.active,html[data-netbox-color-mode=dark] .btn-outline-light.dropdown-toggle.show{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-light:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-light:focus,html[data-netbox-color-mode=dark] .btn-outline-light:active:focus,html[data-netbox-color-mode=dark] .btn-outline-light.active:focus,html[data-netbox-color-mode=dark] .btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dee2e680}html[data-netbox-color-mode=dark] .btn-outline-light:disabled,html[data-netbox-color-mode=dark] .btn-outline-light.disabled{color:#dee2e6;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-dark{color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-outline-dark:hover{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-dark,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark:active,html[data-netbox-color-mode=dark] .btn-outline-dark.active,html[data-netbox-color-mode=dark] .btn-outline-dark.dropdown-toggle.show{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-dark:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-dark:focus,html[data-netbox-color-mode=dark] .btn-outline-dark:active:focus,html[data-netbox-color-mode=dark] .btn-outline-dark.active:focus,html[data-netbox-color-mode=dark] .btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #adb5bd80}html[data-netbox-color-mode=dark] .btn-outline-dark:disabled,html[data-netbox-color-mode=dark] .btn-outline-dark.disabled{color:#adb5bd;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-blue{color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-outline-blue:hover{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue:focus{box-shadow:0 0 0 .25rem #6ea8fe80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-blue,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue:active,html[data-netbox-color-mode=dark] .btn-outline-blue.active,html[data-netbox-color-mode=dark] .btn-outline-blue.dropdown-toggle.show{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-blue:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-blue:focus,html[data-netbox-color-mode=dark] .btn-outline-blue:active:focus,html[data-netbox-color-mode=dark] .btn-outline-blue.active:focus,html[data-netbox-color-mode=dark] .btn-outline-blue.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6ea8fe80}html[data-netbox-color-mode=dark] .btn-outline-blue:disabled,html[data-netbox-color-mode=dark] .btn-outline-blue.disabled{color:#6ea8fe;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-indigo{color:#a370f7;border-color:#a370f7}html[data-netbox-color-mode=dark] .btn-outline-indigo:hover{color:#000;background-color:#a370f7;border-color:#a370f7}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo:focus{box-shadow:0 0 0 .25rem #a370f780}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-indigo,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo:active,html[data-netbox-color-mode=dark] .btn-outline-indigo.active,html[data-netbox-color-mode=dark] .btn-outline-indigo.dropdown-toggle.show{color:#000;background-color:#a370f7;border-color:#a370f7}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo:active:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo.active:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #a370f780}html[data-netbox-color-mode=dark] .btn-outline-indigo:disabled,html[data-netbox-color-mode=dark] .btn-outline-indigo.disabled{color:#a370f7;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-purple{color:#a98eda;border-color:#a98eda}html[data-netbox-color-mode=dark] .btn-outline-purple:hover{color:#000;background-color:#a98eda;border-color:#a98eda}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple:focus{box-shadow:0 0 0 .25rem #a98eda80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-purple,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple:active,html[data-netbox-color-mode=dark] .btn-outline-purple.active,html[data-netbox-color-mode=dark] .btn-outline-purple.dropdown-toggle.show{color:#000;background-color:#a98eda;border-color:#a98eda}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-purple:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-purple:focus,html[data-netbox-color-mode=dark] .btn-outline-purple:active:focus,html[data-netbox-color-mode=dark] .btn-outline-purple.active:focus,html[data-netbox-color-mode=dark] .btn-outline-purple.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #a98eda80}html[data-netbox-color-mode=dark] .btn-outline-purple:disabled,html[data-netbox-color-mode=dark] .btn-outline-purple.disabled{color:#a98eda;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-pink{color:#e685b5;border-color:#e685b5}html[data-netbox-color-mode=dark] .btn-outline-pink:hover{color:#000;background-color:#e685b5;border-color:#e685b5}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink:focus{box-shadow:0 0 0 .25rem #e685b580}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-pink,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink:active,html[data-netbox-color-mode=dark] .btn-outline-pink.active,html[data-netbox-color-mode=dark] .btn-outline-pink.dropdown-toggle.show{color:#000;background-color:#e685b5;border-color:#e685b5}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-pink:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-pink:focus,html[data-netbox-color-mode=dark] .btn-outline-pink:active:focus,html[data-netbox-color-mode=dark] .btn-outline-pink.active:focus,html[data-netbox-color-mode=dark] .btn-outline-pink.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #e685b580}html[data-netbox-color-mode=dark] .btn-outline-pink:disabled,html[data-netbox-color-mode=dark] .btn-outline-pink.disabled{color:#e685b5;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-red{color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-outline-red:hover{color:#000;background-color:#ea868f;border-color:#ea868f}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red:focus{box-shadow:0 0 0 .25rem #ea868f80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-red,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red:active,html[data-netbox-color-mode=dark] .btn-outline-red.active,html[data-netbox-color-mode=dark] .btn-outline-red.dropdown-toggle.show{color:#000;background-color:#ea868f;border-color:#ea868f}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-red:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-red:focus,html[data-netbox-color-mode=dark] .btn-outline-red:active:focus,html[data-netbox-color-mode=dark] .btn-outline-red.active:focus,html[data-netbox-color-mode=dark] .btn-outline-red.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ea868f80}html[data-netbox-color-mode=dark] .btn-outline-red:disabled,html[data-netbox-color-mode=dark] .btn-outline-red.disabled{color:#ea868f;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-orange{color:#feb272;border-color:#feb272}html[data-netbox-color-mode=dark] .btn-outline-orange:hover{color:#000;background-color:#feb272;border-color:#feb272}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange:focus{box-shadow:0 0 0 .25rem #feb27280}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-orange,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange:active,html[data-netbox-color-mode=dark] .btn-outline-orange.active,html[data-netbox-color-mode=dark] .btn-outline-orange.dropdown-toggle.show{color:#000;background-color:#feb272;border-color:#feb272}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-orange:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-orange:focus,html[data-netbox-color-mode=dark] .btn-outline-orange:active:focus,html[data-netbox-color-mode=dark] .btn-outline-orange.active:focus,html[data-netbox-color-mode=dark] .btn-outline-orange.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #feb27280}html[data-netbox-color-mode=dark] .btn-outline-orange:disabled,html[data-netbox-color-mode=dark] .btn-outline-orange.disabled{color:#feb272;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-yellow{color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-outline-yellow:hover{color:#000;background-color:#ffda6a;border-color:#ffda6a}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow:focus{box-shadow:0 0 0 .25rem #ffda6a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-yellow,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow:active,html[data-netbox-color-mode=dark] .btn-outline-yellow.active,html[data-netbox-color-mode=dark] .btn-outline-yellow.dropdown-toggle.show{color:#000;background-color:#ffda6a;border-color:#ffda6a}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow:active:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow.active:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffda6a80}html[data-netbox-color-mode=dark] .btn-outline-yellow:disabled,html[data-netbox-color-mode=dark] .btn-outline-yellow.disabled{color:#ffda6a;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-green{color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-outline-green:hover{color:#000;background-color:#75b798;border-color:#75b798}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green:focus{box-shadow:0 0 0 .25rem #75b79880}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-green,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green:active,html[data-netbox-color-mode=dark] .btn-outline-green.active,html[data-netbox-color-mode=dark] .btn-outline-green.dropdown-toggle.show{color:#000;background-color:#75b798;border-color:#75b798}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-green:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-green:focus,html[data-netbox-color-mode=dark] .btn-outline-green:active:focus,html[data-netbox-color-mode=dark] .btn-outline-green.active:focus,html[data-netbox-color-mode=dark] .btn-outline-green.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #75b79880}html[data-netbox-color-mode=dark] .btn-outline-green:disabled,html[data-netbox-color-mode=dark] .btn-outline-green.disabled{color:#75b798;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-teal{color:#79dfc1;border-color:#79dfc1}html[data-netbox-color-mode=dark] .btn-outline-teal:hover{color:#000;background-color:#79dfc1;border-color:#79dfc1}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal:focus{box-shadow:0 0 0 .25rem #79dfc180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-teal,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal:active,html[data-netbox-color-mode=dark] .btn-outline-teal.active,html[data-netbox-color-mode=dark] .btn-outline-teal.dropdown-toggle.show{color:#000;background-color:#79dfc1;border-color:#79dfc1}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-teal:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-teal:focus,html[data-netbox-color-mode=dark] .btn-outline-teal:active:focus,html[data-netbox-color-mode=dark] .btn-outline-teal.active:focus,html[data-netbox-color-mode=dark] .btn-outline-teal.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #79dfc180}html[data-netbox-color-mode=dark] .btn-outline-teal:disabled,html[data-netbox-color-mode=dark] .btn-outline-teal.disabled{color:#79dfc1;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-cyan{color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-outline-cyan:hover{color:#000;background-color:#6edff6;border-color:#6edff6}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan:focus{box-shadow:0 0 0 .25rem #6edff680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-cyan,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan:active,html[data-netbox-color-mode=dark] .btn-outline-cyan.active,html[data-netbox-color-mode=dark] .btn-outline-cyan.dropdown-toggle.show{color:#000;background-color:#6edff6;border-color:#6edff6}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan:active:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan.active:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6edff680}html[data-netbox-color-mode=dark] .btn-outline-cyan:disabled,html[data-netbox-color-mode=dark] .btn-outline-cyan.disabled{color:#6edff6;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-gray{color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-outline-gray:hover{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray:focus{box-shadow:0 0 0 .25rem #dee2e680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-gray,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray:active,html[data-netbox-color-mode=dark] .btn-outline-gray.active,html[data-netbox-color-mode=dark] .btn-outline-gray.dropdown-toggle.show{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-gray:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-gray:focus,html[data-netbox-color-mode=dark] .btn-outline-gray:active:focus,html[data-netbox-color-mode=dark] .btn-outline-gray.active:focus,html[data-netbox-color-mode=dark] .btn-outline-gray.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dee2e680}html[data-netbox-color-mode=dark] .btn-outline-gray:disabled,html[data-netbox-color-mode=dark] .btn-outline-gray.disabled{color:#dee2e6;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-black{color:#000;border-color:#000}html[data-netbox-color-mode=dark] .btn-outline-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black:focus{box-shadow:0 0 0 .25rem #00000080}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-black,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black:active,html[data-netbox-color-mode=dark] .btn-outline-black.active,html[data-netbox-color-mode=dark] .btn-outline-black.dropdown-toggle.show{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-black:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-black:focus,html[data-netbox-color-mode=dark] .btn-outline-black:active:focus,html[data-netbox-color-mode=dark] .btn-outline-black.active:focus,html[data-netbox-color-mode=dark] .btn-outline-black.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #00000080}html[data-netbox-color-mode=dark] .btn-outline-black:disabled,html[data-netbox-color-mode=dark] .btn-outline-black.disabled{color:#000;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-white{color:#fff;border-color:#fff}html[data-netbox-color-mode=dark] .btn-outline-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white:focus{box-shadow:0 0 0 .25rem #ffffff80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-white,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white:active,html[data-netbox-color-mode=dark] .btn-outline-white.active,html[data-netbox-color-mode=dark] .btn-outline-white.dropdown-toggle.show{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-white:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-white:focus,html[data-netbox-color-mode=dark] .btn-outline-white:active:focus,html[data-netbox-color-mode=dark] .btn-outline-white.active:focus,html[data-netbox-color-mode=dark] .btn-outline-white.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffffff80}html[data-netbox-color-mode=dark] .btn-outline-white:disabled,html[data-netbox-color-mode=dark] .btn-outline-white.disabled{color:#fff;background-color:transparent}html[data-netbox-color-mode=dark] .btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}html[data-netbox-color-mode=dark] .btn-link:hover{color:#0a58ca}html[data-netbox-color-mode=dark] .btn-link:disabled,html[data-netbox-color-mode=dark] .btn-link.disabled{color:#dee2e6}html[data-netbox-color-mode=dark] .btn-lg,html[data-netbox-color-mode=dark] .btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}html[data-netbox-color-mode=dark] .btn-sm,html[data-netbox-color-mode=dark] .btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html[data-netbox-color-mode=dark] .fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .fade{transition:none}}html[data-netbox-color-mode=dark] .fade:not(.show){opacity:0}html[data-netbox-color-mode=dark] .collapse:not(.show){display:none}html[data-netbox-color-mode=dark] .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .collapsing{transition:none}}html[data-netbox-color-mode=dark] .dropup,html[data-netbox-color-mode=dark] .dropend,html[data-netbox-color-mode=dark] .dropdown,html[data-netbox-color-mode=dark] .dropstart{position:relative}html[data-netbox-color-mode=dark] .dropdown-toggle{white-space:nowrap}html[data-netbox-color-mode=dark] .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}html[data-netbox-color-mode=dark] .dropdown-toggle:empty:after{margin-left:0}html[data-netbox-color-mode=dark] .dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#fff;text-align:left;list-style:none;background-color:#212529;background-clip:padding-box;border:1px solid rgba(255,255,255,.15);border-radius:.375rem}html[data-netbox-color-mode=dark] .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}html[data-netbox-color-mode=dark] .dropdown-menu-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){html[data-netbox-color-mode=dark] .dropdown-menu-sm-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-sm-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .dropdown-menu-md-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-md-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .dropdown-menu-lg-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-lg-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .dropdown-menu-xl-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-xl-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .dropdown-menu-xxl-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-xxl-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}html[data-netbox-color-mode=dark] .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}html[data-netbox-color-mode=dark] .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}html[data-netbox-color-mode=dark] .dropup .dropdown-toggle:empty:after{margin-left:0}html[data-netbox-color-mode=dark] .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:empty:after{margin-left:0}html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:after{vertical-align:0}html[data-netbox-color-mode=dark] .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:after{display:none}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:empty:after{margin-left:0}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:before{vertical-align:0}html[data-netbox-color-mode=dark] .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}html[data-netbox-color-mode=dark] .dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#f8f9fa;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}html[data-netbox-color-mode=dark] .dropdown-item:hover,html[data-netbox-color-mode=dark] .dropdown-item:focus{color:#fff;background-color:#6c757d}html[data-netbox-color-mode=dark] .dropdown-item.active,html[data-netbox-color-mode=dark] .dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}html[data-netbox-color-mode=dark] .dropdown-item.disabled,html[data-netbox-color-mode=dark] .dropdown-item:disabled{color:#343a40;pointer-events:none;background-color:transparent}html[data-netbox-color-mode=dark] .dropdown-menu.show{display:block}html[data-netbox-color-mode=dark] .dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}html[data-netbox-color-mode=dark] .dropdown-item-text{display:block;padding:.25rem 1rem;color:#f8f9fa}html[data-netbox-color-mode=dark] .dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:#00000026}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item{color:#dee2e6}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:hover,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:#ffffff26}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item.active,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item.disabled,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-divider{border-color:#00000026}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item-text{color:#dee2e6}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-header{color:#adb5bd}html[data-netbox-color-mode=dark] .btn-group,html[data-netbox-color-mode=dark] .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}html[data-netbox-color-mode=dark] .btn-group>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn{position:relative;flex:1 1 auto}html[data-netbox-color-mode=dark] .btn-group>.btn-check:checked+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn-check:focus+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn:hover,html[data-netbox-color-mode=dark] .btn-group>.btn:focus,html[data-netbox-color-mode=dark] .btn-group>.btn:active,html[data-netbox-color-mode=dark] .btn-group>.btn.active,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-check:checked+.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-check:focus+.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:hover,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:focus,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:active,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn.active{z-index:1}html[data-netbox-color-mode=dark] .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .btn-toolbar .input-group{width:auto}html[data-netbox-color-mode=dark] .btn-group>.btn:not(:first-child),html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:first-child){margin-left:-1px}html[data-netbox-color-mode=dark] .btn-group>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .btn-group>.btn:nth-child(n+3),html[data-netbox-color-mode=dark] .btn-group>:not(.btn-check)+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,.dropup html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,.dropend html[data-netbox-color-mode=dark] .dropdown-toggle-split:after{margin-left:0}.dropstart html[data-netbox-color-mode=dark] .dropdown-toggle-split:before{margin-right:0}html[data-netbox-color-mode=dark] .btn-sm+.dropdown-toggle-split,html[data-netbox-color-mode=dark] .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}html[data-netbox-color-mode=dark] .btn-lg+.dropdown-toggle-split,html[data-netbox-color-mode=dark] .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}html[data-netbox-color-mode=dark] .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}html[data-netbox-color-mode=dark] .btn-group-vertical>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group{width:100%}html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:not(:first-child),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .btn-group-vertical>.btn~.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}html[data-netbox-color-mode=dark] .nav-link{display:block;padding:.5rem 1rem;color:#fff;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .nav-link{transition:none}}html[data-netbox-color-mode=dark] .nav-link.disabled{color:#343a40;pointer-events:none;cursor:default}html[data-netbox-color-mode=dark] .nav-tabs{border-bottom:1px solid #495057}html[data-netbox-color-mode=dark] .nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.375rem;border-top-right-radius:.375rem}html[data-netbox-color-mode=dark] .nav-tabs .nav-link:hover,html[data-netbox-color-mode=dark] .nav-tabs .nav-link:focus{border-color:rgba(52,58,64,.5) rgba(52,58,64,.5) #495057;isolation:isolate}html[data-netbox-color-mode=dark] .nav-tabs .nav-link.disabled{color:#343a40;background-color:transparent;border-color:transparent}html[data-netbox-color-mode=dark] .nav-tabs .nav-link.active,html[data-netbox-color-mode=dark] .nav-tabs .nav-item.show .nav-link{color:#f8f9fa;background-color:#1b1f22;border-color:#343a40 #343a40 #1b1f22}html[data-netbox-color-mode=dark] .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .nav-pills .nav-link{background:none;border:0;border-radius:.375rem}html[data-netbox-color-mode=dark] .nav-pills .nav-link.active,html[data-netbox-color-mode=dark] .nav-pills .show>.nav-link{color:#000;background-color:#6ea8fe}html[data-netbox-color-mode=dark] .nav-fill>.nav-link,html[data-netbox-color-mode=dark] .nav-fill .nav-item{flex:1 1 auto;text-align:center}html[data-netbox-color-mode=dark] .nav-justified>.nav-link,html[data-netbox-color-mode=dark] .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}html[data-netbox-color-mode=dark] .nav-fill .nav-item .nav-link,html[data-netbox-color-mode=dark] .nav-justified .nav-item .nav-link{width:100%}html[data-netbox-color-mode=dark] .tab-content>.tab-pane{display:none}html[data-netbox-color-mode=dark] .tab-content>.active{display:block}html[data-netbox-color-mode=dark] .navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}html[data-netbox-color-mode=dark] .navbar>.container,html[data-netbox-color-mode=dark] .navbar>.container-fluid,html[data-netbox-color-mode=dark] .navbar>.container-sm,html[data-netbox-color-mode=dark] .navbar>.container-md,html[data-netbox-color-mode=dark] .navbar>.container-lg,html[data-netbox-color-mode=dark] .navbar>.container-xl,html[data-netbox-color-mode=dark] .navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}html[data-netbox-color-mode=dark] .navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}html[data-netbox-color-mode=dark] .navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}html[data-netbox-color-mode=dark] .navbar-nav .nav-link{padding-right:0;padding-left:0}html[data-netbox-color-mode=dark] .navbar-nav .dropdown-menu{position:static}html[data-netbox-color-mode=dark] .navbar-text{padding-top:.5rem;padding-bottom:.5rem}html[data-netbox-color-mode=dark] .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}html[data-netbox-color-mode=dark] .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.375rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .navbar-toggler{transition:none}}html[data-netbox-color-mode=dark] .navbar-toggler:hover{text-decoration:none}html[data-netbox-color-mode=dark] .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}html[data-netbox-color-mode=dark] .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}html[data-netbox-color-mode=dark] .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){html[data-netbox-color-mode=dark] .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-toggler{display:none}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-toggler{display:none}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-toggler{display:none}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-toggler{display:none}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-toggler{display:none}}html[data-netbox-color-mode=dark] .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand .navbar-toggler{display:none}html[data-netbox-color-mode=dark] .navbar-light .navbar-brand{color:#000000e6}html[data-netbox-color-mode=dark] .navbar-light .navbar-brand:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-brand:focus{color:#000000e6}html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link{color:#adb5bd}html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link:focus{color:#000000b3}html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .show>.nav-link,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link.active{color:#000000e6}html[data-netbox-color-mode=dark] .navbar-light .navbar-toggler{color:#adb5bd;border-color:#495057}html[data-netbox-color-mode=dark] .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23adb5bd' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .navbar-light .navbar-text{color:#adb5bd}html[data-netbox-color-mode=dark] .navbar-light .navbar-text a,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a:focus{color:#000000e6}html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand{color:#fff}html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand:focus{color:#fff}html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link{color:#ffffff8c}html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link:focus{color:#ffffffbf}html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .show>.nav-link,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link.active{color:#fff}html[data-netbox-color-mode=dark] .navbar-dark .navbar-toggler{color:#ffffff8c;border-color:#ffffff1a}html[data-netbox-color-mode=dark] .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .navbar-dark .navbar-text{color:#ffffff8c}html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a:focus{color:#fff}html[data-netbox-color-mode=dark] .card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#212529;background-clip:border-box;border:1px solid rgba(255,255,255,.125);border-radius:.375rem}html[data-netbox-color-mode=dark] .card>hr{margin-right:0;margin-left:0}html[data-netbox-color-mode=dark] .card>.list-group{border-top:inherit;border-bottom:inherit}html[data-netbox-color-mode=dark] .card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card>.card-header+.list-group,html[data-netbox-color-mode=dark] .card>.list-group+.card-footer{border-top:0}html[data-netbox-color-mode=dark] .card-body{flex:1 1 auto;padding:1rem}html[data-netbox-color-mode=dark] .card-title{margin-bottom:.5rem}html[data-netbox-color-mode=dark] .card-subtitle{margin-top:-.25rem;margin-bottom:0}html[data-netbox-color-mode=dark] .card-text:last-child{margin-bottom:0}html[data-netbox-color-mode=dark] .card-link:hover{text-decoration:none}html[data-netbox-color-mode=dark] .card-link+.card-link{margin-left:1rem}html[data-netbox-color-mode=dark] .card-header{padding:.5rem 1rem;margin-bottom:0;background-color:"unset";border-bottom:1px solid rgba(255,255,255,.125)}html[data-netbox-color-mode=dark] .card-header:first-child{border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0}html[data-netbox-color-mode=dark] .card-footer{padding:.5rem 1rem;background-color:"unset";border-top:1px solid rgba(255,255,255,.125)}html[data-netbox-color-mode=dark] .card-footer:last-child{border-radius:0 0 calc(.375rem - 1px) calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}html[data-netbox-color-mode=dark] .card-header-tabs .nav-link.active{background-color:#212529;border-bottom-color:#212529}html[data-netbox-color-mode=dark] .card-header-pills{margin-right:-.5rem;margin-left:-.5rem}html[data-netbox-color-mode=dark] .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-top,html[data-netbox-color-mode=dark] .card-img-bottom{width:100%}html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-top{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-bottom{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card-group>.card{margin-bottom:.75rem}@media (min-width: 576px){html[data-netbox-color-mode=dark] .card-group{display:flex;flex-flow:row wrap}html[data-netbox-color-mode=dark] .card-group>.card{flex:1 0 0%;margin-bottom:0}html[data-netbox-color-mode=dark] .card-group>.card+.card{margin-left:0;border-left:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-img-top,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-img-bottom,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-img-top,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-img-bottom,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}html[data-netbox-color-mode=dark] .accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#fff;text-align:left;background-color:transparent;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .accordion-button{transition:none}}html[data-netbox-color-mode=dark] .accordion-button:not(.collapsed){color:#000;background-color:#6397e5;box-shadow:inset 0 -1px #495057}html[data-netbox-color-mode=dark] .accordion-button:not(.collapsed):after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}html[data-netbox-color-mode=dark] .accordion-button:after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .accordion-button:after{transition:none}}html[data-netbox-color-mode=dark] .accordion-button:hover{z-index:2}html[data-netbox-color-mode=dark] .accordion-button:focus{z-index:3;border-color:#7db1fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .accordion-header{margin-bottom:0}html[data-netbox-color-mode=dark] .accordion-item{background-color:transparent;border:1px solid #495057}html[data-netbox-color-mode=dark] .accordion-item:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}html[data-netbox-color-mode=dark] .accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .accordion-item:not(:first-of-type){border-top:0}html[data-netbox-color-mode=dark] .accordion-item:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .accordion-body{padding:1rem 1.25rem}html[data-netbox-color-mode=dark] .accordion-flush .accordion-collapse{border-width:0}html[data-netbox-color-mode=dark] .accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}html[data-netbox-color-mode=dark] .accordion-flush .accordion-item:first-child{border-top:0}html[data-netbox-color-mode=dark] .accordion-flush .accordion-item:last-child{border-bottom:0}html[data-netbox-color-mode=dark] .accordion-flush .accordion-item .accordion-button{border-radius:0}html[data-netbox-color-mode=dark] .breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:1rem;list-style:none}html[data-netbox-color-mode=dark] .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}html[data-netbox-color-mode=dark] .breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#f8f9fa;content:var(--bs-breadcrumb-divider, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='%23f8f9fa'/%3E%3C/svg%3E"))}html[data-netbox-color-mode=dark] .breadcrumb-item.active{color:#fff}html[data-netbox-color-mode=dark] .pagination{display:flex;padding-left:0;list-style:none}html[data-netbox-color-mode=dark] .page-link{position:relative;display:block;color:#9ec5fe;text-decoration:none;background-color:#343a40;border:1px solid #6c757d;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){html[data-netbox-color-mode=dark] .page-link{transition:none}}html[data-netbox-color-mode=dark] .page-link:hover{z-index:2;color:#cfe2ff;background-color:#ced4da;border-color:#adb5bd}html[data-netbox-color-mode=dark] .page-link:focus{z-index:3;color:#cfe2ff;background-color:#ced4da;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .page-item:not(:first-child) .page-link{margin-left:-1px}html[data-netbox-color-mode=dark] .page-item.active .page-link{z-index:3;color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#343a40;border-color:#6c757d}html[data-netbox-color-mode=dark] .page-link{padding:.375rem .75rem}html[data-netbox-color-mode=dark] .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}html[data-netbox-color-mode=dark] .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}html[data-netbox-color-mode=dark] .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}html[data-netbox-color-mode=dark] .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}html[data-netbox-color-mode=dark] .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}html[data-netbox-color-mode=dark] .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}html[data-netbox-color-mode=dark] .badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}html[data-netbox-color-mode=dark] .badge:empty{display:none}html[data-netbox-color-mode=dark] .btn .badge{position:relative;top:-1px}html[data-netbox-color-mode=dark] .alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}html[data-netbox-color-mode=dark] .alert-heading{color:inherit}html[data-netbox-color-mode=dark] .alert-link{font-weight:700}html[data-netbox-color-mode=dark] .alert-dismissible{padding-right:3rem}html[data-netbox-color-mode=dark] .alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}html[data-netbox-color-mode=dark] .alert-primary{color:#162233;background-color:#75acfe;border-color:#8bb9fe}html[data-netbox-color-mode=dark] .alert-primary .alert-link{color:#121b29}html[data-netbox-color-mode=dark] .alert-secondary{color:#232426;background-color:#b1b9c0;border-color:#bdc4ca}html[data-netbox-color-mode=dark] .alert-secondary .alert-link{color:#1c1d1e}html[data-netbox-color-mode=dark] .alert-success{color:#17251e;background-color:#7cbb9d;border-color:#91c5ad}html[data-netbox-color-mode=dark] .alert-success .alert-link{color:#121e18}html[data-netbox-color-mode=dark] .alert-info{color:#162d31;background-color:#75e1f6;border-color:#8be5f8}html[data-netbox-color-mode=dark] .alert-info .alert-link{color:#122427}html[data-netbox-color-mode=dark] .alert-warning{color:#332c15;background-color:#ffdc71;border-color:#ffe188}html[data-netbox-color-mode=dark] .alert-warning .alert-link{color:#292311}html[data-netbox-color-mode=dark] .alert-danger{color:#2f1b1d;background-color:#eb8c95;border-color:#ee9ea5}html[data-netbox-color-mode=dark] .alert-danger .alert-link{color:#261617}html[data-netbox-color-mode=dark] .alert-light{color:#2c2d2e;background-color:#e0e3e7;border-color:#e5e8eb}html[data-netbox-color-mode=dark] .alert-light .alert-link{color:#232425}html[data-netbox-color-mode=dark] .alert-dark{color:#232426;background-color:#b1b9c0;border-color:#bdc4ca}html[data-netbox-color-mode=dark] .alert-dark .alert-link{color:#1c1d1e}html[data-netbox-color-mode=dark] .alert-blue{color:#162233;background-color:#75acfe;border-color:#8bb9fe}html[data-netbox-color-mode=dark] .alert-blue .alert-link{color:#121b29}html[data-netbox-color-mode=dark] .alert-indigo{color:#211631;background-color:#a877f7;border-color:#b58df9}html[data-netbox-color-mode=dark] .alert-indigo .alert-link{color:#1a1227}html[data-netbox-color-mode=dark] .alert-purple{color:#221c2c;background-color:#ad94dc;border-color:#baa5e1}html[data-netbox-color-mode=dark] .alert-purple .alert-link{color:#1b1623}html[data-netbox-color-mode=dark] .alert-pink{color:#2e1b24;background-color:#e78bb9;border-color:#eb9dc4}html[data-netbox-color-mode=dark] .alert-pink .alert-link{color:#25161d}html[data-netbox-color-mode=dark] .alert-red{color:#2f1b1d;background-color:#eb8c95;border-color:#ee9ea5}html[data-netbox-color-mode=dark] .alert-red .alert-link{color:#261617}html[data-netbox-color-mode=dark] .alert-orange{color:#332417;background-color:#feb679;border-color:#fec18e}html[data-netbox-color-mode=dark] .alert-orange .alert-link{color:#291d12}html[data-netbox-color-mode=dark] .alert-yellow{color:#332c15;background-color:#ffdc71;border-color:#ffe188}html[data-netbox-color-mode=dark] .alert-yellow .alert-link{color:#292311}html[data-netbox-color-mode=dark] .alert-green{color:#17251e;background-color:#7cbb9d;border-color:#91c5ad}html[data-netbox-color-mode=dark] .alert-green .alert-link{color:#121e18}html[data-netbox-color-mode=dark] .alert-teal{color:#182d27;background-color:#80e1c4;border-color:#94e5cd}html[data-netbox-color-mode=dark] .alert-teal .alert-link{color:#13241f}html[data-netbox-color-mode=dark] .alert-cyan{color:#162d31;background-color:#75e1f6;border-color:#8be5f8}html[data-netbox-color-mode=dark] .alert-cyan .alert-link{color:#122427}html[data-netbox-color-mode=dark] .alert-gray{color:#2c2d2e;background-color:#e0e3e7;border-color:#e5e8eb}html[data-netbox-color-mode=dark] .alert-gray .alert-link{color:#232425}html[data-netbox-color-mode=dark] .alert-black{color:#ccc;background-color:#0d0d0d;border-color:#333}html[data-netbox-color-mode=dark] .alert-black .alert-link{color:#a3a3a3}html[data-netbox-color-mode=dark] .alert-white{color:#333;background-color:#fff;border-color:#fff}html[data-netbox-color-mode=dark] .alert-white .alert-link{color:#292929}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}html[data-netbox-color-mode=dark] .progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#6c757d;border-radius:.375rem}html[data-netbox-color-mode=dark] .progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#6ea8fe;transition:width .6s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .progress-bar{transition:none}}html[data-netbox-color-mode=dark] .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:1rem 1rem}html[data-netbox-color-mode=dark] .progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .progress-bar-animated{animation:none}}html[data-netbox-color-mode=dark] .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.375rem}html[data-netbox-color-mode=dark] .list-group-numbered{list-style-type:none;counter-reset:section}html[data-netbox-color-mode=dark] .list-group-numbered>li:before{content:counters(section,".") ". ";counter-increment:section}html[data-netbox-color-mode=dark] .list-group-item-action{width:100%;color:#dee2e6;text-align:inherit}html[data-netbox-color-mode=dark] .list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-action:focus{z-index:1;color:#fff;text-decoration:none;background-color:#f8f9fa26}html[data-netbox-color-mode=dark] .list-group-item-action:active{color:#fff;background-color:#dee2e620}html[data-netbox-color-mode=dark] .list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#fff;text-decoration:none;background-color:#212529;border:1px solid rgba(255,255,255,.125)}html[data-netbox-color-mode=dark] .list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}html[data-netbox-color-mode=dark] .list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}html[data-netbox-color-mode=dark] .list-group-item.disabled,html[data-netbox-color-mode=dark] .list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#212529}html[data-netbox-color-mode=dark] .list-group-item.active{z-index:2;color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item{border-top-width:0}html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item.active{margin-top:-1px;border-top-width:1px}html[data-netbox-color-mode=dark] .list-group-horizontal{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){html[data-netbox-color-mode=dark] .list-group-horizontal-sm{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .list-group-horizontal-md{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .list-group-horizontal-lg{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .list-group-horizontal-xl{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .list-group-horizontal-xxl{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}html[data-netbox-color-mode=dark] .list-group-flush{border-radius:0}html[data-netbox-color-mode=dark] .list-group-flush>.list-group-item{border-width:0 0 1px}html[data-netbox-color-mode=dark] .list-group-flush>.list-group-item:last-child{border-bottom-width:0}html[data-netbox-color-mode=dark] .list-group-item-primary{color:#426598;background-color:#e2eeff}html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action:focus{color:#426598;background-color:#cbd6e6}html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#426598;border-color:#426598}html[data-netbox-color-mode=dark] .list-group-item-secondary{color:#686d71;background-color:#eff0f2}html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}html[data-netbox-color-mode=dark] .list-group-item-success{color:#466e5b;background-color:#e3f1ea}html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action:focus{color:#466e5b;background-color:#ccd9d3}html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#466e5b;border-color:#466e5b}html[data-netbox-color-mode=dark] .list-group-item-info{color:#2c5962;background-color:#e2f9fd}html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action:focus{color:#2c5962;background-color:#cbe0e4}html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#2c5962;border-color:#2c5962}html[data-netbox-color-mode=dark] .list-group-item-warning{color:#66572a;background-color:#fff8e1}html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action:focus{color:#66572a;background-color:#e6dfcb}html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#66572a;border-color:#66572a}html[data-netbox-color-mode=dark] .list-group-item-danger{color:#8c5056;background-color:#fbe7e9}html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action:focus{color:#8c5056;background-color:#e2d0d2}html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#8c5056;border-color:#8c5056}html[data-netbox-color-mode=dark] .list-group-item-light{color:#595a5c;background-color:#f8f9fa}html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}html[data-netbox-color-mode=dark] .list-group-item-dark{color:#686d71;background-color:#eff0f2}html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}html[data-netbox-color-mode=dark] .list-group-item-blue{color:#426598;background-color:#e2eeff}html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action:focus{color:#426598;background-color:#cbd6e6}html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#426598;border-color:#426598}html[data-netbox-color-mode=dark] .list-group-item-indigo{color:#624394;background-color:#ede2fd}html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action:focus{color:#624394;background-color:#d5cbe4}html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action.active{color:#fff;background-color:#624394;border-color:#624394}html[data-netbox-color-mode=dark] .list-group-item-purple{color:#655583;background-color:#eee8f8}html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action:focus{color:#655583;background-color:#d6d1df}html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#655583;border-color:#655583}html[data-netbox-color-mode=dark] .list-group-item-pink{color:#8a506d;background-color:#fae7f0}html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action:focus{color:#8a506d;background-color:#e1d0d8}html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#8a506d;border-color:#8a506d}html[data-netbox-color-mode=dark] .list-group-item-red{color:#8c5056;background-color:#fbe7e9}html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action:focus{color:#8c5056;background-color:#e2d0d2}html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action.active{color:#fff;background-color:#8c5056;border-color:#8c5056}html[data-netbox-color-mode=dark] .list-group-item-orange{color:#66472e;background-color:#fff0e3}html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action:focus{color:#66472e;background-color:#e6d8cc}html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action.active{color:#fff;background-color:#66472e;border-color:#66472e}html[data-netbox-color-mode=dark] .list-group-item-yellow{color:#66572a;background-color:#fff8e1}html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action:focus{color:#66572a;background-color:#e6dfcb}html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action.active{color:#fff;background-color:#66572a;border-color:#66572a}html[data-netbox-color-mode=dark] .list-group-item-green{color:#466e5b;background-color:#e3f1ea}html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action:focus{color:#466e5b;background-color:#ccd9d3}html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action.active{color:#fff;background-color:#466e5b;border-color:#466e5b}html[data-netbox-color-mode=dark] .list-group-item-teal{color:#30594d;background-color:#e4f9f3}html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action:focus{color:#30594d;background-color:#cde0db}html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action.active{color:#fff;background-color:#30594d;border-color:#30594d}html[data-netbox-color-mode=dark] .list-group-item-cyan{color:#2c5962;background-color:#e2f9fd}html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action:focus{color:#2c5962;background-color:#cbe0e4}html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action.active{color:#fff;background-color:#2c5962;border-color:#2c5962}html[data-netbox-color-mode=dark] .list-group-item-gray{color:#595a5c;background-color:#f8f9fa}html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}html[data-netbox-color-mode=dark] .list-group-item-black{color:#000;background-color:#ccc}html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action:focus{color:#000;background-color:#b8b8b8}html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action.active{color:#fff;background-color:#000;border-color:#000}html[data-netbox-color-mode=dark] .list-group-item-white{color:#666;background-color:#fff}html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action:focus{color:#666;background-color:#e6e6e6}html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action.active{color:#fff;background-color:#666;border-color:#666}html[data-netbox-color-mode=dark] .btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#fff;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}html[data-netbox-color-mode=dark] .btn-close:hover{color:#fff;text-decoration:none;opacity:.75}html[data-netbox-color-mode=dark] .btn-close:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40;opacity:1}html[data-netbox-color-mode=dark] .btn-close:disabled,html[data-netbox-color-mode=dark] .btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}html[data-netbox-color-mode=dark] .btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}html[data-netbox-color-mode=dark] .toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:#ffffffd9;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem #00000026;border-radius:.375rem}html[data-netbox-color-mode=dark] .toast:not(.showing):not(.show){opacity:0}html[data-netbox-color-mode=dark] .toast.hide{display:none}html[data-netbox-color-mode=dark] .toast-container{width:max-content;max-width:100%;pointer-events:none}html[data-netbox-color-mode=dark] .toast-container>:not(:last-child){margin-bottom:.75rem}html[data-netbox-color-mode=dark] .toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}html[data-netbox-color-mode=dark] .toast-body{padding:.75rem;word-wrap:break-word}html[data-netbox-color-mode=dark] .modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}html[data-netbox-color-mode=dark] .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade html[data-netbox-color-mode=dark] .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade html[data-netbox-color-mode=dark] .modal-dialog{transition:none}}.modal.show html[data-netbox-color-mode=dark] .modal-dialog{transform:none}.modal.modal-static html[data-netbox-color-mode=dark] .modal-dialog{transform:scale(1.02)}html[data-netbox-color-mode=dark] .modal-dialog-scrollable{height:calc(100% - 1rem)}html[data-netbox-color-mode=dark] .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}html[data-netbox-color-mode=dark] .modal-dialog-scrollable .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}html[data-netbox-color-mode=dark] .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#343a40;background-clip:padding-box;border:1px solid rgba(255,255,255,.2);border-radius:.75rem;outline:0}html[data-netbox-color-mode=dark] .modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}html[data-netbox-color-mode=dark] .modal-backdrop.fade{opacity:0}html[data-netbox-color-mode=dark] .modal-backdrop.show{opacity:.5}html[data-netbox-color-mode=dark] .modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #495057;border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}html[data-netbox-color-mode=dark] .modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}html[data-netbox-color-mode=dark] .modal-title{margin-bottom:0;line-height:1.5}html[data-netbox-color-mode=dark] .modal-body{position:relative;flex:1 1 auto;padding:1rem}html[data-netbox-color-mode=dark] .modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #495057;border-bottom-right-radius:calc(.75rem - 1px);border-bottom-left-radius:calc(.75rem - 1px)}html[data-netbox-color-mode=dark] .modal-footer>*{margin:.25rem}@media (min-width: 576px){html[data-netbox-color-mode=dark] .modal-dialog{max-width:500px;margin:1.75rem auto}html[data-netbox-color-mode=dark] .modal-dialog-scrollable{height:calc(100% - 3.5rem)}html[data-netbox-color-mode=dark] .modal-dialog-centered{min-height:calc(100% - 3.5rem)}html[data-netbox-color-mode=dark] .modal-sm{max-width:300px}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .modal-lg,html[data-netbox-color-mode=dark] .modal-xl{max-width:800px}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .modal-xl{max-width:1140px}}html[data-netbox-color-mode=dark] .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen .modal-footer{border-radius:0}@media (max-width: 575.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width: 767.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width: 1199.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width: 1399.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-footer{border-radius:0}}html[data-netbox-color-mode=dark] .tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}html[data-netbox-color-mode=dark] .tooltip.show{opacity:.9}html[data-netbox-color-mode=dark] .tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}html[data-netbox-color-mode=dark] .tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}html[data-netbox-color-mode=dark] .bs-tooltip-top,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=top]{padding:.4rem 0}html[data-netbox-color-mode=dark] .bs-tooltip-top .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:0}html[data-netbox-color-mode=dark] .bs-tooltip-top .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#495057}html[data-netbox-color-mode=dark] .bs-tooltip-end,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=right]{padding:0 .4rem}html[data-netbox-color-mode=dark] .bs-tooltip-end .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:0;width:.4rem;height:.8rem}html[data-netbox-color-mode=dark] .bs-tooltip-end .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#495057}html[data-netbox-color-mode=dark] .bs-tooltip-bottom,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=bottom]{padding:.4rem 0}html[data-netbox-color-mode=dark] .bs-tooltip-bottom .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:0}html[data-netbox-color-mode=dark] .bs-tooltip-bottom .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#495057}html[data-netbox-color-mode=dark] .bs-tooltip-start,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=left]{padding:0 .4rem}html[data-netbox-color-mode=dark] .bs-tooltip-start .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:0;width:.4rem;height:.8rem}html[data-netbox-color-mode=dark] .bs-tooltip-start .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#495057}html[data-netbox-color-mode=dark] .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#495057;border-radius:.375rem}html[data-netbox-color-mode=dark] .popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#495057;background-clip:padding-box;border:1px solid rgba(255,255,255,.2);border-radius:.75rem}html[data-netbox-color-mode=dark] .popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}html[data-netbox-color-mode=dark] .popover .popover-arrow:before,html[data-netbox-color-mode=dark] .popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-.5rem - 1px)}html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#ffffff40}html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#495057}html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#ffffff40}html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#495057}html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-.5rem - 1px)}html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:#ffffff40}html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#495057}html[data-netbox-color-mode=dark] .bs-popover-bottom .popover-header:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #454b52}html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#ffffff40}html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#495057}html[data-netbox-color-mode=dark] .popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#454b52;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}html[data-netbox-color-mode=dark] .popover-header:empty{display:none}html[data-netbox-color-mode=dark] .popover-body{padding:1rem;color:#fff}html[data-netbox-color-mode=dark] .carousel{position:relative}html[data-netbox-color-mode=dark] .carousel.pointer-event{touch-action:pan-y}html[data-netbox-color-mode=dark] .carousel-inner{position:relative;width:100%;overflow:hidden}html[data-netbox-color-mode=dark] .carousel-inner:after{display:block;clear:both;content:""}html[data-netbox-color-mode=dark] .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){html[data-netbox-color-mode=dark] .carousel-item{transition:none}}html[data-netbox-color-mode=dark] .carousel-item.active,html[data-netbox-color-mode=dark] .carousel-item-next,html[data-netbox-color-mode=dark] .carousel-item-prev{display:block}html[data-netbox-color-mode=dark] .carousel-item-next:not(.carousel-item-start),html[data-netbox-color-mode=dark] .active.carousel-item-end{transform:translate(100%)}html[data-netbox-color-mode=dark] .carousel-item-prev:not(.carousel-item-end),html[data-netbox-color-mode=dark] .active.carousel-item-start{transform:translate(-100%)}html[data-netbox-color-mode=dark] .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}html[data-netbox-color-mode=dark] .carousel-fade .carousel-item.active,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item-next.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-end{transition:none}}html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=dark] .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;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=dark] .carousel-control-next{transition:none}}html[data-netbox-color-mode=dark] .carousel-control-prev:hover,html[data-netbox-color-mode=dark] .carousel-control-prev:focus,html[data-netbox-color-mode=dark] .carousel-control-next:hover,html[data-netbox-color-mode=dark] .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}html[data-netbox-color-mode=dark] .carousel-control-prev{left:0}html[data-netbox-color-mode=dark] .carousel-control-next{right:0}html[data-netbox-color-mode=dark] .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}html[data-netbox-color-mode=dark] .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .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%;list-style:none}html[data-netbox-color-mode=dark] .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .carousel-indicators [data-bs-target]{transition:none}}html[data-netbox-color-mode=dark] .carousel-indicators .active{opacity:1}html[data-netbox-color-mode=dark] .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}html[data-netbox-color-mode=dark] .carousel-dark .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}html[data-netbox-color-mode=dark] .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}html[data-netbox-color-mode=dark] .carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg)}}html[data-netbox-color-mode=dark] .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}html[data-netbox-color-mode=dark] .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}html[data-netbox-color-mode=dark] .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}html[data-netbox-color-mode=dark] .spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .spinner-border,html[data-netbox-color-mode=dark] .spinner-grow{animation-duration:1.5s}}html[data-netbox-color-mode=dark] .clearfix:after{display:block;clear:both;content:""}html[data-netbox-color-mode=dark] .link-primary{color:#6ea8fe}html[data-netbox-color-mode=dark] .link-primary:hover,html[data-netbox-color-mode=dark] .link-primary:focus{color:#8bb9fe}html[data-netbox-color-mode=dark] .link-secondary{color:#adb5bd}html[data-netbox-color-mode=dark] .link-secondary:hover,html[data-netbox-color-mode=dark] .link-secondary:focus{color:#bdc4ca}html[data-netbox-color-mode=dark] .link-success{color:#75b798}html[data-netbox-color-mode=dark] .link-success:hover,html[data-netbox-color-mode=dark] .link-success:focus{color:#91c5ad}html[data-netbox-color-mode=dark] .link-info{color:#6edff6}html[data-netbox-color-mode=dark] .link-info:hover,html[data-netbox-color-mode=dark] .link-info:focus{color:#8be5f8}html[data-netbox-color-mode=dark] .link-warning{color:#ffda6a}html[data-netbox-color-mode=dark] .link-warning:hover,html[data-netbox-color-mode=dark] .link-warning:focus{color:#ffe188}html[data-netbox-color-mode=dark] .link-danger{color:#ea868f}html[data-netbox-color-mode=dark] .link-danger:hover,html[data-netbox-color-mode=dark] .link-danger:focus{color:#ee9ea5}html[data-netbox-color-mode=dark] .link-light{color:#dee2e6}html[data-netbox-color-mode=dark] .link-light:hover,html[data-netbox-color-mode=dark] .link-light:focus{color:#e5e8eb}html[data-netbox-color-mode=dark] .link-dark{color:#adb5bd}html[data-netbox-color-mode=dark] .link-dark:hover,html[data-netbox-color-mode=dark] .link-dark:focus{color:#bdc4ca}html[data-netbox-color-mode=dark] .link-blue{color:#6ea8fe}html[data-netbox-color-mode=dark] .link-blue:hover,html[data-netbox-color-mode=dark] .link-blue:focus{color:#8bb9fe}html[data-netbox-color-mode=dark] .link-indigo{color:#a370f7}html[data-netbox-color-mode=dark] .link-indigo:hover,html[data-netbox-color-mode=dark] .link-indigo:focus{color:#b58df9}html[data-netbox-color-mode=dark] .link-purple{color:#a98eda}html[data-netbox-color-mode=dark] .link-purple:hover,html[data-netbox-color-mode=dark] .link-purple:focus{color:#baa5e1}html[data-netbox-color-mode=dark] .link-pink{color:#e685b5}html[data-netbox-color-mode=dark] .link-pink:hover,html[data-netbox-color-mode=dark] .link-pink:focus{color:#eb9dc4}html[data-netbox-color-mode=dark] .link-red{color:#ea868f}html[data-netbox-color-mode=dark] .link-red:hover,html[data-netbox-color-mode=dark] .link-red:focus{color:#ee9ea5}html[data-netbox-color-mode=dark] .link-orange{color:#feb272}html[data-netbox-color-mode=dark] .link-orange:hover,html[data-netbox-color-mode=dark] .link-orange:focus{color:#fec18e}html[data-netbox-color-mode=dark] .link-yellow{color:#ffda6a}html[data-netbox-color-mode=dark] .link-yellow:hover,html[data-netbox-color-mode=dark] .link-yellow:focus{color:#ffe188}html[data-netbox-color-mode=dark] .link-green{color:#75b798}html[data-netbox-color-mode=dark] .link-green:hover,html[data-netbox-color-mode=dark] .link-green:focus{color:#91c5ad}html[data-netbox-color-mode=dark] .link-teal{color:#79dfc1}html[data-netbox-color-mode=dark] .link-teal:hover,html[data-netbox-color-mode=dark] .link-teal:focus{color:#94e5cd}html[data-netbox-color-mode=dark] .link-cyan{color:#6edff6}html[data-netbox-color-mode=dark] .link-cyan:hover,html[data-netbox-color-mode=dark] .link-cyan:focus{color:#8be5f8}html[data-netbox-color-mode=dark] .link-gray{color:#dee2e6}html[data-netbox-color-mode=dark] .link-gray:hover,html[data-netbox-color-mode=dark] .link-gray:focus{color:#e5e8eb}html[data-netbox-color-mode=dark] .link-black{color:#000}html[data-netbox-color-mode=dark] .link-black:hover,html[data-netbox-color-mode=dark] .link-black:focus{color:#000}html[data-netbox-color-mode=dark] .link-white{color:#fff}html[data-netbox-color-mode=dark] .link-white:hover,html[data-netbox-color-mode=dark] .link-white:focus{color:#fff}html[data-netbox-color-mode=dark] .ratio{position:relative;width:100%}html[data-netbox-color-mode=dark] .ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}html[data-netbox-color-mode=dark] .ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}html[data-netbox-color-mode=dark] .ratio-1x1{--bs-aspect-ratio: 100%}html[data-netbox-color-mode=dark] .ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}html[data-netbox-color-mode=dark] .ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}html[data-netbox-color-mode=dark] .ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}html[data-netbox-color-mode=dark] .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}html[data-netbox-color-mode=dark] .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}html[data-netbox-color-mode=dark] .sticky-top{position:sticky;top:0;z-index:1020}@media (min-width: 576px){html[data-netbox-color-mode=dark] .sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .sticky-xxl-top{position:sticky;top:0;z-index:1020}}html[data-netbox-color-mode=dark] .visually-hidden,html[data-netbox-color-mode=dark] .visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;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}html[data-netbox-color-mode=dark] .stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}html[data-netbox-color-mode=dark] .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-netbox-color-mode=dark] .align-baseline{vertical-align:baseline!important}html[data-netbox-color-mode=dark] .align-top{vertical-align:top!important}html[data-netbox-color-mode=dark] .align-middle{vertical-align:middle!important}html[data-netbox-color-mode=dark] .align-bottom{vertical-align:bottom!important}html[data-netbox-color-mode=dark] .align-text-bottom{vertical-align:text-bottom!important}html[data-netbox-color-mode=dark] .align-text-top{vertical-align:text-top!important}html[data-netbox-color-mode=dark] .float-start{float:left!important}html[data-netbox-color-mode=dark] .float-end{float:right!important}html[data-netbox-color-mode=dark] .float-none{float:none!important}html[data-netbox-color-mode=dark] .overflow-auto{overflow:auto!important}html[data-netbox-color-mode=dark] .overflow-hidden{overflow:hidden!important}html[data-netbox-color-mode=dark] .overflow-visible{overflow:visible!important}html[data-netbox-color-mode=dark] .overflow-scroll{overflow:scroll!important}html[data-netbox-color-mode=dark] .d-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-block{display:block!important}html[data-netbox-color-mode=dark] .d-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-table{display:table!important}html[data-netbox-color-mode=dark] .d-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-none{display:none!important}html[data-netbox-color-mode=dark] .shadow{box-shadow:0 .5rem 1rem #00000026!important}html[data-netbox-color-mode=dark] .shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}html[data-netbox-color-mode=dark] .shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}html[data-netbox-color-mode=dark] .shadow-none{box-shadow:none!important}html[data-netbox-color-mode=dark] .position-static{position:static!important}html[data-netbox-color-mode=dark] .position-relative{position:relative!important}html[data-netbox-color-mode=dark] .position-absolute{position:absolute!important}html[data-netbox-color-mode=dark] .position-fixed{position:fixed!important}html[data-netbox-color-mode=dark] .position-sticky{position:sticky!important}html[data-netbox-color-mode=dark] .top-0{top:0!important}html[data-netbox-color-mode=dark] .top-50{top:50%!important}html[data-netbox-color-mode=dark] .top-100{top:100%!important}html[data-netbox-color-mode=dark] .bottom-0{bottom:0!important}html[data-netbox-color-mode=dark] .bottom-50{bottom:50%!important}html[data-netbox-color-mode=dark] .bottom-100{bottom:100%!important}html[data-netbox-color-mode=dark] .start-0{left:0!important}html[data-netbox-color-mode=dark] .start-50{left:50%!important}html[data-netbox-color-mode=dark] .start-100{left:100%!important}html[data-netbox-color-mode=dark] .end-0{right:0!important}html[data-netbox-color-mode=dark] .end-50{right:50%!important}html[data-netbox-color-mode=dark] .end-100{right:100%!important}html[data-netbox-color-mode=dark] .translate-middle{transform:translate(-50%,-50%)!important}html[data-netbox-color-mode=dark] .translate-middle-x{transform:translate(-50%)!important}html[data-netbox-color-mode=dark] .translate-middle-y{transform:translateY(-50%)!important}html[data-netbox-color-mode=dark] .border{border:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-0{border:0!important}html[data-netbox-color-mode=dark] .border-top{border-top:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-top-0{border-top:0!important}html[data-netbox-color-mode=dark] .border-end{border-right:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-end-0{border-right:0!important}html[data-netbox-color-mode=dark] .border-bottom{border-bottom:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-bottom-0{border-bottom:0!important}html[data-netbox-color-mode=dark] .border-start{border-left:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-start-0{border-left:0!important}html[data-netbox-color-mode=dark] .border-primary{border-color:#6ea8fe!important}html[data-netbox-color-mode=dark] .border-secondary{border-color:#adb5bd!important}html[data-netbox-color-mode=dark] .border-success{border-color:#75b798!important}html[data-netbox-color-mode=dark] .border-info{border-color:#6edff6!important}html[data-netbox-color-mode=dark] .border-warning{border-color:#ffda6a!important}html[data-netbox-color-mode=dark] .border-danger{border-color:#ea868f!important}html[data-netbox-color-mode=dark] .border-light{border-color:#dee2e6!important}html[data-netbox-color-mode=dark] .border-dark{border-color:#adb5bd!important}html[data-netbox-color-mode=dark] .border-blue{border-color:#6ea8fe!important}html[data-netbox-color-mode=dark] .border-indigo{border-color:#a370f7!important}html[data-netbox-color-mode=dark] .border-purple{border-color:#a98eda!important}html[data-netbox-color-mode=dark] .border-pink{border-color:#e685b5!important}html[data-netbox-color-mode=dark] .border-red{border-color:#ea868f!important}html[data-netbox-color-mode=dark] .border-orange{border-color:#feb272!important}html[data-netbox-color-mode=dark] .border-yellow{border-color:#ffda6a!important}html[data-netbox-color-mode=dark] .border-green{border-color:#75b798!important}html[data-netbox-color-mode=dark] .border-teal{border-color:#79dfc1!important}html[data-netbox-color-mode=dark] .border-cyan{border-color:#6edff6!important}html[data-netbox-color-mode=dark] .border-gray{border-color:#dee2e6!important}html[data-netbox-color-mode=dark] .border-black{border-color:#000!important}html[data-netbox-color-mode=dark] .border-white{border-color:#fff!important}html[data-netbox-color-mode=dark] .border-1{border-width:1px!important}html[data-netbox-color-mode=dark] .border-2{border-width:2px!important}html[data-netbox-color-mode=dark] .border-3{border-width:3px!important}html[data-netbox-color-mode=dark] .border-4{border-width:4px!important}html[data-netbox-color-mode=dark] .border-5{border-width:5px!important}html[data-netbox-color-mode=dark] .w-25{width:25%!important}html[data-netbox-color-mode=dark] .w-50{width:50%!important}html[data-netbox-color-mode=dark] .w-75{width:75%!important}html[data-netbox-color-mode=dark] .w-100{width:100%!important}html[data-netbox-color-mode=dark] .w-auto{width:auto!important}html[data-netbox-color-mode=dark] .mw-100{max-width:100%!important}html[data-netbox-color-mode=dark] .vw-100{width:100vw!important}html[data-netbox-color-mode=dark] .min-vw-100{min-width:100vw!important}html[data-netbox-color-mode=dark] .h-25{height:25%!important}html[data-netbox-color-mode=dark] .h-50{height:50%!important}html[data-netbox-color-mode=dark] .h-75{height:75%!important}html[data-netbox-color-mode=dark] .h-100{height:100%!important}html[data-netbox-color-mode=dark] .h-auto{height:auto!important}html[data-netbox-color-mode=dark] .mh-100{max-height:100%!important}html[data-netbox-color-mode=dark] .vh-100{height:100vh!important}html[data-netbox-color-mode=dark] .min-vh-100{min-height:100vh!important}html[data-netbox-color-mode=dark] .flex-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-first{order:-1!important}html[data-netbox-color-mode=dark] .order-0{order:0!important}html[data-netbox-color-mode=dark] .order-1{order:1!important}html[data-netbox-color-mode=dark] .order-2{order:2!important}html[data-netbox-color-mode=dark] .order-3{order:3!important}html[data-netbox-color-mode=dark] .order-4{order:4!important}html[data-netbox-color-mode=dark] .order-5{order:5!important}html[data-netbox-color-mode=dark] .order-last{order:6!important}html[data-netbox-color-mode=dark] .m-0{margin:0!important}html[data-netbox-color-mode=dark] .m-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-0{padding:0!important}html[data-netbox-color-mode=dark] .p-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .font-monospace{font-family:var(--bs-font-monospace)!important}html[data-netbox-color-mode=dark] .fs-1{font-size:calc(1.375rem + 1.5vw)!important}html[data-netbox-color-mode=dark] .fs-2{font-size:calc(1.325rem + .9vw)!important}html[data-netbox-color-mode=dark] .fs-3{font-size:calc(1.3rem + .6vw)!important}html[data-netbox-color-mode=dark] .fs-4{font-size:calc(1.275rem + .3vw)!important}html[data-netbox-color-mode=dark] .fs-5{font-size:1.25rem!important}html[data-netbox-color-mode=dark] .fs-6{font-size:1rem!important}html[data-netbox-color-mode=dark] .fst-italic{font-style:italic!important}html[data-netbox-color-mode=dark] .fst-normal{font-style:normal!important}html[data-netbox-color-mode=dark] .fw-light{font-weight:300!important}html[data-netbox-color-mode=dark] .fw-lighter{font-weight:200!important}html[data-netbox-color-mode=dark] .fw-normal{font-weight:400!important}html[data-netbox-color-mode=dark] .fw-bold{font-weight:700!important}html[data-netbox-color-mode=dark] .fw-bolder{font-weight:800!important}html[data-netbox-color-mode=dark] .lh-1{line-height:1!important}html[data-netbox-color-mode=dark] .lh-sm{line-height:1.25!important}html[data-netbox-color-mode=dark] .lh-base{line-height:1.5!important}html[data-netbox-color-mode=dark] .lh-lg{line-height:1.75!important}html[data-netbox-color-mode=dark] .text-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-center{text-align:center!important}html[data-netbox-color-mode=dark] .text-decoration-none{text-decoration:none!important}html[data-netbox-color-mode=dark] .text-decoration-underline{text-decoration:underline!important}html[data-netbox-color-mode=dark] .text-decoration-line-through{text-decoration:line-through!important}html[data-netbox-color-mode=dark] .text-lowercase{text-transform:lowercase!important}html[data-netbox-color-mode=dark] .text-uppercase{text-transform:uppercase!important}html[data-netbox-color-mode=dark] .text-capitalize{text-transform:capitalize!important}html[data-netbox-color-mode=dark] .text-wrap{white-space:normal!important}html[data-netbox-color-mode=dark] .text-nowrap{white-space:nowrap!important}html[data-netbox-color-mode=dark] .text-break{word-wrap:break-word!important;word-break:break-word!important}html[data-netbox-color-mode=dark] .text-primary{color:#6ea8fe!important}html[data-netbox-color-mode=dark] .text-secondary{color:#adb5bd!important}html[data-netbox-color-mode=dark] .text-success{color:#75b798!important}html[data-netbox-color-mode=dark] .text-info{color:#6edff6!important}html[data-netbox-color-mode=dark] .text-warning{color:#ffda6a!important}html[data-netbox-color-mode=dark] .text-danger{color:#ea868f!important}html[data-netbox-color-mode=dark] .text-light{color:#dee2e6!important}html[data-netbox-color-mode=dark] .text-dark{color:#adb5bd!important}html[data-netbox-color-mode=dark] .text-blue{color:#6ea8fe!important}html[data-netbox-color-mode=dark] .text-indigo{color:#a370f7!important}html[data-netbox-color-mode=dark] .text-purple{color:#a98eda!important}html[data-netbox-color-mode=dark] .text-pink{color:#e685b5!important}html[data-netbox-color-mode=dark] .text-red{color:#ea868f!important}html[data-netbox-color-mode=dark] .text-orange{color:#feb272!important}html[data-netbox-color-mode=dark] .text-yellow{color:#ffda6a!important}html[data-netbox-color-mode=dark] .text-green{color:#75b798!important}html[data-netbox-color-mode=dark] .text-teal{color:#79dfc1!important}html[data-netbox-color-mode=dark] .text-cyan{color:#6edff6!important}html[data-netbox-color-mode=dark] .text-gray{color:#dee2e6!important}html[data-netbox-color-mode=dark] .text-black{color:#000!important}html[data-netbox-color-mode=dark] .text-white{color:#fff!important}html[data-netbox-color-mode=dark] .text-body{color:#fff!important}html[data-netbox-color-mode=dark] .text-muted{color:#ced4da!important}html[data-netbox-color-mode=dark] .text-black-50{color:#00000080!important}html[data-netbox-color-mode=dark] .text-white-50{color:#ffffff80!important}html[data-netbox-color-mode=dark] .text-reset{color:inherit!important}html[data-netbox-color-mode=dark] .bg-primary{background-color:#6ea8fe!important}html[data-netbox-color-mode=dark] .bg-secondary{background-color:#adb5bd!important}html[data-netbox-color-mode=dark] .bg-success{background-color:#75b798!important}html[data-netbox-color-mode=dark] .bg-info{background-color:#6edff6!important}html[data-netbox-color-mode=dark] .bg-warning{background-color:#ffda6a!important}html[data-netbox-color-mode=dark] .bg-danger{background-color:#ea868f!important}html[data-netbox-color-mode=dark] .bg-light{background-color:#dee2e6!important}html[data-netbox-color-mode=dark] .bg-dark{background-color:#adb5bd!important}html[data-netbox-color-mode=dark] .bg-blue{background-color:#6ea8fe!important}html[data-netbox-color-mode=dark] .bg-indigo{background-color:#a370f7!important}html[data-netbox-color-mode=dark] .bg-purple{background-color:#a98eda!important}html[data-netbox-color-mode=dark] .bg-pink{background-color:#e685b5!important}html[data-netbox-color-mode=dark] .bg-red{background-color:#ea868f!important}html[data-netbox-color-mode=dark] .bg-orange{background-color:#feb272!important}html[data-netbox-color-mode=dark] .bg-yellow{background-color:#ffda6a!important}html[data-netbox-color-mode=dark] .bg-green{background-color:#75b798!important}html[data-netbox-color-mode=dark] .bg-teal{background-color:#79dfc1!important}html[data-netbox-color-mode=dark] .bg-cyan{background-color:#6edff6!important}html[data-netbox-color-mode=dark] .bg-gray{background-color:#dee2e6!important}html[data-netbox-color-mode=dark] .bg-black{background-color:#000!important}html[data-netbox-color-mode=dark] .bg-white{background-color:#fff!important}html[data-netbox-color-mode=dark] .bg-body{background-color:#1b1f22!important}html[data-netbox-color-mode=dark] .bg-transparent{background-color:transparent!important}html[data-netbox-color-mode=dark] .bg-gradient{background-image:var(--bs-gradient)!important}html[data-netbox-color-mode=dark] .user-select-all{user-select:all!important}html[data-netbox-color-mode=dark] .user-select-auto{user-select:auto!important}html[data-netbox-color-mode=dark] .user-select-none{user-select:none!important}html[data-netbox-color-mode=dark] .pe-none{pointer-events:none!important}html[data-netbox-color-mode=dark] .pe-auto{pointer-events:auto!important}html[data-netbox-color-mode=dark] .rounded{border-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-0{border-radius:0!important}html[data-netbox-color-mode=dark] .rounded-1{border-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-2{border-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-3{border-radius:.75rem!important}html[data-netbox-color-mode=dark] .rounded-circle{border-radius:50%!important}html[data-netbox-color-mode=dark] .rounded-pill{border-radius:50rem!important}html[data-netbox-color-mode=dark] .rounded-top{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-end{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-bottom{border-bottom-right-radius:.375rem!important;border-bottom-left-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-start{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}html[data-netbox-color-mode=dark] .visible{visibility:visible!important}html[data-netbox-color-mode=dark] .invisible{visibility:hidden!important}@media (min-width: 576px){html[data-netbox-color-mode=dark] .float-sm-start{float:left!important}html[data-netbox-color-mode=dark] .float-sm-end{float:right!important}html[data-netbox-color-mode=dark] .float-sm-none{float:none!important}html[data-netbox-color-mode=dark] .d-sm-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-sm-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-sm-block{display:block!important}html[data-netbox-color-mode=dark] .d-sm-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-sm-table{display:table!important}html[data-netbox-color-mode=dark] .d-sm-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-sm-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-sm-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-sm-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-sm-none{display:none!important}html[data-netbox-color-mode=dark] .flex-sm-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-sm-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-sm-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-sm-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-sm-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-sm-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-sm-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-sm-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-sm-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-sm-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-sm-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-sm-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-sm-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-sm-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-sm-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-sm-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-sm-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-sm-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-sm-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-sm-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-sm-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-sm-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-sm-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-sm-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-sm-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-sm-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-sm-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-sm-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-sm-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-sm-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-sm-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-sm-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-sm-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-sm-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-sm-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-sm-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-sm-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-sm-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-sm-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-sm-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-sm-first{order:-1!important}html[data-netbox-color-mode=dark] .order-sm-0{order:0!important}html[data-netbox-color-mode=dark] .order-sm-1{order:1!important}html[data-netbox-color-mode=dark] .order-sm-2{order:2!important}html[data-netbox-color-mode=dark] .order-sm-3{order:3!important}html[data-netbox-color-mode=dark] .order-sm-4{order:4!important}html[data-netbox-color-mode=dark] .order-sm-5{order:5!important}html[data-netbox-color-mode=dark] .order-sm-last{order:6!important}html[data-netbox-color-mode=dark] .m-sm-0{margin:0!important}html[data-netbox-color-mode=dark] .m-sm-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-sm-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-sm-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-sm-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-sm-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-sm-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-sm-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-sm-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-sm-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-sm-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-sm-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-sm-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-sm-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-sm-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-sm-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-sm-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-sm-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-sm-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-sm-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-sm-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-sm-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-sm-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-sm-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-sm-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-sm-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-sm-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-sm-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-sm-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-sm-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-sm-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-sm-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-sm-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-sm-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-sm-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-sm-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-sm-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-sm-0{padding:0!important}html[data-netbox-color-mode=dark] .p-sm-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-sm-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-sm-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-sm-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-sm-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-sm-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-sm-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-sm-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-sm-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-sm-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-sm-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-sm-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-sm-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-sm-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-sm-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-sm-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-sm-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-sm-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-sm-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-sm-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-sm-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-sm-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-sm-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-sm-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-sm-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-sm-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-sm-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-sm-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-sm-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-sm-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-sm-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-sm-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-sm-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-sm-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-sm-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-sm-center{text-align:center!important}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .float-md-start{float:left!important}html[data-netbox-color-mode=dark] .float-md-end{float:right!important}html[data-netbox-color-mode=dark] .float-md-none{float:none!important}html[data-netbox-color-mode=dark] .d-md-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-md-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-md-block{display:block!important}html[data-netbox-color-mode=dark] .d-md-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-md-table{display:table!important}html[data-netbox-color-mode=dark] .d-md-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-md-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-md-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-md-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-md-none{display:none!important}html[data-netbox-color-mode=dark] .flex-md-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-md-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-md-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-md-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-md-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-md-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-md-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-md-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-md-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-md-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-md-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-md-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-md-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-md-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-md-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-md-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-md-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-md-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-md-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-md-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-md-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-md-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-md-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-md-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-md-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-md-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-md-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-md-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-md-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-md-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-md-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-md-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-md-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-md-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-md-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-md-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-md-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-md-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-md-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-md-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-md-first{order:-1!important}html[data-netbox-color-mode=dark] .order-md-0{order:0!important}html[data-netbox-color-mode=dark] .order-md-1{order:1!important}html[data-netbox-color-mode=dark] .order-md-2{order:2!important}html[data-netbox-color-mode=dark] .order-md-3{order:3!important}html[data-netbox-color-mode=dark] .order-md-4{order:4!important}html[data-netbox-color-mode=dark] .order-md-5{order:5!important}html[data-netbox-color-mode=dark] .order-md-last{order:6!important}html[data-netbox-color-mode=dark] .m-md-0{margin:0!important}html[data-netbox-color-mode=dark] .m-md-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-md-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-md-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-md-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-md-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-md-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-md-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-md-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-md-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-md-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-md-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-md-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-md-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-md-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-md-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-md-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-md-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-md-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-md-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-md-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-md-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-md-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-md-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-md-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-md-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-md-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-md-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-md-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-md-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-md-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-md-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-md-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-md-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-md-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-md-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-md-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-md-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-md-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-md-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-md-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-md-0{padding:0!important}html[data-netbox-color-mode=dark] .p-md-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-md-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-md-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-md-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-md-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-md-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-md-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-md-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-md-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-md-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-md-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-md-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-md-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-md-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-md-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-md-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-md-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-md-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-md-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-md-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-md-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-md-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-md-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-md-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-md-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-md-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-md-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-md-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-md-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-md-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-md-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-md-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-md-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-md-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-md-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-md-center{text-align:center!important}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .float-lg-start{float:left!important}html[data-netbox-color-mode=dark] .float-lg-end{float:right!important}html[data-netbox-color-mode=dark] .float-lg-none{float:none!important}html[data-netbox-color-mode=dark] .d-lg-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-lg-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-lg-block{display:block!important}html[data-netbox-color-mode=dark] .d-lg-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-lg-table{display:table!important}html[data-netbox-color-mode=dark] .d-lg-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-lg-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-lg-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-lg-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-lg-none{display:none!important}html[data-netbox-color-mode=dark] .flex-lg-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-lg-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-lg-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-lg-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-lg-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-lg-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-lg-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-lg-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-lg-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-lg-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-lg-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-lg-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-lg-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-lg-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-lg-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-lg-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-lg-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-lg-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-lg-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-lg-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-lg-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-lg-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-lg-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-lg-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-lg-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-lg-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-lg-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-lg-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-lg-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-lg-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-lg-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-lg-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-lg-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-lg-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-lg-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-lg-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-lg-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-lg-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-lg-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-lg-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-lg-first{order:-1!important}html[data-netbox-color-mode=dark] .order-lg-0{order:0!important}html[data-netbox-color-mode=dark] .order-lg-1{order:1!important}html[data-netbox-color-mode=dark] .order-lg-2{order:2!important}html[data-netbox-color-mode=dark] .order-lg-3{order:3!important}html[data-netbox-color-mode=dark] .order-lg-4{order:4!important}html[data-netbox-color-mode=dark] .order-lg-5{order:5!important}html[data-netbox-color-mode=dark] .order-lg-last{order:6!important}html[data-netbox-color-mode=dark] .m-lg-0{margin:0!important}html[data-netbox-color-mode=dark] .m-lg-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-lg-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-lg-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-lg-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-lg-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-lg-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-lg-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-lg-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-lg-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-lg-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-lg-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-lg-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-lg-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-lg-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-lg-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-lg-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-lg-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-lg-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-lg-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-lg-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-lg-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-lg-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-lg-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-lg-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-lg-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-lg-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-lg-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-lg-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-lg-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-lg-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-lg-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-lg-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-lg-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-lg-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-lg-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-lg-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-lg-0{padding:0!important}html[data-netbox-color-mode=dark] .p-lg-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-lg-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-lg-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-lg-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-lg-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-lg-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-lg-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-lg-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-lg-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-lg-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-lg-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-lg-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-lg-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-lg-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-lg-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-lg-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-lg-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-lg-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-lg-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-lg-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-lg-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-lg-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-lg-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-lg-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-lg-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-lg-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-lg-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-lg-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-lg-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-lg-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-lg-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-lg-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-lg-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-lg-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-lg-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-lg-center{text-align:center!important}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .float-xl-start{float:left!important}html[data-netbox-color-mode=dark] .float-xl-end{float:right!important}html[data-netbox-color-mode=dark] .float-xl-none{float:none!important}html[data-netbox-color-mode=dark] .d-xl-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-xl-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-xl-block{display:block!important}html[data-netbox-color-mode=dark] .d-xl-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-xl-table{display:table!important}html[data-netbox-color-mode=dark] .d-xl-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-xl-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-xl-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-xl-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-xl-none{display:none!important}html[data-netbox-color-mode=dark] .flex-xl-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-xl-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-xl-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-xl-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-xl-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-xl-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-xl-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-xl-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-xl-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-xl-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-xl-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-xl-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-xl-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-xl-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-xl-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-xl-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-xl-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-xl-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-xl-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-xl-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-xl-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-xl-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-xl-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-xl-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-xl-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-xl-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-xl-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-xl-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-xl-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-xl-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-xl-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-xl-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-xl-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-xl-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-xl-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-xl-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-xl-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-xl-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-xl-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-xl-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-xl-first{order:-1!important}html[data-netbox-color-mode=dark] .order-xl-0{order:0!important}html[data-netbox-color-mode=dark] .order-xl-1{order:1!important}html[data-netbox-color-mode=dark] .order-xl-2{order:2!important}html[data-netbox-color-mode=dark] .order-xl-3{order:3!important}html[data-netbox-color-mode=dark] .order-xl-4{order:4!important}html[data-netbox-color-mode=dark] .order-xl-5{order:5!important}html[data-netbox-color-mode=dark] .order-xl-last{order:6!important}html[data-netbox-color-mode=dark] .m-xl-0{margin:0!important}html[data-netbox-color-mode=dark] .m-xl-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-xl-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-xl-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-xl-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-xl-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-xl-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-xl-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-xl-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-xl-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-xl-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-xl-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-xl-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-xl-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-xl-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-xl-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-xl-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-xl-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-xl-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-xl-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-xl-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-xl-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-xl-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-xl-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-xl-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-xl-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-xl-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-xl-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-xl-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-xl-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-xl-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-xl-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-xl-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-xl-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-xl-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-xl-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-xl-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-xl-0{padding:0!important}html[data-netbox-color-mode=dark] .p-xl-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-xl-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-xl-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-xl-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-xl-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-xl-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-xl-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-xl-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-xl-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-xl-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-xl-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-xl-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-xl-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-xl-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-xl-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-xl-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-xl-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-xl-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-xl-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-xl-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-xl-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-xl-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-xl-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-xl-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-xl-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-xl-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-xl-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-xl-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-xl-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-xl-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-xl-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-xl-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-xl-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-xl-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-xl-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-xl-center{text-align:center!important}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .float-xxl-start{float:left!important}html[data-netbox-color-mode=dark] .float-xxl-end{float:right!important}html[data-netbox-color-mode=dark] .float-xxl-none{float:none!important}html[data-netbox-color-mode=dark] .d-xxl-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-xxl-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-xxl-block{display:block!important}html[data-netbox-color-mode=dark] .d-xxl-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-xxl-table{display:table!important}html[data-netbox-color-mode=dark] .d-xxl-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-xxl-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-xxl-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-xxl-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-xxl-none{display:none!important}html[data-netbox-color-mode=dark] .flex-xxl-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-xxl-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-xxl-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-xxl-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-xxl-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-xxl-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-xxl-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-xxl-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-xxl-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-xxl-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-xxl-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-xxl-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-xxl-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-xxl-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-xxl-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-xxl-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-xxl-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-xxl-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-xxl-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-xxl-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-xxl-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-xxl-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-xxl-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-xxl-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-xxl-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-xxl-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-xxl-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-xxl-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-xxl-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-xxl-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-xxl-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-xxl-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-xxl-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-xxl-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-xxl-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-xxl-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-xxl-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-xxl-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-xxl-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-xxl-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-xxl-first{order:-1!important}html[data-netbox-color-mode=dark] .order-xxl-0{order:0!important}html[data-netbox-color-mode=dark] .order-xxl-1{order:1!important}html[data-netbox-color-mode=dark] .order-xxl-2{order:2!important}html[data-netbox-color-mode=dark] .order-xxl-3{order:3!important}html[data-netbox-color-mode=dark] .order-xxl-4{order:4!important}html[data-netbox-color-mode=dark] .order-xxl-5{order:5!important}html[data-netbox-color-mode=dark] .order-xxl-last{order:6!important}html[data-netbox-color-mode=dark] .m-xxl-0{margin:0!important}html[data-netbox-color-mode=dark] .m-xxl-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-xxl-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-xxl-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-xxl-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-xxl-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-xxl-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-xxl-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-xxl-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-xxl-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-xxl-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-xxl-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-xxl-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-xxl-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-xxl-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-xxl-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-xxl-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-xxl-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-xxl-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-xxl-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-xxl-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-xxl-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-xxl-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-xxl-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-xxl-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-xxl-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-xxl-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-xxl-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-xxl-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-xxl-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-xxl-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-xxl-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-xxl-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-xxl-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-xxl-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-xxl-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-xxl-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-xxl-0{padding:0!important}html[data-netbox-color-mode=dark] .p-xxl-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-xxl-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-xxl-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-xxl-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-xxl-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-xxl-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-xxl-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-xxl-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-xxl-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-xxl-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-xxl-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-xxl-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-xxl-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-xxl-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-xxl-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-xxl-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-xxl-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-xxl-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-xxl-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-xxl-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-xxl-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-xxl-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-xxl-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-xxl-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-xxl-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-xxl-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-xxl-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-xxl-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-xxl-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-xxl-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-xxl-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-xxl-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-xxl-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-xxl-center{text-align:center!important}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .fs-1{font-size:2.5rem!important}html[data-netbox-color-mode=dark] .fs-2{font-size:2rem!important}html[data-netbox-color-mode=dark] .fs-3{font-size:1.75rem!important}html[data-netbox-color-mode=dark] .fs-4{font-size:1.5rem!important}}@media print{html[data-netbox-color-mode=dark] .d-print-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-print-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-print-block{display:block!important}html[data-netbox-color-mode=dark] .d-print-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-print-table{display:table!important}html[data-netbox-color-mode=dark] .d-print-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-print-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-print-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-print-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-print-none{display:none!important}}html[data-netbox-color-mode=dark] :root{--nbx-select-content-bg: #212529;--nbx-select-option-selected-bg: #dee2e6;--nbx-select-option-hover-bg: #0d6efd;--nbx-select-option-hover-color: #fff;--nbx-select-placeholder-color: #adb5bd;--nbx-select-value-color: #fff}html[data-netbox-color-mode=dark] :root[data-netbox-color-mode=dark]{--nbx-select-content-bg: #212529;--nbx-select-option-selected-bg: #adb5bd;--nbx-select-option-hover-bg: #9ec5fe;--nbx-select-option-hover-color: #000;--nbx-select-placeholder-color: #495057;--nbx-select-value-color: #000}html[data-netbox-color-mode=dark] .ss-main{position:relative;display:inline-block;user-select:none;color:#f8f9fa;width:100%}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected{display:flex;cursor:pointer;width:100%;height:calc(1.5em + (.75rem + 2px));padding:.75rem;border:1px solid #495057;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-disabled{background-color:#495057;cursor:not-allowed}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder{display:flex;flex:1 1 100%;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;width:calc(100% - 30px);line-height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder *{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder .ss-disabled{color:#adb5bd}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-deselect{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem;font-weight:bold}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-deselect.ss-hide{display:none}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span{border:solid #f8f9fa;border-width:0 2px 2px 0;display:inline-block;padding:3px;transition:transform .2s,margin .2s}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span.arrow-up{transform:rotate(-135deg);margin:3px 0 0}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span.arrow-down{transform:rotate(45deg);margin:-3px 0 0}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected{display:flex;flex-direction:row;cursor:pointer;min-height:calc(1.5em + (.75rem + 2px));width:100%;padding:0 0 0 3px;border:1px solid #495057;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled{background-color:#495057;cursor:not-allowed}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled{color:#f8f9fa}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values{display:flex;flex-wrap:wrap;justify-content:flex-start;flex:1 1 100%;width:calc(100% - 30px)}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-disabled{display:flex;padding:4px 5px;margin:2px 0;line-height:1em;align-items:center;width:100%;color:#adb5bd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value{display:flex;user-select:none;align-items:center;font-size:12px;padding:3px 5px;margin:3px 5px 3px 0;color:#fff;background-color:#6ea8fe;border-radius:.375rem;animation-name:scaleIn;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value.ss-out{animation-name:scaleOut;animation-duration:.2s;animation-timing-function:ease-out}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete{margin:0 0 0 5px;cursor:pointer}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add{display:flex;flex:0 1 3px;margin:9px 12px 0 5px}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus{display:flex;justify-content:center;align-items:center;background:#f8f9fa;position:relative;height:10px;width:2px;transition:transform .2s}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus:after{background:#f8f9fa;content:"";position:absolute;height:2px;width:10px;left:-4px;top:4px}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross{transform:rotate(45deg)}html[data-netbox-color-mode=dark] .ss-content{position:absolute;width:100%;margin:-1px 0 0;box-sizing:border-box;border:solid 1px #495057;z-index:1010;background-color:#fff;transform-origin:center top;transition:transform .2s,opacity .2s;opacity:0;transform:scaleY(0)}html[data-netbox-color-mode=dark] .ss-content.ss-open{display:block;opacity:1;transform:scaleY(1)}html[data-netbox-color-mode=dark] .ss-content .ss-search{display:flex;flex-direction:row;padding:.75rem}html[data-netbox-color-mode=dark] .ss-content .ss-search.ss-hide{height:0px;opacity:0;padding:0;margin:0}html[data-netbox-color-mode=dark] .ss-content .ss-search.ss-hide input{height:0px;opacity:0;padding:0;margin:0}html[data-netbox-color-mode=dark] .ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;height:30px;padding:.75rem;margin:0;border:1px solid #495057;border-radius:.375rem;background-color:#fff;outline:0;text-align:left;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-appearance:textfield}html[data-netbox-color-mode=dark] .ss-content .ss-search input::placeholder{color:#495057;vertical-align:middle}html[data-netbox-color-mode=dark] .ss-content .ss-search input:focus{box-shadow:0 0 5px #6ea8fe}html[data-netbox-color-mode=dark] .ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;font-size:22px;font-weight:bold;flex:0 0 30px;height:30px;margin:0 0 0 8px;border:1px solid #495057;border-radius:.375rem;box-sizing:border-box}html[data-netbox-color-mode=dark] .ss-content .ss-addable{padding-top:0}html[data-netbox-color-mode=dark] .ss-content .ss-list{max-height:200px;overflow-x:hidden;overflow-y:auto;text-align:left}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:6px 10px;font-weight:bold}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup .ss-option{padding:6px 6px 6px 25px}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup-label-selectable{cursor:pointer}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup-label-selectable:hover{color:#fff;background-color:#6ea8fe}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option{padding:6px 10px;cursor:pointer;user-select:none}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option *{display:inline-block}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-highlighted{color:#fff;background-color:#6ea8fe}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;color:#adb5bd;background-color:#fff}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected{color:#f8f9fa;background-color:#6ea8fe1a}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-hide{display:none}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option .ss-search-highlight{background-color:#ffc107}html[data-netbox-color-mode=dark] .ss-main{color:#f8f9fa}html[data-netbox-color-mode=dark] .ss-main.is-invalid .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main.is-invalid .ss-multi-selected{border-color:#dc3545}html[data-netbox-color-mode=dark] .ss-main.is-valid .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main.is-valid .ss-multi-selected{border-color:#198754}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected{padding:.375rem .75rem;background-color:#212529;border:1px solid #495057}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected[disabled],html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected[disabled]{color:#adb5bd;background-color:#495057}html[data-netbox-color-mode=dark] .ss-main div.ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main div.ss-single-selected span.placeholder .ss-disabled{color:var(--nbx-select-placeholder-color)}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.ss-arrow span.arrow-down,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.ss-arrow span.arrow-up{border-color:currentColor;color:#ced4da}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder .depth{display:none}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.placeholder>*,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.placeholder{line-height:1.5}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected{align-items:center;padding-right:.75rem;padding-left:.75rem}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-disabled{padding:4px 0}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value{color:var(--nbx-select-value-color);border-radius:.375rem}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value .depth{display:none}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add{margin:0 .75rem}html[data-netbox-color-mode=dark] .ss-main .ss-content{background-color:var(--nbx-select-content-bg);border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-option-selected{color:#fff;background-color:var(--nbx-select-option-selected-bg)}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option:hover{color:var(--nbx-select-option-hover-color);background-color:var(--nbx-select-option-hover-bg)}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-disabled{background-color:unset}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-disabled:hover{color:#adb5bd}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option .depth{opacity:.3}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar{right:0;width:4px}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar:hover{opacity:.8}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar-track{background:transparent}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar-thumb{right:0;width:2px;background-color:var(--nbx-sidebar-scroll)}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search{padding-right:.5rem}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search button{margin-left:.75rem}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search input[type=search]{color:#f8f9fa;background-color:#212529;border:1px solid #495057}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search input[type=search]:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .flatpickr-calendar{color:#fff;background:#343a40;border-radius:.375rem;box-shadow:1px 0 #495057,-1px 0 #495057,0 1px #495057,0 -1px #495057,0 3px 13px #00000014}html[data-netbox-color-mode=dark] .flatpickr-calendar.arrowTop:before,html[data-netbox-color-mode=dark] .flatpickr-calendar.arrowTop:after{border-bottom-color:#343a40}html[data-netbox-color-mode=dark] .flatpickr-calendar span.flatpickr-weekday{color:#dee2e6}html[data-netbox-color-mode=dark] .flatpickr-calendar .numInputWrapper span.arrowUp:after{border-bottom-color:#f8f9fa}html[data-netbox-color-mode=dark] .flatpickr-calendar .numInputWrapper span.arrowDown:after{border-top-color:#f8f9fa}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-month{color:#fff;fill:#fff}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-next-month,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-prev-month{color:#fff;fill:#fff}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg{fill:#ea868f}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-current-month select{background:#343a40}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day{color:#fff}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected.inRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange.inRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange.inRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected:focus,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange:focus,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange:focus,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected.nextMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange.nextMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange.nextMonthDay{color:#000;background:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day:hover{color:#000;background:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.flatpickr-disabled,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.nextMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed.nextMonthDay{color:#adb5bd}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.prevMonthDay:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.nextMonthDay:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed.prevMonthDay:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed.nextMonthDay:hover{color:#000;background:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-time input{color:#f8f9fa;background:#343a40}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-time input:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-time input:active{background:#343a40}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-time .flatpickr-time-separator{color:#adb5bd}html[data-netbox-color-mode=dark] .flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{border-top:1px solid #495057}html[data-netbox-color-mode=dark] .sidenav{position:fixed;top:0;bottom:0;left:0;z-index:1050;display:block;width:100%;max-width:3rem;padding-top:0;padding-right:0;padding-left:0;background-color:var(--nbx-sidebar-bg);border-right:1px solid #495057;transition:all .1s ease-in-out}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] .sidenav{transform:translate(-3rem)}html[data-netbox-color-mode=dark] .sidenav+.content-container[class]{margin-left:0}html[data-netbox-color-mode=dark] .sidenav .profile-button-container[class]{display:block}}html[data-netbox-color-mode=dark] .sidenav .profile-button-container{display:none;padding:.5rem 1rem}html[data-netbox-color-mode=dark] .sidenav+.content-container{margin-left:3rem;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .sidenav-brand{margin-right:0;transition:opacity .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .sidenav-brand-icon{transition:opacity .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .sidenav-inner{padding-right:1.5rem;padding-left:1.5rem}@media (min-width: 768px){html[data-netbox-color-mode=dark] .sidenav .sidenav-inner{padding-right:0;padding-left:0}}html[data-netbox-color-mode=dark] .sidenav .sidenav-brand-img,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand>img{max-width:100%;max-height:calc(16rem - 1rem)}html[data-netbox-color-mode=dark] .sidenav .navbar-heading{padding-top:.5rem;padding-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}html[data-netbox-color-mode=dark] .sidenav .sidenav-header{position:relative;display:flex;align-items:center;justify-content:space-between;height:78px;padding:1rem;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .sidenav-toggle{position:absolute;display:inline-block;opacity:0;transition:opacity 10ms ease-in-out;transition-delay:.1s}html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse{display:flex;flex:1;flex-direction:column;align-items:stretch;padding-right:1.5rem;padding-left:1.5rem;margin-right:-1.5rem;margin-left:-1.5rem}html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse>*{min-width:100%}@media (min-width: 768px){html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse{margin-right:0;margin-left:0}}html[data-netbox-color-mode=dark] .sidenav .nav-group-header{padding:.25rem 1rem;margin-top:.5rem;margin-bottom:0}html[data-netbox-color-mode=dark] .sidenav .nav .nav-item{display:flex;align-items:center;justify-content:space-between;width:100%}html[data-netbox-color-mode=dark] .sidenav .nav .nav-item.no-buttons{padding-right:5rem}html[data-netbox-color-mode=dark] .sidenav .collapse .nav .nav-item .nav-link{width:100%;padding:.25rem .25rem .25rem 1rem;margin-top:0;margin-bottom:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}html[data-netbox-color-mode=dark] .sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon{width:1rem;text-align:center;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]{width:unset;height:100%;padding-left:.5rem;font-weight:700;color:var(--nbx-sidenav-parent-color)}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{color:#000;background:#6397e5}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after{display:inline-block;margin-left:auto;font-family:"Material Design Icons";font-style:normal;font-weight:700;font-variant:normal;color:#ced4da;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\f0142";transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after{color:#000}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after{color:#6ea8fe;transform:rotate(90deg)}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text{padding-left:.25rem;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item{margin-top:2px}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item.disabled{cursor:not-allowed;opacity:.8}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link{position:relative;display:flex;align-items:center;width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--nbx-sidenav-link-color);white-space:nowrap;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link.active{background-color:var(--nbx-sidebar-link-active-bg)}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link:hover:not(.active){color:var(--nbx-body-color);background-color:var(--nbx-sidebar-link-hover-bg)}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link>i{min-width:2rem;font-size:calc(45px / 2);text-align:center}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-group-label{display:block;font-size:.75rem;font-weight:700;color:var(--nbx-sidenav-group-color);text-transform:uppercase;white-space:nowrap}html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon{color:var(--nbx-sidenav-pin-color);transform:rotate(90deg)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav+.content-container{margin-left:16rem}}html[data-netbox-color-mode=dark] .g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon{transform:rotate(0)}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav{max-width:16rem}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .navbar-heading,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .navbar-heading{display:block}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand{opacity:1;transform:translate(0)}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand-icon{position:absolute;opacity:0}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav{transform:translate(0)}}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-header,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-header{padding:.5rem}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-brand{position:absolute;opacity:0}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-brand-icon{opacity:1}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-toggle{opacity:0;position:absolute;transition:unset;transition-delay:0ms}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after{content:""}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .nav-item .collapse,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .nav-item .collapse{display:none}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .nav-link-text,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .nav-link-text{opacity:0}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{margin-right:0;margin-left:0;border-radius:unset}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand{display:block}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .collapse{height:auto;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text{opacity:1}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon{opacity:0}@media (min-width: 992px){html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-toggle{position:relative;opacity:1}}html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical{right:0;width:6px;background-color:transparent}html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical .simplebar-scrollbar{transition:none}html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical .simplebar-scrollbar:before{right:0;width:3px;background:var(--nbx-sidebar-scroll);border-radius:.375rem}html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before{width:5px}html[data-netbox-color-mode=dark] body{color:var(--nbx-body-color);background-color:var(--nbx-body-bg);font-size:.875rem}html[data-netbox-color-mode=dark] pre{white-space:pre}html[data-netbox-color-mode=dark] small,html[data-netbox-color-mode=dark] .small{font-size:smaller!important}html[data-netbox-color-mode=dark] a[type=button]{-webkit-appearance:unset!important}html[data-netbox-color-mode=dark] *[data-href]{cursor:pointer}html[data-netbox-color-mode=dark] .form-control:not([type=file]){font-size:inherit}html[data-netbox-color-mode=dark] .badge{font-size:.75rem}html[data-netbox-color-mode=dark] .text-xs{font-size:.75rem!important;line-height:1.25!important}html[data-netbox-color-mode=dark] .border-input{border:1px solid #495057!important}html[data-netbox-color-mode=dark] .ws-nowrap{white-space:nowrap!important}html[data-netbox-color-mode=dark] table tr .vertical-align,html[data-netbox-color-mode=dark] table td .vertical-align{vertical-align:middle}@media print{html[data-netbox-color-mode=dark] .noprint{display:none!important;visibility:hidden!important}}html[data-netbox-color-mode=dark] .printonly{display:none!important;visibility:hidden!important}@media print{html[data-netbox-color-mode=dark] .printonly{display:block!important;visibility:visible!important}}html[data-netbox-color-mode=dark] :root{--nbx-sidebar-bg: #e9ecef;--nbx-sidebar-scroll: #adb5bd;--nbx-sidebar-link-hover-bg: rgba(108, 117, 125, .15);--nbx-sidebar-link-active-bg: #cfe2ff;--nbx-sidebar-title-color: #ced4da;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(0, 0, 0, .25);--nbx-breadcrumb-bg: #dee2e6;--nbx-body-bg: #fff;--nbx-body-color: #343a40;--nbx-pre-bg: #f8f9fa;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(25, 135, 84, .4);--nbx-change-removed: rgba(220, 53, 69, .4);--nbx-cable-node-bg: #f8f9fa;--nbx-cable-node-border-color: #e9ecef;--nbx-cable-termination-bg: #e9ecef;--nbx-cable-termination-border-color: #dee2e6;--nbx-search-filter-border-left-color: #dee2e6;--nbx-color-mode-toggle-color: #6ea8fe;--nbx-sidenav-link-color: #343a40;--nbx-sidenav-pin-color: #fd7e14;--nbx-sidenav-parent-color: #343a40;--nbx-sidenav-group-color: #343a40}html[data-netbox-color-mode=dark] :root[data-netbox-color-mode=dark]{--nbx-sidebar-bg: #212529;--nbx-sidebar-scroll: #495057;--nbx-sidebar-link-active-bg: rgba(110, 168, 254, .25);--nbx-sidebar-link-hover-bg: rgba(173, 181, 189, .15);--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(255, 255, 255, .05);--nbx-breadcrumb-bg: #343a40;--nbx-body-bg: #1b1f22;--nbx-body-color: #f8f9fa;--nbx-pre-bg: #495057;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(117, 183, 152, .4);--nbx-change-removed: rgba(234, 134, 143, .4);--nbx-cable-node-bg: #495057;--nbx-cable-node-border-color: #6c757d;--nbx-cable-termination-bg: #343a40;--nbx-cable-termination-border-color: #495057;--nbx-search-filter-border-left-color: #6c757d;--nbx-color-mode-toggle-color: #ffda6a;--nbx-sidenav-link-color: #e9ecef;--nbx-sidenav-pin-color: #ffc107;--nbx-sidenav-parent-color: #e9ecef;--nbx-sidenav-group-color: #6c757d}html[data-netbox-color-mode=dark] .bg-primary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23162233'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-primary{color:#6ea8fe}html[data-netbox-color-mode=dark] .btn.btn-ghost-primary:hover{background-color:#6ea8fe1f}html[data-netbox-color-mode=dark] .alert.alert-primary a:not(.btn),html[data-netbox-color-mode=dark] .table-primary a:not(.btn){font-weight:700;color:#162233}html[data-netbox-color-mode=dark] .alert.alert-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-primary .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-primary a:not(.btn){font-weight:700;color:#162233}html[data-netbox-color-mode=dark] .badge.bg-primary,html[data-netbox-color-mode=dark] .toast.bg-primary,html[data-netbox-color-mode=dark] .toast-header.bg-primary,html[data-netbox-color-mode=dark] .progress-bar.bg-primary{color:#000}html[data-netbox-color-mode=dark] .bg-secondary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23232426'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-secondary{color:#adb5bd}html[data-netbox-color-mode=dark] .btn.btn-ghost-secondary:hover{background-color:#adb5bd1f}html[data-netbox-color-mode=dark] .alert.alert-secondary a:not(.btn),html[data-netbox-color-mode=dark] .table-secondary a:not(.btn){font-weight:700;color:#232426}html[data-netbox-color-mode=dark] .alert.alert-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-secondary .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-secondary a:not(.btn){font-weight:700;color:#232426}html[data-netbox-color-mode=dark] .badge.bg-secondary,html[data-netbox-color-mode=dark] .toast.bg-secondary,html[data-netbox-color-mode=dark] .toast-header.bg-secondary,html[data-netbox-color-mode=dark] .progress-bar.bg-secondary{color:#000}html[data-netbox-color-mode=dark] .bg-success button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2317251e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-success{color:#75b798}html[data-netbox-color-mode=dark] .btn.btn-ghost-success:hover{background-color:#75b7981f}html[data-netbox-color-mode=dark] .alert.alert-success a:not(.btn),html[data-netbox-color-mode=dark] .table-success a:not(.btn){font-weight:700;color:#17251e}html[data-netbox-color-mode=dark] .alert.alert-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-success .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-success a:not(.btn){font-weight:700;color:#17251e}html[data-netbox-color-mode=dark] .badge.bg-success,html[data-netbox-color-mode=dark] .toast.bg-success,html[data-netbox-color-mode=dark] .toast-header.bg-success,html[data-netbox-color-mode=dark] .progress-bar.bg-success{color:#000}html[data-netbox-color-mode=dark] .bg-info button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23162d31'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-info{color:#6edff6}html[data-netbox-color-mode=dark] .btn.btn-ghost-info:hover{background-color:#6edff61f}html[data-netbox-color-mode=dark] .alert.alert-info a:not(.btn),html[data-netbox-color-mode=dark] .table-info a:not(.btn){font-weight:700;color:#162d31}html[data-netbox-color-mode=dark] .alert.alert-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-info .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-info a:not(.btn){font-weight:700;color:#162d31}html[data-netbox-color-mode=dark] .badge.bg-info,html[data-netbox-color-mode=dark] .toast.bg-info,html[data-netbox-color-mode=dark] .toast-header.bg-info,html[data-netbox-color-mode=dark] .progress-bar.bg-info{color:#000}html[data-netbox-color-mode=dark] .bg-warning button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23332c15'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-warning{color:#ffda6a}html[data-netbox-color-mode=dark] .btn.btn-ghost-warning:hover{background-color:#ffda6a1f}html[data-netbox-color-mode=dark] .alert.alert-warning a:not(.btn),html[data-netbox-color-mode=dark] .table-warning a:not(.btn){font-weight:700;color:#332c15}html[data-netbox-color-mode=dark] .alert.alert-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-warning .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-warning a:not(.btn){font-weight:700;color:#332c15}html[data-netbox-color-mode=dark] .badge.bg-warning,html[data-netbox-color-mode=dark] .toast.bg-warning,html[data-netbox-color-mode=dark] .toast-header.bg-warning,html[data-netbox-color-mode=dark] .progress-bar.bg-warning{color:#000}html[data-netbox-color-mode=dark] .bg-danger button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232f1b1d'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-danger{color:#ea868f}html[data-netbox-color-mode=dark] .btn.btn-ghost-danger:hover{background-color:#ea868f1f}html[data-netbox-color-mode=dark] .alert.alert-danger a:not(.btn),html[data-netbox-color-mode=dark] .table-danger a:not(.btn){font-weight:700;color:#2f1b1d}html[data-netbox-color-mode=dark] .alert.alert-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-danger .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-danger a:not(.btn){font-weight:700;color:#2f1b1d}html[data-netbox-color-mode=dark] .badge.bg-danger,html[data-netbox-color-mode=dark] .toast.bg-danger,html[data-netbox-color-mode=dark] .toast-header.bg-danger,html[data-netbox-color-mode=dark] .progress-bar.bg-danger{color:#000}html[data-netbox-color-mode=dark] .bg-light button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232c2d2e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-light{color:#dee2e6}html[data-netbox-color-mode=dark] .btn.btn-ghost-light:hover{background-color:#dee2e61f}html[data-netbox-color-mode=dark] .alert.alert-light a:not(.btn),html[data-netbox-color-mode=dark] .table-light a:not(.btn){font-weight:700;color:#2c2d2e}html[data-netbox-color-mode=dark] .alert.alert-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-light .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-light a:not(.btn){font-weight:700;color:#2c2d2e}html[data-netbox-color-mode=dark] .badge.bg-light,html[data-netbox-color-mode=dark] .toast.bg-light,html[data-netbox-color-mode=dark] .toast-header.bg-light,html[data-netbox-color-mode=dark] .progress-bar.bg-light{color:#000}html[data-netbox-color-mode=dark] .bg-dark button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23232426'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-dark{color:#adb5bd}html[data-netbox-color-mode=dark] .btn.btn-ghost-dark:hover{background-color:#adb5bd1f}html[data-netbox-color-mode=dark] .alert.alert-dark a:not(.btn),html[data-netbox-color-mode=dark] .table-dark a:not(.btn){font-weight:700;color:#232426}html[data-netbox-color-mode=dark] .alert.alert-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-dark .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-dark a:not(.btn){font-weight:700;color:#232426}html[data-netbox-color-mode=dark] .badge.bg-dark,html[data-netbox-color-mode=dark] .toast.bg-dark,html[data-netbox-color-mode=dark] .toast-header.bg-dark,html[data-netbox-color-mode=dark] .progress-bar.bg-dark{color:#000}html[data-netbox-color-mode=dark] .bg-blue button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23162233'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-blue{color:#6ea8fe}html[data-netbox-color-mode=dark] .btn.btn-ghost-blue:hover{background-color:#6ea8fe1f}html[data-netbox-color-mode=dark] .alert.alert-blue a:not(.btn),html[data-netbox-color-mode=dark] .table-blue a:not(.btn){font-weight:700;color:#162233}html[data-netbox-color-mode=dark] .alert.alert-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-blue .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-blue a:not(.btn){font-weight:700;color:#162233}html[data-netbox-color-mode=dark] .badge.bg-blue,html[data-netbox-color-mode=dark] .toast.bg-blue,html[data-netbox-color-mode=dark] .toast-header.bg-blue,html[data-netbox-color-mode=dark] .progress-bar.bg-blue{color:#000}html[data-netbox-color-mode=dark] .bg-indigo button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23211631'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-indigo{color:#a370f7}html[data-netbox-color-mode=dark] .btn.btn-ghost-indigo:hover{background-color:#a370f71f}html[data-netbox-color-mode=dark] .alert.alert-indigo a:not(.btn),html[data-netbox-color-mode=dark] .table-indigo a:not(.btn){font-weight:700;color:#211631}html[data-netbox-color-mode=dark] .alert.alert-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-indigo .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-indigo a:not(.btn){font-weight:700;color:#211631}html[data-netbox-color-mode=dark] .badge.bg-indigo,html[data-netbox-color-mode=dark] .toast.bg-indigo,html[data-netbox-color-mode=dark] .toast-header.bg-indigo,html[data-netbox-color-mode=dark] .progress-bar.bg-indigo{color:#000}html[data-netbox-color-mode=dark] .bg-purple button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23221c2c'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-purple{color:#a98eda}html[data-netbox-color-mode=dark] .btn.btn-ghost-purple:hover{background-color:#a98eda1f}html[data-netbox-color-mode=dark] .alert.alert-purple a:not(.btn),html[data-netbox-color-mode=dark] .table-purple a:not(.btn){font-weight:700;color:#221c2c}html[data-netbox-color-mode=dark] .alert.alert-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-purple .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-purple a:not(.btn){font-weight:700;color:#221c2c}html[data-netbox-color-mode=dark] .badge.bg-purple,html[data-netbox-color-mode=dark] .toast.bg-purple,html[data-netbox-color-mode=dark] .toast-header.bg-purple,html[data-netbox-color-mode=dark] .progress-bar.bg-purple{color:#000}html[data-netbox-color-mode=dark] .bg-pink button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232e1b24'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-pink{color:#e685b5}html[data-netbox-color-mode=dark] .btn.btn-ghost-pink:hover{background-color:#e685b51f}html[data-netbox-color-mode=dark] .alert.alert-pink a:not(.btn),html[data-netbox-color-mode=dark] .table-pink a:not(.btn){font-weight:700;color:#2e1b24}html[data-netbox-color-mode=dark] .alert.alert-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-pink .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-pink a:not(.btn){font-weight:700;color:#2e1b24}html[data-netbox-color-mode=dark] .badge.bg-pink,html[data-netbox-color-mode=dark] .toast.bg-pink,html[data-netbox-color-mode=dark] .toast-header.bg-pink,html[data-netbox-color-mode=dark] .progress-bar.bg-pink{color:#000}html[data-netbox-color-mode=dark] .bg-red button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232f1b1d'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-red{color:#ea868f}html[data-netbox-color-mode=dark] .btn.btn-ghost-red:hover{background-color:#ea868f1f}html[data-netbox-color-mode=dark] .alert.alert-red a:not(.btn),html[data-netbox-color-mode=dark] .table-red a:not(.btn){font-weight:700;color:#2f1b1d}html[data-netbox-color-mode=dark] .alert.alert-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-red .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-red a:not(.btn){font-weight:700;color:#2f1b1d}html[data-netbox-color-mode=dark] .badge.bg-red,html[data-netbox-color-mode=dark] .toast.bg-red,html[data-netbox-color-mode=dark] .toast-header.bg-red,html[data-netbox-color-mode=dark] .progress-bar.bg-red{color:#000}html[data-netbox-color-mode=dark] .bg-orange button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23332417'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-orange{color:#feb272}html[data-netbox-color-mode=dark] .btn.btn-ghost-orange:hover{background-color:#feb2721f}html[data-netbox-color-mode=dark] .alert.alert-orange a:not(.btn),html[data-netbox-color-mode=dark] .table-orange a:not(.btn){font-weight:700;color:#332417}html[data-netbox-color-mode=dark] .alert.alert-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-orange .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-orange a:not(.btn){font-weight:700;color:#332417}html[data-netbox-color-mode=dark] .badge.bg-orange,html[data-netbox-color-mode=dark] .toast.bg-orange,html[data-netbox-color-mode=dark] .toast-header.bg-orange,html[data-netbox-color-mode=dark] .progress-bar.bg-orange{color:#000}html[data-netbox-color-mode=dark] .bg-yellow button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23332c15'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-yellow{color:#ffda6a}html[data-netbox-color-mode=dark] .btn.btn-ghost-yellow:hover{background-color:#ffda6a1f}html[data-netbox-color-mode=dark] .alert.alert-yellow a:not(.btn),html[data-netbox-color-mode=dark] .table-yellow a:not(.btn){font-weight:700;color:#332c15}html[data-netbox-color-mode=dark] .alert.alert-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-yellow .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-yellow a:not(.btn){font-weight:700;color:#332c15}html[data-netbox-color-mode=dark] .badge.bg-yellow,html[data-netbox-color-mode=dark] .toast.bg-yellow,html[data-netbox-color-mode=dark] .toast-header.bg-yellow,html[data-netbox-color-mode=dark] .progress-bar.bg-yellow{color:#000}html[data-netbox-color-mode=dark] .bg-green button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2317251e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-green{color:#75b798}html[data-netbox-color-mode=dark] .btn.btn-ghost-green:hover{background-color:#75b7981f}html[data-netbox-color-mode=dark] .alert.alert-green a:not(.btn),html[data-netbox-color-mode=dark] .table-green a:not(.btn){font-weight:700;color:#17251e}html[data-netbox-color-mode=dark] .alert.alert-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-green .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-green a:not(.btn){font-weight:700;color:#17251e}html[data-netbox-color-mode=dark] .badge.bg-green,html[data-netbox-color-mode=dark] .toast.bg-green,html[data-netbox-color-mode=dark] .toast-header.bg-green,html[data-netbox-color-mode=dark] .progress-bar.bg-green{color:#000}html[data-netbox-color-mode=dark] .bg-teal button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23182d27'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-teal{color:#79dfc1}html[data-netbox-color-mode=dark] .btn.btn-ghost-teal:hover{background-color:#79dfc11f}html[data-netbox-color-mode=dark] .alert.alert-teal a:not(.btn),html[data-netbox-color-mode=dark] .table-teal a:not(.btn){font-weight:700;color:#182d27}html[data-netbox-color-mode=dark] .alert.alert-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-teal .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-teal a:not(.btn){font-weight:700;color:#182d27}html[data-netbox-color-mode=dark] .badge.bg-teal,html[data-netbox-color-mode=dark] .toast.bg-teal,html[data-netbox-color-mode=dark] .toast-header.bg-teal,html[data-netbox-color-mode=dark] .progress-bar.bg-teal{color:#000}html[data-netbox-color-mode=dark] .bg-cyan button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23162d31'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-cyan{color:#6edff6}html[data-netbox-color-mode=dark] .btn.btn-ghost-cyan:hover{background-color:#6edff61f}html[data-netbox-color-mode=dark] .alert.alert-cyan a:not(.btn),html[data-netbox-color-mode=dark] .table-cyan a:not(.btn){font-weight:700;color:#162d31}html[data-netbox-color-mode=dark] .alert.alert-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-cyan .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-cyan a:not(.btn){font-weight:700;color:#162d31}html[data-netbox-color-mode=dark] .badge.bg-cyan,html[data-netbox-color-mode=dark] .toast.bg-cyan,html[data-netbox-color-mode=dark] .toast-header.bg-cyan,html[data-netbox-color-mode=dark] .progress-bar.bg-cyan{color:#000}html[data-netbox-color-mode=dark] .bg-gray button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232c2d2e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-gray{color:#dee2e6}html[data-netbox-color-mode=dark] .btn.btn-ghost-gray:hover{background-color:#dee2e61f}html[data-netbox-color-mode=dark] .alert.alert-gray a:not(.btn),html[data-netbox-color-mode=dark] .table-gray a:not(.btn){font-weight:700;color:#2c2d2e}html[data-netbox-color-mode=dark] .alert.alert-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-gray .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-gray a:not(.btn){font-weight:700;color:#2c2d2e}html[data-netbox-color-mode=dark] .badge.bg-gray,html[data-netbox-color-mode=dark] .toast.bg-gray,html[data-netbox-color-mode=dark] .toast-header.bg-gray,html[data-netbox-color-mode=dark] .progress-bar.bg-gray{color:#000}html[data-netbox-color-mode=dark] .bg-black button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23cccccc'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-black{color:#000}html[data-netbox-color-mode=dark] .btn.btn-ghost-black:hover{background-color:#0000001f}html[data-netbox-color-mode=dark] .alert.alert-black a:not(.btn),html[data-netbox-color-mode=dark] .table-black a:not(.btn){font-weight:700;color:#ccc}html[data-netbox-color-mode=dark] .alert.alert-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-black .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-black a:not(.btn){font-weight:700;color:#ccc}html[data-netbox-color-mode=dark] .badge.bg-black,html[data-netbox-color-mode=dark] .toast.bg-black,html[data-netbox-color-mode=dark] .toast-header.bg-black,html[data-netbox-color-mode=dark] .progress-bar.bg-black{color:#fff}html[data-netbox-color-mode=dark] .bg-white button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333333'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-white{color:#fff}html[data-netbox-color-mode=dark] .btn.btn-ghost-white:hover{background-color:#ffffff1f}html[data-netbox-color-mode=dark] .alert.alert-white a:not(.btn),html[data-netbox-color-mode=dark] .table-white a:not(.btn){font-weight:700;color:#333}html[data-netbox-color-mode=dark] .alert.alert-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-white .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-white a:not(.btn){font-weight:700;color:#333}html[data-netbox-color-mode=dark] .badge.bg-white,html[data-netbox-color-mode=dark] .toast.bg-white,html[data-netbox-color-mode=dark] .toast-header.bg-white,html[data-netbox-color-mode=dark] .progress-bar.bg-white{color:#000}html[data-netbox-color-mode=dark] table td>.progress{min-width:6rem}html[data-netbox-color-mode=dark] .small .form-control{font-size:.875rem}html[data-netbox-color-mode=dark] :not(.card-body)>.col:not(:last-child):not(:only-child){margin-bottom:1rem}html[data-netbox-color-mode=dark] .nav-mobile{display:none;flex-direction:column;align-items:center;justify-content:space-between;width:100%}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] .nav-mobile{display:flex}}html[data-netbox-color-mode=dark] .nav-mobile .nav-mobile-top{display:flex;align-items:center;justify-content:space-between;width:100%}html[data-netbox-color-mode=dark] .card>.table.table-flush{margin-bottom:0;overflow:hidden;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .card>.table.table-flush thead th[scope=col]{padding-top:1rem;padding-bottom:1rem;text-transform:uppercase;vertical-align:middle;background-color:#495057;border-top:1px solid rgba(255,255,255,.125);border-bottom-color:#ffffff20}html[data-netbox-color-mode=dark] .card>.table.table-flush th,html[data-netbox-color-mode=dark] .card>.table.table-flush td{padding-right:1.5rem!important;padding-left:1.5rem!important;border-right:0;border-left:0}html[data-netbox-color-mode=dark] .card>.table.table-flush tr[class]{border-color:#ffffff20!important}html[data-netbox-color-mode=dark] .card>.table.table-flush tr[class]:last-of-type{border-bottom-color:transparent!important;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .header-alert-container{display:flex;align-items:center;justify-content:center;padding:0 1rem}html[data-netbox-color-mode=dark] .header-alert-container .alert{width:100%}@media (min-width: 768px){html[data-netbox-color-mode=dark] .header-alert-container .alert{max-width:75%}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .header-alert-container .alert{max-width:50%}}html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu{right:0;left:auto;display:block!important;margin-top:.5rem;box-shadow:0 .5rem 1rem #00000026;transition:opacity .2s ease-in-out}html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu:not(.show){pointer-events:none;opacity:0}html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu.show{pointer-events:auto;opacity:1}html[data-netbox-color-mode=dark] div#advanced-search-content div.card div.card-body div.col:not(:last-child){margin-right:1rem}html[data-netbox-color-mode=dark] table td a{text-decoration:none}html[data-netbox-color-mode=dark] table td a:hover{text-decoration:underline}html[data-netbox-color-mode=dark] table td .dropdown{position:static}html[data-netbox-color-mode=dark] table th a,html[data-netbox-color-mode=dark] table th a:hover{color:#fff;text-decoration:none}html[data-netbox-color-mode=dark] table td,html[data-netbox-color-mode=dark] table th{font-size:.875rem;line-height:1.25;vertical-align:middle}html[data-netbox-color-mode=dark] table td.min-width,html[data-netbox-color-mode=dark] table th.min-width{width:1%}html[data-netbox-color-mode=dark] table td .form-check-input,html[data-netbox-color-mode=dark] table th .form-check-input{margin-top:.125em;font-size:1rem}html[data-netbox-color-mode=dark] table td .btn-sm,html[data-netbox-color-mode=dark] table td .btn-group-sm>.btn,html[data-netbox-color-mode=dark] table th .btn-sm,html[data-netbox-color-mode=dark] table th .btn-group-sm>.btn{line-height:1}html[data-netbox-color-mode=dark] table td p,html[data-netbox-color-mode=dark] table th p{margin-bottom:0}html[data-netbox-color-mode=dark] table th.asc a:after{content:"\f0140";font-family:"Material Design Icons"}html[data-netbox-color-mode=dark] table th.desc a:after{content:"\f0143";font-family:"Material Design Icons"}html[data-netbox-color-mode=dark] table.table>:not(caption)>*>*{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] table.object-list th{font-size:.75rem;line-height:1;vertical-align:bottom}html[data-netbox-color-mode=dark] table.attr-table th{font-weight:normal;width:25%}html[data-netbox-color-mode=dark] div.title-container{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between}@media (min-width: 992px){html[data-netbox-color-mode=dark] div.title-container{flex-direction:row}}html[data-netbox-color-mode=dark] div.title-container #content-title{display:flex;flex:1 0;flex-direction:column;padding-bottom:.5rem}html[data-netbox-color-mode=dark] .controls{margin-bottom:.5rem}@media print{html[data-netbox-color-mode=dark] .controls{display:none!important}}html[data-netbox-color-mode=dark] .controls .control-group{display:flex;flex-wrap:wrap;justify-content:flex-start}@media (min-width: 992px){html[data-netbox-color-mode=dark] .controls .control-group{justify-content:flex-end}}html[data-netbox-color-mode=dark] .controls .control-group>*{margin:.25rem}html[data-netbox-color-mode=dark] .controls .control-group>*:first-child{margin-left:0}html[data-netbox-color-mode=dark] .controls .control-group>*:last-child{margin-right:0}html[data-netbox-color-mode=dark] .object-subtitle{display:block;font-size:.875rem;color:#ced4da}@media (min-width: 768px){html[data-netbox-color-mode=dark] .object-subtitle{display:inline-block}}html[data-netbox-color-mode=dark] .object-subtitle>span{display:block}html[data-netbox-color-mode=dark] .object-subtitle>span.separator{display:none}@media (min-width: 768px){html[data-netbox-color-mode=dark] .object-subtitle>span,html[data-netbox-color-mode=dark] .object-subtitle>span.separator{display:inline-block}}html[data-netbox-color-mode=dark] nav.search{z-index:999;justify-content:center;background-color:var(--nbx-body-bg)}html[data-netbox-color-mode=dark] nav.search .search-container{display:flex;width:100%}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] nav.search .search-container{display:none}}html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selected{border-color:#495057}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle{color:#fff;border-color:#495057;margin-left:0;font-weight:400;line-height:1.5;color:#f8f9fa;background-color:#495057;border:1px solid #495057;border-radius:.375rem;border-left:1px solid var(--nbx-search-filter-border-left-color)}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:hover{color:#fff;background-color:#3e444a;border-color:#3a4046}.btn-check:focus+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus{color:#fff;background-color:#3e444a;border-color:#3a4046;box-shadow:0 0 0 .25rem #646a7080}.btn-check:checked+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,.btn-check:active+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:active,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.active,.show>html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.dropdown-toggle{color:#fff;background-color:#3a4046;border-color:#373c41}.btn-check:checked+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,.btn-check:active+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:active:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.active:focus,.show>html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #646a7080}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:disabled,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.disabled{color:#fff;background-color:#495057;border-color:#495057}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus{box-shadow:unset!important}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:after{display:none}html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector{max-height:70vh;overflow-y:auto}html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-item,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-header{font-size:.875rem}html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-header{text-transform:uppercase}html[data-netbox-color-mode=dark] main.layout{display:flex;flex-wrap:nowrap;height:100vh;height:-webkit-fill-available;max-height:100vh;overflow-x:auto;overflow-y:hidden}@media print{html[data-netbox-color-mode=dark] main.layout{position:static!important;display:block!important;height:100%;overflow-x:visible!important;overflow-y:visible!important}}html[data-netbox-color-mode=dark] main.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100vw;height:calc(100vh - 4rem);padding-top:40px;padding-bottom:40px}html[data-netbox-color-mode=dark] main.login-container+footer.footer button.color-mode-toggle{color:var(--nbx-color-mode-toggle-color)}html[data-netbox-color-mode=dark] .footer{padding:0}html[data-netbox-color-mode=dark] .footer .nav-link{padding:.5rem}@media (max-width: 767.98px){html[data-netbox-color-mode=dark] .footer{margin-bottom:8rem}}html[data-netbox-color-mode=dark] footer.login-footer{height:4rem;margin-top:auto}html[data-netbox-color-mode=dark] footer.login-footer .container-fluid,html[data-netbox-color-mode=dark] footer.login-footer .container-sm,html[data-netbox-color-mode=dark] footer.login-footer .container-md,html[data-netbox-color-mode=dark] footer.login-footer .container-lg,html[data-netbox-color-mode=dark] footer.login-footer .container-xl,html[data-netbox-color-mode=dark] footer.login-footer .container-xxl{display:flex;justify-content:flex-end;padding:.75rem 1.5rem}html[data-netbox-color-mode=dark] h1.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h1,html[data-netbox-color-mode=dark] h2.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h2,html[data-netbox-color-mode=dark] h3.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h3,html[data-netbox-color-mode=dark] h4.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h4,html[data-netbox-color-mode=dark] h5.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h5,html[data-netbox-color-mode=dark] h6.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h6{padding:.25rem .5rem;font-size:.875rem;font-weight:700;color:var(--nbx-sidebar-title-color);text-transform:uppercase}html[data-netbox-color-mode=dark] .form-login{width:100%;max-width:330px;padding:15px}html[data-netbox-color-mode=dark] .form-login input:focus{z-index:1}html[data-netbox-color-mode=dark] .form-login input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .form-login input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .form-login .form-control{position:relative;box-sizing:border-box;height:auto;padding:10px;font-size:16px}html[data-netbox-color-mode=dark] .navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}html[data-netbox-color-mode=dark] nav.nav.nav-pills .nav-item.nav-link{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html[data-netbox-color-mode=dark] nav.nav.nav-pills .nav-item.nav-link:hover{color:#000;background-color:#6397e5}html[data-netbox-color-mode=dark] div.content-container{position:relative;display:flex;flex-direction:column;width:calc(100% - 3rem);min-height:100vh;overflow-x:hidden;overflow-y:auto}html[data-netbox-color-mode=dark] div.content-container:focus,html[data-netbox-color-mode=dark] div.content-container:focus-visible{outline:0}html[data-netbox-color-mode=dark] div.content-container div.content{flex:1}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] div.content-container{width:100%}}@media print{html[data-netbox-color-mode=dark] div.content-container{width:100%!important;margin-left:0!important}}@media (max-width: 768px){html[data-netbox-color-mode=dark] .sidebar.collapse.show~.content-container>.content{position:fixed;top:0;left:0;overflow-y:hidden}}html[data-netbox-color-mode=dark] .tooltip{pointer-events:none}html[data-netbox-color-mode=dark] span.color-label{display:block;width:5rem;height:1rem;padding:.35em .65em;border:1px solid #303030;border-radius:.375rem;box-shadow:0 .125rem .25rem #00000013}html[data-netbox-color-mode=dark] .btn{white-space:nowrap}html[data-netbox-color-mode=dark] .card{box-shadow:0 .125rem .25rem #00000013}html[data-netbox-color-mode=dark] .card .card-header{padding:1rem;color:var(--nbx-body-color);border-bottom:none}html[data-netbox-color-mode=dark] .card .card-header+.card-body{padding-top:0}html[data-netbox-color-mode=dark] .card .card-body.small .form-control,html[data-netbox-color-mode=dark] .card .card-body.small .form-select{font-size:.875rem}html[data-netbox-color-mode=dark] .card .card-divider{width:100%;height:1px;margin:1rem 0;border-top:1px solid rgba(255,255,255,.125);opacity:.25}@media print{html[data-netbox-color-mode=dark] .card{box-shadow:unset!important}}html[data-netbox-color-mode=dark] .form-floating{position:relative}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}html[data-netbox-color-mode=dark] .form-floating>.input-group>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-floating>.input-group>label{transition:none}}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control::placeholder{color:transparent}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:focus,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select,html[data-netbox-color-mode=dark] .form-floating>.choices>.choices__inner,html[data-netbox-color-mode=dark] .form-floating>.ss-main span.placeholder,html[data-netbox-color-mode=dark] .form-floating>.ss-main div.ss-values{padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:focus~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select~label,html[data-netbox-color-mode=dark] .form-floating>.choices~label,html[data-netbox-color-mode=dark] .form-floating>.ss-main~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem);z-index:4}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:-webkit-autofill~label{z-index:4;opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}html[data-netbox-color-mode=dark] .form-object-edit{margin:0 auto;max-width:800px}html[data-netbox-color-mode=dark] textarea.form-control[rows="10"]{height:18rem}html[data-netbox-color-mode=dark] textarea#id_local_context_data,html[data-netbox-color-mode=dark] textarea.markdown,html[data-netbox-color-mode=dark] textarea#id_public_key,html[data-netbox-color-mode=dark] textarea.form-control[name=csv],html[data-netbox-color-mode=dark] textarea.form-control[name=data]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}html[data-netbox-color-mode=dark] .card:not(:only-of-type){margin-bottom:1rem}html[data-netbox-color-mode=dark] .stat-btn{min-width:3rem}html[data-netbox-color-mode=dark] nav.breadcrumb-container{width:fit-content;padding:.35em .65em;font-size:.875rem}html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb{margin-bottom:0}html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a{text-decoration:none}html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover{text-decoration:underline}html[data-netbox-color-mode=dark] label.required{font-weight:700}html[data-netbox-color-mode=dark] label.required:after{position:absolute;display:inline-block;margin:0 0 0 2px;font-family:"Material Design Icons";font-size:8px;font-style:normal;font-weight:600;text-decoration:none;content:"\f06c4"}html[data-netbox-color-mode=dark] div.bulk-buttons{display:flex;justify-content:space-between;margin:.5rem 0}html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group{display:flex;flex-wrap:wrap;align-items:flex-start}html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child{margin-left:0}html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child{margin-right:0}html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group>*{margin:.25rem}html[data-netbox-color-mode=dark] table tbody tr.primary{background-color:#6ea8fe26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.secondary{background-color:#adb5bd26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.success{background-color:#75b79826;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.info{background-color:#6edff626;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.warning{background-color:#ffda6a26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.danger{background-color:#ea868f26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.light{background-color:#dee2e626;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.dark{background-color:#adb5bd26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.blue{background-color:#6ea8fe26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.indigo{background-color:#a370f726;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.purple{background-color:#a98eda26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.pink{background-color:#e685b526;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.red{background-color:#ea868f26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.orange{background-color:#feb27226;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.yellow{background-color:#ffda6a26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.green{background-color:#75b79826;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.teal{background-color:#79dfc126;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.cyan{background-color:#6edff626;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.gray{background-color:#dee2e626;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.black{background-color:#00000026;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.white{background-color:#ffffff26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table .table-badge-group .table-badge{display:block;width:min-content;font-size:.875rem;font-weight:400}html[data-netbox-color-mode=dark] table .table-badge-group .table-badge:not(.badge){padding:0 .65em}html[data-netbox-color-mode=dark] table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child){margin-bottom:.25rem}html[data-netbox-color-mode=dark] pre.change-data{padding-right:0;padding-left:0}html[data-netbox-color-mode=dark] pre.change-data>span{display:block;padding-right:1rem;padding-left:1rem}html[data-netbox-color-mode=dark] pre.change-data>span.added{background-color:var(--nbx-change-added)}html[data-netbox-color-mode=dark] pre.change-data>span.removed{background-color:var(--nbx-change-removed)}html[data-netbox-color-mode=dark] pre.change-diff{border-color:transparent}html[data-netbox-color-mode=dark] pre.change-diff.change-removed{background-color:var(--nbx-change-removed)}html[data-netbox-color-mode=dark] pre.change-diff.change-added{background-color:var(--nbx-change-added)}html[data-netbox-color-mode=dark] div.card-overlay{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#ffffffbf;border-radius:.375rem}html[data-netbox-color-mode=dark] div.card-overlay>div.spinner-border{width:6rem;height:6rem;color:#adb5bd}html[data-netbox-color-mode=dark] .table-controls{display:flex}@media (min-width: 768px){html[data-netbox-color-mode=dark] .table-controls{margin-top:0!important;margin-bottom:0!important}}html[data-netbox-color-mode=dark] .table-controls .table-configure{justify-content:flex-start}@media (min-width: 768px){html[data-netbox-color-mode=dark] .table-controls .table-configure{justify-content:flex-end}}html[data-netbox-color-mode=dark] .table-controls .form-switch.form-check-inline{flex:1 0 auto;font-size:.875rem}html[data-netbox-color-mode=dark] .nav-tabs .nav-link:hover{border-bottom-color:transparent}html[data-netbox-color-mode=dark] .nav-tabs .nav-link.active{background-color:#171b1d;border-bottom-color:#171b1d;transform:translateY(1px)}html[data-netbox-color-mode=dark] .tab-content{display:flex;flex-direction:column;padding:1rem;background-color:#171b1d;border-bottom:1px solid #495057}@media print{html[data-netbox-color-mode=dark] .tab-content{background-color:var(--nbx-body-bg)!important;border-bottom:none!important}}@media print{html[data-netbox-color-mode=dark] .masonry{position:static!important;display:block!important;height:unset!important}}@media print{html[data-netbox-color-mode=dark] .masonry .masonry-item{position:static!important;top:unset!important;left:unset!important;display:block!important}}html[data-netbox-color-mode=dark] .record-depth{display:inline;font-size:1rem;user-select:none;opacity:.33}html[data-netbox-color-mode=dark] .record-depth span:only-of-type,html[data-netbox-color-mode=dark] .record-depth span:last-of-type{margin-right:.25rem}html[data-netbox-color-mode=dark] .popover.image-preview-popover{max-width:unset}html[data-netbox-color-mode=dark] .rendered-markdown table{width:100%}html[data-netbox-color-mode=dark] .rendered-markdown th{border-bottom:2px solid #ddd;padding:8px}html[data-netbox-color-mode=dark] .rendered-markdown td{border-top:1px solid #ddd;padding:8px}html[data-netbox-color-mode=dark] td pre{margin-bottom:0}html[data-netbox-color-mode=dark] pre.block{padding:1rem;background-color:var(--nbx-pre-bg);border:1px solid var(--nbx-pre-border-color);border-radius:.375rem}html[data-netbox-color-mode=dark] #django-messages{position:fixed;right:1rem;bottom:0;margin:1rem}html[data-netbox-color-mode=dark] html[data-netbox-url-name=home] .content-container,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home] .search{background-color:#f8f9fa!important}html[data-netbox-color-mode=dark] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search{background-color:#171b1d!important}html[data-netbox-color-mode=dark] html[data-netbox-url-name=login] #django-messages{display:none} +html[data-netbox-color-mode=dark] :root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #6ea8fe;--bs-secondary: #adb5bd;--bs-success: #75b798;--bs-info: #6edff6;--bs-warning: #ffda6a;--bs-danger: #ea868f;--bs-light: #dee2e6;--bs-dark: #adb5bd;--bs-blue: #6ea8fe;--bs-indigo: #a370f7;--bs-purple: #a98eda;--bs-pink: #e685b5;--bs-red: #ea868f;--bs-orange: #feb272;--bs-yellow: #ffda6a;--bs-green: #75b798;--bs-teal: #79dfc1;--bs-cyan: #6edff6;--bs-gray: #dee2e6;--bs-black: #000;--bs-white: #fff;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0))}html[data-netbox-color-mode=dark] *,html[data-netbox-color-mode=dark] *:before,html[data-netbox-color-mode=dark] *:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){html[data-netbox-color-mode=dark] :root{scroll-behavior:smooth}}html[data-netbox-color-mode=dark] body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#fff;background-color:#1b1f22;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}html[data-netbox-color-mode=dark] hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}html[data-netbox-color-mode=dark] hr:not([size]){height:1px}html[data-netbox-color-mode=dark] h6,html[data-netbox-color-mode=dark] .h6,html[data-netbox-color-mode=dark] h5,html[data-netbox-color-mode=dark] .h5,html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=dark] .h4,html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=dark] .h3,html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=dark] .h2,html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=dark] .h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=dark] .h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=dark] .h1{font-size:2.5rem}}html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=dark] .h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=dark] .h2{font-size:2rem}}html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=dark] .h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=dark] .h3{font-size:1.75rem}}html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=dark] .h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=dark] .h4{font-size:1.5rem}}html[data-netbox-color-mode=dark] h5,html[data-netbox-color-mode=dark] .h5{font-size:1.25rem}html[data-netbox-color-mode=dark] h6,html[data-netbox-color-mode=dark] .h6{font-size:1rem}html[data-netbox-color-mode=dark] p{margin-top:0;margin-bottom:1rem}html[data-netbox-color-mode=dark] abbr[title],html[data-netbox-color-mode=dark] abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}html[data-netbox-color-mode=dark] address{margin-bottom:1rem;font-style:normal;line-height:inherit}html[data-netbox-color-mode=dark] ol,html[data-netbox-color-mode=dark] ul{padding-left:2rem}html[data-netbox-color-mode=dark] ol,html[data-netbox-color-mode=dark] ul,html[data-netbox-color-mode=dark] dl{margin-top:0;margin-bottom:1rem}html[data-netbox-color-mode=dark] ol ol,html[data-netbox-color-mode=dark] ul ul,html[data-netbox-color-mode=dark] ol ul,html[data-netbox-color-mode=dark] ul ol{margin-bottom:0}html[data-netbox-color-mode=dark] dt{font-weight:700}html[data-netbox-color-mode=dark] dd{margin-bottom:.5rem;margin-left:0}html[data-netbox-color-mode=dark] blockquote{margin:0 0 1rem}html[data-netbox-color-mode=dark] b,html[data-netbox-color-mode=dark] strong{font-weight:800}html[data-netbox-color-mode=dark] small,html[data-netbox-color-mode=dark] .small{font-size:.875em}html[data-netbox-color-mode=dark] mark,html[data-netbox-color-mode=dark] .mark{padding:.2em;background-color:#fcf8e3}html[data-netbox-color-mode=dark] sub,html[data-netbox-color-mode=dark] sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}html[data-netbox-color-mode=dark] sub{bottom:-.25em}html[data-netbox-color-mode=dark] sup{top:-.5em}html[data-netbox-color-mode=dark] a{color:#9ec5fe;text-decoration:underline}html[data-netbox-color-mode=dark] a:hover{color:#cfe2ff}html[data-netbox-color-mode=dark] a:not([href]):not([class]),html[data-netbox-color-mode=dark] a:not([href]):not([class]):hover{color:inherit;text-decoration:none}html[data-netbox-color-mode=dark] pre,html[data-netbox-color-mode=dark] code,html[data-netbox-color-mode=dark] kbd,html[data-netbox-color-mode=dark] samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}html[data-netbox-color-mode=dark] pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}html[data-netbox-color-mode=dark] pre code{font-size:inherit;color:inherit;word-break:normal}html[data-netbox-color-mode=dark] code{font-size:.875em;color:#e9ecef;word-wrap:break-word}a>html[data-netbox-color-mode=dark] code{color:inherit}html[data-netbox-color-mode=dark] kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#dee2e6;border-radius:.375rem}html[data-netbox-color-mode=dark] kbd kbd{padding:0;font-size:1em;font-weight:700}html[data-netbox-color-mode=dark] figure{margin:0 0 1rem}html[data-netbox-color-mode=dark] img,html[data-netbox-color-mode=dark] svg{vertical-align:middle}html[data-netbox-color-mode=dark] table{caption-side:bottom;border-collapse:collapse}html[data-netbox-color-mode=dark] caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}html[data-netbox-color-mode=dark] th{text-align:inherit;text-align:-webkit-match-parent}html[data-netbox-color-mode=dark] thead,html[data-netbox-color-mode=dark] tbody,html[data-netbox-color-mode=dark] tfoot,html[data-netbox-color-mode=dark] tr,html[data-netbox-color-mode=dark] td,html[data-netbox-color-mode=dark] th{border-color:inherit;border-style:solid;border-width:0}html[data-netbox-color-mode=dark] label{display:inline-block}html[data-netbox-color-mode=dark] button{border-radius:0}html[data-netbox-color-mode=dark] button:focus:not(:focus-visible){outline:0}html[data-netbox-color-mode=dark] input,html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] select,html[data-netbox-color-mode=dark] optgroup,html[data-netbox-color-mode=dark] textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] select{text-transform:none}html[data-netbox-color-mode=dark] [role=button]{cursor:pointer}html[data-netbox-color-mode=dark] select{word-wrap:normal}html[data-netbox-color-mode=dark] select:disabled{opacity:1}html[data-netbox-color-mode=dark] [list]::-webkit-calendar-picker-indicator{display:none}html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] [type=button],html[data-netbox-color-mode=dark] [type=reset],html[data-netbox-color-mode=dark] [type=submit]{-webkit-appearance:button}html[data-netbox-color-mode=dark] button:not(:disabled),html[data-netbox-color-mode=dark] [type=button]:not(:disabled),html[data-netbox-color-mode=dark] [type=reset]:not(:disabled),html[data-netbox-color-mode=dark] [type=submit]:not(:disabled){cursor:pointer}html[data-netbox-color-mode=dark] ::-moz-focus-inner{padding:0;border-style:none}html[data-netbox-color-mode=dark] textarea{resize:vertical}html[data-netbox-color-mode=dark] fieldset{min-width:0;padding:0;margin:0;border:0}html[data-netbox-color-mode=dark] legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){html[data-netbox-color-mode=dark] legend{font-size:1.5rem}}html[data-netbox-color-mode=dark] legend+*{clear:left}html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-fields-wrapper,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-text,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-minute,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-hour-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-day-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-month-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-year-field{padding:0}html[data-netbox-color-mode=dark] ::-webkit-inner-spin-button{height:auto}html[data-netbox-color-mode=dark] [type=search]{outline-offset:-2px;-webkit-appearance:textfield}html[data-netbox-color-mode=dark] ::-webkit-search-decoration{-webkit-appearance:none}html[data-netbox-color-mode=dark] ::-webkit-color-swatch-wrapper{padding:0}html[data-netbox-color-mode=dark] ::file-selector-button{font:inherit}html[data-netbox-color-mode=dark] ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}html[data-netbox-color-mode=dark] output{display:inline-block}html[data-netbox-color-mode=dark] iframe{border:0}html[data-netbox-color-mode=dark] summary{display:list-item;cursor:pointer}html[data-netbox-color-mode=dark] progress{vertical-align:baseline}html[data-netbox-color-mode=dark] [hidden]{display:none!important}html[data-netbox-color-mode=dark] .lead{font-size:1.25rem;font-weight:300}html[data-netbox-color-mode=dark] .display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-1{font-size:5rem}}html[data-netbox-color-mode=dark] .display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-2{font-size:4.5rem}}html[data-netbox-color-mode=dark] .display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-3{font-size:4rem}}html[data-netbox-color-mode=dark] .display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-4{font-size:3.5rem}}html[data-netbox-color-mode=dark] .display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-5{font-size:3rem}}html[data-netbox-color-mode=dark] .display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .display-6{font-size:2.5rem}}html[data-netbox-color-mode=dark] .list-unstyled{padding-left:0;list-style:none}html[data-netbox-color-mode=dark] .list-inline{padding-left:0;list-style:none}html[data-netbox-color-mode=dark] .list-inline-item{display:inline-block}html[data-netbox-color-mode=dark] .list-inline-item:not(:last-child){margin-right:.5rem}html[data-netbox-color-mode=dark] .initialism{font-size:.875em;text-transform:uppercase}html[data-netbox-color-mode=dark] .blockquote{margin-bottom:1rem;font-size:1.25rem}html[data-netbox-color-mode=dark] .blockquote>:last-child{margin-bottom:0}html[data-netbox-color-mode=dark] .blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}html[data-netbox-color-mode=dark] .blockquote-footer:before{content:"\2014\a0"}html[data-netbox-color-mode=dark] .img-fluid{max-width:100%;height:auto}html[data-netbox-color-mode=dark] .img-thumbnail{padding:.25rem;background-color:#1b1f22;border:1px solid #dee2e6;border-radius:.375rem;max-width:100%;height:auto}html[data-netbox-color-mode=dark] .figure{display:inline-block}html[data-netbox-color-mode=dark] .figure-img{margin-bottom:.5rem;line-height:1}html[data-netbox-color-mode=dark] .figure-caption{font-size:.875em;color:#6c757d}html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=dark] .container-fluid,html[data-netbox-color-mode=dark] .container-xxl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm{width:100%;padding-right:var(--bs-gutter-x, .75rem);padding-left:var(--bs-gutter-x, .75rem);margin-right:auto;margin-left:auto}@media (min-width: 576px){html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:540px}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:720px}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:960px}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:1140px}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .container-xxl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=dark] .container{max-width:1320px}}html[data-netbox-color-mode=dark] .row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}html[data-netbox-color-mode=dark] .row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}html[data-netbox-color-mode=dark] .col{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width: 576px){html[data-netbox-color-mode=dark] .col-sm{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-sm-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-sm-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-sm-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-sm-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-sm-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .col-md{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-md-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-md-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-md-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-md-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-md-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .col-lg{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-lg-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-lg-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-lg-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-lg-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-lg-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .col-xl{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-xl-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-xl-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-xl-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-xl-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-xl-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .col-xxl{flex:1 0 0%}html[data-netbox-color-mode=dark] .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .row-cols-xxl-1>*{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .row-cols-xxl-2>*{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}html[data-netbox-color-mode=dark] .row-cols-xxl-4>*{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .row-cols-xxl-5>*{flex:0 0 auto;width:20%}html[data-netbox-color-mode=dark] .row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}html[data-netbox-color-mode=dark] .col-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-0,html[data-netbox-color-mode=dark] .gx-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-0,html[data-netbox-color-mode=dark] .gy-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-1,html[data-netbox-color-mode=dark] .gx-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-1,html[data-netbox-color-mode=dark] .gy-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-2,html[data-netbox-color-mode=dark] .gx-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-2,html[data-netbox-color-mode=dark] .gy-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-3,html[data-netbox-color-mode=dark] .gx-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-3,html[data-netbox-color-mode=dark] .gy-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-4,html[data-netbox-color-mode=dark] .gx-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-4,html[data-netbox-color-mode=dark] .gy-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-5,html[data-netbox-color-mode=dark] .gx-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-5,html[data-netbox-color-mode=dark] .gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){html[data-netbox-color-mode=dark] .col-sm-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-sm-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-sm-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-sm-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-sm-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-sm-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-sm-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-sm-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-sm-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-sm-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-sm-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-sm-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-sm-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-sm-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-sm-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-sm-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-sm-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-sm-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-sm-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-sm-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-sm-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-sm-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-sm-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-sm-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-sm-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-sm-0,html[data-netbox-color-mode=dark] .gx-sm-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-sm-0,html[data-netbox-color-mode=dark] .gy-sm-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-sm-1,html[data-netbox-color-mode=dark] .gx-sm-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-sm-1,html[data-netbox-color-mode=dark] .gy-sm-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-sm-2,html[data-netbox-color-mode=dark] .gx-sm-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-sm-2,html[data-netbox-color-mode=dark] .gy-sm-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-sm-3,html[data-netbox-color-mode=dark] .gx-sm-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-sm-3,html[data-netbox-color-mode=dark] .gy-sm-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-sm-4,html[data-netbox-color-mode=dark] .gx-sm-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-sm-4,html[data-netbox-color-mode=dark] .gy-sm-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-sm-5,html[data-netbox-color-mode=dark] .gx-sm-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-sm-5,html[data-netbox-color-mode=dark] .gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .col-md-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-md-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-md-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-md-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-md-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-md-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-md-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-md-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-md-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-md-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-md-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-md-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-md-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-md-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-md-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-md-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-md-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-md-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-md-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-md-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-md-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-md-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-md-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-md-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-md-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-md-0,html[data-netbox-color-mode=dark] .gx-md-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-md-0,html[data-netbox-color-mode=dark] .gy-md-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-md-1,html[data-netbox-color-mode=dark] .gx-md-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-md-1,html[data-netbox-color-mode=dark] .gy-md-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-md-2,html[data-netbox-color-mode=dark] .gx-md-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-md-2,html[data-netbox-color-mode=dark] .gy-md-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-md-3,html[data-netbox-color-mode=dark] .gx-md-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-md-3,html[data-netbox-color-mode=dark] .gy-md-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-md-4,html[data-netbox-color-mode=dark] .gx-md-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-md-4,html[data-netbox-color-mode=dark] .gy-md-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-md-5,html[data-netbox-color-mode=dark] .gx-md-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-md-5,html[data-netbox-color-mode=dark] .gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .col-lg-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-lg-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-lg-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-lg-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-lg-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-lg-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-lg-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-lg-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-lg-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-lg-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-lg-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-lg-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-lg-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-lg-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-lg-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-lg-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-lg-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-lg-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-lg-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-lg-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-lg-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-lg-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-lg-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-lg-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-lg-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-lg-0,html[data-netbox-color-mode=dark] .gx-lg-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-lg-0,html[data-netbox-color-mode=dark] .gy-lg-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-lg-1,html[data-netbox-color-mode=dark] .gx-lg-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-lg-1,html[data-netbox-color-mode=dark] .gy-lg-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-lg-2,html[data-netbox-color-mode=dark] .gx-lg-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-lg-2,html[data-netbox-color-mode=dark] .gy-lg-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-lg-3,html[data-netbox-color-mode=dark] .gx-lg-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-lg-3,html[data-netbox-color-mode=dark] .gy-lg-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-lg-4,html[data-netbox-color-mode=dark] .gx-lg-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-lg-4,html[data-netbox-color-mode=dark] .gy-lg-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-lg-5,html[data-netbox-color-mode=dark] .gx-lg-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-lg-5,html[data-netbox-color-mode=dark] .gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .col-xl-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-xl-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-xl-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-xl-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-xl-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-xl-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-xl-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-xl-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-xl-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-xl-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-xl-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-xl-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-xl-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-xl-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-xl-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-xl-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-xl-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-xl-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-xl-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-xl-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-xl-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-xl-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-xl-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-xl-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-xl-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-xl-0,html[data-netbox-color-mode=dark] .gx-xl-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-xl-0,html[data-netbox-color-mode=dark] .gy-xl-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-xl-1,html[data-netbox-color-mode=dark] .gx-xl-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-xl-1,html[data-netbox-color-mode=dark] .gy-xl-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-xl-2,html[data-netbox-color-mode=dark] .gx-xl-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-xl-2,html[data-netbox-color-mode=dark] .gy-xl-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-xl-3,html[data-netbox-color-mode=dark] .gx-xl-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-xl-3,html[data-netbox-color-mode=dark] .gy-xl-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-xl-4,html[data-netbox-color-mode=dark] .gx-xl-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-xl-4,html[data-netbox-color-mode=dark] .gy-xl-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-xl-5,html[data-netbox-color-mode=dark] .gx-xl-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-xl-5,html[data-netbox-color-mode=dark] .gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .col-xxl-auto{flex:0 0 auto;width:auto}html[data-netbox-color-mode=dark] .col-xxl-1{flex:0 0 auto;width:8.33333333%}html[data-netbox-color-mode=dark] .col-xxl-2{flex:0 0 auto;width:16.66666667%}html[data-netbox-color-mode=dark] .col-xxl-3{flex:0 0 auto;width:25%}html[data-netbox-color-mode=dark] .col-xxl-4{flex:0 0 auto;width:33.33333333%}html[data-netbox-color-mode=dark] .col-xxl-5{flex:0 0 auto;width:41.66666667%}html[data-netbox-color-mode=dark] .col-xxl-6{flex:0 0 auto;width:50%}html[data-netbox-color-mode=dark] .col-xxl-7{flex:0 0 auto;width:58.33333333%}html[data-netbox-color-mode=dark] .col-xxl-8{flex:0 0 auto;width:66.66666667%}html[data-netbox-color-mode=dark] .col-xxl-9{flex:0 0 auto;width:75%}html[data-netbox-color-mode=dark] .col-xxl-10{flex:0 0 auto;width:83.33333333%}html[data-netbox-color-mode=dark] .col-xxl-11{flex:0 0 auto;width:91.66666667%}html[data-netbox-color-mode=dark] .col-xxl-12{flex:0 0 auto;width:100%}html[data-netbox-color-mode=dark] .offset-xxl-0{margin-left:0}html[data-netbox-color-mode=dark] .offset-xxl-1{margin-left:8.33333333%}html[data-netbox-color-mode=dark] .offset-xxl-2{margin-left:16.66666667%}html[data-netbox-color-mode=dark] .offset-xxl-3{margin-left:25%}html[data-netbox-color-mode=dark] .offset-xxl-4{margin-left:33.33333333%}html[data-netbox-color-mode=dark] .offset-xxl-5{margin-left:41.66666667%}html[data-netbox-color-mode=dark] .offset-xxl-6{margin-left:50%}html[data-netbox-color-mode=dark] .offset-xxl-7{margin-left:58.33333333%}html[data-netbox-color-mode=dark] .offset-xxl-8{margin-left:66.66666667%}html[data-netbox-color-mode=dark] .offset-xxl-9{margin-left:75%}html[data-netbox-color-mode=dark] .offset-xxl-10{margin-left:83.33333333%}html[data-netbox-color-mode=dark] .offset-xxl-11{margin-left:91.66666667%}html[data-netbox-color-mode=dark] .g-xxl-0,html[data-netbox-color-mode=dark] .gx-xxl-0{--bs-gutter-x: 0}html[data-netbox-color-mode=dark] .g-xxl-0,html[data-netbox-color-mode=dark] .gy-xxl-0{--bs-gutter-y: 0}html[data-netbox-color-mode=dark] .g-xxl-1,html[data-netbox-color-mode=dark] .gx-xxl-1{--bs-gutter-x: .25rem}html[data-netbox-color-mode=dark] .g-xxl-1,html[data-netbox-color-mode=dark] .gy-xxl-1{--bs-gutter-y: .25rem}html[data-netbox-color-mode=dark] .g-xxl-2,html[data-netbox-color-mode=dark] .gx-xxl-2{--bs-gutter-x: .5rem}html[data-netbox-color-mode=dark] .g-xxl-2,html[data-netbox-color-mode=dark] .gy-xxl-2{--bs-gutter-y: .5rem}html[data-netbox-color-mode=dark] .g-xxl-3,html[data-netbox-color-mode=dark] .gx-xxl-3{--bs-gutter-x: 1rem}html[data-netbox-color-mode=dark] .g-xxl-3,html[data-netbox-color-mode=dark] .gy-xxl-3{--bs-gutter-y: 1rem}html[data-netbox-color-mode=dark] .g-xxl-4,html[data-netbox-color-mode=dark] .gx-xxl-4{--bs-gutter-x: 1.5rem}html[data-netbox-color-mode=dark] .g-xxl-4,html[data-netbox-color-mode=dark] .gy-xxl-4{--bs-gutter-y: 1.5rem}html[data-netbox-color-mode=dark] .g-xxl-5,html[data-netbox-color-mode=dark] .gx-xxl-5{--bs-gutter-x: 3rem}html[data-netbox-color-mode=dark] .g-xxl-5,html[data-netbox-color-mode=dark] .gy-xxl-5{--bs-gutter-y: 3rem}}html[data-netbox-color-mode=dark] .table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #f8f9fa;--bs-table-striped-bg: rgba(255, 255, 255, .05);--bs-table-active-color: #f8f9fa;--bs-table-active-bg: rgba(255, 255, 255, .1);--bs-table-hover-color: #f8f9fa;--bs-table-hover-bg: rgba(255, 255, 255, .075);width:100%;margin-bottom:1rem;color:#f8f9fa;vertical-align:top;border-color:#495057}html[data-netbox-color-mode=dark] .table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}html[data-netbox-color-mode=dark] .table>tbody{vertical-align:inherit}html[data-netbox-color-mode=dark] .table>thead{vertical-align:bottom}html[data-netbox-color-mode=dark] .table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}html[data-netbox-color-mode=dark] .caption-top{caption-side:top}html[data-netbox-color-mode=dark] .table-sm>:not(caption)>*>*{padding:.25rem}html[data-netbox-color-mode=dark] .table-bordered>:not(caption)>*{border-width:1px 0}html[data-netbox-color-mode=dark] .table-bordered>:not(caption)>*>*{border-width:0 1px}html[data-netbox-color-mode=dark] .table-borderless>:not(caption)>*>*{border-bottom-width:0}html[data-netbox-color-mode=dark] .table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}html[data-netbox-color-mode=dark] .table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}html[data-netbox-color-mode=dark] .table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}html[data-netbox-color-mode=dark] .table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}html[data-netbox-color-mode=dark] .table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}html[data-netbox-color-mode=dark] .table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}html[data-netbox-color-mode=dark] .table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}html[data-netbox-color-mode=dark] .table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}html[data-netbox-color-mode=dark] .table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}html[data-netbox-color-mode=dark] .table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}html[data-netbox-color-mode=dark] .table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:#fff;border-color:#373b3e}html[data-netbox-color-mode=dark] .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){html[data-netbox-color-mode=dark] .table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){html[data-netbox-color-mode=dark] .table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] .table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){html[data-netbox-color-mode=dark] .table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){html[data-netbox-color-mode=dark] .table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}html[data-netbox-color-mode=dark] .form-label{margin-bottom:.5rem}html[data-netbox-color-mode=dark] .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}html[data-netbox-color-mode=dark] .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}html[data-netbox-color-mode=dark] .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}html[data-netbox-color-mode=dark] .form-text{margin-top:.25rem;font-size:.875em;color:#ced4da}html[data-netbox-color-mode=dark] .form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#f8f9fa;background-color:#212529;background-clip:padding-box;border:1px solid #495057;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-control{transition:none}}html[data-netbox-color-mode=dark] .form-control[type=file]{overflow:hidden}html[data-netbox-color-mode=dark] .form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}html[data-netbox-color-mode=dark] .form-control:focus{color:#f8f9fa;background-color:#212529;border-color:#7db1fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-control::-webkit-date-and-time-value{height:1.5em}html[data-netbox-color-mode=dark] .form-control::placeholder{color:#495057;opacity:1}html[data-netbox-color-mode=dark] .form-control:disabled,html[data-netbox-color-mode=dark] .form-control[readonly]{background-color:#495057;opacity:1}html[data-netbox-color-mode=dark] .form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#f8f9fa;background-color:#495057;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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){html[data-netbox-color-mode=dark] .form-control::file-selector-button{transition:none}}html[data-netbox-color-mode=dark] .form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#454c53}html[data-netbox-color-mode=dark] .form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#f8f9fa;background-color:#495057;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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){html[data-netbox-color-mode=dark] .form-control::-webkit-file-upload-button{transition:none}}html[data-netbox-color-mode=dark] .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#454c53}html[data-netbox-color-mode=dark] .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#fff;background-color:transparent;border:solid transparent;border-width:1px 0}html[data-netbox-color-mode=dark] .form-control-plaintext.form-control-sm,html[data-netbox-color-mode=dark] .form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}html[data-netbox-color-mode=dark] .form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html[data-netbox-color-mode=dark] .form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}html[data-netbox-color-mode=dark] .form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}html[data-netbox-color-mode=dark] .form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}html[data-netbox-color-mode=dark] .form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}html[data-netbox-color-mode=dark] .form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}html[data-netbox-color-mode=dark] textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}html[data-netbox-color-mode=dark] textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}html[data-netbox-color-mode=dark] textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}html[data-netbox-color-mode=dark] .form-control-color{max-width:3rem;height:auto;padding:.375rem}html[data-netbox-color-mode=dark] .form-control-color:not(:disabled):not([readonly]){cursor:pointer}html[data-netbox-color-mode=dark] .form-control-color::-moz-color-swatch{height:1.5em;border-radius:.375rem}html[data-netbox-color-mode=dark] .form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.375rem}html[data-netbox-color-mode=dark] .form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#f8f9fa;background-color:#212529;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='%23f8f9fa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #495057;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-select{transition:none}}html[data-netbox-color-mode=dark] .form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-select[multiple],html[data-netbox-color-mode=dark] .form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}html[data-netbox-color-mode=dark] .form-select:disabled{color:#adb5bd;background-color:#495057}html[data-netbox-color-mode=dark] .form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #f8f9fa}html[data-netbox-color-mode=dark] .form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}html[data-netbox-color-mode=dark] .form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}html[data-netbox-color-mode=dark] .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}html[data-netbox-color-mode=dark] .form-check .form-check-input{float:left;margin-left:-1.5em}html[data-netbox-color-mode=dark] .form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#212529;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(255,255,255,.25);appearance:none;color-adjust:exact}html[data-netbox-color-mode=dark] .form-check-input[type=checkbox]{border-radius:.25em}html[data-netbox-color-mode=dark] .form-check-input[type=radio]{border-radius:50%}html[data-netbox-color-mode=dark] .form-check-input:active{filter:brightness(90%)}html[data-netbox-color-mode=dark] .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-check-input:checked{background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-check-input[type=checkbox]:indeterminate{background-color:#6ea8fe;border-color:#6ea8fe;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}html[data-netbox-color-mode=dark] .form-check-input[disabled]~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input:disabled~.form-check-label{opacity:.5}html[data-netbox-color-mode=dark] .form-switch{padding-left:2.5em}html[data-netbox-color-mode=dark] .form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-switch .form-check-input{transition:none}}html[data-netbox-color-mode=dark] .form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .form-check-inline{display:inline-block;margin-right:1rem}html[data-netbox-color-mode=dark] .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}html[data-netbox-color-mode=dark] .btn-check[disabled]+.btn,html[data-netbox-color-mode=dark] .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}html[data-netbox-color-mode=dark] .form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}html[data-netbox-color-mode=dark] .form-range:focus{outline:0}html[data-netbox-color-mode=dark] .form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #1b1f22,0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #1b1f22,0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .form-range::-moz-focus-outer{border:0}html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#6ea8fe;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb{transition:none}}html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb:active{background-color:#d4e5ff}html[data-netbox-color-mode=dark] .form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#6ea8fe;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb{transition:none}}html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb:active{background-color:#d4e5ff}html[data-netbox-color-mode=dark] .form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}html[data-netbox-color-mode=dark] .form-range:disabled{pointer-events:none}html[data-netbox-color-mode=dark] .form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}html[data-netbox-color-mode=dark] .form-range:disabled::-moz-range-thumb{background-color:#adb5bd}html[data-netbox-color-mode=dark] .form-floating>.form-control,html[data-netbox-color-mode=dark] .form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}html[data-netbox-color-mode=dark] .form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-floating>label{transition:none}}html[data-netbox-color-mode=dark] .form-floating>.form-control{padding:1rem .75rem}html[data-netbox-color-mode=dark] .form-floating>.form-control::placeholder{color:transparent}html[data-netbox-color-mode=dark] .form-floating>.form-control:focus,html[data-netbox-color-mode=dark] .form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.form-control:focus~label,html[data-netbox-color-mode=dark] .form-floating>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=dark] .form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}html[data-netbox-color-mode=dark] .form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}html[data-netbox-color-mode=dark] .input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}html[data-netbox-color-mode=dark] .input-group>.form-control,html[data-netbox-color-mode=dark] .input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}html[data-netbox-color-mode=dark] .input-group>.form-control:focus,html[data-netbox-color-mode=dark] .input-group>.form-select:focus{z-index:3}html[data-netbox-color-mode=dark] .input-group .btn{position:relative;z-index:2}html[data-netbox-color-mode=dark] .input-group .btn:focus{z-index:3}html[data-netbox-color-mode=dark] .input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#f8f9fa;text-align:center;white-space:nowrap;background-color:#495057;border:1px solid #495057;border-radius:.375rem}html[data-netbox-color-mode=dark] .input-group-lg>.form-control,html[data-netbox-color-mode=dark] .input-group-lg>.form-select,html[data-netbox-color-mode=dark] .input-group-lg>.input-group-text,html[data-netbox-color-mode=dark] .input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}html[data-netbox-color-mode=dark] .input-group-sm>.form-control,html[data-netbox-color-mode=dark] .input-group-sm>.form-select,html[data-netbox-color-mode=dark] .input-group-sm>.input-group-text,html[data-netbox-color-mode=dark] .input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html[data-netbox-color-mode=dark] .input-group-lg>.form-select,html[data-netbox-color-mode=dark] .input-group-sm>.form-select{padding-right:3rem}html[data-netbox-color-mode=dark] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=dark] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=dark] .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}html[data-netbox-color-mode=dark] .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754e6;border-radius:.375rem}.was-validated html[data-netbox-color-mode=dark]:valid~.valid-feedback,.was-validated html[data-netbox-color-mode=dark]:valid~.valid-tooltip,html[data-netbox-color-mode=dark].is-valid~.valid-feedback,html[data-netbox-color-mode=dark].is-valid~.valid-tooltip{display:block}.was-validated html[data-netbox-color-mode=dark] .form-control:valid,html[data-netbox-color-mode=dark] .form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html[data-netbox-color-mode=dark] .form-control:valid:focus,html[data-netbox-color-mode=dark] .form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated html[data-netbox-color-mode=dark] textarea.form-control:valid,html[data-netbox-color-mode=dark] textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated html[data-netbox-color-mode=dark] .form-select:valid,html[data-netbox-color-mode=dark] .form-select.is-valid{border-color:#198754}.was-validated html[data-netbox-color-mode=dark] .form-select:valid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=dark] .form-select:valid:not([multiple])[size="1"],html[data-netbox-color-mode=dark] .form-select.is-valid:not([multiple]):not([size]),html[data-netbox-color-mode=dark] .form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23f8f9fa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html[data-netbox-color-mode=dark] .form-select:valid:focus,html[data-netbox-color-mode=dark] .form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid,html[data-netbox-color-mode=dark] .form-check-input.is-valid{border-color:#198754}.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid:checked,html[data-netbox-color-mode=dark] .form-check-input.is-valid:checked{background-color:#198754}.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid:focus,html[data-netbox-color-mode=dark] .form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem #19875440}.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input.is-valid~.form-check-label{color:#198754}html[data-netbox-color-mode=dark] .form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:valid,html[data-netbox-color-mode=dark] .input-group .form-control.is-valid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:valid,html[data-netbox-color-mode=dark] .input-group .form-select.is-valid{z-index:1}.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:valid:focus,html[data-netbox-color-mode=dark] .input-group .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:valid:focus,html[data-netbox-color-mode=dark] .input-group .form-select.is-valid:focus{z-index:3}html[data-netbox-color-mode=dark] .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}html[data-netbox-color-mode=dark] .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545e6;border-radius:.375rem}.was-validated html[data-netbox-color-mode=dark]:invalid~.invalid-feedback,.was-validated html[data-netbox-color-mode=dark]:invalid~.invalid-tooltip,html[data-netbox-color-mode=dark].is-invalid~.invalid-feedback,html[data-netbox-color-mode=dark].is-invalid~.invalid-tooltip{display:block}.was-validated html[data-netbox-color-mode=dark] .form-control:invalid,html[data-netbox-color-mode=dark] .form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html[data-netbox-color-mode=dark] .form-control:invalid:focus,html[data-netbox-color-mode=dark] .form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated html[data-netbox-color-mode=dark] textarea.form-control:invalid,html[data-netbox-color-mode=dark] textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated html[data-netbox-color-mode=dark] .form-select:invalid,html[data-netbox-color-mode=dark] .form-select.is-invalid{border-color:#dc3545}.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:not([multiple])[size="1"],html[data-netbox-color-mode=dark] .form-select.is-invalid:not([multiple]):not([size]),html[data-netbox-color-mode=dark] .form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23f8f9fa' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:focus,html[data-netbox-color-mode=dark] .form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid,html[data-netbox-color-mode=dark] .form-check-input.is-invalid{border-color:#dc3545}.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid:checked,html[data-netbox-color-mode=dark] .form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid:focus,html[data-netbox-color-mode=dark] .form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem #dc354540}.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input.is-invalid~.form-check-label{color:#dc3545}html[data-netbox-color-mode=dark] .form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:invalid,html[data-netbox-color-mode=dark] .input-group .form-control.is-invalid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:invalid,html[data-netbox-color-mode=dark] .input-group .form-select.is-invalid{z-index:2}.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:invalid:focus,html[data-netbox-color-mode=dark] .input-group .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:invalid:focus,html[data-netbox-color-mode=dark] .input-group .form-select.is-invalid:focus{z-index:3}html[data-netbox-color-mode=dark] .btn{display:inline-block;font-weight:400;line-height:1.5;color:#fff;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;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){html[data-netbox-color-mode=dark] .btn{transition:none}}html[data-netbox-color-mode=dark] .btn:hover{color:#fff}.btn-check:focus+html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=dark] .btn:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .btn:disabled,html[data-netbox-color-mode=dark] .btn.disabled,fieldset:disabled html[data-netbox-color-mode=dark] .btn{pointer-events:none;opacity:.65}html[data-netbox-color-mode=dark] .btn-primary{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-primary:hover{color:#000;background-color:#84b5fe;border-color:#7db1fe}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=dark] .btn-primary:focus{color:#000;background-color:#84b5fe;border-color:#7db1fe;box-shadow:0 0 0 .25rem #5e8fd880}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-primary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=dark] .btn-primary:active,html[data-netbox-color-mode=dark] .btn-primary.active,.show>html[data-netbox-color-mode=dark] .btn-primary.dropdown-toggle{color:#000;background-color:#8bb9fe;border-color:#7db1fe}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-primary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-primary:focus,html[data-netbox-color-mode=dark] .btn-primary:active:focus,html[data-netbox-color-mode=dark] .btn-primary.active:focus,.show>html[data-netbox-color-mode=dark] .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #5e8fd880}html[data-netbox-color-mode=dark] .btn-primary:disabled,html[data-netbox-color-mode=dark] .btn-primary.disabled{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-secondary{color:#000;background-color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-secondary:hover{color:#000;background-color:#b9c0c7;border-color:#b5bcc4}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary:focus{color:#000;background-color:#b9c0c7;border-color:#b5bcc4;box-shadow:0 0 0 .25rem #939aa180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-secondary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary:active,html[data-netbox-color-mode=dark] .btn-secondary.active,.show>html[data-netbox-color-mode=dark] .btn-secondary.dropdown-toggle{color:#000;background-color:#bdc4ca;border-color:#b5bcc4}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-secondary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-secondary:focus,html[data-netbox-color-mode=dark] .btn-secondary:active:focus,html[data-netbox-color-mode=dark] .btn-secondary.active:focus,.show>html[data-netbox-color-mode=dark] .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #939aa180}html[data-netbox-color-mode=dark] .btn-secondary:disabled,html[data-netbox-color-mode=dark] .btn-secondary.disabled{color:#000;background-color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-success{color:#000;background-color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-success:hover{color:#000;background-color:#8ac2a7;border-color:#83bea2}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=dark] .btn-success:focus{color:#000;background-color:#8ac2a7;border-color:#83bea2;box-shadow:0 0 0 .25rem #639c8180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-success,.btn-check:active+html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=dark] .btn-success:active,html[data-netbox-color-mode=dark] .btn-success.active,.show>html[data-netbox-color-mode=dark] .btn-success.dropdown-toggle{color:#000;background-color:#91c5ad;border-color:#83bea2}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-success:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-success:focus,html[data-netbox-color-mode=dark] .btn-success:active:focus,html[data-netbox-color-mode=dark] .btn-success.active:focus,.show>html[data-netbox-color-mode=dark] .btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #639c8180}html[data-netbox-color-mode=dark] .btn-success:disabled,html[data-netbox-color-mode=dark] .btn-success.disabled{color:#000;background-color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-info{color:#000;background-color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-info:hover{color:#000;background-color:#84e4f7;border-color:#7de2f7}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=dark] .btn-info:focus{color:#000;background-color:#84e4f7;border-color:#7de2f7;box-shadow:0 0 0 .25rem #5ebed180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-info,.btn-check:active+html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=dark] .btn-info:active,html[data-netbox-color-mode=dark] .btn-info.active,.show>html[data-netbox-color-mode=dark] .btn-info.dropdown-toggle{color:#000;background-color:#8be5f8;border-color:#7de2f7}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-info:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-info:focus,html[data-netbox-color-mode=dark] .btn-info:active:focus,html[data-netbox-color-mode=dark] .btn-info.active:focus,.show>html[data-netbox-color-mode=dark] .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #5ebed180}html[data-netbox-color-mode=dark] .btn-info:disabled,html[data-netbox-color-mode=dark] .btn-info.disabled{color:#000;background-color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-warning{color:#000;background-color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-warning:hover{color:#000;background-color:#ffe080;border-color:#ffde79}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=dark] .btn-warning:focus{color:#000;background-color:#ffe080;border-color:#ffde79;box-shadow:0 0 0 .25rem #d9b95a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-warning,.btn-check:active+html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=dark] .btn-warning:active,html[data-netbox-color-mode=dark] .btn-warning.active,.show>html[data-netbox-color-mode=dark] .btn-warning.dropdown-toggle{color:#000;background-color:#ffe188;border-color:#ffde79}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-warning:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-warning:focus,html[data-netbox-color-mode=dark] .btn-warning:active:focus,html[data-netbox-color-mode=dark] .btn-warning.active:focus,.show>html[data-netbox-color-mode=dark] .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9b95a80}html[data-netbox-color-mode=dark] .btn-warning:disabled,html[data-netbox-color-mode=dark] .btn-warning.disabled{color:#000;background-color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-danger{color:#000;background-color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-danger:hover{color:#000;background-color:#ed98a0;border-color:#ec929a}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=dark] .btn-danger:focus{color:#000;background-color:#ed98a0;border-color:#ec929a;box-shadow:0 0 0 .25rem #c7727a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-danger,.btn-check:active+html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=dark] .btn-danger:active,html[data-netbox-color-mode=dark] .btn-danger.active,.show>html[data-netbox-color-mode=dark] .btn-danger.dropdown-toggle{color:#000;background-color:#ee9ea5;border-color:#ec929a}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-danger:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-danger:focus,html[data-netbox-color-mode=dark] .btn-danger:active:focus,html[data-netbox-color-mode=dark] .btn-danger.active:focus,.show>html[data-netbox-color-mode=dark] .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c7727a80}html[data-netbox-color-mode=dark] .btn-danger:disabled,html[data-netbox-color-mode=dark] .btn-danger.disabled{color:#000;background-color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-light{color:#000;background-color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-light:hover{color:#000;background-color:#e3e6ea;border-color:#e1e5e9}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=dark] .btn-light:focus{color:#000;background-color:#e3e6ea;border-color:#e1e5e9;box-shadow:0 0 0 .25rem #bdc0c480}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-light,.btn-check:active+html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=dark] .btn-light:active,html[data-netbox-color-mode=dark] .btn-light.active,.show>html[data-netbox-color-mode=dark] .btn-light.dropdown-toggle{color:#000;background-color:#e5e8eb;border-color:#e1e5e9}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-light:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-light:focus,html[data-netbox-color-mode=dark] .btn-light:active:focus,html[data-netbox-color-mode=dark] .btn-light.active:focus,.show>html[data-netbox-color-mode=dark] .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #bdc0c480}html[data-netbox-color-mode=dark] .btn-light:disabled,html[data-netbox-color-mode=dark] .btn-light.disabled{color:#000;background-color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-dark{color:#000;background-color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-dark:hover{color:#000;background-color:#b9c0c7;border-color:#b5bcc4}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=dark] .btn-dark:focus{color:#000;background-color:#b9c0c7;border-color:#b5bcc4;box-shadow:0 0 0 .25rem #939aa180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-dark,.btn-check:active+html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=dark] .btn-dark:active,html[data-netbox-color-mode=dark] .btn-dark.active,.show>html[data-netbox-color-mode=dark] .btn-dark.dropdown-toggle{color:#000;background-color:#bdc4ca;border-color:#b5bcc4}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-dark:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-dark:focus,html[data-netbox-color-mode=dark] .btn-dark:active:focus,html[data-netbox-color-mode=dark] .btn-dark.active:focus,.show>html[data-netbox-color-mode=dark] .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #939aa180}html[data-netbox-color-mode=dark] .btn-dark:disabled,html[data-netbox-color-mode=dark] .btn-dark.disabled{color:#000;background-color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-blue{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-blue:hover{color:#000;background-color:#84b5fe;border-color:#7db1fe}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=dark] .btn-blue:focus{color:#000;background-color:#84b5fe;border-color:#7db1fe;box-shadow:0 0 0 .25rem #5e8fd880}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-blue,.btn-check:active+html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=dark] .btn-blue:active,html[data-netbox-color-mode=dark] .btn-blue.active,.show>html[data-netbox-color-mode=dark] .btn-blue.dropdown-toggle{color:#000;background-color:#8bb9fe;border-color:#7db1fe}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-blue:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-blue:focus,html[data-netbox-color-mode=dark] .btn-blue:active:focus,html[data-netbox-color-mode=dark] .btn-blue.active:focus,.show>html[data-netbox-color-mode=dark] .btn-blue.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #5e8fd880}html[data-netbox-color-mode=dark] .btn-blue:disabled,html[data-netbox-color-mode=dark] .btn-blue.disabled{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-indigo{color:#000;background-color:#a370f7;border-color:#a370f7}html[data-netbox-color-mode=dark] .btn-indigo:hover{color:#000;background-color:#b185f8;border-color:#ac7ef8}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo:focus{color:#000;background-color:#b185f8;border-color:#ac7ef8;box-shadow:0 0 0 .25rem #8b5fd280}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-indigo,.btn-check:active+html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo:active,html[data-netbox-color-mode=dark] .btn-indigo.active,.show>html[data-netbox-color-mode=dark] .btn-indigo.dropdown-toggle{color:#000;background-color:#b58df9;border-color:#ac7ef8}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-indigo:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-indigo:focus,html[data-netbox-color-mode=dark] .btn-indigo:active:focus,html[data-netbox-color-mode=dark] .btn-indigo.active:focus,.show>html[data-netbox-color-mode=dark] .btn-indigo.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #8b5fd280}html[data-netbox-color-mode=dark] .btn-indigo:disabled,html[data-netbox-color-mode=dark] .btn-indigo.disabled{color:#000;background-color:#a370f7;border-color:#a370f7}html[data-netbox-color-mode=dark] .btn-purple{color:#000;background-color:#a98eda;border-color:#a98eda}html[data-netbox-color-mode=dark] .btn-purple:hover{color:#000;background-color:#b69fe0;border-color:#b299de}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=dark] .btn-purple:focus{color:#000;background-color:#b69fe0;border-color:#b299de;box-shadow:0 0 0 .25rem #9079b980}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-purple,.btn-check:active+html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=dark] .btn-purple:active,html[data-netbox-color-mode=dark] .btn-purple.active,.show>html[data-netbox-color-mode=dark] .btn-purple.dropdown-toggle{color:#000;background-color:#baa5e1;border-color:#b299de}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-purple:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-purple:focus,html[data-netbox-color-mode=dark] .btn-purple:active:focus,html[data-netbox-color-mode=dark] .btn-purple.active:focus,.show>html[data-netbox-color-mode=dark] .btn-purple.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #9079b980}html[data-netbox-color-mode=dark] .btn-purple:disabled,html[data-netbox-color-mode=dark] .btn-purple.disabled{color:#000;background-color:#a98eda;border-color:#a98eda}html[data-netbox-color-mode=dark] .btn-pink{color:#000;background-color:#e685b5;border-color:#e685b5}html[data-netbox-color-mode=dark] .btn-pink:hover{color:#000;background-color:#ea97c0;border-color:#e991bc}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=dark] .btn-pink:focus{color:#000;background-color:#ea97c0;border-color:#e991bc;box-shadow:0 0 0 .25rem #c4719a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-pink,.btn-check:active+html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=dark] .btn-pink:active,html[data-netbox-color-mode=dark] .btn-pink.active,.show>html[data-netbox-color-mode=dark] .btn-pink.dropdown-toggle{color:#000;background-color:#eb9dc4;border-color:#e991bc}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-pink:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-pink:focus,html[data-netbox-color-mode=dark] .btn-pink:active:focus,html[data-netbox-color-mode=dark] .btn-pink.active:focus,.show>html[data-netbox-color-mode=dark] .btn-pink.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c4719a80}html[data-netbox-color-mode=dark] .btn-pink:disabled,html[data-netbox-color-mode=dark] .btn-pink.disabled{color:#000;background-color:#e685b5;border-color:#e685b5}html[data-netbox-color-mode=dark] .btn-red{color:#000;background-color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-red:hover{color:#000;background-color:#ed98a0;border-color:#ec929a}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=dark] .btn-red:focus{color:#000;background-color:#ed98a0;border-color:#ec929a;box-shadow:0 0 0 .25rem #c7727a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-red,.btn-check:active+html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=dark] .btn-red:active,html[data-netbox-color-mode=dark] .btn-red.active,.show>html[data-netbox-color-mode=dark] .btn-red.dropdown-toggle{color:#000;background-color:#ee9ea5;border-color:#ec929a}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-red:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-red:focus,html[data-netbox-color-mode=dark] .btn-red:active:focus,html[data-netbox-color-mode=dark] .btn-red.active:focus,.show>html[data-netbox-color-mode=dark] .btn-red.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c7727a80}html[data-netbox-color-mode=dark] .btn-red:disabled,html[data-netbox-color-mode=dark] .btn-red.disabled{color:#000;background-color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-orange{color:#000;background-color:#feb272;border-color:#feb272}html[data-netbox-color-mode=dark] .btn-orange:hover{color:#000;background-color:#febe87;border-color:#feba80}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=dark] .btn-orange:focus{color:#000;background-color:#febe87;border-color:#feba80;box-shadow:0 0 0 .25rem #d8976180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-orange,.btn-check:active+html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=dark] .btn-orange:active,html[data-netbox-color-mode=dark] .btn-orange.active,.show>html[data-netbox-color-mode=dark] .btn-orange.dropdown-toggle{color:#000;background-color:#fec18e;border-color:#feba80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-orange:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-orange:focus,html[data-netbox-color-mode=dark] .btn-orange:active:focus,html[data-netbox-color-mode=dark] .btn-orange.active:focus,.show>html[data-netbox-color-mode=dark] .btn-orange.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d8976180}html[data-netbox-color-mode=dark] .btn-orange:disabled,html[data-netbox-color-mode=dark] .btn-orange.disabled{color:#000;background-color:#feb272;border-color:#feb272}html[data-netbox-color-mode=dark] .btn-yellow{color:#000;background-color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-yellow:hover{color:#000;background-color:#ffe080;border-color:#ffde79}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow:focus{color:#000;background-color:#ffe080;border-color:#ffde79;box-shadow:0 0 0 .25rem #d9b95a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-yellow,.btn-check:active+html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow:active,html[data-netbox-color-mode=dark] .btn-yellow.active,.show>html[data-netbox-color-mode=dark] .btn-yellow.dropdown-toggle{color:#000;background-color:#ffe188;border-color:#ffde79}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-yellow:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-yellow:focus,html[data-netbox-color-mode=dark] .btn-yellow:active:focus,html[data-netbox-color-mode=dark] .btn-yellow.active:focus,.show>html[data-netbox-color-mode=dark] .btn-yellow.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9b95a80}html[data-netbox-color-mode=dark] .btn-yellow:disabled,html[data-netbox-color-mode=dark] .btn-yellow.disabled{color:#000;background-color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-green{color:#000;background-color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-green:hover{color:#000;background-color:#8ac2a7;border-color:#83bea2}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=dark] .btn-green:focus{color:#000;background-color:#8ac2a7;border-color:#83bea2;box-shadow:0 0 0 .25rem #639c8180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-green,.btn-check:active+html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=dark] .btn-green:active,html[data-netbox-color-mode=dark] .btn-green.active,.show>html[data-netbox-color-mode=dark] .btn-green.dropdown-toggle{color:#000;background-color:#91c5ad;border-color:#83bea2}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-green:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-green:focus,html[data-netbox-color-mode=dark] .btn-green:active:focus,html[data-netbox-color-mode=dark] .btn-green.active:focus,.show>html[data-netbox-color-mode=dark] .btn-green.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #639c8180}html[data-netbox-color-mode=dark] .btn-green:disabled,html[data-netbox-color-mode=dark] .btn-green.disabled{color:#000;background-color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-teal{color:#000;background-color:#79dfc1;border-color:#79dfc1}html[data-netbox-color-mode=dark] .btn-teal:hover{color:#000;background-color:#8de4ca;border-color:#86e2c7}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=dark] .btn-teal:focus{color:#000;background-color:#8de4ca;border-color:#86e2c7;box-shadow:0 0 0 .25rem #67bea480}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-teal,.btn-check:active+html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=dark] .btn-teal:active,html[data-netbox-color-mode=dark] .btn-teal.active,.show>html[data-netbox-color-mode=dark] .btn-teal.dropdown-toggle{color:#000;background-color:#94e5cd;border-color:#86e2c7}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-teal:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-teal:focus,html[data-netbox-color-mode=dark] .btn-teal:active:focus,html[data-netbox-color-mode=dark] .btn-teal.active:focus,.show>html[data-netbox-color-mode=dark] .btn-teal.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #67bea480}html[data-netbox-color-mode=dark] .btn-teal:disabled,html[data-netbox-color-mode=dark] .btn-teal.disabled{color:#000;background-color:#79dfc1;border-color:#79dfc1}html[data-netbox-color-mode=dark] .btn-cyan{color:#000;background-color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-cyan:hover{color:#000;background-color:#84e4f7;border-color:#7de2f7}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan:focus{color:#000;background-color:#84e4f7;border-color:#7de2f7;box-shadow:0 0 0 .25rem #5ebed180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-cyan,.btn-check:active+html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan:active,html[data-netbox-color-mode=dark] .btn-cyan.active,.show>html[data-netbox-color-mode=dark] .btn-cyan.dropdown-toggle{color:#000;background-color:#8be5f8;border-color:#7de2f7}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-cyan:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-cyan:focus,html[data-netbox-color-mode=dark] .btn-cyan:active:focus,html[data-netbox-color-mode=dark] .btn-cyan.active:focus,.show>html[data-netbox-color-mode=dark] .btn-cyan.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #5ebed180}html[data-netbox-color-mode=dark] .btn-cyan:disabled,html[data-netbox-color-mode=dark] .btn-cyan.disabled{color:#000;background-color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-gray{color:#000;background-color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-gray:hover{color:#000;background-color:#e3e6ea;border-color:#e1e5e9}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=dark] .btn-gray:focus{color:#000;background-color:#e3e6ea;border-color:#e1e5e9;box-shadow:0 0 0 .25rem #bdc0c480}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-gray,.btn-check:active+html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=dark] .btn-gray:active,html[data-netbox-color-mode=dark] .btn-gray.active,.show>html[data-netbox-color-mode=dark] .btn-gray.dropdown-toggle{color:#000;background-color:#e5e8eb;border-color:#e1e5e9}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-gray:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-gray:focus,html[data-netbox-color-mode=dark] .btn-gray:active:focus,html[data-netbox-color-mode=dark] .btn-gray.active:focus,.show>html[data-netbox-color-mode=dark] .btn-gray.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #bdc0c480}html[data-netbox-color-mode=dark] .btn-gray:disabled,html[data-netbox-color-mode=dark] .btn-gray.disabled{color:#000;background-color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-black{color:#fff;background-color:#000;border-color:#000}html[data-netbox-color-mode=dark] .btn-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=dark] .btn-black:focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .25rem #26262680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-black,.btn-check:active+html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=dark] .btn-black:active,html[data-netbox-color-mode=dark] .btn-black.active,.show>html[data-netbox-color-mode=dark] .btn-black.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-black:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-black:focus,html[data-netbox-color-mode=dark] .btn-black:active:focus,html[data-netbox-color-mode=dark] .btn-black.active:focus,.show>html[data-netbox-color-mode=dark] .btn-black.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #26262680}html[data-netbox-color-mode=dark] .btn-black:disabled,html[data-netbox-color-mode=dark] .btn-black.disabled{color:#fff;background-color:#000;border-color:#000}html[data-netbox-color-mode=dark] .btn-white{color:#000;background-color:#fff;border-color:#fff}html[data-netbox-color-mode=dark] .btn-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=dark] .btn-white:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 0 0 .25rem #d9d9d980}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-white,.btn-check:active+html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=dark] .btn-white:active,html[data-netbox-color-mode=dark] .btn-white.active,.show>html[data-netbox-color-mode=dark] .btn-white.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-white:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-white:focus,html[data-netbox-color-mode=dark] .btn-white:active:focus,html[data-netbox-color-mode=dark] .btn-white.active:focus,.show>html[data-netbox-color-mode=dark] .btn-white.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9d9d980}html[data-netbox-color-mode=dark] .btn-white:disabled,html[data-netbox-color-mode=dark] .btn-white.disabled{color:#000;background-color:#fff;border-color:#fff}html[data-netbox-color-mode=dark] .btn-outline-primary{color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-outline-primary:hover{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary:focus{box-shadow:0 0 0 .25rem #6ea8fe80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-primary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary:active,html[data-netbox-color-mode=dark] .btn-outline-primary.active,html[data-netbox-color-mode=dark] .btn-outline-primary.dropdown-toggle.show{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-primary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-primary:focus,html[data-netbox-color-mode=dark] .btn-outline-primary:active:focus,html[data-netbox-color-mode=dark] .btn-outline-primary.active:focus,html[data-netbox-color-mode=dark] .btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6ea8fe80}html[data-netbox-color-mode=dark] .btn-outline-primary:disabled,html[data-netbox-color-mode=dark] .btn-outline-primary.disabled{color:#6ea8fe;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-secondary{color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-outline-secondary:hover{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-secondary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary:active,html[data-netbox-color-mode=dark] .btn-outline-secondary.active,html[data-netbox-color-mode=dark] .btn-outline-secondary.dropdown-toggle.show{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary:active:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary.active:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #adb5bd80}html[data-netbox-color-mode=dark] .btn-outline-secondary:disabled,html[data-netbox-color-mode=dark] .btn-outline-secondary.disabled{color:#adb5bd;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-success{color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-outline-success:hover{color:#000;background-color:#75b798;border-color:#75b798}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success:focus{box-shadow:0 0 0 .25rem #75b79880}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-success,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success:active,html[data-netbox-color-mode=dark] .btn-outline-success.active,html[data-netbox-color-mode=dark] .btn-outline-success.dropdown-toggle.show{color:#000;background-color:#75b798;border-color:#75b798}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-success:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-success:focus,html[data-netbox-color-mode=dark] .btn-outline-success:active:focus,html[data-netbox-color-mode=dark] .btn-outline-success.active:focus,html[data-netbox-color-mode=dark] .btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #75b79880}html[data-netbox-color-mode=dark] .btn-outline-success:disabled,html[data-netbox-color-mode=dark] .btn-outline-success.disabled{color:#75b798;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-info{color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-outline-info:hover{color:#000;background-color:#6edff6;border-color:#6edff6}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info:focus{box-shadow:0 0 0 .25rem #6edff680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-info,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info:active,html[data-netbox-color-mode=dark] .btn-outline-info.active,html[data-netbox-color-mode=dark] .btn-outline-info.dropdown-toggle.show{color:#000;background-color:#6edff6;border-color:#6edff6}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-info:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-info:focus,html[data-netbox-color-mode=dark] .btn-outline-info:active:focus,html[data-netbox-color-mode=dark] .btn-outline-info.active:focus,html[data-netbox-color-mode=dark] .btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6edff680}html[data-netbox-color-mode=dark] .btn-outline-info:disabled,html[data-netbox-color-mode=dark] .btn-outline-info.disabled{color:#6edff6;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-warning{color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-outline-warning:hover{color:#000;background-color:#ffda6a;border-color:#ffda6a}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning:focus{box-shadow:0 0 0 .25rem #ffda6a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-warning,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning:active,html[data-netbox-color-mode=dark] .btn-outline-warning.active,html[data-netbox-color-mode=dark] .btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffda6a;border-color:#ffda6a}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-warning:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-warning:focus,html[data-netbox-color-mode=dark] .btn-outline-warning:active:focus,html[data-netbox-color-mode=dark] .btn-outline-warning.active:focus,html[data-netbox-color-mode=dark] .btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffda6a80}html[data-netbox-color-mode=dark] .btn-outline-warning:disabled,html[data-netbox-color-mode=dark] .btn-outline-warning.disabled{color:#ffda6a;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-danger{color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-outline-danger:hover{color:#000;background-color:#ea868f;border-color:#ea868f}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger:focus{box-shadow:0 0 0 .25rem #ea868f80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-danger,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger:active,html[data-netbox-color-mode=dark] .btn-outline-danger.active,html[data-netbox-color-mode=dark] .btn-outline-danger.dropdown-toggle.show{color:#000;background-color:#ea868f;border-color:#ea868f}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-danger:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-danger:focus,html[data-netbox-color-mode=dark] .btn-outline-danger:active:focus,html[data-netbox-color-mode=dark] .btn-outline-danger.active:focus,html[data-netbox-color-mode=dark] .btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ea868f80}html[data-netbox-color-mode=dark] .btn-outline-danger:disabled,html[data-netbox-color-mode=dark] .btn-outline-danger.disabled{color:#ea868f;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-light{color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-outline-light:hover{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light:focus{box-shadow:0 0 0 .25rem #dee2e680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-light,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light:active,html[data-netbox-color-mode=dark] .btn-outline-light.active,html[data-netbox-color-mode=dark] .btn-outline-light.dropdown-toggle.show{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-light:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-light:focus,html[data-netbox-color-mode=dark] .btn-outline-light:active:focus,html[data-netbox-color-mode=dark] .btn-outline-light.active:focus,html[data-netbox-color-mode=dark] .btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dee2e680}html[data-netbox-color-mode=dark] .btn-outline-light:disabled,html[data-netbox-color-mode=dark] .btn-outline-light.disabled{color:#dee2e6;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-dark{color:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .btn-outline-dark:hover{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-dark,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark:active,html[data-netbox-color-mode=dark] .btn-outline-dark.active,html[data-netbox-color-mode=dark] .btn-outline-dark.dropdown-toggle.show{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-dark:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-dark:focus,html[data-netbox-color-mode=dark] .btn-outline-dark:active:focus,html[data-netbox-color-mode=dark] .btn-outline-dark.active:focus,html[data-netbox-color-mode=dark] .btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #adb5bd80}html[data-netbox-color-mode=dark] .btn-outline-dark:disabled,html[data-netbox-color-mode=dark] .btn-outline-dark.disabled{color:#adb5bd;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-blue{color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .btn-outline-blue:hover{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue:focus{box-shadow:0 0 0 .25rem #6ea8fe80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-blue,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue:active,html[data-netbox-color-mode=dark] .btn-outline-blue.active,html[data-netbox-color-mode=dark] .btn-outline-blue.dropdown-toggle.show{color:#000;background-color:#6ea8fe;border-color:#6ea8fe}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-blue:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-blue:focus,html[data-netbox-color-mode=dark] .btn-outline-blue:active:focus,html[data-netbox-color-mode=dark] .btn-outline-blue.active:focus,html[data-netbox-color-mode=dark] .btn-outline-blue.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6ea8fe80}html[data-netbox-color-mode=dark] .btn-outline-blue:disabled,html[data-netbox-color-mode=dark] .btn-outline-blue.disabled{color:#6ea8fe;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-indigo{color:#a370f7;border-color:#a370f7}html[data-netbox-color-mode=dark] .btn-outline-indigo:hover{color:#000;background-color:#a370f7;border-color:#a370f7}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo:focus{box-shadow:0 0 0 .25rem #a370f780}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-indigo,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo:active,html[data-netbox-color-mode=dark] .btn-outline-indigo.active,html[data-netbox-color-mode=dark] .btn-outline-indigo.dropdown-toggle.show{color:#000;background-color:#a370f7;border-color:#a370f7}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo:active:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo.active:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #a370f780}html[data-netbox-color-mode=dark] .btn-outline-indigo:disabled,html[data-netbox-color-mode=dark] .btn-outline-indigo.disabled{color:#a370f7;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-purple{color:#a98eda;border-color:#a98eda}html[data-netbox-color-mode=dark] .btn-outline-purple:hover{color:#000;background-color:#a98eda;border-color:#a98eda}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple:focus{box-shadow:0 0 0 .25rem #a98eda80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-purple,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple:active,html[data-netbox-color-mode=dark] .btn-outline-purple.active,html[data-netbox-color-mode=dark] .btn-outline-purple.dropdown-toggle.show{color:#000;background-color:#a98eda;border-color:#a98eda}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-purple:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-purple:focus,html[data-netbox-color-mode=dark] .btn-outline-purple:active:focus,html[data-netbox-color-mode=dark] .btn-outline-purple.active:focus,html[data-netbox-color-mode=dark] .btn-outline-purple.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #a98eda80}html[data-netbox-color-mode=dark] .btn-outline-purple:disabled,html[data-netbox-color-mode=dark] .btn-outline-purple.disabled{color:#a98eda;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-pink{color:#e685b5;border-color:#e685b5}html[data-netbox-color-mode=dark] .btn-outline-pink:hover{color:#000;background-color:#e685b5;border-color:#e685b5}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink:focus{box-shadow:0 0 0 .25rem #e685b580}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-pink,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink:active,html[data-netbox-color-mode=dark] .btn-outline-pink.active,html[data-netbox-color-mode=dark] .btn-outline-pink.dropdown-toggle.show{color:#000;background-color:#e685b5;border-color:#e685b5}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-pink:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-pink:focus,html[data-netbox-color-mode=dark] .btn-outline-pink:active:focus,html[data-netbox-color-mode=dark] .btn-outline-pink.active:focus,html[data-netbox-color-mode=dark] .btn-outline-pink.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #e685b580}html[data-netbox-color-mode=dark] .btn-outline-pink:disabled,html[data-netbox-color-mode=dark] .btn-outline-pink.disabled{color:#e685b5;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-red{color:#ea868f;border-color:#ea868f}html[data-netbox-color-mode=dark] .btn-outline-red:hover{color:#000;background-color:#ea868f;border-color:#ea868f}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red:focus{box-shadow:0 0 0 .25rem #ea868f80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-red,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red:active,html[data-netbox-color-mode=dark] .btn-outline-red.active,html[data-netbox-color-mode=dark] .btn-outline-red.dropdown-toggle.show{color:#000;background-color:#ea868f;border-color:#ea868f}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-red:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-red:focus,html[data-netbox-color-mode=dark] .btn-outline-red:active:focus,html[data-netbox-color-mode=dark] .btn-outline-red.active:focus,html[data-netbox-color-mode=dark] .btn-outline-red.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ea868f80}html[data-netbox-color-mode=dark] .btn-outline-red:disabled,html[data-netbox-color-mode=dark] .btn-outline-red.disabled{color:#ea868f;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-orange{color:#feb272;border-color:#feb272}html[data-netbox-color-mode=dark] .btn-outline-orange:hover{color:#000;background-color:#feb272;border-color:#feb272}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange:focus{box-shadow:0 0 0 .25rem #feb27280}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-orange,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange:active,html[data-netbox-color-mode=dark] .btn-outline-orange.active,html[data-netbox-color-mode=dark] .btn-outline-orange.dropdown-toggle.show{color:#000;background-color:#feb272;border-color:#feb272}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-orange:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-orange:focus,html[data-netbox-color-mode=dark] .btn-outline-orange:active:focus,html[data-netbox-color-mode=dark] .btn-outline-orange.active:focus,html[data-netbox-color-mode=dark] .btn-outline-orange.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #feb27280}html[data-netbox-color-mode=dark] .btn-outline-orange:disabled,html[data-netbox-color-mode=dark] .btn-outline-orange.disabled{color:#feb272;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-yellow{color:#ffda6a;border-color:#ffda6a}html[data-netbox-color-mode=dark] .btn-outline-yellow:hover{color:#000;background-color:#ffda6a;border-color:#ffda6a}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow:focus{box-shadow:0 0 0 .25rem #ffda6a80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-yellow,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow:active,html[data-netbox-color-mode=dark] .btn-outline-yellow.active,html[data-netbox-color-mode=dark] .btn-outline-yellow.dropdown-toggle.show{color:#000;background-color:#ffda6a;border-color:#ffda6a}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow:active:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow.active:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffda6a80}html[data-netbox-color-mode=dark] .btn-outline-yellow:disabled,html[data-netbox-color-mode=dark] .btn-outline-yellow.disabled{color:#ffda6a;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-green{color:#75b798;border-color:#75b798}html[data-netbox-color-mode=dark] .btn-outline-green:hover{color:#000;background-color:#75b798;border-color:#75b798}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green:focus{box-shadow:0 0 0 .25rem #75b79880}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-green,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green:active,html[data-netbox-color-mode=dark] .btn-outline-green.active,html[data-netbox-color-mode=dark] .btn-outline-green.dropdown-toggle.show{color:#000;background-color:#75b798;border-color:#75b798}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-green:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-green:focus,html[data-netbox-color-mode=dark] .btn-outline-green:active:focus,html[data-netbox-color-mode=dark] .btn-outline-green.active:focus,html[data-netbox-color-mode=dark] .btn-outline-green.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #75b79880}html[data-netbox-color-mode=dark] .btn-outline-green:disabled,html[data-netbox-color-mode=dark] .btn-outline-green.disabled{color:#75b798;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-teal{color:#79dfc1;border-color:#79dfc1}html[data-netbox-color-mode=dark] .btn-outline-teal:hover{color:#000;background-color:#79dfc1;border-color:#79dfc1}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal:focus{box-shadow:0 0 0 .25rem #79dfc180}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-teal,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal:active,html[data-netbox-color-mode=dark] .btn-outline-teal.active,html[data-netbox-color-mode=dark] .btn-outline-teal.dropdown-toggle.show{color:#000;background-color:#79dfc1;border-color:#79dfc1}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-teal:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-teal:focus,html[data-netbox-color-mode=dark] .btn-outline-teal:active:focus,html[data-netbox-color-mode=dark] .btn-outline-teal.active:focus,html[data-netbox-color-mode=dark] .btn-outline-teal.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #79dfc180}html[data-netbox-color-mode=dark] .btn-outline-teal:disabled,html[data-netbox-color-mode=dark] .btn-outline-teal.disabled{color:#79dfc1;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-cyan{color:#6edff6;border-color:#6edff6}html[data-netbox-color-mode=dark] .btn-outline-cyan:hover{color:#000;background-color:#6edff6;border-color:#6edff6}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan:focus{box-shadow:0 0 0 .25rem #6edff680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-cyan,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan:active,html[data-netbox-color-mode=dark] .btn-outline-cyan.active,html[data-netbox-color-mode=dark] .btn-outline-cyan.dropdown-toggle.show{color:#000;background-color:#6edff6;border-color:#6edff6}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan:active:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan.active:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6edff680}html[data-netbox-color-mode=dark] .btn-outline-cyan:disabled,html[data-netbox-color-mode=dark] .btn-outline-cyan.disabled{color:#6edff6;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-gray{color:#dee2e6;border-color:#dee2e6}html[data-netbox-color-mode=dark] .btn-outline-gray:hover{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray:focus{box-shadow:0 0 0 .25rem #dee2e680}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-gray,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray:active,html[data-netbox-color-mode=dark] .btn-outline-gray.active,html[data-netbox-color-mode=dark] .btn-outline-gray.dropdown-toggle.show{color:#000;background-color:#dee2e6;border-color:#dee2e6}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-gray:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-gray:focus,html[data-netbox-color-mode=dark] .btn-outline-gray:active:focus,html[data-netbox-color-mode=dark] .btn-outline-gray.active:focus,html[data-netbox-color-mode=dark] .btn-outline-gray.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dee2e680}html[data-netbox-color-mode=dark] .btn-outline-gray:disabled,html[data-netbox-color-mode=dark] .btn-outline-gray.disabled{color:#dee2e6;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-black{color:#000;border-color:#000}html[data-netbox-color-mode=dark] .btn-outline-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black:focus{box-shadow:0 0 0 .25rem #00000080}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-black,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black:active,html[data-netbox-color-mode=dark] .btn-outline-black.active,html[data-netbox-color-mode=dark] .btn-outline-black.dropdown-toggle.show{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-black:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-black:focus,html[data-netbox-color-mode=dark] .btn-outline-black:active:focus,html[data-netbox-color-mode=dark] .btn-outline-black.active:focus,html[data-netbox-color-mode=dark] .btn-outline-black.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #00000080}html[data-netbox-color-mode=dark] .btn-outline-black:disabled,html[data-netbox-color-mode=dark] .btn-outline-black.disabled{color:#000;background-color:transparent}html[data-netbox-color-mode=dark] .btn-outline-white{color:#fff;border-color:#fff}html[data-netbox-color-mode=dark] .btn-outline-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white:focus{box-shadow:0 0 0 .25rem #ffffff80}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-white,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white:active,html[data-netbox-color-mode=dark] .btn-outline-white.active,html[data-netbox-color-mode=dark] .btn-outline-white.dropdown-toggle.show{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-white:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-white:focus,html[data-netbox-color-mode=dark] .btn-outline-white:active:focus,html[data-netbox-color-mode=dark] .btn-outline-white.active:focus,html[data-netbox-color-mode=dark] .btn-outline-white.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffffff80}html[data-netbox-color-mode=dark] .btn-outline-white:disabled,html[data-netbox-color-mode=dark] .btn-outline-white.disabled{color:#fff;background-color:transparent}html[data-netbox-color-mode=dark] .btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}html[data-netbox-color-mode=dark] .btn-link:hover{color:#0a58ca}html[data-netbox-color-mode=dark] .btn-link:disabled,html[data-netbox-color-mode=dark] .btn-link.disabled{color:#dee2e6}html[data-netbox-color-mode=dark] .btn-lg,html[data-netbox-color-mode=dark] .btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}html[data-netbox-color-mode=dark] .btn-sm,html[data-netbox-color-mode=dark] .btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html[data-netbox-color-mode=dark] .fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .fade{transition:none}}html[data-netbox-color-mode=dark] .fade:not(.show){opacity:0}html[data-netbox-color-mode=dark] .collapse:not(.show){display:none}html[data-netbox-color-mode=dark] .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .collapsing{transition:none}}html[data-netbox-color-mode=dark] .dropup,html[data-netbox-color-mode=dark] .dropend,html[data-netbox-color-mode=dark] .dropdown,html[data-netbox-color-mode=dark] .dropstart{position:relative}html[data-netbox-color-mode=dark] .dropdown-toggle{white-space:nowrap}html[data-netbox-color-mode=dark] .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}html[data-netbox-color-mode=dark] .dropdown-toggle:empty:after{margin-left:0}html[data-netbox-color-mode=dark] .dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#fff;text-align:left;list-style:none;background-color:#212529;background-clip:padding-box;border:1px solid rgba(255,255,255,.15);border-radius:.375rem}html[data-netbox-color-mode=dark] .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}html[data-netbox-color-mode=dark] .dropdown-menu-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){html[data-netbox-color-mode=dark] .dropdown-menu-sm-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-sm-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .dropdown-menu-md-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-md-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .dropdown-menu-lg-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-lg-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .dropdown-menu-xl-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-xl-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .dropdown-menu-xxl-start{--bs-position: start}html[data-netbox-color-mode=dark] .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}html[data-netbox-color-mode=dark] .dropdown-menu-xxl-end{--bs-position: end}html[data-netbox-color-mode=dark] .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}html[data-netbox-color-mode=dark] .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}html[data-netbox-color-mode=dark] .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}html[data-netbox-color-mode=dark] .dropup .dropdown-toggle:empty:after{margin-left:0}html[data-netbox-color-mode=dark] .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:empty:after{margin-left:0}html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:after{vertical-align:0}html[data-netbox-color-mode=dark] .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:after{display:none}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:empty:after{margin-left:0}html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:before{vertical-align:0}html[data-netbox-color-mode=dark] .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}html[data-netbox-color-mode=dark] .dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#f8f9fa;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}html[data-netbox-color-mode=dark] .dropdown-item:hover,html[data-netbox-color-mode=dark] .dropdown-item:focus{color:#fff;background-color:#6c757d}html[data-netbox-color-mode=dark] .dropdown-item.active,html[data-netbox-color-mode=dark] .dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}html[data-netbox-color-mode=dark] .dropdown-item.disabled,html[data-netbox-color-mode=dark] .dropdown-item:disabled{color:#343a40;pointer-events:none;background-color:transparent}html[data-netbox-color-mode=dark] .dropdown-menu.show{display:block}html[data-netbox-color-mode=dark] .dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}html[data-netbox-color-mode=dark] .dropdown-item-text{display:block;padding:.25rem 1rem;color:#f8f9fa}html[data-netbox-color-mode=dark] .dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:#00000026}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item{color:#dee2e6}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:hover,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:#ffffff26}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item.active,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item.disabled,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-divider{border-color:#00000026}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item-text{color:#dee2e6}html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-header{color:#adb5bd}html[data-netbox-color-mode=dark] .btn-group,html[data-netbox-color-mode=dark] .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}html[data-netbox-color-mode=dark] .btn-group>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn{position:relative;flex:1 1 auto}html[data-netbox-color-mode=dark] .btn-group>.btn-check:checked+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn-check:focus+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn:hover,html[data-netbox-color-mode=dark] .btn-group>.btn:focus,html[data-netbox-color-mode=dark] .btn-group>.btn:active,html[data-netbox-color-mode=dark] .btn-group>.btn.active,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-check:checked+.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-check:focus+.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:hover,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:focus,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:active,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn.active{z-index:1}html[data-netbox-color-mode=dark] .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .btn-toolbar .input-group{width:auto}html[data-netbox-color-mode=dark] .btn-group>.btn:not(:first-child),html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:first-child){margin-left:-1px}html[data-netbox-color-mode=dark] .btn-group>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .btn-group>.btn:nth-child(n+3),html[data-netbox-color-mode=dark] .btn-group>:not(.btn-check)+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,.dropup html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,.dropend html[data-netbox-color-mode=dark] .dropdown-toggle-split:after{margin-left:0}.dropstart html[data-netbox-color-mode=dark] .dropdown-toggle-split:before{margin-right:0}html[data-netbox-color-mode=dark] .btn-sm+.dropdown-toggle-split,html[data-netbox-color-mode=dark] .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}html[data-netbox-color-mode=dark] .btn-lg+.dropdown-toggle-split,html[data-netbox-color-mode=dark] .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}html[data-netbox-color-mode=dark] .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}html[data-netbox-color-mode=dark] .btn-group-vertical>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group{width:100%}html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:not(:first-child),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .btn-group-vertical>.btn~.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}html[data-netbox-color-mode=dark] .nav-link{display:block;padding:.5rem 1rem;color:#fff;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .nav-link{transition:none}}html[data-netbox-color-mode=dark] .nav-link.disabled{color:#343a40;pointer-events:none;cursor:default}html[data-netbox-color-mode=dark] .nav-tabs{border-bottom:1px solid #495057}html[data-netbox-color-mode=dark] .nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.375rem;border-top-right-radius:.375rem}html[data-netbox-color-mode=dark] .nav-tabs .nav-link:hover,html[data-netbox-color-mode=dark] .nav-tabs .nav-link:focus{border-color:rgba(52,58,64,.5) rgba(52,58,64,.5) #495057;isolation:isolate}html[data-netbox-color-mode=dark] .nav-tabs .nav-link.disabled{color:#343a40;background-color:transparent;border-color:transparent}html[data-netbox-color-mode=dark] .nav-tabs .nav-link.active,html[data-netbox-color-mode=dark] .nav-tabs .nav-item.show .nav-link{color:#f8f9fa;background-color:#1b1f22;border-color:#343a40 #343a40 #1b1f22}html[data-netbox-color-mode=dark] .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .nav-pills .nav-link{background:none;border:0;border-radius:.375rem}html[data-netbox-color-mode=dark] .nav-pills .nav-link.active,html[data-netbox-color-mode=dark] .nav-pills .show>.nav-link{color:#000;background-color:#6ea8fe}html[data-netbox-color-mode=dark] .nav-fill>.nav-link,html[data-netbox-color-mode=dark] .nav-fill .nav-item{flex:1 1 auto;text-align:center}html[data-netbox-color-mode=dark] .nav-justified>.nav-link,html[data-netbox-color-mode=dark] .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}html[data-netbox-color-mode=dark] .nav-fill .nav-item .nav-link,html[data-netbox-color-mode=dark] .nav-justified .nav-item .nav-link{width:100%}html[data-netbox-color-mode=dark] .tab-content>.tab-pane{display:none}html[data-netbox-color-mode=dark] .tab-content>.active{display:block}html[data-netbox-color-mode=dark] .navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}html[data-netbox-color-mode=dark] .navbar>.container,html[data-netbox-color-mode=dark] .navbar>.container-fluid,html[data-netbox-color-mode=dark] .navbar>.container-sm,html[data-netbox-color-mode=dark] .navbar>.container-md,html[data-netbox-color-mode=dark] .navbar>.container-lg,html[data-netbox-color-mode=dark] .navbar>.container-xl,html[data-netbox-color-mode=dark] .navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}html[data-netbox-color-mode=dark] .navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}html[data-netbox-color-mode=dark] .navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}html[data-netbox-color-mode=dark] .navbar-nav .nav-link{padding-right:0;padding-left:0}html[data-netbox-color-mode=dark] .navbar-nav .dropdown-menu{position:static}html[data-netbox-color-mode=dark] .navbar-text{padding-top:.5rem;padding-bottom:.5rem}html[data-netbox-color-mode=dark] .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}html[data-netbox-color-mode=dark] .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.375rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .navbar-toggler{transition:none}}html[data-netbox-color-mode=dark] .navbar-toggler:hover{text-decoration:none}html[data-netbox-color-mode=dark] .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}html[data-netbox-color-mode=dark] .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}html[data-netbox-color-mode=dark] .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){html[data-netbox-color-mode=dark] .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-toggler{display:none}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-toggler{display:none}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-toggler{display:none}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-toggler{display:none}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-toggler{display:none}}html[data-netbox-color-mode=dark] .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav{flex-direction:row}html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav .dropdown-menu{position:absolute}html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav-scroll{overflow:visible}html[data-netbox-color-mode=dark] .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}html[data-netbox-color-mode=dark] .navbar-expand .navbar-toggler{display:none}html[data-netbox-color-mode=dark] .navbar-light .navbar-brand{color:#000000e6}html[data-netbox-color-mode=dark] .navbar-light .navbar-brand:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-brand:focus{color:#000000e6}html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link{color:#171b1d}html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link:focus{color:#000000b3}html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .show>.nav-link,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link.active{color:#000000e6}html[data-netbox-color-mode=dark] .navbar-light .navbar-toggler{color:#171b1d;border-color:#495057}html[data-netbox-color-mode=dark] .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23171b1d' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .navbar-light .navbar-text{color:#171b1d}html[data-netbox-color-mode=dark] .navbar-light .navbar-text a,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a:focus{color:#000000e6}html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand{color:#fff}html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand:focus{color:#fff}html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link{color:#ffffff8c}html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link:focus{color:#ffffffbf}html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .show>.nav-link,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link.active{color:#fff}html[data-netbox-color-mode=dark] .navbar-dark .navbar-toggler{color:#ffffff8c;border-color:#ffffff1a}html[data-netbox-color-mode=dark] .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .navbar-dark .navbar-text{color:#ffffff8c}html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a:focus{color:#fff}html[data-netbox-color-mode=dark] .card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#212529;background-clip:border-box;border:1px solid rgba(255,255,255,.125);border-radius:.375rem}html[data-netbox-color-mode=dark] .card>hr{margin-right:0;margin-left:0}html[data-netbox-color-mode=dark] .card>.list-group{border-top:inherit;border-bottom:inherit}html[data-netbox-color-mode=dark] .card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card>.card-header+.list-group,html[data-netbox-color-mode=dark] .card>.list-group+.card-footer{border-top:0}html[data-netbox-color-mode=dark] .card-body{flex:1 1 auto;padding:1rem}html[data-netbox-color-mode=dark] .card-title{margin-bottom:.5rem}html[data-netbox-color-mode=dark] .card-subtitle{margin-top:-.25rem;margin-bottom:0}html[data-netbox-color-mode=dark] .card-text:last-child{margin-bottom:0}html[data-netbox-color-mode=dark] .card-link:hover{text-decoration:none}html[data-netbox-color-mode=dark] .card-link+.card-link{margin-left:1rem}html[data-netbox-color-mode=dark] .card-header{padding:.5rem 1rem;margin-bottom:0;background-color:"unset";border-bottom:1px solid rgba(255,255,255,.125)}html[data-netbox-color-mode=dark] .card-header:first-child{border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0}html[data-netbox-color-mode=dark] .card-footer{padding:.5rem 1rem;background-color:"unset";border-top:1px solid rgba(255,255,255,.125)}html[data-netbox-color-mode=dark] .card-footer:last-child{border-radius:0 0 calc(.375rem - 1px) calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}html[data-netbox-color-mode=dark] .card-header-tabs .nav-link.active{background-color:#212529;border-bottom-color:#212529}html[data-netbox-color-mode=dark] .card-header-pills{margin-right:-.5rem;margin-left:-.5rem}html[data-netbox-color-mode=dark] .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-top,html[data-netbox-color-mode=dark] .card-img-bottom{width:100%}html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-top{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-bottom{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .card-group>.card{margin-bottom:.75rem}@media (min-width: 576px){html[data-netbox-color-mode=dark] .card-group{display:flex;flex-flow:row wrap}html[data-netbox-color-mode=dark] .card-group>.card{flex:1 0 0%;margin-bottom:0}html[data-netbox-color-mode=dark] .card-group>.card+.card{margin-left:0;border-left:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-img-top,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-img-bottom,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-img-top,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-img-bottom,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}html[data-netbox-color-mode=dark] .accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#fff;text-align:left;background-color:transparent;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .accordion-button{transition:none}}html[data-netbox-color-mode=dark] .accordion-button:not(.collapsed){color:#000;background-color:#6397e5;box-shadow:inset 0 -1px #495057}html[data-netbox-color-mode=dark] .accordion-button:not(.collapsed):after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}html[data-netbox-color-mode=dark] .accordion-button:after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .accordion-button:after{transition:none}}html[data-netbox-color-mode=dark] .accordion-button:hover{z-index:2}html[data-netbox-color-mode=dark] .accordion-button:focus{z-index:3;border-color:#7db1fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .accordion-header{margin-bottom:0}html[data-netbox-color-mode=dark] .accordion-item{background-color:transparent;border:1px solid #495057}html[data-netbox-color-mode=dark] .accordion-item:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}html[data-netbox-color-mode=dark] .accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .accordion-item:not(:first-of-type){border-top:0}html[data-netbox-color-mode=dark] .accordion-item:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .accordion-body{padding:1rem 1.25rem}html[data-netbox-color-mode=dark] .accordion-flush .accordion-collapse{border-width:0}html[data-netbox-color-mode=dark] .accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}html[data-netbox-color-mode=dark] .accordion-flush .accordion-item:first-child{border-top:0}html[data-netbox-color-mode=dark] .accordion-flush .accordion-item:last-child{border-bottom:0}html[data-netbox-color-mode=dark] .accordion-flush .accordion-item .accordion-button{border-radius:0}html[data-netbox-color-mode=dark] .breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:1rem;list-style:none}html[data-netbox-color-mode=dark] .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}html[data-netbox-color-mode=dark] .breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#f8f9fa;content:var(--bs-breadcrumb-divider, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='%23f8f9fa'/%3E%3C/svg%3E"))}html[data-netbox-color-mode=dark] .breadcrumb-item.active{color:#fff}html[data-netbox-color-mode=dark] .pagination{display:flex;padding-left:0;list-style:none}html[data-netbox-color-mode=dark] .page-link{position:relative;display:block;color:#9ec5fe;text-decoration:none;background-color:#343a40;border:1px solid #6c757d;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){html[data-netbox-color-mode=dark] .page-link{transition:none}}html[data-netbox-color-mode=dark] .page-link:hover{z-index:2;color:#cfe2ff;background-color:#ced4da;border-color:#adb5bd}html[data-netbox-color-mode=dark] .page-link:focus{z-index:3;color:#cfe2ff;background-color:#ced4da;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .page-item:not(:first-child) .page-link{margin-left:-1px}html[data-netbox-color-mode=dark] .page-item.active .page-link{z-index:3;color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#343a40;border-color:#6c757d}html[data-netbox-color-mode=dark] .page-link{padding:.375rem .75rem}html[data-netbox-color-mode=dark] .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}html[data-netbox-color-mode=dark] .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}html[data-netbox-color-mode=dark] .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}html[data-netbox-color-mode=dark] .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}html[data-netbox-color-mode=dark] .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}html[data-netbox-color-mode=dark] .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}html[data-netbox-color-mode=dark] .badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}html[data-netbox-color-mode=dark] .badge:empty{display:none}html[data-netbox-color-mode=dark] .btn .badge{position:relative;top:-1px}html[data-netbox-color-mode=dark] .alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}html[data-netbox-color-mode=dark] .alert-heading{color:inherit}html[data-netbox-color-mode=dark] .alert-link{font-weight:700}html[data-netbox-color-mode=dark] .alert-dismissible{padding-right:3rem}html[data-netbox-color-mode=dark] .alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}html[data-netbox-color-mode=dark] .alert-primary{color:#162233;background-color:#75acfe;border-color:#8bb9fe}html[data-netbox-color-mode=dark] .alert-primary .alert-link{color:#121b29}html[data-netbox-color-mode=dark] .alert-secondary{color:#232426;background-color:#b1b9c0;border-color:#bdc4ca}html[data-netbox-color-mode=dark] .alert-secondary .alert-link{color:#1c1d1e}html[data-netbox-color-mode=dark] .alert-success{color:#17251e;background-color:#7cbb9d;border-color:#91c5ad}html[data-netbox-color-mode=dark] .alert-success .alert-link{color:#121e18}html[data-netbox-color-mode=dark] .alert-info{color:#162d31;background-color:#75e1f6;border-color:#8be5f8}html[data-netbox-color-mode=dark] .alert-info .alert-link{color:#122427}html[data-netbox-color-mode=dark] .alert-warning{color:#332c15;background-color:#ffdc71;border-color:#ffe188}html[data-netbox-color-mode=dark] .alert-warning .alert-link{color:#292311}html[data-netbox-color-mode=dark] .alert-danger{color:#2f1b1d;background-color:#eb8c95;border-color:#ee9ea5}html[data-netbox-color-mode=dark] .alert-danger .alert-link{color:#261617}html[data-netbox-color-mode=dark] .alert-light{color:#2c2d2e;background-color:#e0e3e7;border-color:#e5e8eb}html[data-netbox-color-mode=dark] .alert-light .alert-link{color:#232425}html[data-netbox-color-mode=dark] .alert-dark{color:#232426;background-color:#b1b9c0;border-color:#bdc4ca}html[data-netbox-color-mode=dark] .alert-dark .alert-link{color:#1c1d1e}html[data-netbox-color-mode=dark] .alert-blue{color:#162233;background-color:#75acfe;border-color:#8bb9fe}html[data-netbox-color-mode=dark] .alert-blue .alert-link{color:#121b29}html[data-netbox-color-mode=dark] .alert-indigo{color:#211631;background-color:#a877f7;border-color:#b58df9}html[data-netbox-color-mode=dark] .alert-indigo .alert-link{color:#1a1227}html[data-netbox-color-mode=dark] .alert-purple{color:#221c2c;background-color:#ad94dc;border-color:#baa5e1}html[data-netbox-color-mode=dark] .alert-purple .alert-link{color:#1b1623}html[data-netbox-color-mode=dark] .alert-pink{color:#2e1b24;background-color:#e78bb9;border-color:#eb9dc4}html[data-netbox-color-mode=dark] .alert-pink .alert-link{color:#25161d}html[data-netbox-color-mode=dark] .alert-red{color:#2f1b1d;background-color:#eb8c95;border-color:#ee9ea5}html[data-netbox-color-mode=dark] .alert-red .alert-link{color:#261617}html[data-netbox-color-mode=dark] .alert-orange{color:#332417;background-color:#feb679;border-color:#fec18e}html[data-netbox-color-mode=dark] .alert-orange .alert-link{color:#291d12}html[data-netbox-color-mode=dark] .alert-yellow{color:#332c15;background-color:#ffdc71;border-color:#ffe188}html[data-netbox-color-mode=dark] .alert-yellow .alert-link{color:#292311}html[data-netbox-color-mode=dark] .alert-green{color:#17251e;background-color:#7cbb9d;border-color:#91c5ad}html[data-netbox-color-mode=dark] .alert-green .alert-link{color:#121e18}html[data-netbox-color-mode=dark] .alert-teal{color:#182d27;background-color:#80e1c4;border-color:#94e5cd}html[data-netbox-color-mode=dark] .alert-teal .alert-link{color:#13241f}html[data-netbox-color-mode=dark] .alert-cyan{color:#162d31;background-color:#75e1f6;border-color:#8be5f8}html[data-netbox-color-mode=dark] .alert-cyan .alert-link{color:#122427}html[data-netbox-color-mode=dark] .alert-gray{color:#2c2d2e;background-color:#e0e3e7;border-color:#e5e8eb}html[data-netbox-color-mode=dark] .alert-gray .alert-link{color:#232425}html[data-netbox-color-mode=dark] .alert-black{color:#ccc;background-color:#0d0d0d;border-color:#333}html[data-netbox-color-mode=dark] .alert-black .alert-link{color:#a3a3a3}html[data-netbox-color-mode=dark] .alert-white{color:#333;background-color:#fff;border-color:#fff}html[data-netbox-color-mode=dark] .alert-white .alert-link{color:#292929}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}html[data-netbox-color-mode=dark] .progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#6c757d;border-radius:.375rem}html[data-netbox-color-mode=dark] .progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#6ea8fe;transition:width .6s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .progress-bar{transition:none}}html[data-netbox-color-mode=dark] .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:1rem 1rem}html[data-netbox-color-mode=dark] .progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .progress-bar-animated{animation:none}}html[data-netbox-color-mode=dark] .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.375rem}html[data-netbox-color-mode=dark] .list-group-numbered{list-style-type:none;counter-reset:section}html[data-netbox-color-mode=dark] .list-group-numbered>li:before{content:counters(section,".") ". ";counter-increment:section}html[data-netbox-color-mode=dark] .list-group-item-action{width:100%;color:#dee2e6;text-align:inherit}html[data-netbox-color-mode=dark] .list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-action:focus{z-index:1;color:#fff;text-decoration:none;background-color:#f8f9fa26}html[data-netbox-color-mode=dark] .list-group-item-action:active{color:#fff;background-color:#dee2e620}html[data-netbox-color-mode=dark] .list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#fff;text-decoration:none;background-color:#212529;border:1px solid rgba(255,255,255,.125)}html[data-netbox-color-mode=dark] .list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}html[data-netbox-color-mode=dark] .list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}html[data-netbox-color-mode=dark] .list-group-item.disabled,html[data-netbox-color-mode=dark] .list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#212529}html[data-netbox-color-mode=dark] .list-group-item.active{z-index:2;color:#000;background-color:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item{border-top-width:0}html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item.active{margin-top:-1px;border-top-width:1px}html[data-netbox-color-mode=dark] .list-group-horizontal{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){html[data-netbox-color-mode=dark] .list-group-horizontal-sm{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .list-group-horizontal-md{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .list-group-horizontal-lg{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .list-group-horizontal-xl{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .list-group-horizontal-xxl{flex-direction:row}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item.active{margin-top:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}html[data-netbox-color-mode=dark] .list-group-flush{border-radius:0}html[data-netbox-color-mode=dark] .list-group-flush>.list-group-item{border-width:0 0 1px}html[data-netbox-color-mode=dark] .list-group-flush>.list-group-item:last-child{border-bottom-width:0}html[data-netbox-color-mode=dark] .list-group-item-primary{color:#426598;background-color:#e2eeff}html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action:focus{color:#426598;background-color:#cbd6e6}html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#426598;border-color:#426598}html[data-netbox-color-mode=dark] .list-group-item-secondary{color:#686d71;background-color:#eff0f2}html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}html[data-netbox-color-mode=dark] .list-group-item-success{color:#466e5b;background-color:#e3f1ea}html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action:focus{color:#466e5b;background-color:#ccd9d3}html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#466e5b;border-color:#466e5b}html[data-netbox-color-mode=dark] .list-group-item-info{color:#2c5962;background-color:#e2f9fd}html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action:focus{color:#2c5962;background-color:#cbe0e4}html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#2c5962;border-color:#2c5962}html[data-netbox-color-mode=dark] .list-group-item-warning{color:#66572a;background-color:#fff8e1}html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action:focus{color:#66572a;background-color:#e6dfcb}html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#66572a;border-color:#66572a}html[data-netbox-color-mode=dark] .list-group-item-danger{color:#8c5056;background-color:#fbe7e9}html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action:focus{color:#8c5056;background-color:#e2d0d2}html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#8c5056;border-color:#8c5056}html[data-netbox-color-mode=dark] .list-group-item-light{color:#595a5c;background-color:#f8f9fa}html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}html[data-netbox-color-mode=dark] .list-group-item-dark{color:#686d71;background-color:#eff0f2}html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}html[data-netbox-color-mode=dark] .list-group-item-blue{color:#426598;background-color:#e2eeff}html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action:focus{color:#426598;background-color:#cbd6e6}html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#426598;border-color:#426598}html[data-netbox-color-mode=dark] .list-group-item-indigo{color:#624394;background-color:#ede2fd}html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action:focus{color:#624394;background-color:#d5cbe4}html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action.active{color:#fff;background-color:#624394;border-color:#624394}html[data-netbox-color-mode=dark] .list-group-item-purple{color:#655583;background-color:#eee8f8}html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action:focus{color:#655583;background-color:#d6d1df}html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#655583;border-color:#655583}html[data-netbox-color-mode=dark] .list-group-item-pink{color:#8a506d;background-color:#fae7f0}html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action:focus{color:#8a506d;background-color:#e1d0d8}html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#8a506d;border-color:#8a506d}html[data-netbox-color-mode=dark] .list-group-item-red{color:#8c5056;background-color:#fbe7e9}html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action:focus{color:#8c5056;background-color:#e2d0d2}html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action.active{color:#fff;background-color:#8c5056;border-color:#8c5056}html[data-netbox-color-mode=dark] .list-group-item-orange{color:#66472e;background-color:#fff0e3}html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action:focus{color:#66472e;background-color:#e6d8cc}html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action.active{color:#fff;background-color:#66472e;border-color:#66472e}html[data-netbox-color-mode=dark] .list-group-item-yellow{color:#66572a;background-color:#fff8e1}html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action:focus{color:#66572a;background-color:#e6dfcb}html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action.active{color:#fff;background-color:#66572a;border-color:#66572a}html[data-netbox-color-mode=dark] .list-group-item-green{color:#466e5b;background-color:#e3f1ea}html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action:focus{color:#466e5b;background-color:#ccd9d3}html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action.active{color:#fff;background-color:#466e5b;border-color:#466e5b}html[data-netbox-color-mode=dark] .list-group-item-teal{color:#30594d;background-color:#e4f9f3}html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action:focus{color:#30594d;background-color:#cde0db}html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action.active{color:#fff;background-color:#30594d;border-color:#30594d}html[data-netbox-color-mode=dark] .list-group-item-cyan{color:#2c5962;background-color:#e2f9fd}html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action:focus{color:#2c5962;background-color:#cbe0e4}html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action.active{color:#fff;background-color:#2c5962;border-color:#2c5962}html[data-netbox-color-mode=dark] .list-group-item-gray{color:#595a5c;background-color:#f8f9fa}html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}html[data-netbox-color-mode=dark] .list-group-item-black{color:#000;background-color:#ccc}html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action:focus{color:#000;background-color:#b8b8b8}html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action.active{color:#fff;background-color:#000;border-color:#000}html[data-netbox-color-mode=dark] .list-group-item-white{color:#666;background-color:#fff}html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action:focus{color:#666;background-color:#e6e6e6}html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action.active{color:#fff;background-color:#666;border-color:#666}html[data-netbox-color-mode=dark] .btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#fff;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}html[data-netbox-color-mode=dark] .btn-close:hover{color:#fff;text-decoration:none;opacity:.75}html[data-netbox-color-mode=dark] .btn-close:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40;opacity:1}html[data-netbox-color-mode=dark] .btn-close:disabled,html[data-netbox-color-mode=dark] .btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}html[data-netbox-color-mode=dark] .btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}html[data-netbox-color-mode=dark] .toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:#ffffffd9;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem #00000026;border-radius:.375rem}html[data-netbox-color-mode=dark] .toast:not(.showing):not(.show){opacity:0}html[data-netbox-color-mode=dark] .toast.hide{display:none}html[data-netbox-color-mode=dark] .toast-container{width:max-content;max-width:100%;pointer-events:none}html[data-netbox-color-mode=dark] .toast-container>:not(:last-child){margin-bottom:.75rem}html[data-netbox-color-mode=dark] .toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html[data-netbox-color-mode=dark] .toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}html[data-netbox-color-mode=dark] .toast-body{padding:.75rem;word-wrap:break-word}html[data-netbox-color-mode=dark] .modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}html[data-netbox-color-mode=dark] .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade html[data-netbox-color-mode=dark] .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade html[data-netbox-color-mode=dark] .modal-dialog{transition:none}}.modal.show html[data-netbox-color-mode=dark] .modal-dialog{transform:none}.modal.modal-static html[data-netbox-color-mode=dark] .modal-dialog{transform:scale(1.02)}html[data-netbox-color-mode=dark] .modal-dialog-scrollable{height:calc(100% - 1rem)}html[data-netbox-color-mode=dark] .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}html[data-netbox-color-mode=dark] .modal-dialog-scrollable .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}html[data-netbox-color-mode=dark] .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#343a40;background-clip:padding-box;border:1px solid rgba(255,255,255,.2);border-radius:.75rem;outline:0}html[data-netbox-color-mode=dark] .modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}html[data-netbox-color-mode=dark] .modal-backdrop.fade{opacity:0}html[data-netbox-color-mode=dark] .modal-backdrop.show{opacity:.5}html[data-netbox-color-mode=dark] .modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #495057;border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}html[data-netbox-color-mode=dark] .modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}html[data-netbox-color-mode=dark] .modal-title{margin-bottom:0;line-height:1.5}html[data-netbox-color-mode=dark] .modal-body{position:relative;flex:1 1 auto;padding:1rem}html[data-netbox-color-mode=dark] .modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #495057;border-bottom-right-radius:calc(.75rem - 1px);border-bottom-left-radius:calc(.75rem - 1px)}html[data-netbox-color-mode=dark] .modal-footer>*{margin:.25rem}@media (min-width: 576px){html[data-netbox-color-mode=dark] .modal-dialog{max-width:500px;margin:1.75rem auto}html[data-netbox-color-mode=dark] .modal-dialog-scrollable{height:calc(100% - 3.5rem)}html[data-netbox-color-mode=dark] .modal-dialog-centered{min-height:calc(100% - 3.5rem)}html[data-netbox-color-mode=dark] .modal-sm{max-width:300px}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .modal-lg,html[data-netbox-color-mode=dark] .modal-xl{max-width:800px}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .modal-xl{max-width:1140px}}html[data-netbox-color-mode=dark] .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen .modal-footer{border-radius:0}@media (max-width: 575.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width: 767.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width: 1199.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width: 1399.98px){html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-header{border-radius:0}html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-footer{border-radius:0}}html[data-netbox-color-mode=dark] .tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}html[data-netbox-color-mode=dark] .tooltip.show{opacity:.9}html[data-netbox-color-mode=dark] .tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}html[data-netbox-color-mode=dark] .tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}html[data-netbox-color-mode=dark] .bs-tooltip-top,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=top]{padding:.4rem 0}html[data-netbox-color-mode=dark] .bs-tooltip-top .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:0}html[data-netbox-color-mode=dark] .bs-tooltip-top .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#495057}html[data-netbox-color-mode=dark] .bs-tooltip-end,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=right]{padding:0 .4rem}html[data-netbox-color-mode=dark] .bs-tooltip-end .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:0;width:.4rem;height:.8rem}html[data-netbox-color-mode=dark] .bs-tooltip-end .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#495057}html[data-netbox-color-mode=dark] .bs-tooltip-bottom,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=bottom]{padding:.4rem 0}html[data-netbox-color-mode=dark] .bs-tooltip-bottom .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:0}html[data-netbox-color-mode=dark] .bs-tooltip-bottom .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#495057}html[data-netbox-color-mode=dark] .bs-tooltip-start,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=left]{padding:0 .4rem}html[data-netbox-color-mode=dark] .bs-tooltip-start .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:0;width:.4rem;height:.8rem}html[data-netbox-color-mode=dark] .bs-tooltip-start .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#495057}html[data-netbox-color-mode=dark] .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#495057;border-radius:.375rem}html[data-netbox-color-mode=dark] .popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#495057;background-clip:padding-box;border:1px solid rgba(255,255,255,.2);border-radius:.75rem}html[data-netbox-color-mode=dark] .popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}html[data-netbox-color-mode=dark] .popover .popover-arrow:before,html[data-netbox-color-mode=dark] .popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-.5rem - 1px)}html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#ffffff40}html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#495057}html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#ffffff40}html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#495057}html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-.5rem - 1px)}html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:#ffffff40}html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#495057}html[data-netbox-color-mode=dark] .bs-popover-bottom .popover-header:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #454b52}html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#ffffff40}html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#495057}html[data-netbox-color-mode=dark] .popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#454b52;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}html[data-netbox-color-mode=dark] .popover-header:empty{display:none}html[data-netbox-color-mode=dark] .popover-body{padding:1rem;color:#fff}html[data-netbox-color-mode=dark] .carousel{position:relative}html[data-netbox-color-mode=dark] .carousel.pointer-event{touch-action:pan-y}html[data-netbox-color-mode=dark] .carousel-inner{position:relative;width:100%;overflow:hidden}html[data-netbox-color-mode=dark] .carousel-inner:after{display:block;clear:both;content:""}html[data-netbox-color-mode=dark] .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){html[data-netbox-color-mode=dark] .carousel-item{transition:none}}html[data-netbox-color-mode=dark] .carousel-item.active,html[data-netbox-color-mode=dark] .carousel-item-next,html[data-netbox-color-mode=dark] .carousel-item-prev{display:block}html[data-netbox-color-mode=dark] .carousel-item-next:not(.carousel-item-start),html[data-netbox-color-mode=dark] .active.carousel-item-end{transform:translate(100%)}html[data-netbox-color-mode=dark] .carousel-item-prev:not(.carousel-item-end),html[data-netbox-color-mode=dark] .active.carousel-item-start{transform:translate(-100%)}html[data-netbox-color-mode=dark] .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}html[data-netbox-color-mode=dark] .carousel-fade .carousel-item.active,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item-next.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-end{transition:none}}html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=dark] .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;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=dark] .carousel-control-next{transition:none}}html[data-netbox-color-mode=dark] .carousel-control-prev:hover,html[data-netbox-color-mode=dark] .carousel-control-prev:focus,html[data-netbox-color-mode=dark] .carousel-control-next:hover,html[data-netbox-color-mode=dark] .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}html[data-netbox-color-mode=dark] .carousel-control-prev{left:0}html[data-netbox-color-mode=dark] .carousel-control-next{right:0}html[data-netbox-color-mode=dark] .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}html[data-netbox-color-mode=dark] .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}html[data-netbox-color-mode=dark] .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%;list-style:none}html[data-netbox-color-mode=dark] .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .carousel-indicators [data-bs-target]{transition:none}}html[data-netbox-color-mode=dark] .carousel-indicators .active{opacity:1}html[data-netbox-color-mode=dark] .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}html[data-netbox-color-mode=dark] .carousel-dark .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}html[data-netbox-color-mode=dark] .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}html[data-netbox-color-mode=dark] .carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg)}}html[data-netbox-color-mode=dark] .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}html[data-netbox-color-mode=dark] .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}html[data-netbox-color-mode=dark] .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}html[data-netbox-color-mode=dark] .spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .spinner-border,html[data-netbox-color-mode=dark] .spinner-grow{animation-duration:1.5s}}html[data-netbox-color-mode=dark] .clearfix:after{display:block;clear:both;content:""}html[data-netbox-color-mode=dark] .link-primary{color:#6ea8fe}html[data-netbox-color-mode=dark] .link-primary:hover,html[data-netbox-color-mode=dark] .link-primary:focus{color:#8bb9fe}html[data-netbox-color-mode=dark] .link-secondary{color:#adb5bd}html[data-netbox-color-mode=dark] .link-secondary:hover,html[data-netbox-color-mode=dark] .link-secondary:focus{color:#bdc4ca}html[data-netbox-color-mode=dark] .link-success{color:#75b798}html[data-netbox-color-mode=dark] .link-success:hover,html[data-netbox-color-mode=dark] .link-success:focus{color:#91c5ad}html[data-netbox-color-mode=dark] .link-info{color:#6edff6}html[data-netbox-color-mode=dark] .link-info:hover,html[data-netbox-color-mode=dark] .link-info:focus{color:#8be5f8}html[data-netbox-color-mode=dark] .link-warning{color:#ffda6a}html[data-netbox-color-mode=dark] .link-warning:hover,html[data-netbox-color-mode=dark] .link-warning:focus{color:#ffe188}html[data-netbox-color-mode=dark] .link-danger{color:#ea868f}html[data-netbox-color-mode=dark] .link-danger:hover,html[data-netbox-color-mode=dark] .link-danger:focus{color:#ee9ea5}html[data-netbox-color-mode=dark] .link-light{color:#dee2e6}html[data-netbox-color-mode=dark] .link-light:hover,html[data-netbox-color-mode=dark] .link-light:focus{color:#e5e8eb}html[data-netbox-color-mode=dark] .link-dark{color:#adb5bd}html[data-netbox-color-mode=dark] .link-dark:hover,html[data-netbox-color-mode=dark] .link-dark:focus{color:#bdc4ca}html[data-netbox-color-mode=dark] .link-blue{color:#6ea8fe}html[data-netbox-color-mode=dark] .link-blue:hover,html[data-netbox-color-mode=dark] .link-blue:focus{color:#8bb9fe}html[data-netbox-color-mode=dark] .link-indigo{color:#a370f7}html[data-netbox-color-mode=dark] .link-indigo:hover,html[data-netbox-color-mode=dark] .link-indigo:focus{color:#b58df9}html[data-netbox-color-mode=dark] .link-purple{color:#a98eda}html[data-netbox-color-mode=dark] .link-purple:hover,html[data-netbox-color-mode=dark] .link-purple:focus{color:#baa5e1}html[data-netbox-color-mode=dark] .link-pink{color:#e685b5}html[data-netbox-color-mode=dark] .link-pink:hover,html[data-netbox-color-mode=dark] .link-pink:focus{color:#eb9dc4}html[data-netbox-color-mode=dark] .link-red{color:#ea868f}html[data-netbox-color-mode=dark] .link-red:hover,html[data-netbox-color-mode=dark] .link-red:focus{color:#ee9ea5}html[data-netbox-color-mode=dark] .link-orange{color:#feb272}html[data-netbox-color-mode=dark] .link-orange:hover,html[data-netbox-color-mode=dark] .link-orange:focus{color:#fec18e}html[data-netbox-color-mode=dark] .link-yellow{color:#ffda6a}html[data-netbox-color-mode=dark] .link-yellow:hover,html[data-netbox-color-mode=dark] .link-yellow:focus{color:#ffe188}html[data-netbox-color-mode=dark] .link-green{color:#75b798}html[data-netbox-color-mode=dark] .link-green:hover,html[data-netbox-color-mode=dark] .link-green:focus{color:#91c5ad}html[data-netbox-color-mode=dark] .link-teal{color:#79dfc1}html[data-netbox-color-mode=dark] .link-teal:hover,html[data-netbox-color-mode=dark] .link-teal:focus{color:#94e5cd}html[data-netbox-color-mode=dark] .link-cyan{color:#6edff6}html[data-netbox-color-mode=dark] .link-cyan:hover,html[data-netbox-color-mode=dark] .link-cyan:focus{color:#8be5f8}html[data-netbox-color-mode=dark] .link-gray{color:#dee2e6}html[data-netbox-color-mode=dark] .link-gray:hover,html[data-netbox-color-mode=dark] .link-gray:focus{color:#e5e8eb}html[data-netbox-color-mode=dark] .link-black{color:#000}html[data-netbox-color-mode=dark] .link-black:hover,html[data-netbox-color-mode=dark] .link-black:focus{color:#000}html[data-netbox-color-mode=dark] .link-white{color:#fff}html[data-netbox-color-mode=dark] .link-white:hover,html[data-netbox-color-mode=dark] .link-white:focus{color:#fff}html[data-netbox-color-mode=dark] .ratio{position:relative;width:100%}html[data-netbox-color-mode=dark] .ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}html[data-netbox-color-mode=dark] .ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}html[data-netbox-color-mode=dark] .ratio-1x1{--bs-aspect-ratio: 100%}html[data-netbox-color-mode=dark] .ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}html[data-netbox-color-mode=dark] .ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}html[data-netbox-color-mode=dark] .ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}html[data-netbox-color-mode=dark] .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}html[data-netbox-color-mode=dark] .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}html[data-netbox-color-mode=dark] .sticky-top{position:sticky;top:0;z-index:1020}@media (min-width: 576px){html[data-netbox-color-mode=dark] .sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .sticky-xxl-top{position:sticky;top:0;z-index:1020}}html[data-netbox-color-mode=dark] .visually-hidden,html[data-netbox-color-mode=dark] .visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;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}html[data-netbox-color-mode=dark] .stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}html[data-netbox-color-mode=dark] .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-netbox-color-mode=dark] .align-baseline{vertical-align:baseline!important}html[data-netbox-color-mode=dark] .align-top{vertical-align:top!important}html[data-netbox-color-mode=dark] .align-middle{vertical-align:middle!important}html[data-netbox-color-mode=dark] .align-bottom{vertical-align:bottom!important}html[data-netbox-color-mode=dark] .align-text-bottom{vertical-align:text-bottom!important}html[data-netbox-color-mode=dark] .align-text-top{vertical-align:text-top!important}html[data-netbox-color-mode=dark] .float-start{float:left!important}html[data-netbox-color-mode=dark] .float-end{float:right!important}html[data-netbox-color-mode=dark] .float-none{float:none!important}html[data-netbox-color-mode=dark] .overflow-auto{overflow:auto!important}html[data-netbox-color-mode=dark] .overflow-hidden{overflow:hidden!important}html[data-netbox-color-mode=dark] .overflow-visible{overflow:visible!important}html[data-netbox-color-mode=dark] .overflow-scroll{overflow:scroll!important}html[data-netbox-color-mode=dark] .d-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-block{display:block!important}html[data-netbox-color-mode=dark] .d-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-table{display:table!important}html[data-netbox-color-mode=dark] .d-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-none{display:none!important}html[data-netbox-color-mode=dark] .shadow{box-shadow:0 .5rem 1rem #00000026!important}html[data-netbox-color-mode=dark] .shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}html[data-netbox-color-mode=dark] .shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}html[data-netbox-color-mode=dark] .shadow-none{box-shadow:none!important}html[data-netbox-color-mode=dark] .position-static{position:static!important}html[data-netbox-color-mode=dark] .position-relative{position:relative!important}html[data-netbox-color-mode=dark] .position-absolute{position:absolute!important}html[data-netbox-color-mode=dark] .position-fixed{position:fixed!important}html[data-netbox-color-mode=dark] .position-sticky{position:sticky!important}html[data-netbox-color-mode=dark] .top-0{top:0!important}html[data-netbox-color-mode=dark] .top-50{top:50%!important}html[data-netbox-color-mode=dark] .top-100{top:100%!important}html[data-netbox-color-mode=dark] .bottom-0{bottom:0!important}html[data-netbox-color-mode=dark] .bottom-50{bottom:50%!important}html[data-netbox-color-mode=dark] .bottom-100{bottom:100%!important}html[data-netbox-color-mode=dark] .start-0{left:0!important}html[data-netbox-color-mode=dark] .start-50{left:50%!important}html[data-netbox-color-mode=dark] .start-100{left:100%!important}html[data-netbox-color-mode=dark] .end-0{right:0!important}html[data-netbox-color-mode=dark] .end-50{right:50%!important}html[data-netbox-color-mode=dark] .end-100{right:100%!important}html[data-netbox-color-mode=dark] .translate-middle{transform:translate(-50%,-50%)!important}html[data-netbox-color-mode=dark] .translate-middle-x{transform:translate(-50%)!important}html[data-netbox-color-mode=dark] .translate-middle-y{transform:translateY(-50%)!important}html[data-netbox-color-mode=dark] .border{border:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-0{border:0!important}html[data-netbox-color-mode=dark] .border-top{border-top:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-top-0{border-top:0!important}html[data-netbox-color-mode=dark] .border-end{border-right:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-end-0{border-right:0!important}html[data-netbox-color-mode=dark] .border-bottom{border-bottom:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-bottom-0{border-bottom:0!important}html[data-netbox-color-mode=dark] .border-start{border-left:1px solid #495057!important}html[data-netbox-color-mode=dark] .border-start-0{border-left:0!important}html[data-netbox-color-mode=dark] .border-primary{border-color:#6ea8fe!important}html[data-netbox-color-mode=dark] .border-secondary{border-color:#adb5bd!important}html[data-netbox-color-mode=dark] .border-success{border-color:#75b798!important}html[data-netbox-color-mode=dark] .border-info{border-color:#6edff6!important}html[data-netbox-color-mode=dark] .border-warning{border-color:#ffda6a!important}html[data-netbox-color-mode=dark] .border-danger{border-color:#ea868f!important}html[data-netbox-color-mode=dark] .border-light{border-color:#dee2e6!important}html[data-netbox-color-mode=dark] .border-dark{border-color:#adb5bd!important}html[data-netbox-color-mode=dark] .border-blue{border-color:#6ea8fe!important}html[data-netbox-color-mode=dark] .border-indigo{border-color:#a370f7!important}html[data-netbox-color-mode=dark] .border-purple{border-color:#a98eda!important}html[data-netbox-color-mode=dark] .border-pink{border-color:#e685b5!important}html[data-netbox-color-mode=dark] .border-red{border-color:#ea868f!important}html[data-netbox-color-mode=dark] .border-orange{border-color:#feb272!important}html[data-netbox-color-mode=dark] .border-yellow{border-color:#ffda6a!important}html[data-netbox-color-mode=dark] .border-green{border-color:#75b798!important}html[data-netbox-color-mode=dark] .border-teal{border-color:#79dfc1!important}html[data-netbox-color-mode=dark] .border-cyan{border-color:#6edff6!important}html[data-netbox-color-mode=dark] .border-gray{border-color:#dee2e6!important}html[data-netbox-color-mode=dark] .border-black{border-color:#000!important}html[data-netbox-color-mode=dark] .border-white{border-color:#fff!important}html[data-netbox-color-mode=dark] .border-1{border-width:1px!important}html[data-netbox-color-mode=dark] .border-2{border-width:2px!important}html[data-netbox-color-mode=dark] .border-3{border-width:3px!important}html[data-netbox-color-mode=dark] .border-4{border-width:4px!important}html[data-netbox-color-mode=dark] .border-5{border-width:5px!important}html[data-netbox-color-mode=dark] .w-25{width:25%!important}html[data-netbox-color-mode=dark] .w-50{width:50%!important}html[data-netbox-color-mode=dark] .w-75{width:75%!important}html[data-netbox-color-mode=dark] .w-100{width:100%!important}html[data-netbox-color-mode=dark] .w-auto{width:auto!important}html[data-netbox-color-mode=dark] .mw-100{max-width:100%!important}html[data-netbox-color-mode=dark] .vw-100{width:100vw!important}html[data-netbox-color-mode=dark] .min-vw-100{min-width:100vw!important}html[data-netbox-color-mode=dark] .h-25{height:25%!important}html[data-netbox-color-mode=dark] .h-50{height:50%!important}html[data-netbox-color-mode=dark] .h-75{height:75%!important}html[data-netbox-color-mode=dark] .h-100{height:100%!important}html[data-netbox-color-mode=dark] .h-auto{height:auto!important}html[data-netbox-color-mode=dark] .mh-100{max-height:100%!important}html[data-netbox-color-mode=dark] .vh-100{height:100vh!important}html[data-netbox-color-mode=dark] .min-vh-100{min-height:100vh!important}html[data-netbox-color-mode=dark] .flex-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-first{order:-1!important}html[data-netbox-color-mode=dark] .order-0{order:0!important}html[data-netbox-color-mode=dark] .order-1{order:1!important}html[data-netbox-color-mode=dark] .order-2{order:2!important}html[data-netbox-color-mode=dark] .order-3{order:3!important}html[data-netbox-color-mode=dark] .order-4{order:4!important}html[data-netbox-color-mode=dark] .order-5{order:5!important}html[data-netbox-color-mode=dark] .order-last{order:6!important}html[data-netbox-color-mode=dark] .m-0{margin:0!important}html[data-netbox-color-mode=dark] .m-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-0{padding:0!important}html[data-netbox-color-mode=dark] .p-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .font-monospace{font-family:var(--bs-font-monospace)!important}html[data-netbox-color-mode=dark] .fs-1{font-size:calc(1.375rem + 1.5vw)!important}html[data-netbox-color-mode=dark] .fs-2{font-size:calc(1.325rem + .9vw)!important}html[data-netbox-color-mode=dark] .fs-3{font-size:calc(1.3rem + .6vw)!important}html[data-netbox-color-mode=dark] .fs-4{font-size:calc(1.275rem + .3vw)!important}html[data-netbox-color-mode=dark] .fs-5{font-size:1.25rem!important}html[data-netbox-color-mode=dark] .fs-6{font-size:1rem!important}html[data-netbox-color-mode=dark] .fst-italic{font-style:italic!important}html[data-netbox-color-mode=dark] .fst-normal{font-style:normal!important}html[data-netbox-color-mode=dark] .fw-light{font-weight:300!important}html[data-netbox-color-mode=dark] .fw-lighter{font-weight:200!important}html[data-netbox-color-mode=dark] .fw-normal{font-weight:400!important}html[data-netbox-color-mode=dark] .fw-bold{font-weight:700!important}html[data-netbox-color-mode=dark] .fw-bolder{font-weight:800!important}html[data-netbox-color-mode=dark] .lh-1{line-height:1!important}html[data-netbox-color-mode=dark] .lh-sm{line-height:1.25!important}html[data-netbox-color-mode=dark] .lh-base{line-height:1.5!important}html[data-netbox-color-mode=dark] .lh-lg{line-height:1.75!important}html[data-netbox-color-mode=dark] .text-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-center{text-align:center!important}html[data-netbox-color-mode=dark] .text-decoration-none{text-decoration:none!important}html[data-netbox-color-mode=dark] .text-decoration-underline{text-decoration:underline!important}html[data-netbox-color-mode=dark] .text-decoration-line-through{text-decoration:line-through!important}html[data-netbox-color-mode=dark] .text-lowercase{text-transform:lowercase!important}html[data-netbox-color-mode=dark] .text-uppercase{text-transform:uppercase!important}html[data-netbox-color-mode=dark] .text-capitalize{text-transform:capitalize!important}html[data-netbox-color-mode=dark] .text-wrap{white-space:normal!important}html[data-netbox-color-mode=dark] .text-nowrap{white-space:nowrap!important}html[data-netbox-color-mode=dark] .text-break{word-wrap:break-word!important;word-break:break-word!important}html[data-netbox-color-mode=dark] .text-primary{color:#6ea8fe!important}html[data-netbox-color-mode=dark] .text-secondary{color:#adb5bd!important}html[data-netbox-color-mode=dark] .text-success{color:#75b798!important}html[data-netbox-color-mode=dark] .text-info{color:#6edff6!important}html[data-netbox-color-mode=dark] .text-warning{color:#ffda6a!important}html[data-netbox-color-mode=dark] .text-danger{color:#ea868f!important}html[data-netbox-color-mode=dark] .text-light{color:#dee2e6!important}html[data-netbox-color-mode=dark] .text-dark{color:#adb5bd!important}html[data-netbox-color-mode=dark] .text-blue{color:#6ea8fe!important}html[data-netbox-color-mode=dark] .text-indigo{color:#a370f7!important}html[data-netbox-color-mode=dark] .text-purple{color:#a98eda!important}html[data-netbox-color-mode=dark] .text-pink{color:#e685b5!important}html[data-netbox-color-mode=dark] .text-red{color:#ea868f!important}html[data-netbox-color-mode=dark] .text-orange{color:#feb272!important}html[data-netbox-color-mode=dark] .text-yellow{color:#ffda6a!important}html[data-netbox-color-mode=dark] .text-green{color:#75b798!important}html[data-netbox-color-mode=dark] .text-teal{color:#79dfc1!important}html[data-netbox-color-mode=dark] .text-cyan{color:#6edff6!important}html[data-netbox-color-mode=dark] .text-gray{color:#dee2e6!important}html[data-netbox-color-mode=dark] .text-black{color:#000!important}html[data-netbox-color-mode=dark] .text-white{color:#fff!important}html[data-netbox-color-mode=dark] .text-body{color:#fff!important}html[data-netbox-color-mode=dark] .text-muted{color:#ced4da!important}html[data-netbox-color-mode=dark] .text-black-50{color:#00000080!important}html[data-netbox-color-mode=dark] .text-white-50{color:#ffffff80!important}html[data-netbox-color-mode=dark] .text-reset{color:inherit!important}html[data-netbox-color-mode=dark] .bg-primary{background-color:#6ea8fe!important}html[data-netbox-color-mode=dark] .bg-secondary{background-color:#adb5bd!important}html[data-netbox-color-mode=dark] .bg-success{background-color:#75b798!important}html[data-netbox-color-mode=dark] .bg-info{background-color:#6edff6!important}html[data-netbox-color-mode=dark] .bg-warning{background-color:#ffda6a!important}html[data-netbox-color-mode=dark] .bg-danger{background-color:#ea868f!important}html[data-netbox-color-mode=dark] .bg-light{background-color:#dee2e6!important}html[data-netbox-color-mode=dark] .bg-dark{background-color:#adb5bd!important}html[data-netbox-color-mode=dark] .bg-blue{background-color:#6ea8fe!important}html[data-netbox-color-mode=dark] .bg-indigo{background-color:#a370f7!important}html[data-netbox-color-mode=dark] .bg-purple{background-color:#a98eda!important}html[data-netbox-color-mode=dark] .bg-pink{background-color:#e685b5!important}html[data-netbox-color-mode=dark] .bg-red{background-color:#ea868f!important}html[data-netbox-color-mode=dark] .bg-orange{background-color:#feb272!important}html[data-netbox-color-mode=dark] .bg-yellow{background-color:#ffda6a!important}html[data-netbox-color-mode=dark] .bg-green{background-color:#75b798!important}html[data-netbox-color-mode=dark] .bg-teal{background-color:#79dfc1!important}html[data-netbox-color-mode=dark] .bg-cyan{background-color:#6edff6!important}html[data-netbox-color-mode=dark] .bg-gray{background-color:#dee2e6!important}html[data-netbox-color-mode=dark] .bg-black{background-color:#000!important}html[data-netbox-color-mode=dark] .bg-white{background-color:#fff!important}html[data-netbox-color-mode=dark] .bg-body{background-color:#1b1f22!important}html[data-netbox-color-mode=dark] .bg-transparent{background-color:transparent!important}html[data-netbox-color-mode=dark] .bg-gradient{background-image:var(--bs-gradient)!important}html[data-netbox-color-mode=dark] .user-select-all{user-select:all!important}html[data-netbox-color-mode=dark] .user-select-auto{user-select:auto!important}html[data-netbox-color-mode=dark] .user-select-none{user-select:none!important}html[data-netbox-color-mode=dark] .pe-none{pointer-events:none!important}html[data-netbox-color-mode=dark] .pe-auto{pointer-events:auto!important}html[data-netbox-color-mode=dark] .rounded{border-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-0{border-radius:0!important}html[data-netbox-color-mode=dark] .rounded-1{border-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-2{border-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-3{border-radius:.75rem!important}html[data-netbox-color-mode=dark] .rounded-circle{border-radius:50%!important}html[data-netbox-color-mode=dark] .rounded-pill{border-radius:50rem!important}html[data-netbox-color-mode=dark] .rounded-top{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-end{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-bottom{border-bottom-right-radius:.375rem!important;border-bottom-left-radius:.375rem!important}html[data-netbox-color-mode=dark] .rounded-start{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}html[data-netbox-color-mode=dark] .visible{visibility:visible!important}html[data-netbox-color-mode=dark] .invisible{visibility:hidden!important}@media (min-width: 576px){html[data-netbox-color-mode=dark] .float-sm-start{float:left!important}html[data-netbox-color-mode=dark] .float-sm-end{float:right!important}html[data-netbox-color-mode=dark] .float-sm-none{float:none!important}html[data-netbox-color-mode=dark] .d-sm-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-sm-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-sm-block{display:block!important}html[data-netbox-color-mode=dark] .d-sm-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-sm-table{display:table!important}html[data-netbox-color-mode=dark] .d-sm-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-sm-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-sm-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-sm-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-sm-none{display:none!important}html[data-netbox-color-mode=dark] .flex-sm-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-sm-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-sm-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-sm-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-sm-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-sm-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-sm-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-sm-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-sm-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-sm-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-sm-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-sm-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-sm-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-sm-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-sm-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-sm-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-sm-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-sm-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-sm-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-sm-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-sm-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-sm-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-sm-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-sm-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-sm-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-sm-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-sm-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-sm-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-sm-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-sm-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-sm-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-sm-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-sm-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-sm-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-sm-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-sm-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-sm-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-sm-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-sm-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-sm-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-sm-first{order:-1!important}html[data-netbox-color-mode=dark] .order-sm-0{order:0!important}html[data-netbox-color-mode=dark] .order-sm-1{order:1!important}html[data-netbox-color-mode=dark] .order-sm-2{order:2!important}html[data-netbox-color-mode=dark] .order-sm-3{order:3!important}html[data-netbox-color-mode=dark] .order-sm-4{order:4!important}html[data-netbox-color-mode=dark] .order-sm-5{order:5!important}html[data-netbox-color-mode=dark] .order-sm-last{order:6!important}html[data-netbox-color-mode=dark] .m-sm-0{margin:0!important}html[data-netbox-color-mode=dark] .m-sm-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-sm-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-sm-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-sm-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-sm-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-sm-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-sm-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-sm-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-sm-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-sm-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-sm-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-sm-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-sm-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-sm-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-sm-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-sm-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-sm-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-sm-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-sm-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-sm-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-sm-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-sm-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-sm-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-sm-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-sm-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-sm-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-sm-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-sm-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-sm-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-sm-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-sm-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-sm-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-sm-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-sm-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-sm-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-sm-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-sm-0{padding:0!important}html[data-netbox-color-mode=dark] .p-sm-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-sm-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-sm-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-sm-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-sm-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-sm-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-sm-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-sm-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-sm-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-sm-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-sm-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-sm-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-sm-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-sm-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-sm-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-sm-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-sm-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-sm-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-sm-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-sm-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-sm-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-sm-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-sm-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-sm-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-sm-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-sm-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-sm-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-sm-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-sm-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-sm-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-sm-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-sm-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-sm-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-sm-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-sm-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-sm-center{text-align:center!important}}@media (min-width: 768px){html[data-netbox-color-mode=dark] .float-md-start{float:left!important}html[data-netbox-color-mode=dark] .float-md-end{float:right!important}html[data-netbox-color-mode=dark] .float-md-none{float:none!important}html[data-netbox-color-mode=dark] .d-md-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-md-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-md-block{display:block!important}html[data-netbox-color-mode=dark] .d-md-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-md-table{display:table!important}html[data-netbox-color-mode=dark] .d-md-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-md-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-md-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-md-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-md-none{display:none!important}html[data-netbox-color-mode=dark] .flex-md-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-md-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-md-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-md-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-md-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-md-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-md-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-md-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-md-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-md-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-md-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-md-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-md-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-md-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-md-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-md-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-md-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-md-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-md-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-md-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-md-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-md-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-md-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-md-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-md-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-md-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-md-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-md-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-md-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-md-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-md-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-md-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-md-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-md-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-md-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-md-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-md-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-md-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-md-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-md-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-md-first{order:-1!important}html[data-netbox-color-mode=dark] .order-md-0{order:0!important}html[data-netbox-color-mode=dark] .order-md-1{order:1!important}html[data-netbox-color-mode=dark] .order-md-2{order:2!important}html[data-netbox-color-mode=dark] .order-md-3{order:3!important}html[data-netbox-color-mode=dark] .order-md-4{order:4!important}html[data-netbox-color-mode=dark] .order-md-5{order:5!important}html[data-netbox-color-mode=dark] .order-md-last{order:6!important}html[data-netbox-color-mode=dark] .m-md-0{margin:0!important}html[data-netbox-color-mode=dark] .m-md-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-md-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-md-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-md-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-md-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-md-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-md-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-md-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-md-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-md-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-md-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-md-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-md-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-md-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-md-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-md-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-md-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-md-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-md-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-md-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-md-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-md-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-md-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-md-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-md-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-md-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-md-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-md-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-md-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-md-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-md-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-md-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-md-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-md-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-md-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-md-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-md-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-md-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-md-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-md-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-md-0{padding:0!important}html[data-netbox-color-mode=dark] .p-md-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-md-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-md-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-md-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-md-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-md-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-md-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-md-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-md-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-md-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-md-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-md-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-md-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-md-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-md-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-md-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-md-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-md-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-md-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-md-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-md-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-md-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-md-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-md-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-md-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-md-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-md-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-md-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-md-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-md-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-md-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-md-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-md-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-md-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-md-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-md-center{text-align:center!important}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .float-lg-start{float:left!important}html[data-netbox-color-mode=dark] .float-lg-end{float:right!important}html[data-netbox-color-mode=dark] .float-lg-none{float:none!important}html[data-netbox-color-mode=dark] .d-lg-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-lg-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-lg-block{display:block!important}html[data-netbox-color-mode=dark] .d-lg-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-lg-table{display:table!important}html[data-netbox-color-mode=dark] .d-lg-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-lg-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-lg-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-lg-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-lg-none{display:none!important}html[data-netbox-color-mode=dark] .flex-lg-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-lg-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-lg-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-lg-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-lg-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-lg-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-lg-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-lg-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-lg-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-lg-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-lg-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-lg-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-lg-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-lg-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-lg-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-lg-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-lg-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-lg-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-lg-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-lg-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-lg-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-lg-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-lg-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-lg-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-lg-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-lg-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-lg-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-lg-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-lg-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-lg-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-lg-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-lg-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-lg-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-lg-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-lg-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-lg-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-lg-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-lg-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-lg-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-lg-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-lg-first{order:-1!important}html[data-netbox-color-mode=dark] .order-lg-0{order:0!important}html[data-netbox-color-mode=dark] .order-lg-1{order:1!important}html[data-netbox-color-mode=dark] .order-lg-2{order:2!important}html[data-netbox-color-mode=dark] .order-lg-3{order:3!important}html[data-netbox-color-mode=dark] .order-lg-4{order:4!important}html[data-netbox-color-mode=dark] .order-lg-5{order:5!important}html[data-netbox-color-mode=dark] .order-lg-last{order:6!important}html[data-netbox-color-mode=dark] .m-lg-0{margin:0!important}html[data-netbox-color-mode=dark] .m-lg-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-lg-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-lg-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-lg-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-lg-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-lg-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-lg-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-lg-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-lg-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-lg-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-lg-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-lg-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-lg-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-lg-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-lg-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-lg-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-lg-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-lg-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-lg-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-lg-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-lg-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-lg-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-lg-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-lg-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-lg-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-lg-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-lg-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-lg-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-lg-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-lg-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-lg-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-lg-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-lg-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-lg-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-lg-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-lg-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-lg-0{padding:0!important}html[data-netbox-color-mode=dark] .p-lg-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-lg-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-lg-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-lg-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-lg-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-lg-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-lg-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-lg-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-lg-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-lg-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-lg-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-lg-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-lg-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-lg-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-lg-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-lg-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-lg-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-lg-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-lg-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-lg-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-lg-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-lg-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-lg-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-lg-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-lg-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-lg-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-lg-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-lg-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-lg-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-lg-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-lg-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-lg-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-lg-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-lg-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-lg-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-lg-center{text-align:center!important}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .float-xl-start{float:left!important}html[data-netbox-color-mode=dark] .float-xl-end{float:right!important}html[data-netbox-color-mode=dark] .float-xl-none{float:none!important}html[data-netbox-color-mode=dark] .d-xl-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-xl-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-xl-block{display:block!important}html[data-netbox-color-mode=dark] .d-xl-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-xl-table{display:table!important}html[data-netbox-color-mode=dark] .d-xl-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-xl-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-xl-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-xl-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-xl-none{display:none!important}html[data-netbox-color-mode=dark] .flex-xl-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-xl-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-xl-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-xl-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-xl-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-xl-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-xl-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-xl-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-xl-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-xl-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-xl-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-xl-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-xl-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-xl-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-xl-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-xl-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-xl-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-xl-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-xl-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-xl-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-xl-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-xl-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-xl-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-xl-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-xl-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-xl-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-xl-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-xl-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-xl-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-xl-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-xl-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-xl-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-xl-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-xl-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-xl-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-xl-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-xl-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-xl-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-xl-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-xl-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-xl-first{order:-1!important}html[data-netbox-color-mode=dark] .order-xl-0{order:0!important}html[data-netbox-color-mode=dark] .order-xl-1{order:1!important}html[data-netbox-color-mode=dark] .order-xl-2{order:2!important}html[data-netbox-color-mode=dark] .order-xl-3{order:3!important}html[data-netbox-color-mode=dark] .order-xl-4{order:4!important}html[data-netbox-color-mode=dark] .order-xl-5{order:5!important}html[data-netbox-color-mode=dark] .order-xl-last{order:6!important}html[data-netbox-color-mode=dark] .m-xl-0{margin:0!important}html[data-netbox-color-mode=dark] .m-xl-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-xl-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-xl-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-xl-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-xl-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-xl-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-xl-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-xl-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-xl-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-xl-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-xl-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-xl-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-xl-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-xl-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-xl-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-xl-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-xl-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-xl-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-xl-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-xl-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-xl-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-xl-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-xl-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-xl-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-xl-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-xl-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-xl-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-xl-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-xl-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-xl-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-xl-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-xl-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-xl-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-xl-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-xl-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-xl-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-xl-0{padding:0!important}html[data-netbox-color-mode=dark] .p-xl-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-xl-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-xl-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-xl-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-xl-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-xl-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-xl-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-xl-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-xl-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-xl-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-xl-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-xl-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-xl-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-xl-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-xl-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-xl-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-xl-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-xl-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-xl-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-xl-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-xl-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-xl-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-xl-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-xl-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-xl-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-xl-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-xl-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-xl-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-xl-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-xl-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-xl-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-xl-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-xl-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-xl-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-xl-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-xl-center{text-align:center!important}}@media (min-width: 1400px){html[data-netbox-color-mode=dark] .float-xxl-start{float:left!important}html[data-netbox-color-mode=dark] .float-xxl-end{float:right!important}html[data-netbox-color-mode=dark] .float-xxl-none{float:none!important}html[data-netbox-color-mode=dark] .d-xxl-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-xxl-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-xxl-block{display:block!important}html[data-netbox-color-mode=dark] .d-xxl-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-xxl-table{display:table!important}html[data-netbox-color-mode=dark] .d-xxl-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-xxl-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-xxl-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-xxl-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-xxl-none{display:none!important}html[data-netbox-color-mode=dark] .flex-xxl-fill{flex:1 1 auto!important}html[data-netbox-color-mode=dark] .flex-xxl-row{flex-direction:row!important}html[data-netbox-color-mode=dark] .flex-xxl-column{flex-direction:column!important}html[data-netbox-color-mode=dark] .flex-xxl-row-reverse{flex-direction:row-reverse!important}html[data-netbox-color-mode=dark] .flex-xxl-column-reverse{flex-direction:column-reverse!important}html[data-netbox-color-mode=dark] .flex-xxl-grow-0{flex-grow:0!important}html[data-netbox-color-mode=dark] .flex-xxl-grow-1{flex-grow:1!important}html[data-netbox-color-mode=dark] .flex-xxl-shrink-0{flex-shrink:0!important}html[data-netbox-color-mode=dark] .flex-xxl-shrink-1{flex-shrink:1!important}html[data-netbox-color-mode=dark] .flex-xxl-wrap{flex-wrap:wrap!important}html[data-netbox-color-mode=dark] .flex-xxl-nowrap{flex-wrap:nowrap!important}html[data-netbox-color-mode=dark] .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}html[data-netbox-color-mode=dark] .gap-xxl-0{gap:0!important}html[data-netbox-color-mode=dark] .gap-xxl-1{gap:.25rem!important}html[data-netbox-color-mode=dark] .gap-xxl-2{gap:.5rem!important}html[data-netbox-color-mode=dark] .gap-xxl-3{gap:1rem!important}html[data-netbox-color-mode=dark] .gap-xxl-4{gap:1.5rem!important}html[data-netbox-color-mode=dark] .gap-xxl-5{gap:3rem!important}html[data-netbox-color-mode=dark] .justify-content-xxl-start{justify-content:flex-start!important}html[data-netbox-color-mode=dark] .justify-content-xxl-end{justify-content:flex-end!important}html[data-netbox-color-mode=dark] .justify-content-xxl-center{justify-content:center!important}html[data-netbox-color-mode=dark] .justify-content-xxl-between{justify-content:space-between!important}html[data-netbox-color-mode=dark] .justify-content-xxl-around{justify-content:space-around!important}html[data-netbox-color-mode=dark] .justify-content-xxl-evenly{justify-content:space-evenly!important}html[data-netbox-color-mode=dark] .align-items-xxl-start{align-items:flex-start!important}html[data-netbox-color-mode=dark] .align-items-xxl-end{align-items:flex-end!important}html[data-netbox-color-mode=dark] .align-items-xxl-center{align-items:center!important}html[data-netbox-color-mode=dark] .align-items-xxl-baseline{align-items:baseline!important}html[data-netbox-color-mode=dark] .align-items-xxl-stretch{align-items:stretch!important}html[data-netbox-color-mode=dark] .align-content-xxl-start{align-content:flex-start!important}html[data-netbox-color-mode=dark] .align-content-xxl-end{align-content:flex-end!important}html[data-netbox-color-mode=dark] .align-content-xxl-center{align-content:center!important}html[data-netbox-color-mode=dark] .align-content-xxl-between{align-content:space-between!important}html[data-netbox-color-mode=dark] .align-content-xxl-around{align-content:space-around!important}html[data-netbox-color-mode=dark] .align-content-xxl-stretch{align-content:stretch!important}html[data-netbox-color-mode=dark] .align-self-xxl-auto{align-self:auto!important}html[data-netbox-color-mode=dark] .align-self-xxl-start{align-self:flex-start!important}html[data-netbox-color-mode=dark] .align-self-xxl-end{align-self:flex-end!important}html[data-netbox-color-mode=dark] .align-self-xxl-center{align-self:center!important}html[data-netbox-color-mode=dark] .align-self-xxl-baseline{align-self:baseline!important}html[data-netbox-color-mode=dark] .align-self-xxl-stretch{align-self:stretch!important}html[data-netbox-color-mode=dark] .order-xxl-first{order:-1!important}html[data-netbox-color-mode=dark] .order-xxl-0{order:0!important}html[data-netbox-color-mode=dark] .order-xxl-1{order:1!important}html[data-netbox-color-mode=dark] .order-xxl-2{order:2!important}html[data-netbox-color-mode=dark] .order-xxl-3{order:3!important}html[data-netbox-color-mode=dark] .order-xxl-4{order:4!important}html[data-netbox-color-mode=dark] .order-xxl-5{order:5!important}html[data-netbox-color-mode=dark] .order-xxl-last{order:6!important}html[data-netbox-color-mode=dark] .m-xxl-0{margin:0!important}html[data-netbox-color-mode=dark] .m-xxl-1{margin:.25rem!important}html[data-netbox-color-mode=dark] .m-xxl-2{margin:.5rem!important}html[data-netbox-color-mode=dark] .m-xxl-3{margin:1rem!important}html[data-netbox-color-mode=dark] .m-xxl-4{margin:1.5rem!important}html[data-netbox-color-mode=dark] .m-xxl-5{margin:3rem!important}html[data-netbox-color-mode=dark] .m-xxl-auto{margin:auto!important}html[data-netbox-color-mode=dark] .mx-xxl-0{margin-right:0!important;margin-left:0!important}html[data-netbox-color-mode=dark] .mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}html[data-netbox-color-mode=dark] .mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}html[data-netbox-color-mode=dark] .mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}html[data-netbox-color-mode=dark] .mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}html[data-netbox-color-mode=dark] .mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}html[data-netbox-color-mode=dark] .my-xxl-0{margin-top:0!important;margin-bottom:0!important}html[data-netbox-color-mode=dark] .my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}html[data-netbox-color-mode=dark] .mt-xxl-0{margin-top:0!important}html[data-netbox-color-mode=dark] .mt-xxl-1{margin-top:.25rem!important}html[data-netbox-color-mode=dark] .mt-xxl-2{margin-top:.5rem!important}html[data-netbox-color-mode=dark] .mt-xxl-3{margin-top:1rem!important}html[data-netbox-color-mode=dark] .mt-xxl-4{margin-top:1.5rem!important}html[data-netbox-color-mode=dark] .mt-xxl-5{margin-top:3rem!important}html[data-netbox-color-mode=dark] .mt-xxl-auto{margin-top:auto!important}html[data-netbox-color-mode=dark] .me-xxl-0{margin-right:0!important}html[data-netbox-color-mode=dark] .me-xxl-1{margin-right:.25rem!important}html[data-netbox-color-mode=dark] .me-xxl-2{margin-right:.5rem!important}html[data-netbox-color-mode=dark] .me-xxl-3{margin-right:1rem!important}html[data-netbox-color-mode=dark] .me-xxl-4{margin-right:1.5rem!important}html[data-netbox-color-mode=dark] .me-xxl-5{margin-right:3rem!important}html[data-netbox-color-mode=dark] .me-xxl-auto{margin-right:auto!important}html[data-netbox-color-mode=dark] .mb-xxl-0{margin-bottom:0!important}html[data-netbox-color-mode=dark] .mb-xxl-1{margin-bottom:.25rem!important}html[data-netbox-color-mode=dark] .mb-xxl-2{margin-bottom:.5rem!important}html[data-netbox-color-mode=dark] .mb-xxl-3{margin-bottom:1rem!important}html[data-netbox-color-mode=dark] .mb-xxl-4{margin-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .mb-xxl-5{margin-bottom:3rem!important}html[data-netbox-color-mode=dark] .mb-xxl-auto{margin-bottom:auto!important}html[data-netbox-color-mode=dark] .ms-xxl-0{margin-left:0!important}html[data-netbox-color-mode=dark] .ms-xxl-1{margin-left:.25rem!important}html[data-netbox-color-mode=dark] .ms-xxl-2{margin-left:.5rem!important}html[data-netbox-color-mode=dark] .ms-xxl-3{margin-left:1rem!important}html[data-netbox-color-mode=dark] .ms-xxl-4{margin-left:1.5rem!important}html[data-netbox-color-mode=dark] .ms-xxl-5{margin-left:3rem!important}html[data-netbox-color-mode=dark] .ms-xxl-auto{margin-left:auto!important}html[data-netbox-color-mode=dark] .p-xxl-0{padding:0!important}html[data-netbox-color-mode=dark] .p-xxl-1{padding:.25rem!important}html[data-netbox-color-mode=dark] .p-xxl-2{padding:.5rem!important}html[data-netbox-color-mode=dark] .p-xxl-3{padding:1rem!important}html[data-netbox-color-mode=dark] .p-xxl-4{padding:1.5rem!important}html[data-netbox-color-mode=dark] .p-xxl-5{padding:3rem!important}html[data-netbox-color-mode=dark] .px-xxl-0{padding-right:0!important;padding-left:0!important}html[data-netbox-color-mode=dark] .px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] .px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}html[data-netbox-color-mode=dark] .px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}html[data-netbox-color-mode=dark] .px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}html[data-netbox-color-mode=dark] .py-xxl-0{padding-top:0!important;padding-bottom:0!important}html[data-netbox-color-mode=dark] .py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .pt-xxl-0{padding-top:0!important}html[data-netbox-color-mode=dark] .pt-xxl-1{padding-top:.25rem!important}html[data-netbox-color-mode=dark] .pt-xxl-2{padding-top:.5rem!important}html[data-netbox-color-mode=dark] .pt-xxl-3{padding-top:1rem!important}html[data-netbox-color-mode=dark] .pt-xxl-4{padding-top:1.5rem!important}html[data-netbox-color-mode=dark] .pt-xxl-5{padding-top:3rem!important}html[data-netbox-color-mode=dark] .pe-xxl-0{padding-right:0!important}html[data-netbox-color-mode=dark] .pe-xxl-1{padding-right:.25rem!important}html[data-netbox-color-mode=dark] .pe-xxl-2{padding-right:.5rem!important}html[data-netbox-color-mode=dark] .pe-xxl-3{padding-right:1rem!important}html[data-netbox-color-mode=dark] .pe-xxl-4{padding-right:1.5rem!important}html[data-netbox-color-mode=dark] .pe-xxl-5{padding-right:3rem!important}html[data-netbox-color-mode=dark] .pb-xxl-0{padding-bottom:0!important}html[data-netbox-color-mode=dark] .pb-xxl-1{padding-bottom:.25rem!important}html[data-netbox-color-mode=dark] .pb-xxl-2{padding-bottom:.5rem!important}html[data-netbox-color-mode=dark] .pb-xxl-3{padding-bottom:1rem!important}html[data-netbox-color-mode=dark] .pb-xxl-4{padding-bottom:1.5rem!important}html[data-netbox-color-mode=dark] .pb-xxl-5{padding-bottom:3rem!important}html[data-netbox-color-mode=dark] .ps-xxl-0{padding-left:0!important}html[data-netbox-color-mode=dark] .ps-xxl-1{padding-left:.25rem!important}html[data-netbox-color-mode=dark] .ps-xxl-2{padding-left:.5rem!important}html[data-netbox-color-mode=dark] .ps-xxl-3{padding-left:1rem!important}html[data-netbox-color-mode=dark] .ps-xxl-4{padding-left:1.5rem!important}html[data-netbox-color-mode=dark] .ps-xxl-5{padding-left:3rem!important}html[data-netbox-color-mode=dark] .text-xxl-start{text-align:left!important}html[data-netbox-color-mode=dark] .text-xxl-end{text-align:right!important}html[data-netbox-color-mode=dark] .text-xxl-center{text-align:center!important}}@media (min-width: 1200px){html[data-netbox-color-mode=dark] .fs-1{font-size:2.5rem!important}html[data-netbox-color-mode=dark] .fs-2{font-size:2rem!important}html[data-netbox-color-mode=dark] .fs-3{font-size:1.75rem!important}html[data-netbox-color-mode=dark] .fs-4{font-size:1.5rem!important}}@media print{html[data-netbox-color-mode=dark] .d-print-inline{display:inline!important}html[data-netbox-color-mode=dark] .d-print-inline-block{display:inline-block!important}html[data-netbox-color-mode=dark] .d-print-block{display:block!important}html[data-netbox-color-mode=dark] .d-print-grid{display:grid!important}html[data-netbox-color-mode=dark] .d-print-table{display:table!important}html[data-netbox-color-mode=dark] .d-print-table-row{display:table-row!important}html[data-netbox-color-mode=dark] .d-print-table-cell{display:table-cell!important}html[data-netbox-color-mode=dark] .d-print-flex{display:flex!important}html[data-netbox-color-mode=dark] .d-print-inline-flex{display:inline-flex!important}html[data-netbox-color-mode=dark] .d-print-none{display:none!important}}html[data-netbox-color-mode=dark] :root{--nbx-select-content-bg: #212529;--nbx-select-option-selected-bg: #dee2e6;--nbx-select-option-hover-bg: #0d6efd;--nbx-select-option-hover-color: #fff;--nbx-select-placeholder-color: #adb5bd;--nbx-select-value-color: #fff}html[data-netbox-color-mode=dark] :root[data-netbox-color-mode=dark]{--nbx-select-content-bg: #212529;--nbx-select-option-selected-bg: #adb5bd;--nbx-select-option-hover-bg: #9ec5fe;--nbx-select-option-hover-color: #000;--nbx-select-placeholder-color: #495057;--nbx-select-value-color: #000}html[data-netbox-color-mode=dark] .ss-main{position:relative;display:inline-block;user-select:none;color:#f8f9fa;width:100%}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected{display:flex;cursor:pointer;width:100%;height:calc(1.5em + (.75rem + 2px));padding:.75rem;border:1px solid #495057;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-disabled{background-color:#495057;cursor:not-allowed}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder{display:flex;flex:1 1 100%;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;width:calc(100% - 30px);line-height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder *{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder .ss-disabled{color:#adb5bd}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-deselect{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem;font-weight:bold}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-deselect.ss-hide{display:none}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span{border:solid #f8f9fa;border-width:0 2px 2px 0;display:inline-block;padding:3px;transition:transform .2s,margin .2s}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span.arrow-up{transform:rotate(-135deg);margin:3px 0 0}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span.arrow-down{transform:rotate(45deg);margin:-3px 0 0}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected{display:flex;flex-direction:row;cursor:pointer;min-height:calc(1.5em + (.75rem + 2px));width:100%;padding:0 0 0 3px;border:1px solid #495057;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled{background-color:#495057;cursor:not-allowed}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled{color:#f8f9fa}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values{display:flex;flex-wrap:wrap;justify-content:flex-start;flex:1 1 100%;width:calc(100% - 30px)}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-disabled{display:flex;padding:4px 5px;margin:2px 0;line-height:1em;align-items:center;width:100%;color:#adb5bd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value{display:flex;user-select:none;align-items:center;font-size:12px;padding:3px 5px;margin:3px 5px 3px 0;color:#fff;background-color:#6ea8fe;border-radius:.375rem;animation-name:scaleIn;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value.ss-out{animation-name:scaleOut;animation-duration:.2s;animation-timing-function:ease-out}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete{margin:0 0 0 5px;cursor:pointer}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add{display:flex;flex:0 1 3px;margin:9px 12px 0 5px}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus{display:flex;justify-content:center;align-items:center;background:#f8f9fa;position:relative;height:10px;width:2px;transition:transform .2s}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus:after{background:#f8f9fa;content:"";position:absolute;height:2px;width:10px;left:-4px;top:4px}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross{transform:rotate(45deg)}html[data-netbox-color-mode=dark] .ss-content{position:absolute;width:100%;margin:-1px 0 0;box-sizing:border-box;border:solid 1px #495057;z-index:1010;background-color:#fff;transform-origin:center top;transition:transform .2s,opacity .2s;opacity:0;transform:scaleY(0)}html[data-netbox-color-mode=dark] .ss-content.ss-open{display:block;opacity:1;transform:scaleY(1)}html[data-netbox-color-mode=dark] .ss-content .ss-search{display:flex;flex-direction:row;padding:.75rem}html[data-netbox-color-mode=dark] .ss-content .ss-search.ss-hide{height:0px;opacity:0;padding:0;margin:0}html[data-netbox-color-mode=dark] .ss-content .ss-search.ss-hide input{height:0px;opacity:0;padding:0;margin:0}html[data-netbox-color-mode=dark] .ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;height:30px;padding:.75rem;margin:0;border:1px solid #495057;border-radius:.375rem;background-color:#fff;outline:0;text-align:left;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-appearance:textfield}html[data-netbox-color-mode=dark] .ss-content .ss-search input::placeholder{color:#495057;vertical-align:middle}html[data-netbox-color-mode=dark] .ss-content .ss-search input:focus{box-shadow:0 0 5px #6ea8fe}html[data-netbox-color-mode=dark] .ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;font-size:22px;font-weight:bold;flex:0 0 30px;height:30px;margin:0 0 0 8px;border:1px solid #495057;border-radius:.375rem;box-sizing:border-box}html[data-netbox-color-mode=dark] .ss-content .ss-addable{padding-top:0}html[data-netbox-color-mode=dark] .ss-content .ss-list{max-height:200px;overflow-x:hidden;overflow-y:auto;text-align:left}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:6px 10px;font-weight:bold}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup .ss-option{padding:6px 6px 6px 25px}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup-label-selectable{cursor:pointer}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup-label-selectable:hover{color:#fff;background-color:#6ea8fe}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option{padding:6px 10px;cursor:pointer;user-select:none}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option *{display:inline-block}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-highlighted{color:#fff;background-color:#6ea8fe}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;color:#adb5bd;background-color:#fff}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected{color:#f8f9fa;background-color:#6ea8fe1a}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-hide{display:none}html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option .ss-search-highlight{background-color:#ffc107}html[data-netbox-color-mode=dark] .ss-main{color:#f8f9fa}html[data-netbox-color-mode=dark] .ss-main.is-invalid .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main.is-invalid .ss-multi-selected{border-color:#dc3545}html[data-netbox-color-mode=dark] .ss-main.is-valid .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main.is-valid .ss-multi-selected{border-color:#198754}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected{padding:.375rem .75rem;background-color:#212529;border:1px solid #495057}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected[disabled],html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected[disabled]{color:#adb5bd;background-color:#495057}html[data-netbox-color-mode=dark] .ss-main div.ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main div.ss-single-selected span.placeholder .ss-disabled{color:var(--nbx-select-placeholder-color)}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.ss-arrow span.arrow-down,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.ss-arrow span.arrow-up{border-color:currentColor;color:#ced4da}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder .depth{display:none}html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.placeholder>*,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.placeholder{line-height:1.5}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected{align-items:center;padding-right:.75rem;padding-left:.75rem}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-disabled{padding:4px 0}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value{color:var(--nbx-select-value-color);border-radius:.375rem}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value .depth{display:none}html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add{margin:0 .75rem}html[data-netbox-color-mode=dark] .ss-main .ss-content{background-color:var(--nbx-select-content-bg);border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-option-selected{color:#fff;background-color:var(--nbx-select-option-selected-bg)}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option:hover{color:var(--nbx-select-option-hover-color);background-color:var(--nbx-select-option-hover-bg)}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-disabled{background-color:unset}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-disabled:hover{color:#adb5bd}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option .depth{opacity:.3}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar{right:0;width:4px}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar:hover{opacity:.8}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar-track{background:transparent}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar-thumb{right:0;width:2px;background-color:var(--nbx-sidebar-scroll)}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search{padding-right:.5rem}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search button{margin-left:.75rem}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search input[type=search]{color:#f8f9fa;background-color:#212529;border:1px solid #495057}html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search input[type=search]:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html[data-netbox-color-mode=dark] .flatpickr-calendar{color:#fff;background:#343a40;border-radius:.375rem;box-shadow:1px 0 #495057,-1px 0 #495057,0 1px #495057,0 -1px #495057,0 3px 13px #00000014}html[data-netbox-color-mode=dark] .flatpickr-calendar.arrowTop:before,html[data-netbox-color-mode=dark] .flatpickr-calendar.arrowTop:after{border-bottom-color:#343a40}html[data-netbox-color-mode=dark] .flatpickr-calendar span.flatpickr-weekday{color:#dee2e6}html[data-netbox-color-mode=dark] .flatpickr-calendar .numInputWrapper span.arrowUp:after{border-bottom-color:#f8f9fa}html[data-netbox-color-mode=dark] .flatpickr-calendar .numInputWrapper span.arrowDown:after{border-top-color:#f8f9fa}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-month{color:#fff;fill:#fff}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-next-month,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-prev-month{color:#fff;fill:#fff}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg{fill:#ea868f}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-months .flatpickr-current-month select{background:#343a40}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day{color:#fff}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected.inRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange.inRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange.inRange,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected:focus,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange:focus,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange:focus,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.selected.nextMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.startRange.nextMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.endRange.nextMonthDay{color:#000;background:#6ea8fe;border-color:#6ea8fe}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day:hover{color:#000;background:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.flatpickr-disabled,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.nextMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed.prevMonthDay,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed.nextMonthDay{color:#adb5bd}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.prevMonthDay:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.nextMonthDay:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed.prevMonthDay:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-day.notAllowed.nextMonthDay:hover{color:#000;background:#adb5bd;border-color:#adb5bd}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-time input{color:#f8f9fa;background:#343a40}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-time input:hover,html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-time input:active{background:#343a40}html[data-netbox-color-mode=dark] .flatpickr-calendar .flatpickr-time .flatpickr-time-separator{color:#adb5bd}html[data-netbox-color-mode=dark] .flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{border-top:1px solid #495057}html[data-netbox-color-mode=dark] .sidenav{position:fixed;top:0;bottom:0;left:0;z-index:1050;display:block;width:100%;max-width:3rem;padding-top:0;padding-right:0;padding-left:0;background-color:var(--nbx-sidebar-bg);border-right:1px solid #495057;transition:all .1s ease-in-out}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] .sidenav{transform:translate(-3rem)}html[data-netbox-color-mode=dark] .sidenav+.content-container[class]{margin-left:0}html[data-netbox-color-mode=dark] .sidenav .profile-button-container[class]{display:block}}html[data-netbox-color-mode=dark] .sidenav .profile-button-container{display:none;padding:.5rem 1rem}html[data-netbox-color-mode=dark] .sidenav+.content-container{margin-left:3rem;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .sidenav-brand{margin-right:0;transition:opacity .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .sidenav-brand-icon{transition:opacity .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .sidenav-inner{padding-right:1.5rem;padding-left:1.5rem}@media (min-width: 768px){html[data-netbox-color-mode=dark] .sidenav .sidenav-inner{padding-right:0;padding-left:0}}html[data-netbox-color-mode=dark] .sidenav .sidenav-brand-img,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand>img{max-width:100%;max-height:calc(16rem - 1rem)}html[data-netbox-color-mode=dark] .sidenav .navbar-heading{padding-top:.5rem;padding-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}html[data-netbox-color-mode=dark] .sidenav .sidenav-header{position:relative;display:flex;align-items:center;justify-content:space-between;height:78px;padding:1rem;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .sidenav-toggle{position:absolute;display:inline-block;opacity:0;transition:opacity 10ms ease-in-out;transition-delay:.1s}html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse{display:flex;flex:1;flex-direction:column;align-items:stretch;padding-right:1.5rem;padding-left:1.5rem;margin-right:-1.5rem;margin-left:-1.5rem}html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse>*{min-width:100%}@media (min-width: 768px){html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse{margin-right:0;margin-left:0}}html[data-netbox-color-mode=dark] .sidenav .nav-group-header{padding:.25rem 1rem;margin-top:.5rem;margin-bottom:0}html[data-netbox-color-mode=dark] .sidenav .nav .nav-item{display:flex;align-items:center;justify-content:space-between;width:100%}html[data-netbox-color-mode=dark] .sidenav .nav .nav-item.no-buttons{padding-right:5rem}html[data-netbox-color-mode=dark] .sidenav .collapse .nav .nav-item .nav-link{width:100%;padding:.25rem .25rem .25rem 1rem;margin-top:0;margin-bottom:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}html[data-netbox-color-mode=dark] .sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon{width:1rem;text-align:center;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]{width:unset;height:100%;padding-left:.5rem;font-weight:700;color:var(--nbx-sidenav-parent-color)}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after{display:inline-block;margin-left:auto;font-family:"Material Design Icons";font-style:normal;font-weight:700;font-variant:normal;color:#ced4da;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\f0142";transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after{color:#000}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after{color:#6ea8fe;transform:rotate(90deg)}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text{padding-left:.25rem;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] .sidenav .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item{margin-top:2px}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item.disabled{cursor:not-allowed;opacity:.8}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link{position:relative;display:flex;align-items:center;width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--nbx-sidenav-link-color);white-space:nowrap;transition-duration:0ms}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link.active{background-color:var(--nbx-sidebar-link-active-bg)}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link:hover:not(.active){color:var(--nbx-body-color);background-color:var(--nbx-sidebar-link-hover-bg)}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link>i{min-width:2rem;font-size:calc(45px / 2);text-align:center}html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-group-label{display:block;font-size:.75rem;font-weight:700;color:var(--nbx-sidenav-group-color);text-transform:uppercase;white-space:nowrap}html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon{color:var(--nbx-sidenav-pin-color);transform:rotate(90deg)}@media (min-width: 1200px){html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav+.content-container{margin-left:16rem}}html[data-netbox-color-mode=dark] .g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon{transform:rotate(0)}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav{max-width:16rem}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .navbar-heading,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .navbar-heading{display:block}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand{opacity:1;transform:translate(0)}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand-icon{position:absolute;opacity:0}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav{transform:translate(0)}}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-header,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-header{padding:.5rem}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-brand{position:absolute;opacity:0}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-brand-icon{opacity:1}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-toggle{opacity:0;position:absolute;transition:unset;transition-delay:0ms}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after{content:""}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .nav-item .collapse,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .nav-item .collapse{display:none}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .nav-link-text,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .nav-link-text{opacity:0}html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{margin-right:0;margin-left:0;border-radius:unset}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand{display:block}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .collapse{height:auto;transition:all .1s ease-in-out}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text{opacity:1}html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon{opacity:0}@media (min-width: 992px){html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-toggle{position:relative;opacity:1}}html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical{right:0;width:6px;background-color:transparent}html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical .simplebar-scrollbar{transition:none}html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical .simplebar-scrollbar:before{right:0;width:3px;background:var(--nbx-sidebar-scroll);border-radius:.375rem}html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before{width:5px}html[data-netbox-color-mode=dark] body{color:var(--nbx-body-color);background-color:var(--nbx-body-bg);font-size:.875rem}html[data-netbox-color-mode=dark] pre{white-space:pre}html[data-netbox-color-mode=dark] small,html[data-netbox-color-mode=dark] .small{font-size:smaller!important}html[data-netbox-color-mode=dark] a[type=button]{-webkit-appearance:unset!important}html[data-netbox-color-mode=dark] *[data-href]{cursor:pointer}html[data-netbox-color-mode=dark] .form-control:not([type=file]){font-size:inherit}html[data-netbox-color-mode=dark] .badge{font-size:.75rem}html[data-netbox-color-mode=dark] .text-xs{font-size:.75rem!important;line-height:1.25!important}html[data-netbox-color-mode=dark] .border-input{border:1px solid #495057!important}html[data-netbox-color-mode=dark] .ws-nowrap{white-space:nowrap!important}html[data-netbox-color-mode=dark] table tr .vertical-align,html[data-netbox-color-mode=dark] table td .vertical-align{vertical-align:middle}@media print{html[data-netbox-color-mode=dark] .noprint{display:none!important;visibility:hidden!important}}html[data-netbox-color-mode=dark] .printonly{display:none!important;visibility:hidden!important}@media print{html[data-netbox-color-mode=dark] .printonly{display:block!important;visibility:visible!important}}html[data-netbox-color-mode=dark] :root{--nbx-sidebar-bg: #e9ecef;--nbx-sidebar-scroll: #adb5bd;--nbx-sidebar-link-hover-bg: rgba(108, 117, 125, .15);--nbx-sidebar-link-active-bg: #9cc8f8;--nbx-sidebar-title-color: #ced4da;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(0, 0, 0, .25);--nbx-breadcrumb-bg: #dee2e6;--nbx-body-bg: #fff;--nbx-body-color: #343a40;--nbx-pre-bg: #f8f9fa;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(25, 135, 84, .4);--nbx-change-removed: rgba(220, 53, 69, .4);--nbx-cable-node-bg: #f8f9fa;--nbx-cable-node-border-color: #e9ecef;--nbx-cable-termination-bg: #e9ecef;--nbx-cable-termination-border-color: #dee2e6;--nbx-search-filter-border-left-color: #dee2e6;--nbx-color-mode-toggle-color: #6ea8fe;--nbx-sidenav-link-color: #343a40;--nbx-sidenav-pin-color: #fd7e14;--nbx-sidenav-parent-color: #343a40;--nbx-sidenav-group-color: #343a40}html[data-netbox-color-mode=dark] :root[data-netbox-color-mode=dark]{--nbx-sidebar-bg: #212529;--nbx-sidebar-scroll: #495057;--nbx-sidebar-link-active-bg: rgba(110, 168, 254, .25);--nbx-sidebar-link-hover-bg: rgba(173, 181, 189, .15);--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(255, 255, 255, .05);--nbx-breadcrumb-bg: #343a40;--nbx-body-bg: #1b1f22;--nbx-body-color: #f8f9fa;--nbx-pre-bg: #495057;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(117, 183, 152, .4);--nbx-change-removed: rgba(234, 134, 143, .4);--nbx-cable-node-bg: #495057;--nbx-cable-node-border-color: #6c757d;--nbx-cable-termination-bg: #343a40;--nbx-cable-termination-border-color: #495057;--nbx-search-filter-border-left-color: #6c757d;--nbx-color-mode-toggle-color: #ffda6a;--nbx-sidenav-link-color: #e9ecef;--nbx-sidenav-pin-color: #ffc107;--nbx-sidenav-parent-color: #e9ecef;--nbx-sidenav-group-color: #6c757d}html[data-netbox-color-mode=dark] .bg-primary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23162233'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-primary{color:#6ea8fe}html[data-netbox-color-mode=dark] .btn.btn-ghost-primary:hover{background-color:#6ea8fe1f}html[data-netbox-color-mode=dark] .alert.alert-primary a:not(.btn),html[data-netbox-color-mode=dark] .table-primary a:not(.btn){font-weight:700;color:#162233}html[data-netbox-color-mode=dark] .alert.alert-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-primary .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-primary a:not(.btn){font-weight:700;color:#162233}html[data-netbox-color-mode=dark] .badge.bg-primary,html[data-netbox-color-mode=dark] .toast.bg-primary,html[data-netbox-color-mode=dark] .toast-header.bg-primary,html[data-netbox-color-mode=dark] .progress-bar.bg-primary{color:#000}html[data-netbox-color-mode=dark] .bg-secondary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23232426'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-secondary{color:#adb5bd}html[data-netbox-color-mode=dark] .btn.btn-ghost-secondary:hover{background-color:#adb5bd1f}html[data-netbox-color-mode=dark] .alert.alert-secondary a:not(.btn),html[data-netbox-color-mode=dark] .table-secondary a:not(.btn){font-weight:700;color:#232426}html[data-netbox-color-mode=dark] .alert.alert-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-secondary .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-secondary a:not(.btn){font-weight:700;color:#232426}html[data-netbox-color-mode=dark] .badge.bg-secondary,html[data-netbox-color-mode=dark] .toast.bg-secondary,html[data-netbox-color-mode=dark] .toast-header.bg-secondary,html[data-netbox-color-mode=dark] .progress-bar.bg-secondary{color:#000}html[data-netbox-color-mode=dark] .bg-success button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2317251e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-success{color:#75b798}html[data-netbox-color-mode=dark] .btn.btn-ghost-success:hover{background-color:#75b7981f}html[data-netbox-color-mode=dark] .alert.alert-success a:not(.btn),html[data-netbox-color-mode=dark] .table-success a:not(.btn){font-weight:700;color:#17251e}html[data-netbox-color-mode=dark] .alert.alert-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-success .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-success a:not(.btn){font-weight:700;color:#17251e}html[data-netbox-color-mode=dark] .badge.bg-success,html[data-netbox-color-mode=dark] .toast.bg-success,html[data-netbox-color-mode=dark] .toast-header.bg-success,html[data-netbox-color-mode=dark] .progress-bar.bg-success{color:#000}html[data-netbox-color-mode=dark] .bg-info button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23162d31'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-info{color:#6edff6}html[data-netbox-color-mode=dark] .btn.btn-ghost-info:hover{background-color:#6edff61f}html[data-netbox-color-mode=dark] .alert.alert-info a:not(.btn),html[data-netbox-color-mode=dark] .table-info a:not(.btn){font-weight:700;color:#162d31}html[data-netbox-color-mode=dark] .alert.alert-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-info .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-info a:not(.btn){font-weight:700;color:#162d31}html[data-netbox-color-mode=dark] .badge.bg-info,html[data-netbox-color-mode=dark] .toast.bg-info,html[data-netbox-color-mode=dark] .toast-header.bg-info,html[data-netbox-color-mode=dark] .progress-bar.bg-info{color:#000}html[data-netbox-color-mode=dark] .bg-warning button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23332c15'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-warning{color:#ffda6a}html[data-netbox-color-mode=dark] .btn.btn-ghost-warning:hover{background-color:#ffda6a1f}html[data-netbox-color-mode=dark] .alert.alert-warning a:not(.btn),html[data-netbox-color-mode=dark] .table-warning a:not(.btn){font-weight:700;color:#332c15}html[data-netbox-color-mode=dark] .alert.alert-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-warning .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-warning a:not(.btn){font-weight:700;color:#332c15}html[data-netbox-color-mode=dark] .badge.bg-warning,html[data-netbox-color-mode=dark] .toast.bg-warning,html[data-netbox-color-mode=dark] .toast-header.bg-warning,html[data-netbox-color-mode=dark] .progress-bar.bg-warning{color:#000}html[data-netbox-color-mode=dark] .bg-danger button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232f1b1d'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-danger{color:#ea868f}html[data-netbox-color-mode=dark] .btn.btn-ghost-danger:hover{background-color:#ea868f1f}html[data-netbox-color-mode=dark] .alert.alert-danger a:not(.btn),html[data-netbox-color-mode=dark] .table-danger a:not(.btn){font-weight:700;color:#2f1b1d}html[data-netbox-color-mode=dark] .alert.alert-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-danger .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-danger a:not(.btn){font-weight:700;color:#2f1b1d}html[data-netbox-color-mode=dark] .badge.bg-danger,html[data-netbox-color-mode=dark] .toast.bg-danger,html[data-netbox-color-mode=dark] .toast-header.bg-danger,html[data-netbox-color-mode=dark] .progress-bar.bg-danger{color:#000}html[data-netbox-color-mode=dark] .bg-light button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232c2d2e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-light{color:#dee2e6}html[data-netbox-color-mode=dark] .btn.btn-ghost-light:hover{background-color:#dee2e61f}html[data-netbox-color-mode=dark] .alert.alert-light a:not(.btn),html[data-netbox-color-mode=dark] .table-light a:not(.btn){font-weight:700;color:#2c2d2e}html[data-netbox-color-mode=dark] .alert.alert-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-light .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-light a:not(.btn){font-weight:700;color:#2c2d2e}html[data-netbox-color-mode=dark] .badge.bg-light,html[data-netbox-color-mode=dark] .toast.bg-light,html[data-netbox-color-mode=dark] .toast-header.bg-light,html[data-netbox-color-mode=dark] .progress-bar.bg-light{color:#000}html[data-netbox-color-mode=dark] .bg-dark button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23232426'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-dark{color:#adb5bd}html[data-netbox-color-mode=dark] .btn.btn-ghost-dark:hover{background-color:#adb5bd1f}html[data-netbox-color-mode=dark] .alert.alert-dark a:not(.btn),html[data-netbox-color-mode=dark] .table-dark a:not(.btn){font-weight:700;color:#232426}html[data-netbox-color-mode=dark] .alert.alert-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-dark .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-dark a:not(.btn){font-weight:700;color:#232426}html[data-netbox-color-mode=dark] .badge.bg-dark,html[data-netbox-color-mode=dark] .toast.bg-dark,html[data-netbox-color-mode=dark] .toast-header.bg-dark,html[data-netbox-color-mode=dark] .progress-bar.bg-dark{color:#000}html[data-netbox-color-mode=dark] .bg-blue button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23162233'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-blue{color:#6ea8fe}html[data-netbox-color-mode=dark] .btn.btn-ghost-blue:hover{background-color:#6ea8fe1f}html[data-netbox-color-mode=dark] .alert.alert-blue a:not(.btn),html[data-netbox-color-mode=dark] .table-blue a:not(.btn){font-weight:700;color:#162233}html[data-netbox-color-mode=dark] .alert.alert-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-blue .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-blue a:not(.btn){font-weight:700;color:#162233}html[data-netbox-color-mode=dark] .badge.bg-blue,html[data-netbox-color-mode=dark] .toast.bg-blue,html[data-netbox-color-mode=dark] .toast-header.bg-blue,html[data-netbox-color-mode=dark] .progress-bar.bg-blue{color:#000}html[data-netbox-color-mode=dark] .bg-indigo button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23211631'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-indigo{color:#a370f7}html[data-netbox-color-mode=dark] .btn.btn-ghost-indigo:hover{background-color:#a370f71f}html[data-netbox-color-mode=dark] .alert.alert-indigo a:not(.btn),html[data-netbox-color-mode=dark] .table-indigo a:not(.btn){font-weight:700;color:#211631}html[data-netbox-color-mode=dark] .alert.alert-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-indigo .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-indigo a:not(.btn){font-weight:700;color:#211631}html[data-netbox-color-mode=dark] .badge.bg-indigo,html[data-netbox-color-mode=dark] .toast.bg-indigo,html[data-netbox-color-mode=dark] .toast-header.bg-indigo,html[data-netbox-color-mode=dark] .progress-bar.bg-indigo{color:#000}html[data-netbox-color-mode=dark] .bg-purple button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23221c2c'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-purple{color:#a98eda}html[data-netbox-color-mode=dark] .btn.btn-ghost-purple:hover{background-color:#a98eda1f}html[data-netbox-color-mode=dark] .alert.alert-purple a:not(.btn),html[data-netbox-color-mode=dark] .table-purple a:not(.btn){font-weight:700;color:#221c2c}html[data-netbox-color-mode=dark] .alert.alert-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-purple .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-purple a:not(.btn){font-weight:700;color:#221c2c}html[data-netbox-color-mode=dark] .badge.bg-purple,html[data-netbox-color-mode=dark] .toast.bg-purple,html[data-netbox-color-mode=dark] .toast-header.bg-purple,html[data-netbox-color-mode=dark] .progress-bar.bg-purple{color:#000}html[data-netbox-color-mode=dark] .bg-pink button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232e1b24'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-pink{color:#e685b5}html[data-netbox-color-mode=dark] .btn.btn-ghost-pink:hover{background-color:#e685b51f}html[data-netbox-color-mode=dark] .alert.alert-pink a:not(.btn),html[data-netbox-color-mode=dark] .table-pink a:not(.btn){font-weight:700;color:#2e1b24}html[data-netbox-color-mode=dark] .alert.alert-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-pink .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-pink a:not(.btn){font-weight:700;color:#2e1b24}html[data-netbox-color-mode=dark] .badge.bg-pink,html[data-netbox-color-mode=dark] .toast.bg-pink,html[data-netbox-color-mode=dark] .toast-header.bg-pink,html[data-netbox-color-mode=dark] .progress-bar.bg-pink{color:#000}html[data-netbox-color-mode=dark] .bg-red button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232f1b1d'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-red{color:#ea868f}html[data-netbox-color-mode=dark] .btn.btn-ghost-red:hover{background-color:#ea868f1f}html[data-netbox-color-mode=dark] .alert.alert-red a:not(.btn),html[data-netbox-color-mode=dark] .table-red a:not(.btn){font-weight:700;color:#2f1b1d}html[data-netbox-color-mode=dark] .alert.alert-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-red .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-red a:not(.btn){font-weight:700;color:#2f1b1d}html[data-netbox-color-mode=dark] .badge.bg-red,html[data-netbox-color-mode=dark] .toast.bg-red,html[data-netbox-color-mode=dark] .toast-header.bg-red,html[data-netbox-color-mode=dark] .progress-bar.bg-red{color:#000}html[data-netbox-color-mode=dark] .bg-orange button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23332417'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-orange{color:#feb272}html[data-netbox-color-mode=dark] .btn.btn-ghost-orange:hover{background-color:#feb2721f}html[data-netbox-color-mode=dark] .alert.alert-orange a:not(.btn),html[data-netbox-color-mode=dark] .table-orange a:not(.btn){font-weight:700;color:#332417}html[data-netbox-color-mode=dark] .alert.alert-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-orange .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-orange a:not(.btn){font-weight:700;color:#332417}html[data-netbox-color-mode=dark] .badge.bg-orange,html[data-netbox-color-mode=dark] .toast.bg-orange,html[data-netbox-color-mode=dark] .toast-header.bg-orange,html[data-netbox-color-mode=dark] .progress-bar.bg-orange{color:#000}html[data-netbox-color-mode=dark] .bg-yellow button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23332c15'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-yellow{color:#ffda6a}html[data-netbox-color-mode=dark] .btn.btn-ghost-yellow:hover{background-color:#ffda6a1f}html[data-netbox-color-mode=dark] .alert.alert-yellow a:not(.btn),html[data-netbox-color-mode=dark] .table-yellow a:not(.btn){font-weight:700;color:#332c15}html[data-netbox-color-mode=dark] .alert.alert-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-yellow .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-yellow a:not(.btn){font-weight:700;color:#332c15}html[data-netbox-color-mode=dark] .badge.bg-yellow,html[data-netbox-color-mode=dark] .toast.bg-yellow,html[data-netbox-color-mode=dark] .toast-header.bg-yellow,html[data-netbox-color-mode=dark] .progress-bar.bg-yellow{color:#000}html[data-netbox-color-mode=dark] .bg-green button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2317251e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-green{color:#75b798}html[data-netbox-color-mode=dark] .btn.btn-ghost-green:hover{background-color:#75b7981f}html[data-netbox-color-mode=dark] .alert.alert-green a:not(.btn),html[data-netbox-color-mode=dark] .table-green a:not(.btn){font-weight:700;color:#17251e}html[data-netbox-color-mode=dark] .alert.alert-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-green .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-green a:not(.btn){font-weight:700;color:#17251e}html[data-netbox-color-mode=dark] .badge.bg-green,html[data-netbox-color-mode=dark] .toast.bg-green,html[data-netbox-color-mode=dark] .toast-header.bg-green,html[data-netbox-color-mode=dark] .progress-bar.bg-green{color:#000}html[data-netbox-color-mode=dark] .bg-teal button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23182d27'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-teal{color:#79dfc1}html[data-netbox-color-mode=dark] .btn.btn-ghost-teal:hover{background-color:#79dfc11f}html[data-netbox-color-mode=dark] .alert.alert-teal a:not(.btn),html[data-netbox-color-mode=dark] .table-teal a:not(.btn){font-weight:700;color:#182d27}html[data-netbox-color-mode=dark] .alert.alert-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-teal .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-teal a:not(.btn){font-weight:700;color:#182d27}html[data-netbox-color-mode=dark] .badge.bg-teal,html[data-netbox-color-mode=dark] .toast.bg-teal,html[data-netbox-color-mode=dark] .toast-header.bg-teal,html[data-netbox-color-mode=dark] .progress-bar.bg-teal{color:#000}html[data-netbox-color-mode=dark] .bg-cyan button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23162d31'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-cyan{color:#6edff6}html[data-netbox-color-mode=dark] .btn.btn-ghost-cyan:hover{background-color:#6edff61f}html[data-netbox-color-mode=dark] .alert.alert-cyan a:not(.btn),html[data-netbox-color-mode=dark] .table-cyan a:not(.btn){font-weight:700;color:#162d31}html[data-netbox-color-mode=dark] .alert.alert-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-cyan .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-cyan a:not(.btn){font-weight:700;color:#162d31}html[data-netbox-color-mode=dark] .badge.bg-cyan,html[data-netbox-color-mode=dark] .toast.bg-cyan,html[data-netbox-color-mode=dark] .toast-header.bg-cyan,html[data-netbox-color-mode=dark] .progress-bar.bg-cyan{color:#000}html[data-netbox-color-mode=dark] .bg-gray button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232c2d2e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-gray{color:#dee2e6}html[data-netbox-color-mode=dark] .btn.btn-ghost-gray:hover{background-color:#dee2e61f}html[data-netbox-color-mode=dark] .alert.alert-gray a:not(.btn),html[data-netbox-color-mode=dark] .table-gray a:not(.btn){font-weight:700;color:#2c2d2e}html[data-netbox-color-mode=dark] .alert.alert-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-gray .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-gray a:not(.btn){font-weight:700;color:#2c2d2e}html[data-netbox-color-mode=dark] .badge.bg-gray,html[data-netbox-color-mode=dark] .toast.bg-gray,html[data-netbox-color-mode=dark] .toast-header.bg-gray,html[data-netbox-color-mode=dark] .progress-bar.bg-gray{color:#000}html[data-netbox-color-mode=dark] .bg-black button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23cccccc'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-black{color:#000}html[data-netbox-color-mode=dark] .btn.btn-ghost-black:hover{background-color:#0000001f}html[data-netbox-color-mode=dark] .alert.alert-black a:not(.btn),html[data-netbox-color-mode=dark] .table-black a:not(.btn){font-weight:700;color:#ccc}html[data-netbox-color-mode=dark] .alert.alert-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-black .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-black a:not(.btn){font-weight:700;color:#ccc}html[data-netbox-color-mode=dark] .badge.bg-black,html[data-netbox-color-mode=dark] .toast.bg-black,html[data-netbox-color-mode=dark] .toast-header.bg-black,html[data-netbox-color-mode=dark] .progress-bar.bg-black{color:#fff}html[data-netbox-color-mode=dark] .bg-white button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333333'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}html[data-netbox-color-mode=dark] .btn.btn-ghost-white{color:#fff}html[data-netbox-color-mode=dark] .btn.btn-ghost-white:hover{background-color:#ffffff1f}html[data-netbox-color-mode=dark] .alert.alert-white a:not(.btn),html[data-netbox-color-mode=dark] .table-white a:not(.btn){font-weight:700;color:#333}html[data-netbox-color-mode=dark] .alert.alert-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-white .btn:not([class*=btn-outline]){border-color:#495057}html[data-netbox-color-mode=dark] .toast.bg-white a:not(.btn){font-weight:700;color:#333}html[data-netbox-color-mode=dark] .badge.bg-white,html[data-netbox-color-mode=dark] .toast.bg-white,html[data-netbox-color-mode=dark] .toast-header.bg-white,html[data-netbox-color-mode=dark] .progress-bar.bg-white{color:#000}html[data-netbox-color-mode=dark] table td>.progress{min-width:6rem}html[data-netbox-color-mode=dark] .small .form-control{font-size:.875rem}html[data-netbox-color-mode=dark] :not(.card-body)>.col:not(:last-child):not(:only-child){margin-bottom:1rem}html[data-netbox-color-mode=dark] .nav-mobile{display:none;flex-direction:column;align-items:center;justify-content:space-between;width:100%}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] .nav-mobile{display:flex}}html[data-netbox-color-mode=dark] .nav-mobile .nav-mobile-top{display:flex;align-items:center;justify-content:space-between;width:100%}html[data-netbox-color-mode=dark] .card>.table.table-flush{margin-bottom:0;overflow:hidden;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .card>.table.table-flush thead th[scope=col]{padding-top:1rem;padding-bottom:1rem;text-transform:uppercase;vertical-align:middle;background-color:#495057;border-top:1px solid rgba(255,255,255,.125);border-bottom-color:#ffffff20}html[data-netbox-color-mode=dark] .card>.table.table-flush th,html[data-netbox-color-mode=dark] .card>.table.table-flush td{padding-right:1.5rem!important;padding-left:1.5rem!important;border-right:0;border-left:0}html[data-netbox-color-mode=dark] .card>.table.table-flush tr[class]{border-color:#ffffff20!important}html[data-netbox-color-mode=dark] .card>.table.table-flush tr[class]:last-of-type{border-bottom-color:transparent!important;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html[data-netbox-color-mode=dark] .header-alert-container{display:flex;align-items:center;justify-content:center;padding:0 1rem}html[data-netbox-color-mode=dark] .header-alert-container .alert{width:100%}@media (min-width: 768px){html[data-netbox-color-mode=dark] .header-alert-container .alert{max-width:75%}}@media (min-width: 992px){html[data-netbox-color-mode=dark] .header-alert-container .alert{max-width:50%}}html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu{right:0;left:auto;display:block!important;margin-top:.5rem;box-shadow:0 .5rem 1rem #00000026;transition:opacity .2s ease-in-out}html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu:not(.show){pointer-events:none;opacity:0}html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu.show{pointer-events:auto;opacity:1}html[data-netbox-color-mode=dark] div#advanced-search-content div.card div.card-body div.col:not(:last-child){margin-right:1rem}html[data-netbox-color-mode=dark] table td a{text-decoration:none}html[data-netbox-color-mode=dark] table td a:hover{text-decoration:underline}html[data-netbox-color-mode=dark] table td .dropdown{position:static}html[data-netbox-color-mode=dark] table th a,html[data-netbox-color-mode=dark] table th a:hover{color:#fff;text-decoration:none}html[data-netbox-color-mode=dark] table td,html[data-netbox-color-mode=dark] table th{font-size:.875rem;line-height:1.25;vertical-align:middle}html[data-netbox-color-mode=dark] table td.min-width,html[data-netbox-color-mode=dark] table th.min-width{width:1%}html[data-netbox-color-mode=dark] table td .form-check-input,html[data-netbox-color-mode=dark] table th .form-check-input{margin-top:.125em;font-size:1rem}html[data-netbox-color-mode=dark] table td .btn-sm,html[data-netbox-color-mode=dark] table td .btn-group-sm>.btn,html[data-netbox-color-mode=dark] table th .btn-sm,html[data-netbox-color-mode=dark] table th .btn-group-sm>.btn{line-height:1}html[data-netbox-color-mode=dark] table td p,html[data-netbox-color-mode=dark] table th p{margin-bottom:0}html[data-netbox-color-mode=dark] table th.asc a:after{content:"\f0140";font-family:"Material Design Icons"}html[data-netbox-color-mode=dark] table th.desc a:after{content:"\f0143";font-family:"Material Design Icons"}html[data-netbox-color-mode=dark] table.table>:not(caption)>*>*{padding-right:.25rem!important;padding-left:.25rem!important}html[data-netbox-color-mode=dark] table.object-list th{font-size:.75rem;line-height:1;vertical-align:bottom}html[data-netbox-color-mode=dark] table.attr-table th{font-weight:normal;width:25%}html[data-netbox-color-mode=dark] div.title-container{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between}@media (min-width: 992px){html[data-netbox-color-mode=dark] div.title-container{flex-direction:row}}html[data-netbox-color-mode=dark] div.title-container #content-title{display:flex;flex:1 0;flex-direction:column;padding-bottom:.5rem}html[data-netbox-color-mode=dark] .controls{margin-bottom:.5rem}@media print{html[data-netbox-color-mode=dark] .controls{display:none!important}}html[data-netbox-color-mode=dark] .controls .control-group{display:flex;flex-wrap:wrap;justify-content:flex-start}@media (min-width: 992px){html[data-netbox-color-mode=dark] .controls .control-group{justify-content:flex-end}}html[data-netbox-color-mode=dark] .controls .control-group>*{margin:.25rem}html[data-netbox-color-mode=dark] .controls .control-group>*:first-child{margin-left:0}html[data-netbox-color-mode=dark] .controls .control-group>*:last-child{margin-right:0}html[data-netbox-color-mode=dark] .object-subtitle{display:block;font-size:.875rem;color:#ced4da}@media (min-width: 768px){html[data-netbox-color-mode=dark] .object-subtitle{display:inline-block}}html[data-netbox-color-mode=dark] .object-subtitle>span{display:block}html[data-netbox-color-mode=dark] .object-subtitle>span.separator{display:none}@media (min-width: 768px){html[data-netbox-color-mode=dark] .object-subtitle>span,html[data-netbox-color-mode=dark] .object-subtitle>span.separator{display:inline-block}}html[data-netbox-color-mode=dark] nav.search{z-index:999;justify-content:center;background-color:#171b1d}html[data-netbox-color-mode=dark] nav.search .search-container{display:flex;width:100%}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] nav.search .search-container{display:none}}html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selected{border-color:#495057}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle{color:#fff;border-color:#495057;margin-left:0;font-weight:400;line-height:1.5;color:#f8f9fa;background-color:#495057;border:1px solid #495057;border-radius:.375rem;border-left:1px solid var(--nbx-search-filter-border-left-color)}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:hover{color:#fff;background-color:#3e444a;border-color:#3a4046}.btn-check:focus+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus{color:#fff;background-color:#3e444a;border-color:#3a4046;box-shadow:0 0 0 .25rem #646a7080}.btn-check:checked+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,.btn-check:active+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:active,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.active,.show>html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.dropdown-toggle{color:#fff;background-color:#3a4046;border-color:#373c41}.btn-check:checked+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,.btn-check:active+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:active:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.active:focus,.show>html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #646a7080}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:disabled,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.disabled{color:#fff;background-color:#495057;border-color:#495057}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus{box-shadow:unset!important}html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:after{display:none}html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector{max-height:70vh;overflow-y:auto}html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-item,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-header{font-size:.875rem}html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-header{text-transform:uppercase}html[data-netbox-color-mode=dark] main.layout{display:flex;flex-wrap:nowrap;height:100vh;height:-webkit-fill-available;max-height:100vh;overflow-x:auto;overflow-y:hidden}@media print{html[data-netbox-color-mode=dark] main.layout{position:static!important;display:block!important;height:100%;overflow-x:visible!important;overflow-y:visible!important}}html[data-netbox-color-mode=dark] main.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100vw;height:calc(100vh - 4rem);padding-top:40px;padding-bottom:40px}html[data-netbox-color-mode=dark] main.login-container+footer.footer button.color-mode-toggle{color:var(--nbx-color-mode-toggle-color)}html[data-netbox-color-mode=dark] .footer{background-color:#171b1d;padding:0}html[data-netbox-color-mode=dark] .footer .nav-link{padding:.5rem}@media (max-width: 767.98px){html[data-netbox-color-mode=dark] .footer{margin-bottom:8rem}}html[data-netbox-color-mode=dark] footer.login-footer{height:4rem;margin-top:auto}html[data-netbox-color-mode=dark] footer.login-footer .container-fluid,html[data-netbox-color-mode=dark] footer.login-footer .container-sm,html[data-netbox-color-mode=dark] footer.login-footer .container-md,html[data-netbox-color-mode=dark] footer.login-footer .container-lg,html[data-netbox-color-mode=dark] footer.login-footer .container-xl,html[data-netbox-color-mode=dark] footer.login-footer .container-xxl{display:flex;justify-content:flex-end;padding:.75rem 1.5rem}html[data-netbox-color-mode=dark] h1.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h1,html[data-netbox-color-mode=dark] h2.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h2,html[data-netbox-color-mode=dark] h3.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h3,html[data-netbox-color-mode=dark] h4.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h4,html[data-netbox-color-mode=dark] h5.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h5,html[data-netbox-color-mode=dark] h6.accordion-item-title,html[data-netbox-color-mode=dark] .accordion-item-title.h6{padding:.25rem .5rem;font-size:.875rem;font-weight:700;color:var(--nbx-sidebar-title-color);text-transform:uppercase}html[data-netbox-color-mode=dark] .form-login{width:100%;max-width:330px;padding:15px}html[data-netbox-color-mode=dark] .form-login input:focus{z-index:1}html[data-netbox-color-mode=dark] .form-login input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}html[data-netbox-color-mode=dark] .form-login input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}html[data-netbox-color-mode=dark] .form-login .form-control{position:relative;box-sizing:border-box;height:auto;padding:10px;font-size:16px}html[data-netbox-color-mode=dark] .navbar{border-bottom:1px solid #495057}html[data-netbox-color-mode=dark] .navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}html[data-netbox-color-mode=dark] nav.nav.nav-pills .nav-item.nav-link{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html[data-netbox-color-mode=dark] nav.nav.nav-pills .nav-item.nav-link:hover{color:#000;background-color:#6397e5}html[data-netbox-color-mode=dark] div.content-container{position:relative;display:flex;flex-direction:column;width:calc(100% - 3rem);min-height:100vh;overflow-x:hidden;overflow-y:auto}html[data-netbox-color-mode=dark] div.content-container:focus,html[data-netbox-color-mode=dark] div.content-container:focus-visible{outline:0}html[data-netbox-color-mode=dark] div.content-container div.content{background-color:#171b1d;flex:1}@media (max-width: 991.98px){html[data-netbox-color-mode=dark] div.content-container{width:100%}}@media print{html[data-netbox-color-mode=dark] div.content-container{width:100%!important;margin-left:0!important}}@media (max-width: 768px){html[data-netbox-color-mode=dark] .sidebar.collapse.show~.content-container>.content{position:fixed;top:0;left:0;overflow-y:hidden}}html[data-netbox-color-mode=dark] .tooltip{pointer-events:none}html[data-netbox-color-mode=dark] span.color-label{display:block;width:5rem;height:1rem;padding:.35em .65em;border:1px solid #303030;border-radius:.375rem;box-shadow:0 .125rem .25rem #00000013}html[data-netbox-color-mode=dark] .badge a{color:inherit}html[data-netbox-color-mode=dark] .btn{white-space:nowrap}html[data-netbox-color-mode=dark] .card{box-shadow:0 .125rem .25rem #00000013}html[data-netbox-color-mode=dark] .card .card-header{padding:1rem;color:var(--nbx-body-color);border-bottom:none}html[data-netbox-color-mode=dark] .card .card-header+.card-body{padding-top:0}html[data-netbox-color-mode=dark] .card .card-body.small .form-control,html[data-netbox-color-mode=dark] .card .card-body.small .form-select{font-size:.875rem}html[data-netbox-color-mode=dark] .card .card-divider{width:100%;height:1px;margin:1rem 0;border-top:1px solid rgba(255,255,255,.125);opacity:.25}@media print{html[data-netbox-color-mode=dark] .card{box-shadow:unset!important}}html[data-netbox-color-mode=dark] .form-floating{position:relative}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}html[data-netbox-color-mode=dark] .form-floating>.input-group>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){html[data-netbox-color-mode=dark] .form-floating>.input-group>label{transition:none}}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control::placeholder{color:transparent}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:focus,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select,html[data-netbox-color-mode=dark] .form-floating>.choices>.choices__inner,html[data-netbox-color-mode=dark] .form-floating>.ss-main span.placeholder,html[data-netbox-color-mode=dark] .form-floating>.ss-main div.ss-values{padding-top:1.625rem;padding-bottom:.625rem}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:focus~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select~label,html[data-netbox-color-mode=dark] .form-floating>.choices~label,html[data-netbox-color-mode=dark] .form-floating>.ss-main~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem);z-index:4}html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:-webkit-autofill~label{z-index:4;opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}html[data-netbox-color-mode=dark] .form-object-edit{margin:0 auto;max-width:800px}html[data-netbox-color-mode=dark] textarea.form-control[rows="10"]{height:18rem}html[data-netbox-color-mode=dark] textarea#id_local_context_data,html[data-netbox-color-mode=dark] textarea.markdown,html[data-netbox-color-mode=dark] textarea#id_public_key,html[data-netbox-color-mode=dark] textarea.form-control[name=csv],html[data-netbox-color-mode=dark] textarea.form-control[name=data]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}html[data-netbox-color-mode=dark] .card:not(:only-of-type){margin-bottom:1rem}html[data-netbox-color-mode=dark] .stat-btn{min-width:3rem}html[data-netbox-color-mode=dark] nav.breadcrumb-container{width:fit-content;padding:.35em .65em;font-size:.875rem}html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb{margin-bottom:0}html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a{text-decoration:none}html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover{text-decoration:underline}html[data-netbox-color-mode=dark] label.required{font-weight:700}html[data-netbox-color-mode=dark] label.required:after{position:absolute;display:inline-block;margin:0 0 0 2px;font-family:"Material Design Icons";font-size:8px;font-style:normal;font-weight:600;text-decoration:none;content:"\f06c4"}html[data-netbox-color-mode=dark] div.bulk-buttons{display:flex;justify-content:space-between;margin:.5rem 0}html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group{display:flex;flex-wrap:wrap;align-items:flex-start}html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child{margin-left:0}html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child{margin-right:0}html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group>*{margin:.25rem}html[data-netbox-color-mode=dark] table tbody tr.primary{background-color:#6ea8fe26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.secondary{background-color:#adb5bd26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.success{background-color:#75b79826;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.info{background-color:#6edff626;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.warning{background-color:#ffda6a26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.danger{background-color:#ea868f26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.light{background-color:#dee2e626;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.dark{background-color:#adb5bd26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.blue{background-color:#6ea8fe26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.indigo{background-color:#a370f726;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.purple{background-color:#a98eda26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.pink{background-color:#e685b526;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.red{background-color:#ea868f26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.orange{background-color:#feb27226;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.yellow{background-color:#ffda6a26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.green{background-color:#75b79826;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.teal{background-color:#79dfc126;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.cyan{background-color:#6edff626;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.gray{background-color:#dee2e626;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.black{background-color:#00000026;border-color:#adb5bd}html[data-netbox-color-mode=dark] table tbody tr.white{background-color:#ffffff26;border-color:#adb5bd}html[data-netbox-color-mode=dark] table .table-badge-group .table-badge{display:block;width:min-content;font-size:.875rem;font-weight:400}html[data-netbox-color-mode=dark] table .table-badge-group .table-badge:not(.badge){padding:0 .65em}html[data-netbox-color-mode=dark] table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child){margin-bottom:.25rem}html[data-netbox-color-mode=dark] pre.change-data{padding-right:0;padding-left:0}html[data-netbox-color-mode=dark] pre.change-data>span{display:block;padding-right:1rem;padding-left:1rem}html[data-netbox-color-mode=dark] pre.change-data>span.added{background-color:var(--nbx-change-added)}html[data-netbox-color-mode=dark] pre.change-data>span.removed{background-color:var(--nbx-change-removed)}html[data-netbox-color-mode=dark] pre.change-diff{border-color:transparent}html[data-netbox-color-mode=dark] pre.change-diff.change-removed{background-color:var(--nbx-change-removed)}html[data-netbox-color-mode=dark] pre.change-diff.change-added{background-color:var(--nbx-change-added)}html[data-netbox-color-mode=dark] div.card-overlay{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#ffffffbf;border-radius:.375rem}html[data-netbox-color-mode=dark] div.card-overlay>div.spinner-border{width:6rem;height:6rem;color:#adb5bd}html[data-netbox-color-mode=dark] .table-controls{display:flex}@media (min-width: 768px){html[data-netbox-color-mode=dark] .table-controls{margin-top:0!important;margin-bottom:0!important}}html[data-netbox-color-mode=dark] .table-controls .table-configure{justify-content:flex-start}@media (min-width: 768px){html[data-netbox-color-mode=dark] .table-controls .table-configure{justify-content:flex-end}}html[data-netbox-color-mode=dark] .table-controls .form-switch.form-check-inline{flex:1 0 auto;font-size:.875rem}html[data-netbox-color-mode=dark] .nav-tabs{background-color:#1b1f22}html[data-netbox-color-mode=dark] .nav-tabs .nav-link:hover{border-bottom-color:transparent}html[data-netbox-color-mode=dark] .nav-tabs .nav-link.active{background-color:#171b1d;border-bottom-color:#171b1d;transform:translateY(1px)}html[data-netbox-color-mode=dark] .tab-content{display:flex;flex-direction:column;padding:1rem}@media print{html[data-netbox-color-mode=dark] .masonry{position:static!important;display:block!important;height:unset!important}}@media print{html[data-netbox-color-mode=dark] .masonry .masonry-item{position:static!important;top:unset!important;left:unset!important;display:block!important}}html[data-netbox-color-mode=dark] .record-depth{display:inline;font-size:1rem;user-select:none;opacity:.33}html[data-netbox-color-mode=dark] .record-depth span:only-of-type,html[data-netbox-color-mode=dark] .record-depth span:last-of-type{margin-right:.25rem}html[data-netbox-color-mode=dark] .popover.image-preview-popover{max-width:unset}html[data-netbox-color-mode=dark] .rendered-markdown table{width:100%}html[data-netbox-color-mode=dark] .rendered-markdown th{border-bottom:2px solid #ddd;padding:8px}html[data-netbox-color-mode=dark] .rendered-markdown td{border-top:1px solid #ddd;padding:8px}html[data-netbox-color-mode=dark] td pre{margin-bottom:0}html[data-netbox-color-mode=dark] pre.block{padding:1rem;background-color:var(--nbx-pre-bg);border:1px solid var(--nbx-pre-border-color);border-radius:.375rem}html[data-netbox-color-mode=dark] #django-messages{position:fixed;right:1rem;bottom:0;margin:1rem}html[data-netbox-color-mode=dark] html[data-netbox-url-name=home] .content-container,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home] .search{background-color:#f8f9fa!important}html[data-netbox-color-mode=dark] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search{background-color:#171b1d!important}html[data-netbox-color-mode=dark] html[data-netbox-url-name=login] #django-messages{display:none} diff --git a/netbox/project-static/dist/netbox-light.css b/netbox/project-static/dist/netbox-light.css index f8e59ef99ee..341369adff9 100644 --- a/netbox/project-static/dist/netbox-light.css +++ b/netbox/project-static/dist/netbox-light.css @@ -1 +1 @@ -:root{--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #337ab7;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #54d6f0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #e9ecef;--bs-dark: #343a40;--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-gray: #adb5bd;--bs-black: #000;--bs-white: #fff;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0))}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-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:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:800}small,.small{font-size:.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#212529;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.375rem}kbd kbd{padding:0;font-size:1em;font-weight:700}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:#6c757d;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]::-webkit-calendar-picker-indicator{display:none}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;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{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]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:var(--bs-gutter-x, .75rem);padding-left:var(--bs-gutter-x, .75rem);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-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}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #e9ecef;appearance:none;border-radius:.375rem;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:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#adb5bd;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.375rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.375rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px 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{padding:1rem .75rem}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){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),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){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:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754e6;border-radius:.375rem}.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:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.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"]{padding-right:4.125rem;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem #19875440}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:1}.was-validated .input-group .form-control:valid:focus,.input-group .form-control.is-valid:focus,.was-validated .input-group .form-select:valid:focus,.input-group .form-select.is-valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545e6;border-radius:.375rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem #dc354540}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:2}.was-validated .input-group .form-control:invalid:focus,.input-group .form-control.is-invalid:focus,.was-validated .input-group .form-select:invalid:focus,.input-group .form-select.is-invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;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:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-primary:hover{color:#fff;background-color:#2b689c;border-color:#296292}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#2b689c;border-color:#296292;box-shadow:0 0 0 .25rem #528ec280}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#296292;border-color:#265c89}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #528ec280}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem #828a9180}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #828a9180}.btn-secondary:disabled,.btn-secondary.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem #3c996e80}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3c996e80}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-info:hover{color:#000;background-color:#6edcf2;border-color:#65daf2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#6edcf2;border-color:#65daf2;box-shadow:0 0 0 .25rem #47b6cc80}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#76def3;border-color:#65daf2}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #47b6cc80}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem #d9a40680}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9a40680}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem #e1536180}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #e1536180}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-light:hover{color:#000;background-color:#eceff1;border-color:#ebeef1}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem #c6c9cb80}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c6c9cb80}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#2c3136;border-color:#2a2e33}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#2c3136;border-color:#2a2e33;box-shadow:0 0 0 .25rem #52585d80}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#2a2e33;border-color:#272c30}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #52585d80}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-blue{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-blue:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-blue,.btn-blue:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem #3184fd80}.btn-check:checked+.btn-blue,.btn-check:active+.btn-blue,.btn-blue:active,.btn-blue.active,.show>.btn-blue.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:checked+.btn-blue:focus,.btn-check:active+.btn-blue:focus,.btn-blue:active:focus,.btn-blue.active:focus,.show>.btn-blue.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3184fd80}.btn-blue:disabled,.btn-blue.disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-indigo{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-indigo:hover{color:#fff;background-color:#570ece;border-color:#520dc2}.btn-check:focus+.btn-indigo,.btn-indigo:focus{color:#fff;background-color:#570ece;border-color:#520dc2;box-shadow:0 0 0 .25rem #7d34f480}.btn-check:checked+.btn-indigo,.btn-check:active+.btn-indigo,.btn-indigo:active,.btn-indigo.active,.show>.btn-indigo.dropdown-toggle{color:#fff;background-color:#520dc2;border-color:#4d0cb6}.btn-check:checked+.btn-indigo:focus,.btn-check:active+.btn-indigo:focus,.btn-indigo:active:focus,.btn-indigo.active:focus,.show>.btn-indigo.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #7d34f480}.btn-indigo:disabled,.btn-indigo.disabled{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-purple{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-purple:hover{color:#fff;background-color:#5e38a4;border-color:#59359a}.btn-check:focus+.btn-purple,.btn-purple:focus{color:#fff;background-color:#5e38a4;border-color:#59359a;box-shadow:0 0 0 .25rem #855eca80}.btn-check:checked+.btn-purple,.btn-check:active+.btn-purple,.btn-purple:active,.btn-purple.active,.show>.btn-purple.dropdown-toggle{color:#fff;background-color:#59359a;border-color:#533291}.btn-check:checked+.btn-purple:focus,.btn-check:active+.btn-purple:focus,.btn-purple:active:focus,.btn-purple.active:focus,.show>.btn-purple.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #855eca80}.btn-purple:disabled,.btn-purple.disabled{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-pink{color:#fff;background-color:#d63384;border-color:#d63384}.btn-pink:hover{color:#fff;background-color:#b62b70;border-color:#ab296a}.btn-check:focus+.btn-pink,.btn-pink:focus{color:#fff;background-color:#b62b70;border-color:#ab296a;box-shadow:0 0 0 .25rem #dc529680}.btn-check:checked+.btn-pink,.btn-check:active+.btn-pink,.btn-pink:active,.btn-pink.active,.show>.btn-pink.dropdown-toggle{color:#fff;background-color:#ab296a;border-color:#a12663}.btn-check:checked+.btn-pink:focus,.btn-check:active+.btn-pink:focus,.btn-pink:active:focus,.btn-pink.active:focus,.show>.btn-pink.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #dc529680}.btn-pink:disabled,.btn-pink.disabled{color:#fff;background-color:#d63384;border-color:#d63384}.btn-red{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-red:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-red,.btn-red:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem #e1536180}.btn-check:checked+.btn-red,.btn-check:active+.btn-red,.btn-red:active,.btn-red.active,.show>.btn-red.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-red:focus,.btn-check:active+.btn-red:focus,.btn-red:active:focus,.btn-red.active:focus,.show>.btn-red.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #e1536180}.btn-red:disabled,.btn-red.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-orange{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-orange:hover{color:#000;background-color:#fd9137;border-color:#fd8b2c}.btn-check:focus+.btn-orange,.btn-orange:focus{color:#000;background-color:#fd9137;border-color:#fd8b2c;box-shadow:0 0 0 .25rem #d76b1180}.btn-check:checked+.btn-orange,.btn-check:active+.btn-orange,.btn-orange:active,.btn-orange.active,.show>.btn-orange.dropdown-toggle{color:#000;background-color:#fd9843;border-color:#fd8b2c}.btn-check:checked+.btn-orange:focus,.btn-check:active+.btn-orange:focus,.btn-orange:active:focus,.btn-orange.active:focus,.show>.btn-orange.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d76b1180}.btn-orange:disabled,.btn-orange.disabled{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-yellow{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-yellow:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-yellow,.btn-yellow:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem #d9a40680}.btn-check:checked+.btn-yellow,.btn-check:active+.btn-yellow,.btn-yellow:active,.btn-yellow.active,.show>.btn-yellow.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-yellow:focus,.btn-check:active+.btn-yellow:focus,.btn-yellow:active:focus,.btn-yellow.active:focus,.show>.btn-yellow.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9a40680}.btn-yellow:disabled,.btn-yellow.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-green{color:#fff;background-color:#198754;border-color:#198754}.btn-green:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-green,.btn-green:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem #3c996e80}.btn-check:checked+.btn-green,.btn-check:active+.btn-green,.btn-green:active,.btn-green.active,.show>.btn-green.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-green:focus,.btn-check:active+.btn-green:focus,.btn-green:active:focus,.btn-green.active:focus,.show>.btn-green.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3c996e80}.btn-green:disabled,.btn-green.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-teal{color:#000;background-color:#20c997;border-color:#20c997}.btn-teal:hover{color:#000;background-color:#41d1a7;border-color:#36cea1}.btn-check:focus+.btn-teal,.btn-teal:focus{color:#000;background-color:#41d1a7;border-color:#36cea1;box-shadow:0 0 0 .25rem #1bab8080}.btn-check:checked+.btn-teal,.btn-check:active+.btn-teal,.btn-teal:active,.btn-teal.active,.show>.btn-teal.dropdown-toggle{color:#000;background-color:#4dd4ac;border-color:#36cea1}.btn-check:checked+.btn-teal:focus,.btn-check:active+.btn-teal:focus,.btn-teal:active:focus,.btn-teal.active:focus,.show>.btn-teal.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #1bab8080}.btn-teal:disabled,.btn-teal.disabled{color:#000;background-color:#20c997;border-color:#20c997}.btn-cyan{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-cyan:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-cyan,.btn-cyan:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem #0baccc80}.btn-check:checked+.btn-cyan,.btn-check:active+.btn-cyan,.btn-cyan:active,.btn-cyan.active,.show>.btn-cyan.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+.btn-cyan:focus,.btn-check:active+.btn-cyan:focus,.btn-cyan:active:focus,.btn-cyan.active:focus,.show>.btn-cyan.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #0baccc80}.btn-cyan:disabled,.btn-cyan.disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-gray{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-gray:hover{color:#000;background-color:#b9c0c7;border-color:#b5bcc4}.btn-check:focus+.btn-gray,.btn-gray:focus{color:#000;background-color:#b9c0c7;border-color:#b5bcc4;box-shadow:0 0 0 .25rem #939aa180}.btn-check:checked+.btn-gray,.btn-check:active+.btn-gray,.btn-gray:active,.btn-gray.active,.show>.btn-gray.dropdown-toggle{color:#000;background-color:#bdc4ca;border-color:#b5bcc4}.btn-check:checked+.btn-gray:focus,.btn-check:active+.btn-gray:focus,.btn-gray:active:focus,.btn-gray.active:focus,.show>.btn-gray.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #939aa180}.btn-gray:disabled,.btn-gray.disabled{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-black{color:#fff;background-color:#000;border-color:#000}.btn-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+.btn-black,.btn-black:focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .25rem #26262680}.btn-check:checked+.btn-black,.btn-check:active+.btn-black,.btn-black:active,.btn-black.active,.show>.btn-black.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+.btn-black:focus,.btn-check:active+.btn-black:focus,.btn-black:active:focus,.btn-black.active:focus,.show>.btn-black.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #26262680}.btn-black:disabled,.btn-black.disabled{color:#fff;background-color:#000;border-color:#000}.btn-white{color:#000;background-color:#fff;border-color:#fff}.btn-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-white,.btn-white:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 0 0 .25rem #d9d9d980}.btn-check:checked+.btn-white,.btn-check:active+.btn-white,.btn-white:active,.btn-white.active,.show>.btn-white.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+.btn-white:focus,.btn-check:active+.btn-white:focus,.btn-white:active:focus,.btn-white.active:focus,.show>.btn-white.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9d9d980}.btn-white:disabled,.btn-white.disabled{color:#000;background-color:#fff;border-color:#fff}.btn-outline-primary{color:#337ab7;border-color:#337ab7}.btn-outline-primary:hover{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem #337ab780}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #337ab780}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#337ab7;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem #6c757d80}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6c757d80}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem #19875480}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #19875480}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#54d6f0;border-color:#54d6f0}.btn-outline-info:hover{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem #54d6f080}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #54d6f080}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#54d6f0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#e9ecef;border-color:#e9ecef}.btn-outline-light:hover{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem #e9ecef80}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #e9ecef80}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#e9ecef;background-color:transparent}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem #343a4080}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #343a4080}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#343a40;background-color:transparent}.btn-outline-blue{color:#0d6efd;border-color:#0d6efd}.btn-outline-blue:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-blue,.btn-outline-blue:focus{box-shadow:0 0 0 .25rem #0d6efd80}.btn-check:checked+.btn-outline-blue,.btn-check:active+.btn-outline-blue,.btn-outline-blue:active,.btn-outline-blue.active,.btn-outline-blue.dropdown-toggle.show{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:checked+.btn-outline-blue:focus,.btn-check:active+.btn-outline-blue:focus,.btn-outline-blue:active:focus,.btn-outline-blue.active:focus,.btn-outline-blue.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #0d6efd80}.btn-outline-blue:disabled,.btn-outline-blue.disabled{color:#0d6efd;background-color:transparent}.btn-outline-indigo{color:#6610f2;border-color:#6610f2}.btn-outline-indigo:hover{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-check:focus+.btn-outline-indigo,.btn-outline-indigo:focus{box-shadow:0 0 0 .25rem #6610f280}.btn-check:checked+.btn-outline-indigo,.btn-check:active+.btn-outline-indigo,.btn-outline-indigo:active,.btn-outline-indigo.active,.btn-outline-indigo.dropdown-toggle.show{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-check:checked+.btn-outline-indigo:focus,.btn-check:active+.btn-outline-indigo:focus,.btn-outline-indigo:active:focus,.btn-outline-indigo.active:focus,.btn-outline-indigo.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6610f280}.btn-outline-indigo:disabled,.btn-outline-indigo.disabled{color:#6610f2;background-color:transparent}.btn-outline-purple{color:#6f42c1;border-color:#6f42c1}.btn-outline-purple:hover{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-check:focus+.btn-outline-purple,.btn-outline-purple:focus{box-shadow:0 0 0 .25rem #6f42c180}.btn-check:checked+.btn-outline-purple,.btn-check:active+.btn-outline-purple,.btn-outline-purple:active,.btn-outline-purple.active,.btn-outline-purple.dropdown-toggle.show{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-check:checked+.btn-outline-purple:focus,.btn-check:active+.btn-outline-purple:focus,.btn-outline-purple:active:focus,.btn-outline-purple.active:focus,.btn-outline-purple.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6f42c180}.btn-outline-purple:disabled,.btn-outline-purple.disabled{color:#6f42c1;background-color:transparent}.btn-outline-pink{color:#d63384;border-color:#d63384}.btn-outline-pink:hover{color:#fff;background-color:#d63384;border-color:#d63384}.btn-check:focus+.btn-outline-pink,.btn-outline-pink:focus{box-shadow:0 0 0 .25rem #d6338480}.btn-check:checked+.btn-outline-pink,.btn-check:active+.btn-outline-pink,.btn-outline-pink:active,.btn-outline-pink.active,.btn-outline-pink.dropdown-toggle.show{color:#fff;background-color:#d63384;border-color:#d63384}.btn-check:checked+.btn-outline-pink:focus,.btn-check:active+.btn-outline-pink:focus,.btn-outline-pink:active:focus,.btn-outline-pink.active:focus,.btn-outline-pink.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #d6338480}.btn-outline-pink:disabled,.btn-outline-pink.disabled{color:#d63384;background-color:transparent}.btn-outline-red{color:#dc3545;border-color:#dc3545}.btn-outline-red:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-red,.btn-outline-red:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-check:checked+.btn-outline-red,.btn-check:active+.btn-outline-red,.btn-outline-red:active,.btn-outline-red.active,.btn-outline-red.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-red:focus,.btn-check:active+.btn-outline-red:focus,.btn-outline-red:active:focus,.btn-outline-red.active:focus,.btn-outline-red.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-outline-red:disabled,.btn-outline-red.disabled{color:#dc3545;background-color:transparent}.btn-outline-orange{color:#fd7e14;border-color:#fd7e14}.btn-outline-orange:hover{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-check:focus+.btn-outline-orange,.btn-outline-orange:focus{box-shadow:0 0 0 .25rem #fd7e1480}.btn-check:checked+.btn-outline-orange,.btn-check:active+.btn-outline-orange,.btn-outline-orange:active,.btn-outline-orange.active,.btn-outline-orange.dropdown-toggle.show{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-check:checked+.btn-outline-orange:focus,.btn-check:active+.btn-outline-orange:focus,.btn-outline-orange:active:focus,.btn-outline-orange.active:focus,.btn-outline-orange.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #fd7e1480}.btn-outline-orange:disabled,.btn-outline-orange.disabled{color:#fd7e14;background-color:transparent}.btn-outline-yellow{color:#ffc107;border-color:#ffc107}.btn-outline-yellow:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-yellow,.btn-outline-yellow:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-check:checked+.btn-outline-yellow,.btn-check:active+.btn-outline-yellow,.btn-outline-yellow:active,.btn-outline-yellow.active,.btn-outline-yellow.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-yellow:focus,.btn-check:active+.btn-outline-yellow:focus,.btn-outline-yellow:active:focus,.btn-outline-yellow.active:focus,.btn-outline-yellow.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-outline-yellow:disabled,.btn-outline-yellow.disabled{color:#ffc107;background-color:transparent}.btn-outline-green{color:#198754;border-color:#198754}.btn-outline-green:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-green,.btn-outline-green:focus{box-shadow:0 0 0 .25rem #19875480}.btn-check:checked+.btn-outline-green,.btn-check:active+.btn-outline-green,.btn-outline-green:active,.btn-outline-green.active,.btn-outline-green.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-green:focus,.btn-check:active+.btn-outline-green:focus,.btn-outline-green:active:focus,.btn-outline-green.active:focus,.btn-outline-green.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #19875480}.btn-outline-green:disabled,.btn-outline-green.disabled{color:#198754;background-color:transparent}.btn-outline-teal{color:#20c997;border-color:#20c997}.btn-outline-teal:hover{color:#000;background-color:#20c997;border-color:#20c997}.btn-check:focus+.btn-outline-teal,.btn-outline-teal:focus{box-shadow:0 0 0 .25rem #20c99780}.btn-check:checked+.btn-outline-teal,.btn-check:active+.btn-outline-teal,.btn-outline-teal:active,.btn-outline-teal.active,.btn-outline-teal.dropdown-toggle.show{color:#000;background-color:#20c997;border-color:#20c997}.btn-check:checked+.btn-outline-teal:focus,.btn-check:active+.btn-outline-teal:focus,.btn-outline-teal:active:focus,.btn-outline-teal.active:focus,.btn-outline-teal.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #20c99780}.btn-outline-teal:disabled,.btn-outline-teal.disabled{color:#20c997;background-color:transparent}.btn-outline-cyan{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-cyan:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-cyan,.btn-outline-cyan:focus{box-shadow:0 0 0 .25rem #0dcaf080}.btn-check:checked+.btn-outline-cyan,.btn-check:active+.btn-outline-cyan,.btn-outline-cyan:active,.btn-outline-cyan.active,.btn-outline-cyan.dropdown-toggle.show{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+.btn-outline-cyan:focus,.btn-check:active+.btn-outline-cyan:focus,.btn-outline-cyan:active:focus,.btn-outline-cyan.active:focus,.btn-outline-cyan.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #0dcaf080}.btn-outline-cyan:disabled,.btn-outline-cyan.disabled{color:#0dcaf0;background-color:transparent}.btn-outline-gray{color:#adb5bd;border-color:#adb5bd}.btn-outline-gray:hover{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:focus+.btn-outline-gray,.btn-outline-gray:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-check:checked+.btn-outline-gray,.btn-check:active+.btn-outline-gray,.btn-outline-gray:active,.btn-outline-gray.active,.btn-outline-gray.dropdown-toggle.show{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:checked+.btn-outline-gray:focus,.btn-check:active+.btn-outline-gray:focus,.btn-outline-gray:active:focus,.btn-outline-gray.active:focus,.btn-outline-gray.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-outline-gray:disabled,.btn-outline-gray.disabled{color:#adb5bd;background-color:transparent}.btn-outline-black{color:#000;border-color:#000}.btn-outline-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+.btn-outline-black,.btn-outline-black:focus{box-shadow:0 0 0 .25rem #00000080}.btn-check:checked+.btn-outline-black,.btn-check:active+.btn-outline-black,.btn-outline-black:active,.btn-outline-black.active,.btn-outline-black.dropdown-toggle.show{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+.btn-outline-black:focus,.btn-check:active+.btn-outline-black:focus,.btn-outline-black:active:focus,.btn-outline-black.active:focus,.btn-outline-black.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #00000080}.btn-outline-black:disabled,.btn-outline-black.disabled{color:#000;background-color:transparent}.btn-outline-white{color:#fff;border-color:#fff}.btn-outline-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-outline-white,.btn-outline-white:focus{box-shadow:0 0 0 .25rem #ffffff80}.btn-check:checked+.btn-outline-white,.btn-check:active+.btn-outline-white,.btn-outline-white:active,.btn-outline-white.active,.btn-outline-white.dropdown-toggle.show{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+.btn-outline-white:focus,.btn-check:active+.btn-outline-white:focus,.btn-outline-white:active:focus,.btn-outline-white.active:focus,.btn-outline-white.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffffff80}.btn-outline-white:disabled,.btn-outline-white.disabled{color:#fff;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}.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}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.375rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.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:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:#00000026}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:#ffffff26}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:#00000026}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.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>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn: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:.5625rem;padding-left:.5625rem}.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:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.375rem;border-top-right-radius:.375rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.375rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.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:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.375rem;transition:box-shadow .15s ease-in-out}@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 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.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}}@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:.5rem;padding-left:.5rem}.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}}@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:.5rem;padding-left:.5rem}.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}}@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:.5rem;padding-left:.5rem}.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}}@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:.5rem;padding-left:.5rem}.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{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:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#000000e6}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#000000e6}.navbar-light .navbar-nav .nav-link{color:#0000008c}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:#000000b3}.navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:#000000e6}.navbar-light .navbar-toggler{color:#0000008c;border-color:#0000001a}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#0000008c}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#000000e6}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#ffffff8c}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#ffffffbf}.navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#ffffff8c;border-color:#ffffff1a}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#ffffff8c}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem}.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:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;color:#343a40;background-color:"unset";border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;color:#343a40;background-color:"unset";border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.375rem - 1px) calc(.375rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.375rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}.card-group>.card{margin-bottom:.75rem}@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}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:transparent;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#343a40;background-color:#cfe2ff;box-shadow:inset 0 -1px #dee2e6}.accordion-button:not(.collapsed):after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button:after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.accordion-header{margin-bottom:0}.accordion-item{background-color:transparent;border:1px solid #dee2e6}.accordion-item:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.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-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='currentColor'/%3E%3C/svg%3E"))}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;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:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#1f496e;background-color:#d6e4f1;border-color:#c2d7e9}.alert-primary .alert-link{color:#193a58}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#225660;background-color:#ddf7fc;border-color:#ccf3fb}.alert-info .alert-link{color:#1b454d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#5d5e60;background-color:#fbfbfc;border-color:#f8f9fa}.alert-light .alert-link{color:#4a4b4d}.alert-dark{color:#1f2326;background-color:#d6d8d9;border-color:#c2c4c6}.alert-dark .alert-link{color:#191c1e}.alert-blue{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-blue .alert-link{color:#06357a}.alert-indigo{color:#3d0a91;background-color:#e0cffc;border-color:#d1b7fb}.alert-indigo .alert-link{color:#310874}.alert-purple{color:#432874;background-color:#e2d9f3;border-color:#d4c6ec}.alert-purple .alert-link{color:#36205d}.alert-pink{color:#801f4f;background-color:#f7d6e6;border-color:#f3c2da}.alert-pink .alert-link{color:#66193f}.alert-red{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-red .alert-link{color:#6a1a21}.alert-orange{color:#984c0c;background-color:#ffe5d0;border-color:#fed8b9}.alert-orange .alert-link{color:#7a3d0a}.alert-yellow{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-yellow .alert-link{color:#523e02}.alert-green{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-green .alert-link{color:#0c4128}.alert-teal{color:#13795b;background-color:#d2f4ea;border-color:#bcefe0}.alert-teal .alert-link{color:#0f6149}.alert-cyan{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-cyan .alert-link{color:#04414d}.alert-gray{color:#686d71;background-color:#eff0f2;border-color:#e6e9eb}.alert-gray .alert-link{color:#53575a}.alert-black{color:#000;background-color:#ccc;border-color:#b3b3b3}.alert-black .alert-link{color:#000}.alert-white{color:#666;background-color:#fff;border-color:#fff}.alert-white .alert-link{color:#525252}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.375rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@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:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.375rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#495057;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.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:#adb5bd;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#1f496e;background-color:#d6e4f1}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#1f496e;background-color:#c1cdd9}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1f496e;border-color:#1f496e}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#225660;background-color:#ddf7fc}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#225660;background-color:#c7dee3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#225660;border-color:#225660}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#5d5e60;background-color:#fbfbfc}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#5d5e60;background-color:#e2e2e3}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#5d5e60;border-color:#5d5e60}.list-group-item-dark{color:#1f2326;background-color:#d6d8d9}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1f2326;background-color:#c1c2c3}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1f2326;border-color:#1f2326}.list-group-item-blue{color:#084298;background-color:#cfe2ff}.list-group-item-blue.list-group-item-action:hover,.list-group-item-blue.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-indigo{color:#3d0a91;background-color:#e0cffc}.list-group-item-indigo.list-group-item-action:hover,.list-group-item-indigo.list-group-item-action:focus{color:#3d0a91;background-color:#cabae3}.list-group-item-indigo.list-group-item-action.active{color:#fff;background-color:#3d0a91;border-color:#3d0a91}.list-group-item-purple{color:#432874;background-color:#e2d9f3}.list-group-item-purple.list-group-item-action:hover,.list-group-item-purple.list-group-item-action:focus{color:#432874;background-color:#cbc3db}.list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#432874;border-color:#432874}.list-group-item-pink{color:#801f4f;background-color:#f7d6e6}.list-group-item-pink.list-group-item-action:hover,.list-group-item-pink.list-group-item-action:focus{color:#801f4f;background-color:#dec1cf}.list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#801f4f;border-color:#801f4f}.list-group-item-red{color:#842029;background-color:#f8d7da}.list-group-item-red.list-group-item-action:hover,.list-group-item-red.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-red.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-orange{color:#984c0c;background-color:#ffe5d0}.list-group-item-orange.list-group-item-action:hover,.list-group-item-orange.list-group-item-action:focus{color:#984c0c;background-color:#e6cebb}.list-group-item-orange.list-group-item-action.active{color:#fff;background-color:#984c0c;border-color:#984c0c}.list-group-item-yellow{color:#664d03;background-color:#fff3cd}.list-group-item-yellow.list-group-item-action:hover,.list-group-item-yellow.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-yellow.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-green{color:#0f5132;background-color:#d1e7dd}.list-group-item-green.list-group-item-action:hover,.list-group-item-green.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-green.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-teal{color:#13795b;background-color:#d2f4ea}.list-group-item-teal.list-group-item-action:hover,.list-group-item-teal.list-group-item-action:focus{color:#13795b;background-color:#bddcd3}.list-group-item-teal.list-group-item-action.active{color:#fff;background-color:#13795b;border-color:#13795b}.list-group-item-cyan{color:#055160;background-color:#cff4fc}.list-group-item-cyan.list-group-item-action:hover,.list-group-item-cyan.list-group-item-action:focus{color:#055160;background-color:#badce3}.list-group-item-cyan.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-gray{color:#686d71;background-color:#eff0f2}.list-group-item-gray.list-group-item-action:hover,.list-group-item-gray.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}.list-group-item-gray.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}.list-group-item-black{color:#000;background-color:#ccc}.list-group-item-black.list-group-item-action:hover,.list-group-item-black.list-group-item-action:focus{color:#000;background-color:#b8b8b8}.list-group-item-black.list-group-item-action.active{color:#fff;background-color:#000;border-color:#000}.list-group-item-white{color:#666;background-color:#fff}.list-group-item-white.list-group-item-action:hover,.list-group-item-white.list-group-item-action:focus{color:#666;background-color:#e6e6e6}.list-group-item-white.list-group-item-action.active{color:#fff;background-color:#666;border-color:#666}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40;opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:#ffffffd9;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem #00000026;border-radius:.375rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.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% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}.modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.75rem - 1px);border-bottom-left-radius:calc(.75rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.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{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@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{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@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{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@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{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@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{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@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{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^=top]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^=right]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^=left]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.375rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#00000040}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#00000040}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:#00000040}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.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:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#00000040}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (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;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:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.clearfix:after{display:block;clear:both;content:""}.link-primary{color:#337ab7}.link-primary:hover,.link-primary:focus{color:#296292}.link-secondary{color:#6c757d}.link-secondary:hover,.link-secondary:focus{color:#565e64}.link-success{color:#198754}.link-success:hover,.link-success:focus{color:#146c43}.link-info{color:#54d6f0}.link-info:hover,.link-info:focus{color:#76def3}.link-warning{color:#ffc107}.link-warning:hover,.link-warning:focus{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:hover,.link-danger:focus{color:#b02a37}.link-light{color:#e9ecef}.link-light:hover,.link-light:focus{color:#edf0f2}.link-dark{color:#343a40}.link-dark:hover,.link-dark:focus{color:#2a2e33}.link-blue{color:#0d6efd}.link-blue:hover,.link-blue:focus{color:#0a58ca}.link-indigo{color:#6610f2}.link-indigo:hover,.link-indigo:focus{color:#520dc2}.link-purple{color:#6f42c1}.link-purple:hover,.link-purple:focus{color:#59359a}.link-pink{color:#d63384}.link-pink:hover,.link-pink:focus{color:#ab296a}.link-red{color:#dc3545}.link-red:hover,.link-red:focus{color:#b02a37}.link-orange{color:#fd7e14}.link-orange:hover,.link-orange:focus{color:#fd9843}.link-yellow{color:#ffc107}.link-yellow:hover,.link-yellow:focus{color:#ffcd39}.link-green{color:#198754}.link-green:hover,.link-green:focus{color:#146c43}.link-teal{color:#20c997}.link-teal:hover,.link-teal:focus{color:#4dd4ac}.link-cyan{color:#0dcaf0}.link-cyan:hover,.link-cyan:focus{color:#3dd5f3}.link-gray{color:#adb5bd}.link-gray:hover,.link-gray:focus{color:#bdc4ca}.link-black{color:#000}.link-black:hover,.link-black:focus{color:#000}.link-white{color:#fff}.link-white:hover,.link-white:focus{color:#fff}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.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}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;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}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow: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-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:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.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:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#337ab7!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#54d6f0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#e9ecef!important}.border-dark{border-color:#343a40!important}.border-blue{border-color:#0d6efd!important}.border-indigo{border-color:#6610f2!important}.border-purple{border-color:#6f42c1!important}.border-pink{border-color:#d63384!important}.border-red{border-color:#dc3545!important}.border-orange{border-color:#fd7e14!important}.border-yellow{border-color:#ffc107!important}.border-green{border-color:#198754!important}.border-teal{border-color:#20c997!important}.border-cyan{border-color:#0dcaf0!important}.border-gray{border-color:#adb5bd!important}.border-black{border-color:#000!important}.border-white{border-color:#fff!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}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:200!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:800!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:1.75!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{color:#337ab7!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#54d6f0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#e9ecef!important}.text-dark{color:#343a40!important}.text-blue{color:#0d6efd!important}.text-indigo{color:#6610f2!important}.text-purple{color:#6f42c1!important}.text-pink{color:#d63384!important}.text-red{color:#dc3545!important}.text-orange{color:#fd7e14!important}.text-yellow{color:#ffc107!important}.text-green{color:#198754!important}.text-teal{color:#20c997!important}.text-cyan{color:#0dcaf0!important}.text-gray{color:#adb5bd!important}.text-black{color:#000!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:#00000080!important}.text-white-50{color:#ffffff80!important}.text-reset{color:inherit!important}.bg-primary{background-color:#337ab7!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#54d6f0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#e9ecef!important}.bg-dark{background-color:#343a40!important}.bg-blue{background-color:#0d6efd!important}.bg-indigo{background-color:#6610f2!important}.bg-purple{background-color:#6f42c1!important}.bg-pink{background-color:#d63384!important}.bg-red{background-color:#dc3545!important}.bg-orange{background-color:#fd7e14!important}.bg-yellow{background-color:#ffc107!important}.bg-green{background-color:#198754!important}.bg-teal{background-color:#20c997!important}.bg-cyan{background-color:#0dcaf0!important}.bg-gray{background-color:#adb5bd!important}.bg-black{background-color:#000!important}.bg-white{background-color:#fff!important}.bg-body{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-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:.375rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.375rem!important}.rounded-2{border-radius:.375rem!important}.rounded-3{border-radius:.75rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}.rounded-end{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.rounded-bottom{border-bottom-right-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.rounded-start{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float: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-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}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-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{--nbx-select-content-bg: #fff;--nbx-select-option-selected-bg: #dee2e6;--nbx-select-option-hover-bg: #0d6efd;--nbx-select-option-hover-color: #fff;--nbx-select-placeholder-color: #adb5bd;--nbx-select-value-color: #fff}:root[data-netbox-color-mode=dark]{--nbx-select-content-bg: #212529;--nbx-select-option-selected-bg: #adb5bd;--nbx-select-option-hover-bg: #9ec5fe;--nbx-select-option-hover-color: #000;--nbx-select-placeholder-color: #495057;--nbx-select-value-color: #000}.ss-main{position:relative;display:inline-block;user-select:none;color:#212529;width:100%}.ss-main .ss-single-selected{display:flex;cursor:pointer;width:100%;height:calc(1.5em + (.75rem + 2px));padding:.75rem;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}.ss-main .ss-single-selected.ss-disabled{background-color:#ced4da;cursor:not-allowed}.ss-main .ss-single-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main .ss-single-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main .ss-single-selected .placeholder{display:flex;flex:1 1 100%;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;width:calc(100% - 30px);line-height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ss-main .ss-single-selected .placeholder *{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}.ss-main .ss-single-selected .placeholder .ss-disabled{color:#6c757d}.ss-main .ss-single-selected .ss-deselect{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem;font-weight:bold}.ss-main .ss-single-selected .ss-deselect.ss-hide{display:none}.ss-main .ss-single-selected .ss-arrow{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem}.ss-main .ss-single-selected .ss-arrow span{border:solid #212529;border-width:0 2px 2px 0;display:inline-block;padding:3px;transition:transform .2s,margin .2s}.ss-main .ss-single-selected .ss-arrow span.arrow-up{transform:rotate(-135deg);margin:3px 0 0}.ss-main .ss-single-selected .ss-arrow span.arrow-down{transform:rotate(45deg);margin:-3px 0 0}.ss-main .ss-multi-selected{display:flex;flex-direction:row;cursor:pointer;min-height:calc(1.5em + (.75rem + 2px));width:100%;padding:0 0 0 3px;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}.ss-main .ss-multi-selected.ss-disabled{background-color:#ced4da;cursor:not-allowed}.ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled{color:#212529}.ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main .ss-multi-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main .ss-multi-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main .ss-multi-selected .ss-values{display:flex;flex-wrap:wrap;justify-content:flex-start;flex:1 1 100%;width:calc(100% - 30px)}.ss-main .ss-multi-selected .ss-values .ss-disabled{display:flex;padding:4px 5px;margin:2px 0;line-height:1em;align-items:center;width:100%;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.ss-main .ss-multi-selected .ss-values .ss-value{display:flex;user-select:none;align-items:center;font-size:12px;padding:3px 5px;margin:3px 5px 3px 0;color:#fff;background-color:#337ab7;border-radius:.375rem;animation-name:scaleIn;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}.ss-main .ss-multi-selected .ss-values .ss-value.ss-out{animation-name:scaleOut;animation-duration:.2s;animation-timing-function:ease-out}.ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete{margin:0 0 0 5px;cursor:pointer}.ss-main .ss-multi-selected .ss-add{display:flex;flex:0 1 3px;margin:9px 12px 0 5px}.ss-main .ss-multi-selected .ss-add .ss-plus{display:flex;justify-content:center;align-items:center;background:#212529;position:relative;height:10px;width:2px;transition:transform .2s}.ss-main .ss-multi-selected .ss-add .ss-plus:after{background:#212529;content:"";position:absolute;height:2px;width:10px;left:-4px;top:4px}.ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross{transform:rotate(45deg)}.ss-content{position:absolute;width:100%;margin:-1px 0 0;box-sizing:border-box;border:solid 1px #ced4da;z-index:1010;background-color:#fff;transform-origin:center top;transition:transform .2s,opacity .2s;opacity:0;transform:scaleY(0)}.ss-content.ss-open{display:block;opacity:1;transform:scaleY(1)}.ss-content .ss-search{display:flex;flex-direction:row;padding:.75rem}.ss-content .ss-search.ss-hide{height:0px;opacity:0;padding:0;margin:0}.ss-content .ss-search.ss-hide input{height:0px;opacity:0;padding:0;margin:0}.ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;height:30px;padding:.75rem;margin:0;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;text-align:left;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-appearance:textfield}.ss-content .ss-search input::placeholder{color:#adb5bd;vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px #337ab7}.ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;font-size:22px;font-weight:bold;flex:0 0 30px;height:30px;margin:0 0 0 8px;border:1px solid #ced4da;border-radius:.375rem;box-sizing:border-box}.ss-content .ss-addable{padding-top:0}.ss-content .ss-list{max-height:200px;overflow-x:hidden;overflow-y:auto;text-align:left}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:6px 10px;font-weight:bold}.ss-content .ss-list .ss-optgroup .ss-option{padding:6px 6px 6px 25px}.ss-content .ss-list .ss-optgroup-label-selectable{cursor:pointer}.ss-content .ss-list .ss-optgroup-label-selectable:hover{color:#fff;background-color:#337ab7}.ss-content .ss-list .ss-option{padding:6px 10px;cursor:pointer;user-select:none}.ss-content .ss-list .ss-option *{display:inline-block}.ss-content .ss-list .ss-option:hover,.ss-content .ss-list .ss-option.ss-highlighted{color:#fff;background-color:#337ab7}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;color:#6c757d;background-color:#fff}.ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected{color:#212529;background-color:#337ab71a}.ss-content .ss-list .ss-option.ss-hide{display:none}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:#ffc107}.ss-main{color:#212529}.ss-main.is-invalid .ss-single-selected,.ss-main.is-invalid .ss-multi-selected{border-color:#dc3545}.ss-main.is-valid .ss-single-selected,.ss-main.is-valid .ss-multi-selected{border-color:#198754}.ss-main .ss-single-selected,.ss-main .ss-multi-selected{padding:.375rem .75rem;background-color:#fff;border:1px solid #e9ecef}.ss-main .ss-single-selected[disabled],.ss-main .ss-multi-selected[disabled]{color:#6c757d;background-color:#e9ecef}.ss-main div.ss-multi-selected .ss-values .ss-disabled,.ss-main div.ss-single-selected span.placeholder .ss-disabled{color:var(--nbx-select-placeholder-color)}.ss-main .ss-single-selected span.ss-arrow span.arrow-down,.ss-main .ss-single-selected span.ss-arrow span.arrow-up{border-color:currentColor;color:#6c757d}.ss-main .ss-single-selected .placeholder .depth{display:none}.ss-main .ss-single-selected span.placeholder>*,.ss-main .ss-single-selected span.placeholder{line-height:1.5}.ss-main .ss-multi-selected{align-items:center;padding-right:.75rem;padding-left:.75rem}.ss-main .ss-multi-selected .ss-values .ss-disabled{padding:4px 0}.ss-main .ss-multi-selected .ss-values .ss-value{color:var(--nbx-select-value-color);border-radius:.375rem}.ss-main .ss-multi-selected .ss-values .ss-value .depth{display:none}.ss-main .ss-multi-selected .ss-add{margin:0 .75rem}.ss-main .ss-content{background-color:var(--nbx-select-content-bg);border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.ss-main .ss-content .ss-list .ss-option.ss-option-selected{color:#212529;background-color:var(--nbx-select-option-selected-bg)}.ss-main .ss-content .ss-list .ss-option:hover{color:var(--nbx-select-option-hover-color);background-color:var(--nbx-select-option-hover-bg)}.ss-main .ss-content .ss-list .ss-option:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.ss-main .ss-content .ss-list .ss-option.ss-disabled{background-color:unset}.ss-main .ss-content .ss-list .ss-option.ss-disabled:hover{color:#6c757d}.ss-main .ss-content .ss-list .ss-option .depth{opacity:.3}.ss-main .ss-content .ss-list::-webkit-scrollbar{right:0;width:4px}.ss-main .ss-content .ss-list::-webkit-scrollbar:hover{opacity:.8}.ss-main .ss-content .ss-list::-webkit-scrollbar-track{background:transparent}.ss-main .ss-content .ss-list::-webkit-scrollbar-thumb{right:0;width:2px;background-color:var(--nbx-sidebar-scroll)}.ss-main .ss-content .ss-search{padding-right:.5rem}.ss-main .ss-content .ss-search button{margin-left:.75rem}.ss-main .ss-content .ss-search input[type=search]{color:#212529;background-color:#fff;border:1px solid #e9ecef}.ss-main .ss-content .ss-search input[type=search]:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.sidenav{position:fixed;top:0;bottom:0;left:0;z-index:1050;display:block;width:100%;max-width:3rem;padding-top:0;padding-right:0;padding-left:0;background-color:var(--nbx-sidebar-bg);border-right:1px solid #ced4da;transition:all .1s ease-in-out}@media (max-width: 991.98px){.sidenav{transform:translate(-3rem)}.sidenav+.content-container[class]{margin-left:0}.sidenav .profile-button-container[class]{display:block}}.sidenav .profile-button-container{display:none;padding:.5rem 1rem}.sidenav+.content-container{margin-left:3rem;transition:all .1s ease-in-out}.sidenav .sidenav-brand{margin-right:0;transition:opacity .1s ease-in-out}.sidenav .sidenav-brand-icon{transition:opacity .1s ease-in-out}.sidenav .sidenav-inner{padding-right:1.5rem;padding-left:1.5rem}@media (min-width: 768px){.sidenav .sidenav-inner{padding-right:0;padding-left:0}}.sidenav .sidenav-brand-img,.sidenav .sidenav-brand>img{max-width:100%;max-height:calc(16rem - 1rem)}.sidenav .navbar-heading{padding-top:.5rem;padding-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.sidenav .sidenav-header{position:relative;display:flex;align-items:center;justify-content:space-between;height:78px;padding:1rem;transition:all .1s ease-in-out}.sidenav .sidenav-toggle{position:absolute;display:inline-block;opacity:0;transition:opacity 10ms ease-in-out;transition-delay:.1s}.sidenav .sidenav-collapse{display:flex;flex:1;flex-direction:column;align-items:stretch;padding-right:1.5rem;padding-left:1.5rem;margin-right:-1.5rem;margin-left:-1.5rem}.sidenav .sidenav-collapse>*{min-width:100%}@media (min-width: 768px){.sidenav .sidenav-collapse{margin-right:0;margin-left:0}}.sidenav .nav-group-header{padding:.25rem 1rem;margin-top:.5rem;margin-bottom:0}.sidenav .nav .nav-item{display:flex;align-items:center;justify-content:space-between;width:100%}.sidenav .nav .nav-item.no-buttons{padding-right:5rem}.sidenav .collapse .nav .nav-item .nav-link{width:100%;padding:.25rem .25rem .25rem 1rem;margin-top:0;margin-bottom:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon{width:1rem;text-align:center;transition:all .1s ease-in-out}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]{width:unset;height:100%;padding-left:.5rem;font-weight:700;color:var(--nbx-sidenav-parent-color)}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{color:#343a40;background:#cfe2ff}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after{display:inline-block;margin-left:auto;font-family:"Material Design Icons";font-style:normal;font-weight:700;font-variant:normal;color:#6c757d;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\f0142";transition:all .1s ease-in-out}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after{color:#343a40}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after{color:#337ab7;transform:rotate(90deg)}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text{padding-left:.25rem;transition:all .1s ease-in-out}.sidenav .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}.sidenav .navbar-nav .nav-item{margin-top:2px}.sidenav .navbar-nav .nav-item.disabled{cursor:not-allowed;opacity:.8}.sidenav .navbar-nav .nav-item .nav-link{position:relative;display:flex;align-items:center;width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--nbx-sidenav-link-color);white-space:nowrap;transition:all .1s ease-in-out}.sidenav .navbar-nav .nav-item .nav-link.active{background-color:var(--nbx-sidebar-link-active-bg)}.sidenav .navbar-nav .nav-item .nav-link:hover:not(.active){color:var(--nbx-body-color);background-color:var(--nbx-sidebar-link-hover-bg)}.sidenav .navbar-nav .nav-item .nav-link>i{min-width:2rem;font-size:calc(45px / 2);text-align:center}.sidenav .navbar-nav .nav-group-label{display:block;font-size:.75rem;font-weight:700;color:var(--nbx-sidenav-group-color);text-transform:uppercase;white-space:nowrap}body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon{color:var(--nbx-sidenav-pin-color);transform:rotate(90deg)}@media (min-width: 1200px){body[data-sidenav-pinned] .sidenav+.content-container{margin-left:16rem}}.g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon{transform:rotate(0)}body[data-sidenav-show] .sidenav,body[data-sidenav-pinned] .sidenav{max-width:16rem}body[data-sidenav-show] .sidenav .sidenav-brand,body[data-sidenav-show] .sidenav .navbar-heading,body[data-sidenav-pinned] .sidenav .sidenav-brand,body[data-sidenav-pinned] .sidenav .navbar-heading{display:block}body[data-sidenav-show] .sidenav .sidenav-brand,body[data-sidenav-pinned] .sidenav .sidenav-brand{opacity:1;transform:translate(0)}body[data-sidenav-show] .sidenav .sidenav-brand-icon,body[data-sidenav-pinned] .sidenav .sidenav-brand-icon{position:absolute;opacity:0}@media (max-width: 991.98px){body[data-sidenav-show] .sidenav,body[data-sidenav-pinned] .sidenav{transform:translate(0)}}body[data-sidenav-hide] .sidenav .sidenav-header,body[data-sidenav-hidden] .sidenav .sidenav-header{padding:.5rem}body[data-sidenav-hide] .sidenav .sidenav-brand,body[data-sidenav-hidden] .sidenav .sidenav-brand{position:absolute;opacity:0}body[data-sidenav-hide] .sidenav .sidenav-brand-icon,body[data-sidenav-hidden] .sidenav .sidenav-brand-icon{opacity:1}body[data-sidenav-hide] .sidenav .sidenav-toggle,body[data-sidenav-hidden] .sidenav .sidenav-toggle{opacity:0;position:absolute;transition:unset;transition-delay:0ms}body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after{content:""}body[data-sidenav-hide] .sidenav .nav-item .collapse,body[data-sidenav-hidden] .sidenav .nav-item .collapse{display:none}body[data-sidenav-hide] .sidenav .nav-link-text,body[data-sidenav-hidden] .sidenav .nav-link-text{opacity:0}body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{margin-right:0;margin-left:0;border-radius:unset}body[data-sidenav-show] .sidenav .sidenav-brand{display:block}body[data-sidenav-show] .sidenav .nav-item .collapse{height:auto;transition:all .1s ease-in-out}body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text{opacity:1}body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon{opacity:0}@media (min-width: 992px){body[data-sidenav-show] .sidenav .sidenav-toggle{position:relative;opacity:1}}.simplebar-track.simplebar-vertical{right:0;width:6px;background-color:transparent}.simplebar-track.simplebar-vertical .simplebar-scrollbar{transition:none}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{right:0;width:3px;background:var(--nbx-sidebar-scroll);border-radius:.375rem}.simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before{width:5px}body{color:var(--nbx-body-color);background-color:var(--nbx-body-bg);font-size:.875rem}pre{white-space:pre}small,.small{font-size:smaller!important}a[type=button]{-webkit-appearance:unset!important}*[data-href]{cursor:pointer}.form-control:not([type=file]){font-size:inherit}.badge{font-size:.75rem}.text-xs{font-size:.75rem!important;line-height:1.25!important}.border-input{border:1px solid #e9ecef!important}.ws-nowrap{white-space:nowrap!important}table tr .vertical-align,table td .vertical-align{vertical-align:middle}@media print{.noprint{display:none!important;visibility:hidden!important}}.printonly{display:none!important;visibility:hidden!important}@media print{.printonly{display:block!important;visibility:visible!important}}:root{--nbx-sidebar-bg: #e9ecef;--nbx-sidebar-scroll: #adb5bd;--nbx-sidebar-link-hover-bg: rgba(108, 117, 125, .15);--nbx-sidebar-link-active-bg: #cfe2ff;--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(0, 0, 0, .25);--nbx-breadcrumb-bg: #e9ecef;--nbx-body-bg: #fff;--nbx-body-color: #343a40;--nbx-pre-bg: #f8f9fa;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(25, 135, 84, .4);--nbx-change-removed: rgba(220, 53, 69, .4);--nbx-cable-node-bg: #f8f9fa;--nbx-cable-node-border-color: #e9ecef;--nbx-cable-termination-bg: #e9ecef;--nbx-cable-termination-border-color: #dee2e6;--nbx-search-filter-border-left-color: #dee2e6;--nbx-color-mode-toggle-color: #337ab7;--nbx-sidenav-link-color: #343a40;--nbx-sidenav-pin-color: #fd7e14;--nbx-sidenav-parent-color: #343a40;--nbx-sidenav-group-color: #343a40}:root[data-netbox-color-mode=dark]{--nbx-sidebar-bg: #212529;--nbx-sidebar-scroll: #495057;--nbx-sidebar-link-active-bg: rgba(110, 168, 254, .25);--nbx-sidebar-link-hover-bg: rgba(173, 181, 189, .15);--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(255, 255, 255, .05);--nbx-breadcrumb-bg: #343a40;--nbx-body-bg: #1b1f22;--nbx-body-color: #f8f9fa;--nbx-pre-bg: #495057;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(117, 183, 152, .4);--nbx-change-removed: rgba(234, 134, 143, .4);--nbx-cable-node-bg: #495057;--nbx-cable-node-border-color: #6c757d;--nbx-cable-termination-bg: #343a40;--nbx-cable-termination-border-color: #495057;--nbx-search-filter-border-left-color: #6c757d;--nbx-color-mode-toggle-color: #ffda6a;--nbx-sidenav-link-color: #e9ecef;--nbx-sidenav-pin-color: #ffc107;--nbx-sidenav-parent-color: #e9ecef;--nbx-sidenav-group-color: #6c757d}.bg-primary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f496e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-primary{color:#337ab7}.btn.btn-ghost-primary:hover{background-color:#337ab71f}.alert.alert-primary a:not(.btn),.table-primary a:not(.btn){font-weight:700;color:#1f496e}.alert.alert-primary .btn:not([class*=btn-outline]),.table-primary .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-primary a:not(.btn){font-weight:700;color:#adcae2}.badge.bg-primary,.toast.bg-primary,.toast-header.bg-primary,.progress-bar.bg-primary{color:#fff}.bg-secondary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2341464b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-secondary{color:#6c757d}.btn.btn-ghost-secondary:hover{background-color:#6c757d1f}.alert.alert-secondary a:not(.btn),.table-secondary a:not(.btn){font-weight:700;color:#41464b}.alert.alert-secondary .btn:not([class*=btn-outline]),.table-secondary .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-secondary a:not(.btn){font-weight:700;color:#c4c8cb}.badge.bg-secondary,.toast.bg-secondary,.toast-header.bg-secondary,.progress-bar.bg-secondary{color:#fff}.bg-success button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f5132'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-success{color:#198754}.btn.btn-ghost-success:hover{background-color:#1987541f}.alert.alert-success a:not(.btn),.table-success a:not(.btn){font-weight:700;color:#0f5132}.alert.alert-success .btn:not([class*=btn-outline]),.table-success .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-success a:not(.btn){font-weight:700;color:#a3cfbb}.badge.bg-success,.toast.bg-success,.toast-header.bg-success,.progress-bar.bg-success{color:#fff}.bg-info button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23225660'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-info{color:#54d6f0}.btn.btn-ghost-info:hover{background-color:#54d6f01f}.alert.alert-info a:not(.btn),.table-info a:not(.btn){font-weight:700;color:#225660}.alert.alert-info .btn:not([class*=btn-outline]),.table-info .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-info a:not(.btn){font-weight:700;color:#225660}.badge.bg-info,.toast.bg-info,.toast-header.bg-info,.progress-bar.bg-info{color:#000}.bg-warning button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23664d03'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-warning{color:#ffc107}.btn.btn-ghost-warning:hover{background-color:#ffc1071f}.alert.alert-warning a:not(.btn),.table-warning a:not(.btn){font-weight:700;color:#664d03}.alert.alert-warning .btn:not([class*=btn-outline]),.table-warning .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-warning a:not(.btn){font-weight:700;color:#664d03}.badge.bg-warning,.toast.bg-warning,.toast-header.bg-warning,.progress-bar.bg-warning{color:#000}.bg-danger button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23842029'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-danger{color:#dc3545}.btn.btn-ghost-danger:hover{background-color:#dc35451f}.alert.alert-danger a:not(.btn),.table-danger a:not(.btn){font-weight:700;color:#842029}.alert.alert-danger .btn:not([class*=btn-outline]),.table-danger .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-danger a:not(.btn){font-weight:700;color:#f1aeb5}.badge.bg-danger,.toast.bg-danger,.toast-header.bg-danger,.progress-bar.bg-danger{color:#fff}.bg-light button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235d5e60'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-light{color:#e9ecef}.btn.btn-ghost-light:hover{background-color:#e9ecef1f}.alert.alert-light a:not(.btn),.table-light a:not(.btn){font-weight:700;color:#5d5e60}.alert.alert-light .btn:not([class*=btn-outline]),.table-light .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-light a:not(.btn){font-weight:700;color:#5d5e60}.badge.bg-light,.toast.bg-light,.toast-header.bg-light,.progress-bar.bg-light{color:#000}.bg-dark button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f2326'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-dark{color:#343a40}.btn.btn-ghost-dark:hover{background-color:#343a401f}.alert.alert-dark a:not(.btn),.table-dark a:not(.btn){font-weight:700;color:#1f2326}.alert.alert-dark .btn:not([class*=btn-outline]),.table-dark .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-dark a:not(.btn){font-weight:700;color:#aeb0b3}.badge.bg-dark,.toast.bg-dark,.toast-header.bg-dark,.progress-bar.bg-dark{color:#fff}.bg-blue button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23084298'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-blue{color:#0d6efd}.btn.btn-ghost-blue:hover{background-color:#0d6efd1f}.alert.alert-blue a:not(.btn),.table-blue a:not(.btn){font-weight:700;color:#084298}.alert.alert-blue .btn:not([class*=btn-outline]),.table-blue .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-blue a:not(.btn){font-weight:700;color:#9ec5fe}.badge.bg-blue,.toast.bg-blue,.toast-header.bg-blue,.progress-bar.bg-blue{color:#fff}.bg-indigo button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233d0a91'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-indigo{color:#6610f2}.btn.btn-ghost-indigo:hover{background-color:#6610f21f}.alert.alert-indigo a:not(.btn),.table-indigo a:not(.btn){font-weight:700;color:#3d0a91}.alert.alert-indigo .btn:not([class*=btn-outline]),.table-indigo .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-indigo a:not(.btn){font-weight:700;color:#c29ffa}.badge.bg-indigo,.toast.bg-indigo,.toast-header.bg-indigo,.progress-bar.bg-indigo{color:#fff}.bg-purple button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23432874'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-purple{color:#6f42c1}.btn.btn-ghost-purple:hover{background-color:#6f42c11f}.alert.alert-purple a:not(.btn),.table-purple a:not(.btn){font-weight:700;color:#432874}.alert.alert-purple .btn:not([class*=btn-outline]),.table-purple .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-purple a:not(.btn){font-weight:700;color:#c5b3e6}.badge.bg-purple,.toast.bg-purple,.toast-header.bg-purple,.progress-bar.bg-purple{color:#fff}.bg-pink button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23801f4f'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-pink{color:#d63384}.btn.btn-ghost-pink:hover{background-color:#d633841f}.alert.alert-pink a:not(.btn),.table-pink a:not(.btn){font-weight:700;color:#801f4f}.alert.alert-pink .btn:not([class*=btn-outline]),.table-pink .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-pink a:not(.btn){font-weight:700;color:#efadce}.badge.bg-pink,.toast.bg-pink,.toast-header.bg-pink,.progress-bar.bg-pink{color:#fff}.bg-red button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23842029'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-red{color:#dc3545}.btn.btn-ghost-red:hover{background-color:#dc35451f}.alert.alert-red a:not(.btn),.table-red a:not(.btn){font-weight:700;color:#842029}.alert.alert-red .btn:not([class*=btn-outline]),.table-red .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-red a:not(.btn){font-weight:700;color:#f1aeb5}.badge.bg-red,.toast.bg-red,.toast-header.bg-red,.progress-bar.bg-red{color:#fff}.bg-orange button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23984c0c'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-orange{color:#fd7e14}.btn.btn-ghost-orange:hover{background-color:#fd7e141f}.alert.alert-orange a:not(.btn),.table-orange a:not(.btn){font-weight:700;color:#984c0c}.alert.alert-orange .btn:not([class*=btn-outline]),.table-orange .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-orange a:not(.btn){font-weight:700;color:#653208}.badge.bg-orange,.toast.bg-orange,.toast-header.bg-orange,.progress-bar.bg-orange{color:#000}.bg-yellow button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23664d03'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-yellow{color:#ffc107}.btn.btn-ghost-yellow:hover{background-color:#ffc1071f}.alert.alert-yellow a:not(.btn),.table-yellow a:not(.btn){font-weight:700;color:#664d03}.alert.alert-yellow .btn:not([class*=btn-outline]),.table-yellow .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-yellow a:not(.btn){font-weight:700;color:#664d03}.badge.bg-yellow,.toast.bg-yellow,.toast-header.bg-yellow,.progress-bar.bg-yellow{color:#000}.bg-green button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f5132'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-green{color:#198754}.btn.btn-ghost-green:hover{background-color:#1987541f}.alert.alert-green a:not(.btn),.table-green a:not(.btn){font-weight:700;color:#0f5132}.alert.alert-green .btn:not([class*=btn-outline]),.table-green .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-green a:not(.btn){font-weight:700;color:#a3cfbb}.badge.bg-green,.toast.bg-green,.toast-header.bg-green,.progress-bar.bg-green{color:#fff}.bg-teal button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2313795b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-teal{color:#20c997}.btn.btn-ghost-teal:hover{background-color:#20c9971f}.alert.alert-teal a:not(.btn),.table-teal a:not(.btn){font-weight:700;color:#13795b}.alert.alert-teal .btn:not([class*=btn-outline]),.table-teal .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-teal a:not(.btn){font-weight:700;color:#0d503c}.badge.bg-teal,.toast.bg-teal,.toast-header.bg-teal,.progress-bar.bg-teal{color:#000}.bg-cyan button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23055160'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-cyan{color:#0dcaf0}.btn.btn-ghost-cyan:hover{background-color:#0dcaf01f}.alert.alert-cyan a:not(.btn),.table-cyan a:not(.btn){font-weight:700;color:#055160}.alert.alert-cyan .btn:not([class*=btn-outline]),.table-cyan .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-cyan a:not(.btn){font-weight:700;color:#055160}.badge.bg-cyan,.toast.bg-cyan,.toast-header.bg-cyan,.progress-bar.bg-cyan{color:#000}.bg-gray button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23686d71'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-gray{color:#adb5bd}.btn.btn-ghost-gray:hover{background-color:#adb5bd1f}.alert.alert-gray a:not(.btn),.table-gray a:not(.btn){font-weight:700;color:#686d71}.alert.alert-gray .btn:not([class*=btn-outline]),.table-gray .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-gray a:not(.btn){font-weight:700;color:#45484c}.badge.bg-gray,.toast.bg-gray,.toast-header.bg-gray,.progress-bar.bg-gray{color:#000}.bg-black button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-black{color:#000}.btn.btn-ghost-black:hover{background-color:#0000001f}.alert.alert-black a:not(.btn),.table-black a:not(.btn){font-weight:700;color:#000}.alert.alert-black .btn:not([class*=btn-outline]),.table-black .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-black a:not(.btn){font-weight:700;color:#999}.badge.bg-black,.toast.bg-black,.toast-header.bg-black,.progress-bar.bg-black{color:#fff}.bg-white button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23666666'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-white{color:#fff}.btn.btn-ghost-white:hover{background-color:#ffffff1f}.alert.alert-white a:not(.btn),.table-white a:not(.btn){font-weight:700;color:#666}.alert.alert-white .btn:not([class*=btn-outline]),.table-white .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-white a:not(.btn){font-weight:700;color:#666}.badge.bg-white,.toast.bg-white,.toast-header.bg-white,.progress-bar.bg-white{color:#000}table td>.progress{min-width:6rem}.small .form-control{font-size:.875rem}:not(.card-body)>.col:not(:last-child):not(:only-child){margin-bottom:1rem}.nav-mobile{display:none;flex-direction:column;align-items:center;justify-content:space-between;width:100%}@media (max-width: 991.98px){.nav-mobile{display:flex}}.nav-mobile .nav-mobile-top{display:flex;align-items:center;justify-content:space-between;width:100%}.card>.table.table-flush{margin-bottom:0;overflow:hidden;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.card>.table.table-flush thead th[scope=col]{padding-top:1rem;padding-bottom:1rem;text-transform:uppercase;vertical-align:middle;background-color:#f8f9fa;border-top:1px solid rgba(0,0,0,.125);border-bottom-color:#00000020}.card>.table.table-flush th,.card>.table.table-flush td{padding-right:1.5rem!important;padding-left:1.5rem!important;border-right:0;border-left:0}.card>.table.table-flush tr[class]{border-color:#00000020!important}.card>.table.table-flush tr[class]:last-of-type{border-bottom-color:transparent!important;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.header-alert-container{display:flex;align-items:center;justify-content:center;padding:0 1rem}.header-alert-container .alert{width:100%}@media (min-width: 768px){.header-alert-container .alert{max-width:75%}}@media (min-width: 992px){.header-alert-container .alert{max-width:50%}}span.profile-button .dropdown-menu{right:0;left:auto;display:block!important;margin-top:.5rem;box-shadow:0 .5rem 1rem #00000026;transition:opacity .2s ease-in-out}span.profile-button .dropdown-menu:not(.show){pointer-events:none;opacity:0}span.profile-button .dropdown-menu.show{pointer-events:auto;opacity:1}div#advanced-search-content div.card div.card-body div.col:not(:last-child){margin-right:1rem}table td a{text-decoration:none}table td a:hover{text-decoration:underline}table td .dropdown{position:static}table th a,table th a:hover{color:#212529;text-decoration:none}table td,table th{font-size:.875rem;line-height:1.25;vertical-align:middle}table td.min-width,table th.min-width{width:1%}table td .form-check-input,table th .form-check-input{margin-top:.125em;font-size:1rem}table td .btn-sm,table td .btn-group-sm>.btn,table th .btn-sm,table th .btn-group-sm>.btn{line-height:1}table td p,table th p{margin-bottom:0}table th.asc a:after{content:"\f0140";font-family:"Material Design Icons"}table th.desc a:after{content:"\f0143";font-family:"Material Design Icons"}table.table>:not(caption)>*>*{padding-right:.25rem!important;padding-left:.25rem!important}table.object-list th{font-size:.75rem;line-height:1;vertical-align:bottom}table.attr-table th{font-weight:normal;width:25%}div.title-container{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between}@media (min-width: 992px){div.title-container{flex-direction:row}}div.title-container #content-title{display:flex;flex:1 0;flex-direction:column;padding-bottom:.5rem}.controls{margin-bottom:.5rem}@media print{.controls{display:none!important}}.controls .control-group{display:flex;flex-wrap:wrap;justify-content:flex-start}@media (min-width: 992px){.controls .control-group{justify-content:flex-end}}.controls .control-group>*{margin:.25rem}.controls .control-group>*:first-child{margin-left:0}.controls .control-group>*:last-child{margin-right:0}.object-subtitle{display:block;font-size:.875rem;color:#6c757d}@media (min-width: 768px){.object-subtitle{display:inline-block}}.object-subtitle>span{display:block}.object-subtitle>span.separator{display:none}@media (min-width: 768px){.object-subtitle>span,.object-subtitle>span.separator{display:inline-block}}nav.search{z-index:999;justify-content:center;background-color:var(--nbx-body-bg)}nav.search .search-container{display:flex;width:100%}@media (max-width: 991.98px){nav.search .search-container{display:none}}nav.search .input-group .search-obj-selected{border-color:#e9ecef}nav.search .input-group .dropdown-toggle{color:#000;border-color:#e9ecef;margin-left:0;font-weight:400;line-height:1.5;color:#212529;background-color:#e9ecef;border:1px solid #e9ecef;border-radius:.375rem;border-left:1px solid var(--nbx-search-filter-border-left-color)}nav.search .input-group .dropdown-toggle:hover{color:#000;background-color:#eceff1;border-color:#ebeef1}.btn-check:focus+nav.search .input-group .dropdown-toggle,nav.search .input-group .dropdown-toggle:focus{color:#000;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem #c6c9cb80}.btn-check:checked+nav.search .input-group .dropdown-toggle,.btn-check:active+nav.search .input-group .dropdown-toggle,nav.search .input-group .dropdown-toggle:active,nav.search .input-group .dropdown-toggle.active,.show>nav.search .input-group .dropdown-toggle.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}.btn-check:checked+nav.search .input-group .dropdown-toggle:focus,.btn-check:active+nav.search .input-group .dropdown-toggle:focus,nav.search .input-group .dropdown-toggle:active:focus,nav.search .input-group .dropdown-toggle.active:focus,.show>nav.search .input-group .dropdown-toggle.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c6c9cb80}nav.search .input-group .dropdown-toggle:disabled,nav.search .input-group .dropdown-toggle.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}nav.search .input-group .dropdown-toggle:focus{box-shadow:unset!important}nav.search .input-group .dropdown-toggle:after{display:none}nav.search .input-group .search-obj-selector{max-height:70vh;overflow-y:auto}nav.search .input-group .search-obj-selector .dropdown-item,nav.search .input-group .search-obj-selector .dropdown-header{font-size:.875rem}nav.search .input-group .search-obj-selector .dropdown-header{text-transform:uppercase}main.layout{display:flex;flex-wrap:nowrap;height:100vh;height:-webkit-fill-available;max-height:100vh;overflow-x:auto;overflow-y:hidden}@media print{main.layout{position:static!important;display:block!important;height:100%;overflow-x:visible!important;overflow-y:visible!important}}main.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100vw;height:calc(100vh - 4rem);padding-top:40px;padding-bottom:40px}main.login-container+footer.footer button.color-mode-toggle{color:var(--nbx-color-mode-toggle-color)}.footer{padding:0}.footer .nav-link{padding:.5rem}@media (max-width: 767.98px){.footer{margin-bottom:8rem}}footer.login-footer{height:4rem;margin-top:auto}footer.login-footer .container-fluid,footer.login-footer .container-sm,footer.login-footer .container-md,footer.login-footer .container-lg,footer.login-footer .container-xl,footer.login-footer .container-xxl{display:flex;justify-content:flex-end;padding:.75rem 1.5rem}h1.accordion-item-title,.accordion-item-title.h1,h2.accordion-item-title,.accordion-item-title.h2,h3.accordion-item-title,.accordion-item-title.h3,h4.accordion-item-title,.accordion-item-title.h4,h5.accordion-item-title,.accordion-item-title.h5,h6.accordion-item-title,.accordion-item-title.h6{padding:.25rem .5rem;font-size:.875rem;font-weight:700;color:var(--nbx-sidebar-title-color);text-transform:uppercase}.form-login{width:100%;max-width:330px;padding:15px}.form-login input:focus{z-index:1}.form-login input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}.form-login input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}.form-login .form-control{position:relative;box-sizing:border-box;height:auto;padding:10px;font-size:16px}.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}nav.nav.nav-pills .nav-item.nav-link{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}nav.nav.nav-pills .nav-item.nav-link:hover{color:#343a40;background-color:#cfe2ff}div.content-container{position:relative;display:flex;flex-direction:column;width:calc(100% - 3rem);min-height:100vh;overflow-x:hidden;overflow-y:auto}div.content-container:focus,div.content-container:focus-visible{outline:0}div.content-container div.content{flex:1}@media (max-width: 991.98px){div.content-container{width:100%}}@media print{div.content-container{width:100%!important;margin-left:0!important}}@media (max-width: 768px){.sidebar.collapse.show~.content-container>.content{position:fixed;top:0;left:0;overflow-y:hidden}}.tooltip{pointer-events:none}span.color-label{display:block;width:5rem;height:1rem;padding:.35em .65em;border:1px solid #303030;border-radius:.375rem;box-shadow:0 .125rem .25rem #00000013}.btn{white-space:nowrap}.card{box-shadow:0 .125rem .25rem #00000013}.card .card-header{padding:1rem;color:var(--nbx-body-color);border-bottom:none}.card .card-header+.card-body{padding-top:0}.card .card-body.small .form-control,.card .card-body.small .form-select{font-size:.875rem}.card .card-divider{width:100%;height:1px;margin:1rem 0;border-top:1px solid rgba(0,0,0,.125);opacity:.25}@media print{.card{box-shadow:unset!important}}.form-floating{position:relative}.form-floating>.input-group>.form-control,.form-floating>.input-group>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating>.input-group>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>.input-group>label{transition:none}}.form-floating>.input-group>.form-control::placeholder{color:transparent}.form-floating>.input-group>.form-control:focus,.form-floating>.input-group>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.input-group>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.input-group>.form-select,.form-floating>.choices>.choices__inner,.form-floating>.ss-main span.placeholder,.form-floating>.ss-main div.ss-values{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.input-group>.form-control:focus~label,.form-floating>.input-group>.form-control:not(:placeholder-shown)~label,.form-floating>.input-group>.form-select~label,.form-floating>.choices~label,.form-floating>.ss-main~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem);z-index:4}.form-floating>.input-group>.form-control:-webkit-autofill~label{z-index:4;opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-object-edit{margin:0 auto;max-width:800px}textarea.form-control[rows="10"]{height:18rem}textarea#id_local_context_data,textarea.markdown,textarea#id_public_key,textarea.form-control[name=csv],textarea.form-control[name=data]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.card:not(:only-of-type){margin-bottom:1rem}.stat-btn{min-width:3rem}nav.breadcrumb-container{width:fit-content;padding:.35em .65em;font-size:.875rem}nav.breadcrumb-container ol.breadcrumb{margin-bottom:0}nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a{text-decoration:none}nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover{text-decoration:underline}label.required{font-weight:700}label.required:after{position:absolute;display:inline-block;margin:0 0 0 2px;font-family:"Material Design Icons";font-size:8px;font-style:normal;font-weight:600;text-decoration:none;content:"\f06c4"}div.bulk-buttons{display:flex;justify-content:space-between;margin:.5rem 0}div.bulk-buttons>div.bulk-button-group{display:flex;flex-wrap:wrap;align-items:flex-start}div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child{margin-left:0}div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child{margin-right:0}div.bulk-buttons>div.bulk-button-group>*{margin:.25rem}table tbody tr.primary{background-color:#337ab726;border-color:#adb5bd}table tbody tr.secondary{background-color:#6c757d26;border-color:#adb5bd}table tbody tr.success{background-color:#19875426;border-color:#adb5bd}table tbody tr.info{background-color:#54d6f026;border-color:#adb5bd}table tbody tr.warning{background-color:#ffc10726;border-color:#adb5bd}table tbody tr.danger{background-color:#dc354526;border-color:#adb5bd}table tbody tr.light{background-color:#e9ecef26;border-color:#adb5bd}table tbody tr.dark{background-color:#343a4026;border-color:#adb5bd}table tbody tr.blue{background-color:#0d6efd26;border-color:#adb5bd}table tbody tr.indigo{background-color:#6610f226;border-color:#adb5bd}table tbody tr.purple{background-color:#6f42c126;border-color:#adb5bd}table tbody tr.pink{background-color:#d6338426;border-color:#adb5bd}table tbody tr.red{background-color:#dc354526;border-color:#adb5bd}table tbody tr.orange{background-color:#fd7e1426;border-color:#adb5bd}table tbody tr.yellow{background-color:#ffc10726;border-color:#adb5bd}table tbody tr.green{background-color:#19875426;border-color:#adb5bd}table tbody tr.teal{background-color:#20c99726;border-color:#adb5bd}table tbody tr.cyan{background-color:#0dcaf026;border-color:#adb5bd}table tbody tr.gray{background-color:#adb5bd26;border-color:#adb5bd}table tbody tr.black{background-color:#00000026;border-color:#adb5bd}table tbody tr.white{background-color:#ffffff26;border-color:#adb5bd}table .table-badge-group .table-badge{display:block;width:min-content;font-size:.875rem;font-weight:400}table .table-badge-group .table-badge:not(.badge){padding:0 .65em}table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child){margin-bottom:.25rem}pre.change-data{padding-right:0;padding-left:0}pre.change-data>span{display:block;padding-right:1rem;padding-left:1rem}pre.change-data>span.added{background-color:var(--nbx-change-added)}pre.change-data>span.removed{background-color:var(--nbx-change-removed)}pre.change-diff{border-color:transparent}pre.change-diff.change-removed{background-color:var(--nbx-change-removed)}pre.change-diff.change-added{background-color:var(--nbx-change-added)}div.card-overlay{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#ffffffbf;border-radius:.375rem}div.card-overlay>div.spinner-border{width:6rem;height:6rem;color:#6c757d}.table-controls{display:flex}@media (min-width: 768px){.table-controls{margin-top:0!important;margin-bottom:0!important}}.table-controls .table-configure{justify-content:flex-start}@media (min-width: 768px){.table-controls .table-configure{justify-content:flex-end}}.table-controls .form-switch.form-check-inline{flex:1 0 auto;font-size:.875rem}.nav-tabs .nav-link:hover{border-bottom-color:transparent}.nav-tabs .nav-link.active{background-color:#f8f9fa;border-bottom-color:#f8f9fa;transform:translateY(1px)}.tab-content{display:flex;flex-direction:column;padding:1rem;background-color:#f8f9fa;border-bottom:1px solid #dee2e6}@media print{.tab-content{background-color:var(--nbx-body-bg)!important;border-bottom:none!important}}@media print{.masonry{position:static!important;display:block!important;height:unset!important}}@media print{.masonry .masonry-item{position:static!important;top:unset!important;left:unset!important;display:block!important}}.record-depth{display:inline;font-size:1rem;user-select:none;opacity:.33}.record-depth span:only-of-type,.record-depth span:last-of-type{margin-right:.25rem}.popover.image-preview-popover{max-width:unset}.rendered-markdown table{width:100%}.rendered-markdown th{border-bottom:2px solid #ddd;padding:8px}.rendered-markdown td{border-top:1px solid #ddd;padding:8px}td pre{margin-bottom:0}pre.block{padding:1rem;background-color:var(--nbx-pre-bg);border:1px solid var(--nbx-pre-border-color);border-radius:.375rem}#django-messages{position:fixed;right:1rem;bottom:0;margin:1rem}html[data-netbox-url-name=home] .content-container,html[data-netbox-url-name=home] .search{background-color:#f8f9fa!important}html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search{background-color:#171b1d!important}html[data-netbox-url-name=login] #django-messages{display:none} +:root{--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #337ab7;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #54d6f0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #e9ecef;--bs-dark: #343a40;--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-gray: #adb5bd;--bs-black: #000;--bs-white: #fff;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0))}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-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:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:800}small,.small{font-size:.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#212529;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.375rem}kbd kbd{padding:0;font-size:1em;font-weight:700}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:#6c757d;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]::-webkit-calendar-picker-indicator{display:none}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;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{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]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:var(--bs-gutter-x, .75rem);padding-left:var(--bs-gutter-x, .75rem);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-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}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.375rem;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:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#adb5bd;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.375rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.375rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px 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{padding:1rem .75rem}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){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),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){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:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754e6;border-radius:.375rem}.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:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.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"]{padding-right:4.125rem;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem #19875440}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:1}.was-validated .input-group .form-control:valid:focus,.input-group .form-control.is-valid:focus,.was-validated .input-group .form-select:valid:focus,.input-group .form-select.is-valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545e6;border-radius:.375rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem #dc354540}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:2}.was-validated .input-group .form-control:invalid:focus,.input-group .form-control.is-invalid:focus,.was-validated .input-group .form-select:invalid:focus,.input-group .form-select.is-invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;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:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-primary:hover{color:#fff;background-color:#2b689c;border-color:#296292}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#2b689c;border-color:#296292;box-shadow:0 0 0 .25rem #528ec280}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#296292;border-color:#265c89}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #528ec280}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem #828a9180}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #828a9180}.btn-secondary:disabled,.btn-secondary.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem #3c996e80}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3c996e80}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-info:hover{color:#000;background-color:#6edcf2;border-color:#65daf2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#6edcf2;border-color:#65daf2;box-shadow:0 0 0 .25rem #47b6cc80}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#76def3;border-color:#65daf2}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #47b6cc80}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem #d9a40680}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9a40680}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem #e1536180}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #e1536180}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-light:hover{color:#000;background-color:#eceff1;border-color:#ebeef1}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem #c6c9cb80}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c6c9cb80}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#2c3136;border-color:#2a2e33}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#2c3136;border-color:#2a2e33;box-shadow:0 0 0 .25rem #52585d80}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#2a2e33;border-color:#272c30}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #52585d80}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-blue{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-blue:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-blue,.btn-blue:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem #3184fd80}.btn-check:checked+.btn-blue,.btn-check:active+.btn-blue,.btn-blue:active,.btn-blue.active,.show>.btn-blue.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:checked+.btn-blue:focus,.btn-check:active+.btn-blue:focus,.btn-blue:active:focus,.btn-blue.active:focus,.show>.btn-blue.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3184fd80}.btn-blue:disabled,.btn-blue.disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-indigo{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-indigo:hover{color:#fff;background-color:#570ece;border-color:#520dc2}.btn-check:focus+.btn-indigo,.btn-indigo:focus{color:#fff;background-color:#570ece;border-color:#520dc2;box-shadow:0 0 0 .25rem #7d34f480}.btn-check:checked+.btn-indigo,.btn-check:active+.btn-indigo,.btn-indigo:active,.btn-indigo.active,.show>.btn-indigo.dropdown-toggle{color:#fff;background-color:#520dc2;border-color:#4d0cb6}.btn-check:checked+.btn-indigo:focus,.btn-check:active+.btn-indigo:focus,.btn-indigo:active:focus,.btn-indigo.active:focus,.show>.btn-indigo.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #7d34f480}.btn-indigo:disabled,.btn-indigo.disabled{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-purple{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-purple:hover{color:#fff;background-color:#5e38a4;border-color:#59359a}.btn-check:focus+.btn-purple,.btn-purple:focus{color:#fff;background-color:#5e38a4;border-color:#59359a;box-shadow:0 0 0 .25rem #855eca80}.btn-check:checked+.btn-purple,.btn-check:active+.btn-purple,.btn-purple:active,.btn-purple.active,.show>.btn-purple.dropdown-toggle{color:#fff;background-color:#59359a;border-color:#533291}.btn-check:checked+.btn-purple:focus,.btn-check:active+.btn-purple:focus,.btn-purple:active:focus,.btn-purple.active:focus,.show>.btn-purple.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #855eca80}.btn-purple:disabled,.btn-purple.disabled{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-pink{color:#fff;background-color:#d63384;border-color:#d63384}.btn-pink:hover{color:#fff;background-color:#b62b70;border-color:#ab296a}.btn-check:focus+.btn-pink,.btn-pink:focus{color:#fff;background-color:#b62b70;border-color:#ab296a;box-shadow:0 0 0 .25rem #dc529680}.btn-check:checked+.btn-pink,.btn-check:active+.btn-pink,.btn-pink:active,.btn-pink.active,.show>.btn-pink.dropdown-toggle{color:#fff;background-color:#ab296a;border-color:#a12663}.btn-check:checked+.btn-pink:focus,.btn-check:active+.btn-pink:focus,.btn-pink:active:focus,.btn-pink.active:focus,.show>.btn-pink.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #dc529680}.btn-pink:disabled,.btn-pink.disabled{color:#fff;background-color:#d63384;border-color:#d63384}.btn-red{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-red:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-red,.btn-red:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem #e1536180}.btn-check:checked+.btn-red,.btn-check:active+.btn-red,.btn-red:active,.btn-red.active,.show>.btn-red.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-red:focus,.btn-check:active+.btn-red:focus,.btn-red:active:focus,.btn-red.active:focus,.show>.btn-red.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #e1536180}.btn-red:disabled,.btn-red.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-orange{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-orange:hover{color:#000;background-color:#fd9137;border-color:#fd8b2c}.btn-check:focus+.btn-orange,.btn-orange:focus{color:#000;background-color:#fd9137;border-color:#fd8b2c;box-shadow:0 0 0 .25rem #d76b1180}.btn-check:checked+.btn-orange,.btn-check:active+.btn-orange,.btn-orange:active,.btn-orange.active,.show>.btn-orange.dropdown-toggle{color:#000;background-color:#fd9843;border-color:#fd8b2c}.btn-check:checked+.btn-orange:focus,.btn-check:active+.btn-orange:focus,.btn-orange:active:focus,.btn-orange.active:focus,.show>.btn-orange.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d76b1180}.btn-orange:disabled,.btn-orange.disabled{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-yellow{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-yellow:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-yellow,.btn-yellow:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem #d9a40680}.btn-check:checked+.btn-yellow,.btn-check:active+.btn-yellow,.btn-yellow:active,.btn-yellow.active,.show>.btn-yellow.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-yellow:focus,.btn-check:active+.btn-yellow:focus,.btn-yellow:active:focus,.btn-yellow.active:focus,.show>.btn-yellow.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9a40680}.btn-yellow:disabled,.btn-yellow.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-green{color:#fff;background-color:#198754;border-color:#198754}.btn-green:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-green,.btn-green:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem #3c996e80}.btn-check:checked+.btn-green,.btn-check:active+.btn-green,.btn-green:active,.btn-green.active,.show>.btn-green.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-green:focus,.btn-check:active+.btn-green:focus,.btn-green:active:focus,.btn-green.active:focus,.show>.btn-green.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3c996e80}.btn-green:disabled,.btn-green.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-teal{color:#000;background-color:#20c997;border-color:#20c997}.btn-teal:hover{color:#000;background-color:#41d1a7;border-color:#36cea1}.btn-check:focus+.btn-teal,.btn-teal:focus{color:#000;background-color:#41d1a7;border-color:#36cea1;box-shadow:0 0 0 .25rem #1bab8080}.btn-check:checked+.btn-teal,.btn-check:active+.btn-teal,.btn-teal:active,.btn-teal.active,.show>.btn-teal.dropdown-toggle{color:#000;background-color:#4dd4ac;border-color:#36cea1}.btn-check:checked+.btn-teal:focus,.btn-check:active+.btn-teal:focus,.btn-teal:active:focus,.btn-teal.active:focus,.show>.btn-teal.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #1bab8080}.btn-teal:disabled,.btn-teal.disabled{color:#000;background-color:#20c997;border-color:#20c997}.btn-cyan{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-cyan:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-cyan,.btn-cyan:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem #0baccc80}.btn-check:checked+.btn-cyan,.btn-check:active+.btn-cyan,.btn-cyan:active,.btn-cyan.active,.show>.btn-cyan.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+.btn-cyan:focus,.btn-check:active+.btn-cyan:focus,.btn-cyan:active:focus,.btn-cyan.active:focus,.show>.btn-cyan.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #0baccc80}.btn-cyan:disabled,.btn-cyan.disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-gray{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-gray:hover{color:#000;background-color:#b9c0c7;border-color:#b5bcc4}.btn-check:focus+.btn-gray,.btn-gray:focus{color:#000;background-color:#b9c0c7;border-color:#b5bcc4;box-shadow:0 0 0 .25rem #939aa180}.btn-check:checked+.btn-gray,.btn-check:active+.btn-gray,.btn-gray:active,.btn-gray.active,.show>.btn-gray.dropdown-toggle{color:#000;background-color:#bdc4ca;border-color:#b5bcc4}.btn-check:checked+.btn-gray:focus,.btn-check:active+.btn-gray:focus,.btn-gray:active:focus,.btn-gray.active:focus,.show>.btn-gray.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #939aa180}.btn-gray:disabled,.btn-gray.disabled{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-black{color:#fff;background-color:#000;border-color:#000}.btn-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+.btn-black,.btn-black:focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .25rem #26262680}.btn-check:checked+.btn-black,.btn-check:active+.btn-black,.btn-black:active,.btn-black.active,.show>.btn-black.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+.btn-black:focus,.btn-check:active+.btn-black:focus,.btn-black:active:focus,.btn-black.active:focus,.show>.btn-black.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #26262680}.btn-black:disabled,.btn-black.disabled{color:#fff;background-color:#000;border-color:#000}.btn-white{color:#000;background-color:#fff;border-color:#fff}.btn-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-white,.btn-white:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 0 0 .25rem #d9d9d980}.btn-check:checked+.btn-white,.btn-check:active+.btn-white,.btn-white:active,.btn-white.active,.show>.btn-white.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+.btn-white:focus,.btn-check:active+.btn-white:focus,.btn-white:active:focus,.btn-white.active:focus,.show>.btn-white.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9d9d980}.btn-white:disabled,.btn-white.disabled{color:#000;background-color:#fff;border-color:#fff}.btn-outline-primary{color:#337ab7;border-color:#337ab7}.btn-outline-primary:hover{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem #337ab780}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #337ab780}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#337ab7;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem #6c757d80}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6c757d80}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem #19875480}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #19875480}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#54d6f0;border-color:#54d6f0}.btn-outline-info:hover{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem #54d6f080}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #54d6f080}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#54d6f0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#e9ecef;border-color:#e9ecef}.btn-outline-light:hover{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem #e9ecef80}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #e9ecef80}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#e9ecef;background-color:transparent}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem #343a4080}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #343a4080}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#343a40;background-color:transparent}.btn-outline-blue{color:#0d6efd;border-color:#0d6efd}.btn-outline-blue:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-blue,.btn-outline-blue:focus{box-shadow:0 0 0 .25rem #0d6efd80}.btn-check:checked+.btn-outline-blue,.btn-check:active+.btn-outline-blue,.btn-outline-blue:active,.btn-outline-blue.active,.btn-outline-blue.dropdown-toggle.show{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:checked+.btn-outline-blue:focus,.btn-check:active+.btn-outline-blue:focus,.btn-outline-blue:active:focus,.btn-outline-blue.active:focus,.btn-outline-blue.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #0d6efd80}.btn-outline-blue:disabled,.btn-outline-blue.disabled{color:#0d6efd;background-color:transparent}.btn-outline-indigo{color:#6610f2;border-color:#6610f2}.btn-outline-indigo:hover{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-check:focus+.btn-outline-indigo,.btn-outline-indigo:focus{box-shadow:0 0 0 .25rem #6610f280}.btn-check:checked+.btn-outline-indigo,.btn-check:active+.btn-outline-indigo,.btn-outline-indigo:active,.btn-outline-indigo.active,.btn-outline-indigo.dropdown-toggle.show{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-check:checked+.btn-outline-indigo:focus,.btn-check:active+.btn-outline-indigo:focus,.btn-outline-indigo:active:focus,.btn-outline-indigo.active:focus,.btn-outline-indigo.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6610f280}.btn-outline-indigo:disabled,.btn-outline-indigo.disabled{color:#6610f2;background-color:transparent}.btn-outline-purple{color:#6f42c1;border-color:#6f42c1}.btn-outline-purple:hover{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-check:focus+.btn-outline-purple,.btn-outline-purple:focus{box-shadow:0 0 0 .25rem #6f42c180}.btn-check:checked+.btn-outline-purple,.btn-check:active+.btn-outline-purple,.btn-outline-purple:active,.btn-outline-purple.active,.btn-outline-purple.dropdown-toggle.show{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-check:checked+.btn-outline-purple:focus,.btn-check:active+.btn-outline-purple:focus,.btn-outline-purple:active:focus,.btn-outline-purple.active:focus,.btn-outline-purple.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6f42c180}.btn-outline-purple:disabled,.btn-outline-purple.disabled{color:#6f42c1;background-color:transparent}.btn-outline-pink{color:#d63384;border-color:#d63384}.btn-outline-pink:hover{color:#fff;background-color:#d63384;border-color:#d63384}.btn-check:focus+.btn-outline-pink,.btn-outline-pink:focus{box-shadow:0 0 0 .25rem #d6338480}.btn-check:checked+.btn-outline-pink,.btn-check:active+.btn-outline-pink,.btn-outline-pink:active,.btn-outline-pink.active,.btn-outline-pink.dropdown-toggle.show{color:#fff;background-color:#d63384;border-color:#d63384}.btn-check:checked+.btn-outline-pink:focus,.btn-check:active+.btn-outline-pink:focus,.btn-outline-pink:active:focus,.btn-outline-pink.active:focus,.btn-outline-pink.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #d6338480}.btn-outline-pink:disabled,.btn-outline-pink.disabled{color:#d63384;background-color:transparent}.btn-outline-red{color:#dc3545;border-color:#dc3545}.btn-outline-red:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-red,.btn-outline-red:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-check:checked+.btn-outline-red,.btn-check:active+.btn-outline-red,.btn-outline-red:active,.btn-outline-red.active,.btn-outline-red.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-red:focus,.btn-check:active+.btn-outline-red:focus,.btn-outline-red:active:focus,.btn-outline-red.active:focus,.btn-outline-red.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-outline-red:disabled,.btn-outline-red.disabled{color:#dc3545;background-color:transparent}.btn-outline-orange{color:#fd7e14;border-color:#fd7e14}.btn-outline-orange:hover{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-check:focus+.btn-outline-orange,.btn-outline-orange:focus{box-shadow:0 0 0 .25rem #fd7e1480}.btn-check:checked+.btn-outline-orange,.btn-check:active+.btn-outline-orange,.btn-outline-orange:active,.btn-outline-orange.active,.btn-outline-orange.dropdown-toggle.show{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-check:checked+.btn-outline-orange:focus,.btn-check:active+.btn-outline-orange:focus,.btn-outline-orange:active:focus,.btn-outline-orange.active:focus,.btn-outline-orange.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #fd7e1480}.btn-outline-orange:disabled,.btn-outline-orange.disabled{color:#fd7e14;background-color:transparent}.btn-outline-yellow{color:#ffc107;border-color:#ffc107}.btn-outline-yellow:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-yellow,.btn-outline-yellow:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-check:checked+.btn-outline-yellow,.btn-check:active+.btn-outline-yellow,.btn-outline-yellow:active,.btn-outline-yellow.active,.btn-outline-yellow.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-yellow:focus,.btn-check:active+.btn-outline-yellow:focus,.btn-outline-yellow:active:focus,.btn-outline-yellow.active:focus,.btn-outline-yellow.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-outline-yellow:disabled,.btn-outline-yellow.disabled{color:#ffc107;background-color:transparent}.btn-outline-green{color:#198754;border-color:#198754}.btn-outline-green:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-green,.btn-outline-green:focus{box-shadow:0 0 0 .25rem #19875480}.btn-check:checked+.btn-outline-green,.btn-check:active+.btn-outline-green,.btn-outline-green:active,.btn-outline-green.active,.btn-outline-green.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-green:focus,.btn-check:active+.btn-outline-green:focus,.btn-outline-green:active:focus,.btn-outline-green.active:focus,.btn-outline-green.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #19875480}.btn-outline-green:disabled,.btn-outline-green.disabled{color:#198754;background-color:transparent}.btn-outline-teal{color:#20c997;border-color:#20c997}.btn-outline-teal:hover{color:#000;background-color:#20c997;border-color:#20c997}.btn-check:focus+.btn-outline-teal,.btn-outline-teal:focus{box-shadow:0 0 0 .25rem #20c99780}.btn-check:checked+.btn-outline-teal,.btn-check:active+.btn-outline-teal,.btn-outline-teal:active,.btn-outline-teal.active,.btn-outline-teal.dropdown-toggle.show{color:#000;background-color:#20c997;border-color:#20c997}.btn-check:checked+.btn-outline-teal:focus,.btn-check:active+.btn-outline-teal:focus,.btn-outline-teal:active:focus,.btn-outline-teal.active:focus,.btn-outline-teal.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #20c99780}.btn-outline-teal:disabled,.btn-outline-teal.disabled{color:#20c997;background-color:transparent}.btn-outline-cyan{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-cyan:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-cyan,.btn-outline-cyan:focus{box-shadow:0 0 0 .25rem #0dcaf080}.btn-check:checked+.btn-outline-cyan,.btn-check:active+.btn-outline-cyan,.btn-outline-cyan:active,.btn-outline-cyan.active,.btn-outline-cyan.dropdown-toggle.show{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+.btn-outline-cyan:focus,.btn-check:active+.btn-outline-cyan:focus,.btn-outline-cyan:active:focus,.btn-outline-cyan.active:focus,.btn-outline-cyan.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #0dcaf080}.btn-outline-cyan:disabled,.btn-outline-cyan.disabled{color:#0dcaf0;background-color:transparent}.btn-outline-gray{color:#adb5bd;border-color:#adb5bd}.btn-outline-gray:hover{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:focus+.btn-outline-gray,.btn-outline-gray:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-check:checked+.btn-outline-gray,.btn-check:active+.btn-outline-gray,.btn-outline-gray:active,.btn-outline-gray.active,.btn-outline-gray.dropdown-toggle.show{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:checked+.btn-outline-gray:focus,.btn-check:active+.btn-outline-gray:focus,.btn-outline-gray:active:focus,.btn-outline-gray.active:focus,.btn-outline-gray.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-outline-gray:disabled,.btn-outline-gray.disabled{color:#adb5bd;background-color:transparent}.btn-outline-black{color:#000;border-color:#000}.btn-outline-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+.btn-outline-black,.btn-outline-black:focus{box-shadow:0 0 0 .25rem #00000080}.btn-check:checked+.btn-outline-black,.btn-check:active+.btn-outline-black,.btn-outline-black:active,.btn-outline-black.active,.btn-outline-black.dropdown-toggle.show{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+.btn-outline-black:focus,.btn-check:active+.btn-outline-black:focus,.btn-outline-black:active:focus,.btn-outline-black.active:focus,.btn-outline-black.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #00000080}.btn-outline-black:disabled,.btn-outline-black.disabled{color:#000;background-color:transparent}.btn-outline-white{color:#fff;border-color:#fff}.btn-outline-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-outline-white,.btn-outline-white:focus{box-shadow:0 0 0 .25rem #ffffff80}.btn-check:checked+.btn-outline-white,.btn-check:active+.btn-outline-white,.btn-outline-white:active,.btn-outline-white.active,.btn-outline-white.dropdown-toggle.show{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+.btn-outline-white:focus,.btn-check:active+.btn-outline-white:focus,.btn-outline-white:active:focus,.btn-outline-white.active:focus,.btn-outline-white.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffffff80}.btn-outline-white:disabled,.btn-outline-white.disabled{color:#fff;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}.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}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.375rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.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:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:#00000026}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:#ffffff26}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:#00000026}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.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>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn: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:.5625rem;padding-left:.5625rem}.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:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.375rem;border-top-right-radius:.375rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.375rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.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:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.375rem;transition:box-shadow .15s ease-in-out}@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 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.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}}@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:.5rem;padding-left:.5rem}.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}}@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:.5rem;padding-left:.5rem}.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}}@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:.5rem;padding-left:.5rem}.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}}@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:.5rem;padding-left:.5rem}.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{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:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#000000e6}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#000000e6}.navbar-light .navbar-nav .nav-link{color:#f8f9fa}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:#000000b3}.navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:#000000e6}.navbar-light .navbar-toggler{color:#f8f9fa;border-color:#0000001a}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#f8f9fa}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#000000e6}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#ffffff8c}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#ffffffbf}.navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#ffffff8c;border-color:#ffffff1a}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#ffffff8c}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem}.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:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;color:#343a40;background-color:"unset";border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;color:#343a40;background-color:"unset";border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.375rem - 1px) calc(.375rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.375rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}.card-group>.card{margin-bottom:.75rem}@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}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:transparent;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#343a40;background-color:#cfe2ff;box-shadow:inset 0 -1px #dee2e6}.accordion-button:not(.collapsed):after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button:after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.accordion-header{margin-bottom:0}.accordion-item{background-color:transparent;border:1px solid #dee2e6}.accordion-item:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.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-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='currentColor'/%3E%3C/svg%3E"))}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;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:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#1f496e;background-color:#d6e4f1;border-color:#c2d7e9}.alert-primary .alert-link{color:#193a58}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#225660;background-color:#ddf7fc;border-color:#ccf3fb}.alert-info .alert-link{color:#1b454d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#5d5e60;background-color:#fbfbfc;border-color:#f8f9fa}.alert-light .alert-link{color:#4a4b4d}.alert-dark{color:#1f2326;background-color:#d6d8d9;border-color:#c2c4c6}.alert-dark .alert-link{color:#191c1e}.alert-blue{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-blue .alert-link{color:#06357a}.alert-indigo{color:#3d0a91;background-color:#e0cffc;border-color:#d1b7fb}.alert-indigo .alert-link{color:#310874}.alert-purple{color:#432874;background-color:#e2d9f3;border-color:#d4c6ec}.alert-purple .alert-link{color:#36205d}.alert-pink{color:#801f4f;background-color:#f7d6e6;border-color:#f3c2da}.alert-pink .alert-link{color:#66193f}.alert-red{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-red .alert-link{color:#6a1a21}.alert-orange{color:#984c0c;background-color:#ffe5d0;border-color:#fed8b9}.alert-orange .alert-link{color:#7a3d0a}.alert-yellow{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-yellow .alert-link{color:#523e02}.alert-green{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-green .alert-link{color:#0c4128}.alert-teal{color:#13795b;background-color:#d2f4ea;border-color:#bcefe0}.alert-teal .alert-link{color:#0f6149}.alert-cyan{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-cyan .alert-link{color:#04414d}.alert-gray{color:#686d71;background-color:#eff0f2;border-color:#e6e9eb}.alert-gray .alert-link{color:#53575a}.alert-black{color:#000;background-color:#ccc;border-color:#b3b3b3}.alert-black .alert-link{color:#000}.alert-white{color:#666;background-color:#fff;border-color:#fff}.alert-white .alert-link{color:#525252}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.375rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@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:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.375rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#495057;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.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:#adb5bd;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.375rem;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:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#1f496e;background-color:#d6e4f1}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#1f496e;background-color:#c1cdd9}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1f496e;border-color:#1f496e}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#225660;background-color:#ddf7fc}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#225660;background-color:#c7dee3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#225660;border-color:#225660}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#5d5e60;background-color:#fbfbfc}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#5d5e60;background-color:#e2e2e3}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#5d5e60;border-color:#5d5e60}.list-group-item-dark{color:#1f2326;background-color:#d6d8d9}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1f2326;background-color:#c1c2c3}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1f2326;border-color:#1f2326}.list-group-item-blue{color:#084298;background-color:#cfe2ff}.list-group-item-blue.list-group-item-action:hover,.list-group-item-blue.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-indigo{color:#3d0a91;background-color:#e0cffc}.list-group-item-indigo.list-group-item-action:hover,.list-group-item-indigo.list-group-item-action:focus{color:#3d0a91;background-color:#cabae3}.list-group-item-indigo.list-group-item-action.active{color:#fff;background-color:#3d0a91;border-color:#3d0a91}.list-group-item-purple{color:#432874;background-color:#e2d9f3}.list-group-item-purple.list-group-item-action:hover,.list-group-item-purple.list-group-item-action:focus{color:#432874;background-color:#cbc3db}.list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#432874;border-color:#432874}.list-group-item-pink{color:#801f4f;background-color:#f7d6e6}.list-group-item-pink.list-group-item-action:hover,.list-group-item-pink.list-group-item-action:focus{color:#801f4f;background-color:#dec1cf}.list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#801f4f;border-color:#801f4f}.list-group-item-red{color:#842029;background-color:#f8d7da}.list-group-item-red.list-group-item-action:hover,.list-group-item-red.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-red.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-orange{color:#984c0c;background-color:#ffe5d0}.list-group-item-orange.list-group-item-action:hover,.list-group-item-orange.list-group-item-action:focus{color:#984c0c;background-color:#e6cebb}.list-group-item-orange.list-group-item-action.active{color:#fff;background-color:#984c0c;border-color:#984c0c}.list-group-item-yellow{color:#664d03;background-color:#fff3cd}.list-group-item-yellow.list-group-item-action:hover,.list-group-item-yellow.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-yellow.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-green{color:#0f5132;background-color:#d1e7dd}.list-group-item-green.list-group-item-action:hover,.list-group-item-green.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-green.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-teal{color:#13795b;background-color:#d2f4ea}.list-group-item-teal.list-group-item-action:hover,.list-group-item-teal.list-group-item-action:focus{color:#13795b;background-color:#bddcd3}.list-group-item-teal.list-group-item-action.active{color:#fff;background-color:#13795b;border-color:#13795b}.list-group-item-cyan{color:#055160;background-color:#cff4fc}.list-group-item-cyan.list-group-item-action:hover,.list-group-item-cyan.list-group-item-action:focus{color:#055160;background-color:#badce3}.list-group-item-cyan.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-gray{color:#686d71;background-color:#eff0f2}.list-group-item-gray.list-group-item-action:hover,.list-group-item-gray.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}.list-group-item-gray.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}.list-group-item-black{color:#000;background-color:#ccc}.list-group-item-black.list-group-item-action:hover,.list-group-item-black.list-group-item-action:focus{color:#000;background-color:#b8b8b8}.list-group-item-black.list-group-item-action.active{color:#fff;background-color:#000;border-color:#000}.list-group-item-white{color:#666;background-color:#fff}.list-group-item-white.list-group-item-action:hover,.list-group-item-white.list-group-item-action:focus{color:#666;background-color:#e6e6e6}.list-group-item-white.list-group-item-action.active{color:#fff;background-color:#666;border-color:#666}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40;opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:#ffffffd9;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem #00000026;border-radius:.375rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.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% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}.modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.75rem - 1px);border-bottom-left-radius:calc(.75rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.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{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@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{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@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{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@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{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@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{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@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{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^=top]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^=right]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^=left]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.375rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#00000040}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#00000040}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:#00000040}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.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:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#00000040}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (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;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:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.clearfix:after{display:block;clear:both;content:""}.link-primary{color:#337ab7}.link-primary:hover,.link-primary:focus{color:#296292}.link-secondary{color:#6c757d}.link-secondary:hover,.link-secondary:focus{color:#565e64}.link-success{color:#198754}.link-success:hover,.link-success:focus{color:#146c43}.link-info{color:#54d6f0}.link-info:hover,.link-info:focus{color:#76def3}.link-warning{color:#ffc107}.link-warning:hover,.link-warning:focus{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:hover,.link-danger:focus{color:#b02a37}.link-light{color:#e9ecef}.link-light:hover,.link-light:focus{color:#edf0f2}.link-dark{color:#343a40}.link-dark:hover,.link-dark:focus{color:#2a2e33}.link-blue{color:#0d6efd}.link-blue:hover,.link-blue:focus{color:#0a58ca}.link-indigo{color:#6610f2}.link-indigo:hover,.link-indigo:focus{color:#520dc2}.link-purple{color:#6f42c1}.link-purple:hover,.link-purple:focus{color:#59359a}.link-pink{color:#d63384}.link-pink:hover,.link-pink:focus{color:#ab296a}.link-red{color:#dc3545}.link-red:hover,.link-red:focus{color:#b02a37}.link-orange{color:#fd7e14}.link-orange:hover,.link-orange:focus{color:#fd9843}.link-yellow{color:#ffc107}.link-yellow:hover,.link-yellow:focus{color:#ffcd39}.link-green{color:#198754}.link-green:hover,.link-green:focus{color:#146c43}.link-teal{color:#20c997}.link-teal:hover,.link-teal:focus{color:#4dd4ac}.link-cyan{color:#0dcaf0}.link-cyan:hover,.link-cyan:focus{color:#3dd5f3}.link-gray{color:#adb5bd}.link-gray:hover,.link-gray:focus{color:#bdc4ca}.link-black{color:#000}.link-black:hover,.link-black:focus{color:#000}.link-white{color:#fff}.link-white:hover,.link-white:focus{color:#fff}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.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}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;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}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow: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-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:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.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:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#337ab7!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#54d6f0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#e9ecef!important}.border-dark{border-color:#343a40!important}.border-blue{border-color:#0d6efd!important}.border-indigo{border-color:#6610f2!important}.border-purple{border-color:#6f42c1!important}.border-pink{border-color:#d63384!important}.border-red{border-color:#dc3545!important}.border-orange{border-color:#fd7e14!important}.border-yellow{border-color:#ffc107!important}.border-green{border-color:#198754!important}.border-teal{border-color:#20c997!important}.border-cyan{border-color:#0dcaf0!important}.border-gray{border-color:#adb5bd!important}.border-black{border-color:#000!important}.border-white{border-color:#fff!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}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:200!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:800!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:1.75!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{color:#337ab7!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#54d6f0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#e9ecef!important}.text-dark{color:#343a40!important}.text-blue{color:#0d6efd!important}.text-indigo{color:#6610f2!important}.text-purple{color:#6f42c1!important}.text-pink{color:#d63384!important}.text-red{color:#dc3545!important}.text-orange{color:#fd7e14!important}.text-yellow{color:#ffc107!important}.text-green{color:#198754!important}.text-teal{color:#20c997!important}.text-cyan{color:#0dcaf0!important}.text-gray{color:#adb5bd!important}.text-black{color:#000!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:#00000080!important}.text-white-50{color:#ffffff80!important}.text-reset{color:inherit!important}.bg-primary{background-color:#337ab7!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#54d6f0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#e9ecef!important}.bg-dark{background-color:#343a40!important}.bg-blue{background-color:#0d6efd!important}.bg-indigo{background-color:#6610f2!important}.bg-purple{background-color:#6f42c1!important}.bg-pink{background-color:#d63384!important}.bg-red{background-color:#dc3545!important}.bg-orange{background-color:#fd7e14!important}.bg-yellow{background-color:#ffc107!important}.bg-green{background-color:#198754!important}.bg-teal{background-color:#20c997!important}.bg-cyan{background-color:#0dcaf0!important}.bg-gray{background-color:#adb5bd!important}.bg-black{background-color:#000!important}.bg-white{background-color:#fff!important}.bg-body{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-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:.375rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.375rem!important}.rounded-2{border-radius:.375rem!important}.rounded-3{border-radius:.75rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}.rounded-end{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.rounded-bottom{border-bottom-right-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.rounded-start{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float: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-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}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-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{--nbx-select-content-bg: #fff;--nbx-select-option-selected-bg: #dee2e6;--nbx-select-option-hover-bg: #0d6efd;--nbx-select-option-hover-color: #fff;--nbx-select-placeholder-color: #adb5bd;--nbx-select-value-color: #fff}:root[data-netbox-color-mode=dark]{--nbx-select-content-bg: #212529;--nbx-select-option-selected-bg: #adb5bd;--nbx-select-option-hover-bg: #9ec5fe;--nbx-select-option-hover-color: #000;--nbx-select-placeholder-color: #495057;--nbx-select-value-color: #000}.ss-main{position:relative;display:inline-block;user-select:none;color:#212529;width:100%}.ss-main .ss-single-selected{display:flex;cursor:pointer;width:100%;height:calc(1.5em + (.75rem + 2px));padding:.75rem;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}.ss-main .ss-single-selected.ss-disabled{background-color:#ced4da;cursor:not-allowed}.ss-main .ss-single-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main .ss-single-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main .ss-single-selected .placeholder{display:flex;flex:1 1 100%;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;width:calc(100% - 30px);line-height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ss-main .ss-single-selected .placeholder *{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}.ss-main .ss-single-selected .placeholder .ss-disabled{color:#6c757d}.ss-main .ss-single-selected .ss-deselect{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem;font-weight:bold}.ss-main .ss-single-selected .ss-deselect.ss-hide{display:none}.ss-main .ss-single-selected .ss-arrow{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem}.ss-main .ss-single-selected .ss-arrow span{border:solid #212529;border-width:0 2px 2px 0;display:inline-block;padding:3px;transition:transform .2s,margin .2s}.ss-main .ss-single-selected .ss-arrow span.arrow-up{transform:rotate(-135deg);margin:3px 0 0}.ss-main .ss-single-selected .ss-arrow span.arrow-down{transform:rotate(45deg);margin:-3px 0 0}.ss-main .ss-multi-selected{display:flex;flex-direction:row;cursor:pointer;min-height:calc(1.5em + (.75rem + 2px));width:100%;padding:0 0 0 3px;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}.ss-main .ss-multi-selected.ss-disabled{background-color:#ced4da;cursor:not-allowed}.ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled{color:#212529}.ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main .ss-multi-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main .ss-multi-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main .ss-multi-selected .ss-values{display:flex;flex-wrap:wrap;justify-content:flex-start;flex:1 1 100%;width:calc(100% - 30px)}.ss-main .ss-multi-selected .ss-values .ss-disabled{display:flex;padding:4px 5px;margin:2px 0;line-height:1em;align-items:center;width:100%;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.ss-main .ss-multi-selected .ss-values .ss-value{display:flex;user-select:none;align-items:center;font-size:12px;padding:3px 5px;margin:3px 5px 3px 0;color:#fff;background-color:#337ab7;border-radius:.375rem;animation-name:scaleIn;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}.ss-main .ss-multi-selected .ss-values .ss-value.ss-out{animation-name:scaleOut;animation-duration:.2s;animation-timing-function:ease-out}.ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete{margin:0 0 0 5px;cursor:pointer}.ss-main .ss-multi-selected .ss-add{display:flex;flex:0 1 3px;margin:9px 12px 0 5px}.ss-main .ss-multi-selected .ss-add .ss-plus{display:flex;justify-content:center;align-items:center;background:#212529;position:relative;height:10px;width:2px;transition:transform .2s}.ss-main .ss-multi-selected .ss-add .ss-plus:after{background:#212529;content:"";position:absolute;height:2px;width:10px;left:-4px;top:4px}.ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross{transform:rotate(45deg)}.ss-content{position:absolute;width:100%;margin:-1px 0 0;box-sizing:border-box;border:solid 1px #ced4da;z-index:1010;background-color:#fff;transform-origin:center top;transition:transform .2s,opacity .2s;opacity:0;transform:scaleY(0)}.ss-content.ss-open{display:block;opacity:1;transform:scaleY(1)}.ss-content .ss-search{display:flex;flex-direction:row;padding:.75rem}.ss-content .ss-search.ss-hide{height:0px;opacity:0;padding:0;margin:0}.ss-content .ss-search.ss-hide input{height:0px;opacity:0;padding:0;margin:0}.ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;height:30px;padding:.75rem;margin:0;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;text-align:left;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-appearance:textfield}.ss-content .ss-search input::placeholder{color:#adb5bd;vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px #337ab7}.ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;font-size:22px;font-weight:bold;flex:0 0 30px;height:30px;margin:0 0 0 8px;border:1px solid #ced4da;border-radius:.375rem;box-sizing:border-box}.ss-content .ss-addable{padding-top:0}.ss-content .ss-list{max-height:200px;overflow-x:hidden;overflow-y:auto;text-align:left}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:6px 10px;font-weight:bold}.ss-content .ss-list .ss-optgroup .ss-option{padding:6px 6px 6px 25px}.ss-content .ss-list .ss-optgroup-label-selectable{cursor:pointer}.ss-content .ss-list .ss-optgroup-label-selectable:hover{color:#fff;background-color:#337ab7}.ss-content .ss-list .ss-option{padding:6px 10px;cursor:pointer;user-select:none}.ss-content .ss-list .ss-option *{display:inline-block}.ss-content .ss-list .ss-option:hover,.ss-content .ss-list .ss-option.ss-highlighted{color:#fff;background-color:#337ab7}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;color:#6c757d;background-color:#fff}.ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected{color:#212529;background-color:#337ab71a}.ss-content .ss-list .ss-option.ss-hide{display:none}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:#ffc107}.ss-main{color:#212529}.ss-main.is-invalid .ss-single-selected,.ss-main.is-invalid .ss-multi-selected{border-color:#dc3545}.ss-main.is-valid .ss-single-selected,.ss-main.is-valid .ss-multi-selected{border-color:#198754}.ss-main .ss-single-selected,.ss-main .ss-multi-selected{padding:.375rem .75rem;background-color:#fff;border:1px solid #ced4da}.ss-main .ss-single-selected[disabled],.ss-main .ss-multi-selected[disabled]{color:#6c757d;background-color:#e9ecef}.ss-main div.ss-multi-selected .ss-values .ss-disabled,.ss-main div.ss-single-selected span.placeholder .ss-disabled{color:var(--nbx-select-placeholder-color)}.ss-main .ss-single-selected span.ss-arrow span.arrow-down,.ss-main .ss-single-selected span.ss-arrow span.arrow-up{border-color:currentColor;color:#6c757d}.ss-main .ss-single-selected .placeholder .depth{display:none}.ss-main .ss-single-selected span.placeholder>*,.ss-main .ss-single-selected span.placeholder{line-height:1.5}.ss-main .ss-multi-selected{align-items:center;padding-right:.75rem;padding-left:.75rem}.ss-main .ss-multi-selected .ss-values .ss-disabled{padding:4px 0}.ss-main .ss-multi-selected .ss-values .ss-value{color:var(--nbx-select-value-color);border-radius:.375rem}.ss-main .ss-multi-selected .ss-values .ss-value .depth{display:none}.ss-main .ss-multi-selected .ss-add{margin:0 .75rem}.ss-main .ss-content{background-color:var(--nbx-select-content-bg);border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.ss-main .ss-content .ss-list .ss-option.ss-option-selected{color:#212529;background-color:var(--nbx-select-option-selected-bg)}.ss-main .ss-content .ss-list .ss-option:hover{color:var(--nbx-select-option-hover-color);background-color:var(--nbx-select-option-hover-bg)}.ss-main .ss-content .ss-list .ss-option:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.ss-main .ss-content .ss-list .ss-option.ss-disabled{background-color:unset}.ss-main .ss-content .ss-list .ss-option.ss-disabled:hover{color:#6c757d}.ss-main .ss-content .ss-list .ss-option .depth{opacity:.3}.ss-main .ss-content .ss-list::-webkit-scrollbar{right:0;width:4px}.ss-main .ss-content .ss-list::-webkit-scrollbar:hover{opacity:.8}.ss-main .ss-content .ss-list::-webkit-scrollbar-track{background:transparent}.ss-main .ss-content .ss-list::-webkit-scrollbar-thumb{right:0;width:2px;background-color:var(--nbx-sidebar-scroll)}.ss-main .ss-content .ss-search{padding-right:.5rem}.ss-main .ss-content .ss-search button{margin-left:.75rem}.ss-main .ss-content .ss-search input[type=search]{color:#212529;background-color:#fff;border:1px solid #ced4da}.ss-main .ss-content .ss-search input[type=search]:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.sidenav{position:fixed;top:0;bottom:0;left:0;z-index:1050;display:block;width:100%;max-width:3rem;padding-top:0;padding-right:0;padding-left:0;background-color:var(--nbx-sidebar-bg);border-right:1px solid #ced4da;transition:all .1s ease-in-out}@media (max-width: 991.98px){.sidenav{transform:translate(-3rem)}.sidenav+.content-container[class]{margin-left:0}.sidenav .profile-button-container[class]{display:block}}.sidenav .profile-button-container{display:none;padding:.5rem 1rem}.sidenav+.content-container{margin-left:3rem;transition:all .1s ease-in-out}.sidenav .sidenav-brand{margin-right:0;transition:opacity .1s ease-in-out}.sidenav .sidenav-brand-icon{transition:opacity .1s ease-in-out}.sidenav .sidenav-inner{padding-right:1.5rem;padding-left:1.5rem}@media (min-width: 768px){.sidenav .sidenav-inner{padding-right:0;padding-left:0}}.sidenav .sidenav-brand-img,.sidenav .sidenav-brand>img{max-width:100%;max-height:calc(16rem - 1rem)}.sidenav .navbar-heading{padding-top:.5rem;padding-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.sidenav .sidenav-header{position:relative;display:flex;align-items:center;justify-content:space-between;height:78px;padding:1rem;transition:all .1s ease-in-out}.sidenav .sidenav-toggle{position:absolute;display:inline-block;opacity:0;transition:opacity 10ms ease-in-out;transition-delay:.1s}.sidenav .sidenav-collapse{display:flex;flex:1;flex-direction:column;align-items:stretch;padding-right:1.5rem;padding-left:1.5rem;margin-right:-1.5rem;margin-left:-1.5rem}.sidenav .sidenav-collapse>*{min-width:100%}@media (min-width: 768px){.sidenav .sidenav-collapse{margin-right:0;margin-left:0}}.sidenav .nav-group-header{padding:.25rem 1rem;margin-top:.5rem;margin-bottom:0}.sidenav .nav .nav-item{display:flex;align-items:center;justify-content:space-between;width:100%}.sidenav .nav .nav-item.no-buttons{padding-right:5rem}.sidenav .collapse .nav .nav-item .nav-link{width:100%;padding:.25rem .25rem .25rem 1rem;margin-top:0;margin-bottom:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon{width:1rem;text-align:center;transition:all .1s ease-in-out}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]{width:unset;height:100%;padding-left:.5rem;font-weight:700;color:var(--nbx-sidenav-parent-color)}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after{display:inline-block;margin-left:auto;font-family:"Material Design Icons";font-style:normal;font-weight:700;font-variant:normal;color:#6c757d;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\f0142";transition:all .1s ease-in-out}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after{color:#343a40}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after{color:#337ab7;transform:rotate(90deg)}.sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text{padding-left:.25rem;transition:all .1s ease-in-out}.sidenav .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}.sidenav .navbar-nav .nav-item{margin-top:2px}.sidenav .navbar-nav .nav-item.disabled{cursor:not-allowed;opacity:.8}.sidenav .navbar-nav .nav-item .nav-link{position:relative;display:flex;align-items:center;width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--nbx-sidenav-link-color);white-space:nowrap;transition-duration:0ms}.sidenav .navbar-nav .nav-item .nav-link.active{background-color:var(--nbx-sidebar-link-active-bg)}.sidenav .navbar-nav .nav-item .nav-link:hover:not(.active){color:var(--nbx-body-color);background-color:var(--nbx-sidebar-link-hover-bg)}.sidenav .navbar-nav .nav-item .nav-link>i{min-width:2rem;font-size:calc(45px / 2);text-align:center}.sidenav .navbar-nav .nav-group-label{display:block;font-size:.75rem;font-weight:700;color:var(--nbx-sidenav-group-color);text-transform:uppercase;white-space:nowrap}body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon{color:var(--nbx-sidenav-pin-color);transform:rotate(90deg)}@media (min-width: 1200px){body[data-sidenav-pinned] .sidenav+.content-container{margin-left:16rem}}.g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon{transform:rotate(0)}body[data-sidenav-show] .sidenav,body[data-sidenav-pinned] .sidenav{max-width:16rem}body[data-sidenav-show] .sidenav .sidenav-brand,body[data-sidenav-show] .sidenav .navbar-heading,body[data-sidenav-pinned] .sidenav .sidenav-brand,body[data-sidenav-pinned] .sidenav .navbar-heading{display:block}body[data-sidenav-show] .sidenav .sidenav-brand,body[data-sidenav-pinned] .sidenav .sidenav-brand{opacity:1;transform:translate(0)}body[data-sidenav-show] .sidenav .sidenav-brand-icon,body[data-sidenav-pinned] .sidenav .sidenav-brand-icon{position:absolute;opacity:0}@media (max-width: 991.98px){body[data-sidenav-show] .sidenav,body[data-sidenav-pinned] .sidenav{transform:translate(0)}}body[data-sidenav-hide] .sidenav .sidenav-header,body[data-sidenav-hidden] .sidenav .sidenav-header{padding:.5rem}body[data-sidenav-hide] .sidenav .sidenav-brand,body[data-sidenav-hidden] .sidenav .sidenav-brand{position:absolute;opacity:0}body[data-sidenav-hide] .sidenav .sidenav-brand-icon,body[data-sidenav-hidden] .sidenav .sidenav-brand-icon{opacity:1}body[data-sidenav-hide] .sidenav .sidenav-toggle,body[data-sidenav-hidden] .sidenav .sidenav-toggle{opacity:0;position:absolute;transition:unset;transition-delay:0ms}body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after{content:""}body[data-sidenav-hide] .sidenav .nav-item .collapse,body[data-sidenav-hidden] .sidenav .nav-item .collapse{display:none}body[data-sidenav-hide] .sidenav .nav-link-text,body[data-sidenav-hidden] .sidenav .nav-link-text{opacity:0}body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{margin-right:0;margin-left:0;border-radius:unset}body[data-sidenav-show] .sidenav .sidenav-brand{display:block}body[data-sidenav-show] .sidenav .nav-item .collapse{height:auto;transition:all .1s ease-in-out}body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text{opacity:1}body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon{opacity:0}@media (min-width: 992px){body[data-sidenav-show] .sidenav .sidenav-toggle{position:relative;opacity:1}}.simplebar-track.simplebar-vertical{right:0;width:6px;background-color:transparent}.simplebar-track.simplebar-vertical .simplebar-scrollbar{transition:none}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{right:0;width:3px;background:var(--nbx-sidebar-scroll);border-radius:.375rem}.simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before{width:5px}body{color:var(--nbx-body-color);background-color:var(--nbx-body-bg);font-size:.875rem}pre{white-space:pre}small,.small{font-size:smaller!important}a[type=button]{-webkit-appearance:unset!important}*[data-href]{cursor:pointer}.form-control:not([type=file]){font-size:inherit}.badge{font-size:.75rem}.text-xs{font-size:.75rem!important;line-height:1.25!important}.border-input{border:1px solid #ced4da!important}.ws-nowrap{white-space:nowrap!important}table tr .vertical-align,table td .vertical-align{vertical-align:middle}@media print{.noprint{display:none!important;visibility:hidden!important}}.printonly{display:none!important;visibility:hidden!important}@media print{.printonly{display:block!important;visibility:visible!important}}:root{--nbx-sidebar-bg: #e9ecef;--nbx-sidebar-scroll: #adb5bd;--nbx-sidebar-link-hover-bg: rgba(108, 117, 125, .15);--nbx-sidebar-link-active-bg: #9cc8f8;--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(0, 0, 0, .25);--nbx-breadcrumb-bg: #e9ecef;--nbx-body-bg: #fff;--nbx-body-color: #343a40;--nbx-pre-bg: #f8f9fa;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(25, 135, 84, .4);--nbx-change-removed: rgba(220, 53, 69, .4);--nbx-cable-node-bg: #f8f9fa;--nbx-cable-node-border-color: #e9ecef;--nbx-cable-termination-bg: #e9ecef;--nbx-cable-termination-border-color: #dee2e6;--nbx-search-filter-border-left-color: #dee2e6;--nbx-color-mode-toggle-color: #337ab7;--nbx-sidenav-link-color: #343a40;--nbx-sidenav-pin-color: #fd7e14;--nbx-sidenav-parent-color: #343a40;--nbx-sidenav-group-color: #343a40}:root[data-netbox-color-mode=dark]{--nbx-sidebar-bg: #212529;--nbx-sidebar-scroll: #495057;--nbx-sidebar-link-active-bg: rgba(110, 168, 254, .25);--nbx-sidebar-link-hover-bg: rgba(173, 181, 189, .15);--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(255, 255, 255, .05);--nbx-breadcrumb-bg: #343a40;--nbx-body-bg: #1b1f22;--nbx-body-color: #f8f9fa;--nbx-pre-bg: #495057;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(117, 183, 152, .4);--nbx-change-removed: rgba(234, 134, 143, .4);--nbx-cable-node-bg: #495057;--nbx-cable-node-border-color: #6c757d;--nbx-cable-termination-bg: #343a40;--nbx-cable-termination-border-color: #495057;--nbx-search-filter-border-left-color: #6c757d;--nbx-color-mode-toggle-color: #ffda6a;--nbx-sidenav-link-color: #e9ecef;--nbx-sidenav-pin-color: #ffc107;--nbx-sidenav-parent-color: #e9ecef;--nbx-sidenav-group-color: #6c757d}.bg-primary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f496e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-primary{color:#337ab7}.btn.btn-ghost-primary:hover{background-color:#337ab71f}.alert.alert-primary a:not(.btn),.table-primary a:not(.btn){font-weight:700;color:#1f496e}.alert.alert-primary .btn:not([class*=btn-outline]),.table-primary .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-primary a:not(.btn){font-weight:700;color:#adcae2}.badge.bg-primary,.toast.bg-primary,.toast-header.bg-primary,.progress-bar.bg-primary{color:#fff}.bg-secondary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2341464b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-secondary{color:#6c757d}.btn.btn-ghost-secondary:hover{background-color:#6c757d1f}.alert.alert-secondary a:not(.btn),.table-secondary a:not(.btn){font-weight:700;color:#41464b}.alert.alert-secondary .btn:not([class*=btn-outline]),.table-secondary .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-secondary a:not(.btn){font-weight:700;color:#c4c8cb}.badge.bg-secondary,.toast.bg-secondary,.toast-header.bg-secondary,.progress-bar.bg-secondary{color:#fff}.bg-success button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f5132'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-success{color:#198754}.btn.btn-ghost-success:hover{background-color:#1987541f}.alert.alert-success a:not(.btn),.table-success a:not(.btn){font-weight:700;color:#0f5132}.alert.alert-success .btn:not([class*=btn-outline]),.table-success .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-success a:not(.btn){font-weight:700;color:#a3cfbb}.badge.bg-success,.toast.bg-success,.toast-header.bg-success,.progress-bar.bg-success{color:#fff}.bg-info button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23225660'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-info{color:#54d6f0}.btn.btn-ghost-info:hover{background-color:#54d6f01f}.alert.alert-info a:not(.btn),.table-info a:not(.btn){font-weight:700;color:#225660}.alert.alert-info .btn:not([class*=btn-outline]),.table-info .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-info a:not(.btn){font-weight:700;color:#225660}.badge.bg-info,.toast.bg-info,.toast-header.bg-info,.progress-bar.bg-info{color:#000}.bg-warning button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23664d03'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-warning{color:#ffc107}.btn.btn-ghost-warning:hover{background-color:#ffc1071f}.alert.alert-warning a:not(.btn),.table-warning a:not(.btn){font-weight:700;color:#664d03}.alert.alert-warning .btn:not([class*=btn-outline]),.table-warning .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-warning a:not(.btn){font-weight:700;color:#664d03}.badge.bg-warning,.toast.bg-warning,.toast-header.bg-warning,.progress-bar.bg-warning{color:#000}.bg-danger button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23842029'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-danger{color:#dc3545}.btn.btn-ghost-danger:hover{background-color:#dc35451f}.alert.alert-danger a:not(.btn),.table-danger a:not(.btn){font-weight:700;color:#842029}.alert.alert-danger .btn:not([class*=btn-outline]),.table-danger .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-danger a:not(.btn){font-weight:700;color:#f1aeb5}.badge.bg-danger,.toast.bg-danger,.toast-header.bg-danger,.progress-bar.bg-danger{color:#fff}.bg-light button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235d5e60'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-light{color:#e9ecef}.btn.btn-ghost-light:hover{background-color:#e9ecef1f}.alert.alert-light a:not(.btn),.table-light a:not(.btn){font-weight:700;color:#5d5e60}.alert.alert-light .btn:not([class*=btn-outline]),.table-light .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-light a:not(.btn){font-weight:700;color:#5d5e60}.badge.bg-light,.toast.bg-light,.toast-header.bg-light,.progress-bar.bg-light{color:#000}.bg-dark button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f2326'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-dark{color:#343a40}.btn.btn-ghost-dark:hover{background-color:#343a401f}.alert.alert-dark a:not(.btn),.table-dark a:not(.btn){font-weight:700;color:#1f2326}.alert.alert-dark .btn:not([class*=btn-outline]),.table-dark .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-dark a:not(.btn){font-weight:700;color:#aeb0b3}.badge.bg-dark,.toast.bg-dark,.toast-header.bg-dark,.progress-bar.bg-dark{color:#fff}.bg-blue button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23084298'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-blue{color:#0d6efd}.btn.btn-ghost-blue:hover{background-color:#0d6efd1f}.alert.alert-blue a:not(.btn),.table-blue a:not(.btn){font-weight:700;color:#084298}.alert.alert-blue .btn:not([class*=btn-outline]),.table-blue .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-blue a:not(.btn){font-weight:700;color:#9ec5fe}.badge.bg-blue,.toast.bg-blue,.toast-header.bg-blue,.progress-bar.bg-blue{color:#fff}.bg-indigo button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233d0a91'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-indigo{color:#6610f2}.btn.btn-ghost-indigo:hover{background-color:#6610f21f}.alert.alert-indigo a:not(.btn),.table-indigo a:not(.btn){font-weight:700;color:#3d0a91}.alert.alert-indigo .btn:not([class*=btn-outline]),.table-indigo .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-indigo a:not(.btn){font-weight:700;color:#c29ffa}.badge.bg-indigo,.toast.bg-indigo,.toast-header.bg-indigo,.progress-bar.bg-indigo{color:#fff}.bg-purple button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23432874'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-purple{color:#6f42c1}.btn.btn-ghost-purple:hover{background-color:#6f42c11f}.alert.alert-purple a:not(.btn),.table-purple a:not(.btn){font-weight:700;color:#432874}.alert.alert-purple .btn:not([class*=btn-outline]),.table-purple .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-purple a:not(.btn){font-weight:700;color:#c5b3e6}.badge.bg-purple,.toast.bg-purple,.toast-header.bg-purple,.progress-bar.bg-purple{color:#fff}.bg-pink button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23801f4f'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-pink{color:#d63384}.btn.btn-ghost-pink:hover{background-color:#d633841f}.alert.alert-pink a:not(.btn),.table-pink a:not(.btn){font-weight:700;color:#801f4f}.alert.alert-pink .btn:not([class*=btn-outline]),.table-pink .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-pink a:not(.btn){font-weight:700;color:#efadce}.badge.bg-pink,.toast.bg-pink,.toast-header.bg-pink,.progress-bar.bg-pink{color:#fff}.bg-red button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23842029'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-red{color:#dc3545}.btn.btn-ghost-red:hover{background-color:#dc35451f}.alert.alert-red a:not(.btn),.table-red a:not(.btn){font-weight:700;color:#842029}.alert.alert-red .btn:not([class*=btn-outline]),.table-red .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-red a:not(.btn){font-weight:700;color:#f1aeb5}.badge.bg-red,.toast.bg-red,.toast-header.bg-red,.progress-bar.bg-red{color:#fff}.bg-orange button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23984c0c'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-orange{color:#fd7e14}.btn.btn-ghost-orange:hover{background-color:#fd7e141f}.alert.alert-orange a:not(.btn),.table-orange a:not(.btn){font-weight:700;color:#984c0c}.alert.alert-orange .btn:not([class*=btn-outline]),.table-orange .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-orange a:not(.btn){font-weight:700;color:#653208}.badge.bg-orange,.toast.bg-orange,.toast-header.bg-orange,.progress-bar.bg-orange{color:#000}.bg-yellow button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23664d03'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-yellow{color:#ffc107}.btn.btn-ghost-yellow:hover{background-color:#ffc1071f}.alert.alert-yellow a:not(.btn),.table-yellow a:not(.btn){font-weight:700;color:#664d03}.alert.alert-yellow .btn:not([class*=btn-outline]),.table-yellow .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-yellow a:not(.btn){font-weight:700;color:#664d03}.badge.bg-yellow,.toast.bg-yellow,.toast-header.bg-yellow,.progress-bar.bg-yellow{color:#000}.bg-green button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f5132'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-green{color:#198754}.btn.btn-ghost-green:hover{background-color:#1987541f}.alert.alert-green a:not(.btn),.table-green a:not(.btn){font-weight:700;color:#0f5132}.alert.alert-green .btn:not([class*=btn-outline]),.table-green .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-green a:not(.btn){font-weight:700;color:#a3cfbb}.badge.bg-green,.toast.bg-green,.toast-header.bg-green,.progress-bar.bg-green{color:#fff}.bg-teal button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2313795b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-teal{color:#20c997}.btn.btn-ghost-teal:hover{background-color:#20c9971f}.alert.alert-teal a:not(.btn),.table-teal a:not(.btn){font-weight:700;color:#13795b}.alert.alert-teal .btn:not([class*=btn-outline]),.table-teal .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-teal a:not(.btn){font-weight:700;color:#0d503c}.badge.bg-teal,.toast.bg-teal,.toast-header.bg-teal,.progress-bar.bg-teal{color:#000}.bg-cyan button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23055160'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-cyan{color:#0dcaf0}.btn.btn-ghost-cyan:hover{background-color:#0dcaf01f}.alert.alert-cyan a:not(.btn),.table-cyan a:not(.btn){font-weight:700;color:#055160}.alert.alert-cyan .btn:not([class*=btn-outline]),.table-cyan .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-cyan a:not(.btn){font-weight:700;color:#055160}.badge.bg-cyan,.toast.bg-cyan,.toast-header.bg-cyan,.progress-bar.bg-cyan{color:#000}.bg-gray button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23686d71'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-gray{color:#adb5bd}.btn.btn-ghost-gray:hover{background-color:#adb5bd1f}.alert.alert-gray a:not(.btn),.table-gray a:not(.btn){font-weight:700;color:#686d71}.alert.alert-gray .btn:not([class*=btn-outline]),.table-gray .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-gray a:not(.btn){font-weight:700;color:#45484c}.badge.bg-gray,.toast.bg-gray,.toast-header.bg-gray,.progress-bar.bg-gray{color:#000}.bg-black button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-black{color:#000}.btn.btn-ghost-black:hover{background-color:#0000001f}.alert.alert-black a:not(.btn),.table-black a:not(.btn){font-weight:700;color:#000}.alert.alert-black .btn:not([class*=btn-outline]),.table-black .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-black a:not(.btn){font-weight:700;color:#999}.badge.bg-black,.toast.bg-black,.toast-header.bg-black,.progress-bar.bg-black{color:#fff}.bg-white button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23666666'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}.btn.btn-ghost-white{color:#fff}.btn.btn-ghost-white:hover{background-color:#ffffff1f}.alert.alert-white a:not(.btn),.table-white a:not(.btn){font-weight:700;color:#666}.alert.alert-white .btn:not([class*=btn-outline]),.table-white .btn:not([class*=btn-outline]){border-color:#495057}.toast.bg-white a:not(.btn){font-weight:700;color:#666}.badge.bg-white,.toast.bg-white,.toast-header.bg-white,.progress-bar.bg-white{color:#000}table td>.progress{min-width:6rem}.small .form-control{font-size:.875rem}:not(.card-body)>.col:not(:last-child):not(:only-child){margin-bottom:1rem}.nav-mobile{display:none;flex-direction:column;align-items:center;justify-content:space-between;width:100%}@media (max-width: 991.98px){.nav-mobile{display:flex}}.nav-mobile .nav-mobile-top{display:flex;align-items:center;justify-content:space-between;width:100%}.card>.table.table-flush{margin-bottom:0;overflow:hidden;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.card>.table.table-flush thead th[scope=col]{padding-top:1rem;padding-bottom:1rem;text-transform:uppercase;vertical-align:middle;background-color:#f8f9fa;border-top:1px solid rgba(0,0,0,.125);border-bottom-color:#00000020}.card>.table.table-flush th,.card>.table.table-flush td{padding-right:1.5rem!important;padding-left:1.5rem!important;border-right:0;border-left:0}.card>.table.table-flush tr[class]{border-color:#00000020!important}.card>.table.table-flush tr[class]:last-of-type{border-bottom-color:transparent!important;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.header-alert-container{display:flex;align-items:center;justify-content:center;padding:0 1rem}.header-alert-container .alert{width:100%}@media (min-width: 768px){.header-alert-container .alert{max-width:75%}}@media (min-width: 992px){.header-alert-container .alert{max-width:50%}}span.profile-button .dropdown-menu{right:0;left:auto;display:block!important;margin-top:.5rem;box-shadow:0 .5rem 1rem #00000026;transition:opacity .2s ease-in-out}span.profile-button .dropdown-menu:not(.show){pointer-events:none;opacity:0}span.profile-button .dropdown-menu.show{pointer-events:auto;opacity:1}div#advanced-search-content div.card div.card-body div.col:not(:last-child){margin-right:1rem}table td a{text-decoration:none}table td a:hover{text-decoration:underline}table td .dropdown{position:static}table th a,table th a:hover{color:#212529;text-decoration:none}table td,table th{font-size:.875rem;line-height:1.25;vertical-align:middle}table td.min-width,table th.min-width{width:1%}table td .form-check-input,table th .form-check-input{margin-top:.125em;font-size:1rem}table td .btn-sm,table td .btn-group-sm>.btn,table th .btn-sm,table th .btn-group-sm>.btn{line-height:1}table td p,table th p{margin-bottom:0}table th.asc a:after{content:"\f0140";font-family:"Material Design Icons"}table th.desc a:after{content:"\f0143";font-family:"Material Design Icons"}table.table>:not(caption)>*>*{padding-right:.25rem!important;padding-left:.25rem!important}table.object-list th{font-size:.75rem;line-height:1;vertical-align:bottom}table.attr-table th{font-weight:normal;width:25%}div.title-container{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between}@media (min-width: 992px){div.title-container{flex-direction:row}}div.title-container #content-title{display:flex;flex:1 0;flex-direction:column;padding-bottom:.5rem}.controls{margin-bottom:.5rem}@media print{.controls{display:none!important}}.controls .control-group{display:flex;flex-wrap:wrap;justify-content:flex-start}@media (min-width: 992px){.controls .control-group{justify-content:flex-end}}.controls .control-group>*{margin:.25rem}.controls .control-group>*:first-child{margin-left:0}.controls .control-group>*:last-child{margin-right:0}.object-subtitle{display:block;font-size:.875rem;color:#6c757d}@media (min-width: 768px){.object-subtitle{display:inline-block}}.object-subtitle>span{display:block}.object-subtitle>span.separator{display:none}@media (min-width: 768px){.object-subtitle>span,.object-subtitle>span.separator{display:inline-block}}nav.search{z-index:999;justify-content:center;background-color:#f8f9fa}nav.search .search-container{display:flex;width:100%}@media (max-width: 991.98px){nav.search .search-container{display:none}}nav.search .input-group .search-obj-selected{border-color:#ced4da}nav.search .input-group .dropdown-toggle{color:#000;border-color:#ced4da;margin-left:0;font-weight:400;line-height:1.5;color:#212529;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem;border-left:1px solid var(--nbx-search-filter-border-left-color)}nav.search .input-group .dropdown-toggle:hover{color:#000;background-color:#eceff1;border-color:#d3d8de}.btn-check:focus+nav.search .input-group .dropdown-toggle,nav.search .input-group .dropdown-toggle:focus{color:#000;background-color:#eceff1;border-color:#d3d8de;box-shadow:0 0 0 .25rem #afb4b980}.btn-check:checked+nav.search .input-group .dropdown-toggle,.btn-check:active+nav.search .input-group .dropdown-toggle,nav.search .input-group .dropdown-toggle:active,nav.search .input-group .dropdown-toggle.active,.show>nav.search .input-group .dropdown-toggle.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#d3d8de}.btn-check:checked+nav.search .input-group .dropdown-toggle:focus,.btn-check:active+nav.search .input-group .dropdown-toggle:focus,nav.search .input-group .dropdown-toggle:active:focus,nav.search .input-group .dropdown-toggle.active:focus,.show>nav.search .input-group .dropdown-toggle.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #afb4b980}nav.search .input-group .dropdown-toggle:disabled,nav.search .input-group .dropdown-toggle.disabled{color:#000;background-color:#e9ecef;border-color:#ced4da}nav.search .input-group .dropdown-toggle:focus{box-shadow:unset!important}nav.search .input-group .dropdown-toggle:after{display:none}nav.search .input-group .search-obj-selector{max-height:70vh;overflow-y:auto}nav.search .input-group .search-obj-selector .dropdown-item,nav.search .input-group .search-obj-selector .dropdown-header{font-size:.875rem}nav.search .input-group .search-obj-selector .dropdown-header{text-transform:uppercase}main.layout{display:flex;flex-wrap:nowrap;height:100vh;height:-webkit-fill-available;max-height:100vh;overflow-x:auto;overflow-y:hidden}@media print{main.layout{position:static!important;display:block!important;height:100%;overflow-x:visible!important;overflow-y:visible!important}}main.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100vw;height:calc(100vh - 4rem);padding-top:40px;padding-bottom:40px}main.login-container+footer.footer button.color-mode-toggle{color:var(--nbx-color-mode-toggle-color)}.footer{background-color:#f8f9fa;padding:0}.footer .nav-link{padding:.5rem}@media (max-width: 767.98px){.footer{margin-bottom:8rem}}footer.login-footer{height:4rem;margin-top:auto}footer.login-footer .container-fluid,footer.login-footer .container-sm,footer.login-footer .container-md,footer.login-footer .container-lg,footer.login-footer .container-xl,footer.login-footer .container-xxl{display:flex;justify-content:flex-end;padding:.75rem 1.5rem}h1.accordion-item-title,.accordion-item-title.h1,h2.accordion-item-title,.accordion-item-title.h2,h3.accordion-item-title,.accordion-item-title.h3,h4.accordion-item-title,.accordion-item-title.h4,h5.accordion-item-title,.accordion-item-title.h5,h6.accordion-item-title,.accordion-item-title.h6{padding:.25rem .5rem;font-size:.875rem;font-weight:700;color:var(--nbx-sidebar-title-color);text-transform:uppercase}.form-login{width:100%;max-width:330px;padding:15px}.form-login input:focus{z-index:1}.form-login input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}.form-login input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}.form-login .form-control{position:relative;box-sizing:border-box;height:auto;padding:10px;font-size:16px}.navbar{border-bottom:1px solid #ced4da}.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}nav.nav.nav-pills .nav-item.nav-link{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}nav.nav.nav-pills .nav-item.nav-link:hover{color:#343a40;background-color:#cfe2ff}div.content-container{position:relative;display:flex;flex-direction:column;width:calc(100% - 3rem);min-height:100vh;overflow-x:hidden;overflow-y:auto}div.content-container:focus,div.content-container:focus-visible{outline:0}div.content-container div.content{background-color:#f8f9fa;flex:1}@media (max-width: 991.98px){div.content-container{width:100%}}@media print{div.content-container{width:100%!important;margin-left:0!important}}@media (max-width: 768px){.sidebar.collapse.show~.content-container>.content{position:fixed;top:0;left:0;overflow-y:hidden}}.tooltip{pointer-events:none}span.color-label{display:block;width:5rem;height:1rem;padding:.35em .65em;border:1px solid #303030;border-radius:.375rem;box-shadow:0 .125rem .25rem #00000013}.badge a{color:inherit}.btn{white-space:nowrap}.card{box-shadow:0 .125rem .25rem #00000013}.card .card-header{padding:1rem;color:var(--nbx-body-color);border-bottom:none}.card .card-header+.card-body{padding-top:0}.card .card-body.small .form-control,.card .card-body.small .form-select{font-size:.875rem}.card .card-divider{width:100%;height:1px;margin:1rem 0;border-top:1px solid rgba(0,0,0,.125);opacity:.25}@media print{.card{box-shadow:unset!important}}.form-floating{position:relative}.form-floating>.input-group>.form-control,.form-floating>.input-group>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating>.input-group>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>.input-group>label{transition:none}}.form-floating>.input-group>.form-control::placeholder{color:transparent}.form-floating>.input-group>.form-control:focus,.form-floating>.input-group>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.input-group>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.input-group>.form-select,.form-floating>.choices>.choices__inner,.form-floating>.ss-main span.placeholder,.form-floating>.ss-main div.ss-values{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.input-group>.form-control:focus~label,.form-floating>.input-group>.form-control:not(:placeholder-shown)~label,.form-floating>.input-group>.form-select~label,.form-floating>.choices~label,.form-floating>.ss-main~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem);z-index:4}.form-floating>.input-group>.form-control:-webkit-autofill~label{z-index:4;opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-object-edit{margin:0 auto;max-width:800px}textarea.form-control[rows="10"]{height:18rem}textarea#id_local_context_data,textarea.markdown,textarea#id_public_key,textarea.form-control[name=csv],textarea.form-control[name=data]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.card:not(:only-of-type){margin-bottom:1rem}.stat-btn{min-width:3rem}nav.breadcrumb-container{width:fit-content;padding:.35em .65em;font-size:.875rem}nav.breadcrumb-container ol.breadcrumb{margin-bottom:0}nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a{text-decoration:none}nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover{text-decoration:underline}label.required{font-weight:700}label.required:after{position:absolute;display:inline-block;margin:0 0 0 2px;font-family:"Material Design Icons";font-size:8px;font-style:normal;font-weight:600;text-decoration:none;content:"\f06c4"}div.bulk-buttons{display:flex;justify-content:space-between;margin:.5rem 0}div.bulk-buttons>div.bulk-button-group{display:flex;flex-wrap:wrap;align-items:flex-start}div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child{margin-left:0}div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child{margin-right:0}div.bulk-buttons>div.bulk-button-group>*{margin:.25rem}table tbody tr.primary{background-color:#337ab726;border-color:#adb5bd}table tbody tr.secondary{background-color:#6c757d26;border-color:#adb5bd}table tbody tr.success{background-color:#19875426;border-color:#adb5bd}table tbody tr.info{background-color:#54d6f026;border-color:#adb5bd}table tbody tr.warning{background-color:#ffc10726;border-color:#adb5bd}table tbody tr.danger{background-color:#dc354526;border-color:#adb5bd}table tbody tr.light{background-color:#e9ecef26;border-color:#adb5bd}table tbody tr.dark{background-color:#343a4026;border-color:#adb5bd}table tbody tr.blue{background-color:#0d6efd26;border-color:#adb5bd}table tbody tr.indigo{background-color:#6610f226;border-color:#adb5bd}table tbody tr.purple{background-color:#6f42c126;border-color:#adb5bd}table tbody tr.pink{background-color:#d6338426;border-color:#adb5bd}table tbody tr.red{background-color:#dc354526;border-color:#adb5bd}table tbody tr.orange{background-color:#fd7e1426;border-color:#adb5bd}table tbody tr.yellow{background-color:#ffc10726;border-color:#adb5bd}table tbody tr.green{background-color:#19875426;border-color:#adb5bd}table tbody tr.teal{background-color:#20c99726;border-color:#adb5bd}table tbody tr.cyan{background-color:#0dcaf026;border-color:#adb5bd}table tbody tr.gray{background-color:#adb5bd26;border-color:#adb5bd}table tbody tr.black{background-color:#00000026;border-color:#adb5bd}table tbody tr.white{background-color:#ffffff26;border-color:#adb5bd}table .table-badge-group .table-badge{display:block;width:min-content;font-size:.875rem;font-weight:400}table .table-badge-group .table-badge:not(.badge){padding:0 .65em}table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child){margin-bottom:.25rem}pre.change-data{padding-right:0;padding-left:0}pre.change-data>span{display:block;padding-right:1rem;padding-left:1rem}pre.change-data>span.added{background-color:var(--nbx-change-added)}pre.change-data>span.removed{background-color:var(--nbx-change-removed)}pre.change-diff{border-color:transparent}pre.change-diff.change-removed{background-color:var(--nbx-change-removed)}pre.change-diff.change-added{background-color:var(--nbx-change-added)}div.card-overlay{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#ffffffbf;border-radius:.375rem}div.card-overlay>div.spinner-border{width:6rem;height:6rem;color:#6c757d}.table-controls{display:flex}@media (min-width: 768px){.table-controls{margin-top:0!important;margin-bottom:0!important}}.table-controls .table-configure{justify-content:flex-start}@media (min-width: 768px){.table-controls .table-configure{justify-content:flex-end}}.table-controls .form-switch.form-check-inline{flex:1 0 auto;font-size:.875rem}.nav-tabs{background-color:#fff}.nav-tabs .nav-link:hover{border-bottom-color:transparent}.nav-tabs .nav-link.active{background-color:#f8f9fa;border-bottom-color:#f8f9fa;transform:translateY(1px)}.tab-content{display:flex;flex-direction:column;padding:1rem}@media print{.masonry{position:static!important;display:block!important;height:unset!important}}@media print{.masonry .masonry-item{position:static!important;top:unset!important;left:unset!important;display:block!important}}.record-depth{display:inline;font-size:1rem;user-select:none;opacity:.33}.record-depth span:only-of-type,.record-depth span:last-of-type{margin-right:.25rem}.popover.image-preview-popover{max-width:unset}.rendered-markdown table{width:100%}.rendered-markdown th{border-bottom:2px solid #ddd;padding:8px}.rendered-markdown td{border-top:1px solid #ddd;padding:8px}td pre{margin-bottom:0}pre.block{padding:1rem;background-color:var(--nbx-pre-bg);border:1px solid var(--nbx-pre-border-color);border-radius:.375rem}#django-messages{position:fixed;right:1rem;bottom:0;margin:1rem}html[data-netbox-url-name=home] .content-container,html[data-netbox-url-name=home] .search{background-color:#f8f9fa!important}html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search{background-color:#171b1d!important}html[data-netbox-url-name=login] #django-messages{display:none} diff --git a/netbox/project-static/dist/netbox-print.css b/netbox/project-static/dist/netbox-print.css index 9b46d50c85c..61bcedf9c0e 100644 --- a/netbox/project-static/dist/netbox-print.css +++ b/netbox/project-static/dist/netbox-print.css @@ -1 +1 @@ -@media print{:root{--nbx-body-bg: #fff !important;--nbx-body-color: #000 !important}html :root,html[data-netbox-color-mode=dark] :root,html[data-netbox-color-mode=light] :root{--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #337ab7;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #54d6f0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #e9ecef;--bs-dark: #343a40;--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-gray: #adb5bd;--bs-black: #000;--bs-white: #fff;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0))}html *,html *:before,html *:after,html[data-netbox-color-mode=dark] *,html[data-netbox-color-mode=dark] *:before,html[data-netbox-color-mode=dark] *:after,html[data-netbox-color-mode=light] *,html[data-netbox-color-mode=light] *:before,html[data-netbox-color-mode=light] *:after{box-sizing:border-box}}@media print and (prefers-reduced-motion: no-preference){html :root,html[data-netbox-color-mode=dark] :root,html[data-netbox-color-mode=light] :root{scroll-behavior:smooth}}@media print{html body,html[data-netbox-color-mode=dark] body,html[data-netbox-color-mode=light] body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}}@media print{html hr,html[data-netbox-color-mode=dark] hr,html[data-netbox-color-mode=light] hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}}@media print{html hr:not([size]),html[data-netbox-color-mode=dark] hr:not([size]),html[data-netbox-color-mode=light] hr:not([size]){height:1px}}@media print{html h6,html .h6,html[data-netbox-color-mode=dark] .h6,html[data-netbox-color-mode=light] .h6,html[data-netbox-color-mode=dark] h6,html[data-netbox-color-mode=light] h6,html h5,html .h5,html[data-netbox-color-mode=dark] .h5,html[data-netbox-color-mode=light] .h5,html[data-netbox-color-mode=dark] h5,html[data-netbox-color-mode=light] h5,html h4,html .h4,html[data-netbox-color-mode=dark] .h4,html[data-netbox-color-mode=light] .h4,html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=light] h4,html h3,html .h3,html[data-netbox-color-mode=dark] .h3,html[data-netbox-color-mode=light] .h3,html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=light] h3,html h2,html .h2,html[data-netbox-color-mode=dark] .h2,html[data-netbox-color-mode=light] .h2,html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=light] h2,html h1,html .h1,html[data-netbox-color-mode=dark] .h1,html[data-netbox-color-mode=light] .h1,html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=light] h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}}@media print{html h1,html .h1,html[data-netbox-color-mode=dark] .h1,html[data-netbox-color-mode=light] .h1,html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=light] h1{font-size:calc(1.375rem + 1.5vw)}}@media print and (min-width: 1200px){html h1,html .h1,html[data-netbox-color-mode=dark] .h1,html[data-netbox-color-mode=light] .h1,html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=light] h1{font-size:2.5rem}}@media print{html h2,html .h2,html[data-netbox-color-mode=dark] .h2,html[data-netbox-color-mode=light] .h2,html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=light] h2{font-size:calc(1.325rem + .9vw)}}@media print and (min-width: 1200px){html h2,html .h2,html[data-netbox-color-mode=dark] .h2,html[data-netbox-color-mode=light] .h2,html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=light] h2{font-size:2rem}}@media print{html h3,html .h3,html[data-netbox-color-mode=dark] .h3,html[data-netbox-color-mode=light] .h3,html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=light] h3{font-size:calc(1.3rem + .6vw)}}@media print and (min-width: 1200px){html h3,html .h3,html[data-netbox-color-mode=dark] .h3,html[data-netbox-color-mode=light] .h3,html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=light] h3{font-size:1.75rem}}@media print{html h4,html .h4,html[data-netbox-color-mode=dark] .h4,html[data-netbox-color-mode=light] .h4,html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=light] h4{font-size:calc(1.275rem + .3vw)}}@media print and (min-width: 1200px){html h4,html .h4,html[data-netbox-color-mode=dark] .h4,html[data-netbox-color-mode=light] .h4,html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=light] h4{font-size:1.5rem}}@media print{html h5,html .h5,html[data-netbox-color-mode=dark] .h5,html[data-netbox-color-mode=light] .h5,html[data-netbox-color-mode=dark] h5,html[data-netbox-color-mode=light] h5{font-size:1.25rem}}@media print{html h6,html .h6,html[data-netbox-color-mode=dark] .h6,html[data-netbox-color-mode=light] .h6,html[data-netbox-color-mode=dark] h6,html[data-netbox-color-mode=light] h6{font-size:1rem}}@media print{html p,html[data-netbox-color-mode=dark] p,html[data-netbox-color-mode=light] p{margin-top:0;margin-bottom:1rem}}@media print{html abbr[title],html abbr[data-bs-original-title],html[data-netbox-color-mode=dark] abbr[title],html[data-netbox-color-mode=dark] abbr[data-bs-original-title],html[data-netbox-color-mode=light] abbr[title],html[data-netbox-color-mode=light] abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}}@media print{html address,html[data-netbox-color-mode=dark] address,html[data-netbox-color-mode=light] address{margin-bottom:1rem;font-style:normal;line-height:inherit}}@media print{html ol,html ul,html[data-netbox-color-mode=dark] ol,html[data-netbox-color-mode=dark] ul,html[data-netbox-color-mode=light] ol,html[data-netbox-color-mode=light] ul{padding-left:2rem}}@media print{html ol,html ul,html dl,html[data-netbox-color-mode=dark] ol,html[data-netbox-color-mode=dark] ul,html[data-netbox-color-mode=dark] dl,html[data-netbox-color-mode=light] ol,html[data-netbox-color-mode=light] ul,html[data-netbox-color-mode=light] dl{margin-top:0;margin-bottom:1rem}}@media print{html ol ol,html ul ul,html ol ul,html ul ol,html[data-netbox-color-mode=dark] ol ol,html[data-netbox-color-mode=dark] ul ul,html[data-netbox-color-mode=dark] ol ul,html[data-netbox-color-mode=dark] ul ol,html[data-netbox-color-mode=light] ol ol,html[data-netbox-color-mode=light] ul ul,html[data-netbox-color-mode=light] ol ul,html[data-netbox-color-mode=light] ul ol{margin-bottom:0}}@media print{html dt,html[data-netbox-color-mode=dark] dt,html[data-netbox-color-mode=light] dt{font-weight:700}}@media print{html dd,html[data-netbox-color-mode=dark] dd,html[data-netbox-color-mode=light] dd{margin-bottom:.5rem;margin-left:0}}@media print{html blockquote,html[data-netbox-color-mode=dark] blockquote,html[data-netbox-color-mode=light] blockquote{margin:0 0 1rem}}@media print{html b,html strong,html[data-netbox-color-mode=dark] b,html[data-netbox-color-mode=dark] strong,html[data-netbox-color-mode=light] b,html[data-netbox-color-mode=light] strong{font-weight:800}}@media print{html small,html .small,html[data-netbox-color-mode=dark] .small,html[data-netbox-color-mode=light] .small,html[data-netbox-color-mode=dark] small,html[data-netbox-color-mode=light] small{font-size:.875em}}@media print{html mark,html .mark,html[data-netbox-color-mode=dark] .mark,html[data-netbox-color-mode=light] .mark,html[data-netbox-color-mode=dark] mark,html[data-netbox-color-mode=light] mark{padding:.2em;background-color:#fcf8e3}}@media print{html sub,html sup,html[data-netbox-color-mode=dark] sub,html[data-netbox-color-mode=dark] sup,html[data-netbox-color-mode=light] sub,html[data-netbox-color-mode=light] sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}}@media print{html sub,html[data-netbox-color-mode=dark] sub,html[data-netbox-color-mode=light] sub{bottom:-.25em}}@media print{html sup,html[data-netbox-color-mode=dark] sup,html[data-netbox-color-mode=light] sup{top:-.5em}}@media print{html a,html[data-netbox-color-mode=dark] a,html[data-netbox-color-mode=light] a{color:#0d6efd;text-decoration:underline}html a:hover,html[data-netbox-color-mode=dark] a:hover,html[data-netbox-color-mode=light] a:hover{color:#0a58ca}}@media print{html a:not([href]):not([class]),html a:not([href]):not([class]):hover,html[data-netbox-color-mode=dark] a:not([href]):not([class]),html[data-netbox-color-mode=dark] a:not([href]):not([class]):hover,html[data-netbox-color-mode=light] a:not([href]):not([class]),html[data-netbox-color-mode=light] a:not([href]):not([class]):hover{color:inherit;text-decoration:none}}@media print{html pre,html code,html kbd,html samp,html[data-netbox-color-mode=dark] pre,html[data-netbox-color-mode=dark] code,html[data-netbox-color-mode=dark] kbd,html[data-netbox-color-mode=dark] samp,html[data-netbox-color-mode=light] pre,html[data-netbox-color-mode=light] code,html[data-netbox-color-mode=light] kbd,html[data-netbox-color-mode=light] samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}}@media print{html pre,html[data-netbox-color-mode=dark] pre,html[data-netbox-color-mode=light] pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}html pre code,html[data-netbox-color-mode=dark] pre code,html[data-netbox-color-mode=light] pre code{font-size:inherit;color:inherit;word-break:normal}}@media print{html code,html[data-netbox-color-mode=dark] code,html[data-netbox-color-mode=light] code{font-size:.875em;color:#212529;word-wrap:break-word}a>html code,a>html[data-netbox-color-mode=dark] code,a>html[data-netbox-color-mode=light] code{color:inherit}}@media print{html kbd,html[data-netbox-color-mode=dark] kbd,html[data-netbox-color-mode=light] kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.375rem}html kbd kbd,html[data-netbox-color-mode=dark] kbd kbd,html[data-netbox-color-mode=light] kbd kbd{padding:0;font-size:1em;font-weight:700}}@media print{html figure,html[data-netbox-color-mode=dark] figure,html[data-netbox-color-mode=light] figure{margin:0 0 1rem}}@media print{html img,html svg,html[data-netbox-color-mode=dark] img,html[data-netbox-color-mode=dark] svg,html[data-netbox-color-mode=light] img,html[data-netbox-color-mode=light] svg{vertical-align:middle}}@media print{html table,html[data-netbox-color-mode=dark] table,html[data-netbox-color-mode=light] table{caption-side:bottom;border-collapse:collapse}}@media print{html caption,html[data-netbox-color-mode=dark] caption,html[data-netbox-color-mode=light] caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}}@media print{html th,html[data-netbox-color-mode=dark] th,html[data-netbox-color-mode=light] th{text-align:inherit;text-align:-webkit-match-parent}}@media print{html thead,html tbody,html tfoot,html tr,html td,html th,html[data-netbox-color-mode=dark] thead,html[data-netbox-color-mode=dark] tbody,html[data-netbox-color-mode=dark] tfoot,html[data-netbox-color-mode=dark] tr,html[data-netbox-color-mode=dark] td,html[data-netbox-color-mode=dark] th,html[data-netbox-color-mode=light] thead,html[data-netbox-color-mode=light] tbody,html[data-netbox-color-mode=light] tfoot,html[data-netbox-color-mode=light] tr,html[data-netbox-color-mode=light] td,html[data-netbox-color-mode=light] th{border-color:inherit;border-style:solid;border-width:0}}@media print{html label,html[data-netbox-color-mode=dark] label,html[data-netbox-color-mode=light] label{display:inline-block}}@media print{html button,html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=light] button{border-radius:0}}@media print{html button:focus:not(:focus-visible),html[data-netbox-color-mode=dark] button:focus:not(:focus-visible),html[data-netbox-color-mode=light] button:focus:not(:focus-visible){outline:0}}@media print{html input,html button,html select,html optgroup,html textarea,html[data-netbox-color-mode=dark] input,html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] select,html[data-netbox-color-mode=dark] optgroup,html[data-netbox-color-mode=dark] textarea,html[data-netbox-color-mode=light] input,html[data-netbox-color-mode=light] button,html[data-netbox-color-mode=light] select,html[data-netbox-color-mode=light] optgroup,html[data-netbox-color-mode=light] textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}}@media print{html button,html select,html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] select,html[data-netbox-color-mode=light] button,html[data-netbox-color-mode=light] select{text-transform:none}}@media print{html [role=button],html[data-netbox-color-mode=dark] [role=button],html[data-netbox-color-mode=light] [role=button]{cursor:pointer}}@media print{html select,html[data-netbox-color-mode=dark] select,html[data-netbox-color-mode=light] select{word-wrap:normal}html select:disabled,html[data-netbox-color-mode=dark] select:disabled,html[data-netbox-color-mode=light] select:disabled{opacity:1}}@media print{html [list]::-webkit-calendar-picker-indicator,html[data-netbox-color-mode=dark] [list]::-webkit-calendar-picker-indicator,html[data-netbox-color-mode=light] [list]::-webkit-calendar-picker-indicator{display:none}}@media print{html button,html [type=button],html [type=reset],html [type=submit],html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] [type=button],html[data-netbox-color-mode=dark] [type=reset],html[data-netbox-color-mode=dark] [type=submit],html[data-netbox-color-mode=light] button,html[data-netbox-color-mode=light] [type=button],html[data-netbox-color-mode=light] [type=reset],html[data-netbox-color-mode=light] [type=submit]{-webkit-appearance:button}html button:not(:disabled),html [type=button]:not(:disabled),html [type=reset]:not(:disabled),html [type=submit]:not(:disabled),html[data-netbox-color-mode=dark] button:not(:disabled),html[data-netbox-color-mode=dark] [type=button]:not(:disabled),html[data-netbox-color-mode=dark] [type=reset]:not(:disabled),html[data-netbox-color-mode=dark] [type=submit]:not(:disabled),html[data-netbox-color-mode=light] button:not(:disabled),html[data-netbox-color-mode=light] [type=button]:not(:disabled),html[data-netbox-color-mode=light] [type=reset]:not(:disabled),html[data-netbox-color-mode=light] [type=submit]:not(:disabled){cursor:pointer}}@media print{html ::-moz-focus-inner,html[data-netbox-color-mode=dark] ::-moz-focus-inner,html[data-netbox-color-mode=light] ::-moz-focus-inner{padding:0;border-style:none}}@media print{html textarea,html[data-netbox-color-mode=dark] textarea,html[data-netbox-color-mode=light] textarea{resize:vertical}}@media print{html fieldset,html[data-netbox-color-mode=dark] fieldset,html[data-netbox-color-mode=light] fieldset{min-width:0;padding:0;margin:0;border:0}}@media print{html legend,html[data-netbox-color-mode=dark] legend,html[data-netbox-color-mode=light] legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}}@media print and (min-width: 1200px){html legend,html[data-netbox-color-mode=dark] legend,html[data-netbox-color-mode=light] legend{font-size:1.5rem}}@media print{html legend+*,html[data-netbox-color-mode=dark] legend+*,html[data-netbox-color-mode=light] legend+*{clear:left}}@media print{html ::-webkit-datetime-edit-fields-wrapper,html ::-webkit-datetime-edit-text,html ::-webkit-datetime-edit-minute,html ::-webkit-datetime-edit-hour-field,html ::-webkit-datetime-edit-day-field,html ::-webkit-datetime-edit-month-field,html ::-webkit-datetime-edit-year-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-fields-wrapper,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-text,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-minute,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-hour-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-day-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-month-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-year-field,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-fields-wrapper,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-text,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-minute,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-hour-field,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-day-field,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-month-field,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-year-field{padding:0}}@media print{html ::-webkit-inner-spin-button,html[data-netbox-color-mode=dark] ::-webkit-inner-spin-button,html[data-netbox-color-mode=light] ::-webkit-inner-spin-button{height:auto}}@media print{html [type=search],html[data-netbox-color-mode=dark] [type=search],html[data-netbox-color-mode=light] [type=search]{outline-offset:-2px;-webkit-appearance:textfield}}@media print{html ::-webkit-search-decoration,html[data-netbox-color-mode=dark] ::-webkit-search-decoration,html[data-netbox-color-mode=light] ::-webkit-search-decoration{-webkit-appearance:none}}@media print{html ::-webkit-color-swatch-wrapper,html[data-netbox-color-mode=dark] ::-webkit-color-swatch-wrapper,html[data-netbox-color-mode=light] ::-webkit-color-swatch-wrapper{padding:0}}@media print{html ::file-selector-button,html[data-netbox-color-mode=dark] ::file-selector-button,html[data-netbox-color-mode=light] ::file-selector-button{font:inherit}}@media print{html ::-webkit-file-upload-button,html[data-netbox-color-mode=dark] ::-webkit-file-upload-button,html[data-netbox-color-mode=light] ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}}@media print{html output,html[data-netbox-color-mode=dark] output,html[data-netbox-color-mode=light] output{display:inline-block}}@media print{html iframe,html[data-netbox-color-mode=dark] iframe,html[data-netbox-color-mode=light] iframe{border:0}}@media print{html summary,html[data-netbox-color-mode=dark] summary,html[data-netbox-color-mode=light] summary{display:list-item;cursor:pointer}}@media print{html progress,html[data-netbox-color-mode=dark] progress,html[data-netbox-color-mode=light] progress{vertical-align:baseline}}@media print{html [hidden],html[data-netbox-color-mode=dark] [hidden],html[data-netbox-color-mode=light] [hidden]{display:none!important}}@media print{html .lead,html[data-netbox-color-mode=dark] .lead,html[data-netbox-color-mode=light] .lead{font-size:1.25rem;font-weight:300}}@media print{html .display-1,html[data-netbox-color-mode=dark] .display-1,html[data-netbox-color-mode=light] .display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-1,html[data-netbox-color-mode=dark] .display-1,html[data-netbox-color-mode=light] .display-1{font-size:5rem}}@media print{html .display-2,html[data-netbox-color-mode=dark] .display-2,html[data-netbox-color-mode=light] .display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-2,html[data-netbox-color-mode=dark] .display-2,html[data-netbox-color-mode=light] .display-2{font-size:4.5rem}}@media print{html .display-3,html[data-netbox-color-mode=dark] .display-3,html[data-netbox-color-mode=light] .display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-3,html[data-netbox-color-mode=dark] .display-3,html[data-netbox-color-mode=light] .display-3{font-size:4rem}}@media print{html .display-4,html[data-netbox-color-mode=dark] .display-4,html[data-netbox-color-mode=light] .display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-4,html[data-netbox-color-mode=dark] .display-4,html[data-netbox-color-mode=light] .display-4{font-size:3.5rem}}@media print{html .display-5,html[data-netbox-color-mode=dark] .display-5,html[data-netbox-color-mode=light] .display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-5,html[data-netbox-color-mode=dark] .display-5,html[data-netbox-color-mode=light] .display-5{font-size:3rem}}@media print{html .display-6,html[data-netbox-color-mode=dark] .display-6,html[data-netbox-color-mode=light] .display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-6,html[data-netbox-color-mode=dark] .display-6,html[data-netbox-color-mode=light] .display-6{font-size:2.5rem}}@media print{html .list-unstyled,html[data-netbox-color-mode=dark] .list-unstyled,html[data-netbox-color-mode=light] .list-unstyled{padding-left:0;list-style:none}}@media print{html .list-inline,html[data-netbox-color-mode=dark] .list-inline,html[data-netbox-color-mode=light] .list-inline{padding-left:0;list-style:none}}@media print{html .list-inline-item,html[data-netbox-color-mode=dark] .list-inline-item,html[data-netbox-color-mode=light] .list-inline-item{display:inline-block}html .list-inline-item:not(:last-child),html[data-netbox-color-mode=dark] .list-inline-item:not(:last-child),html[data-netbox-color-mode=light] .list-inline-item:not(:last-child){margin-right:.5rem}}@media print{html .initialism,html[data-netbox-color-mode=dark] .initialism,html[data-netbox-color-mode=light] .initialism{font-size:.875em;text-transform:uppercase}}@media print{html .blockquote,html[data-netbox-color-mode=dark] .blockquote,html[data-netbox-color-mode=light] .blockquote{margin-bottom:1rem;font-size:1.25rem}html .blockquote>:last-child,html[data-netbox-color-mode=dark] .blockquote>:last-child,html[data-netbox-color-mode=light] .blockquote>:last-child{margin-bottom:0}}@media print{html .blockquote-footer,html[data-netbox-color-mode=dark] .blockquote-footer,html[data-netbox-color-mode=light] .blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}html .blockquote-footer:before,html[data-netbox-color-mode=dark] .blockquote-footer:before,html[data-netbox-color-mode=light] .blockquote-footer:before{content:"\2014\a0"}}@media print{html .img-fluid,html[data-netbox-color-mode=dark] .img-fluid,html[data-netbox-color-mode=light] .img-fluid{max-width:100%;height:auto}}@media print{html .img-thumbnail,html[data-netbox-color-mode=dark] .img-thumbnail,html[data-netbox-color-mode=light] .img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.375rem;max-width:100%;height:auto}}@media print{html .figure,html[data-netbox-color-mode=dark] .figure,html[data-netbox-color-mode=light] .figure{display:inline-block}}@media print{html .figure-img,html[data-netbox-color-mode=dark] .figure-img,html[data-netbox-color-mode=light] .figure-img{margin-bottom:.5rem;line-height:1}}@media print{html .figure-caption,html[data-netbox-color-mode=dark] .figure-caption,html[data-netbox-color-mode=light] .figure-caption{font-size:.875em;color:#6c757d}}@media print{html .container,html .container-fluid,html .container-xxl,html[data-netbox-color-mode=dark] .container-xxl,html[data-netbox-color-mode=light] .container-xxl,html .container-xl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=light] .container-xl,html .container-lg,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=light] .container-lg,html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=dark] .container-fluid,html[data-netbox-color-mode=light] .container,html[data-netbox-color-mode=light] .container-fluid{width:100%;padding-right:var(--bs-gutter-x, .75rem);padding-left:var(--bs-gutter-x, .75rem);margin-right:auto;margin-left:auto}}@media print and (min-width: 576px){html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:540px}}@media print and (min-width: 768px){html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:720px}}@media print and (min-width: 992px){html .container-lg,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=light] .container-lg,html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:960px}}@media print and (min-width: 1200px){html .container-xl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=light] .container-xl,html .container-lg,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=light] .container-lg,html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:1140px}}@media print and (min-width: 1400px){html .container-xxl,html[data-netbox-color-mode=dark] .container-xxl,html[data-netbox-color-mode=light] .container-xxl,html .container-xl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=light] .container-xl,html .container-lg,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=light] .container-lg,html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:1320px}}@media print{html .row,html[data-netbox-color-mode=dark] .row,html[data-netbox-color-mode=light] .row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}html .row>*,html[data-netbox-color-mode=dark] .row>*,html[data-netbox-color-mode=light] .row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}}@media print{html .col,html[data-netbox-color-mode=dark] .col,html[data-netbox-color-mode=light] .col{flex:1 0 0%}}@media print{html .row-cols-auto>*,html[data-netbox-color-mode=dark] .row-cols-auto>*,html[data-netbox-color-mode=light] .row-cols-auto>*{flex:0 0 auto;width:auto}}@media print{html .row-cols-1>*,html[data-netbox-color-mode=dark] .row-cols-1>*,html[data-netbox-color-mode=light] .row-cols-1>*{flex:0 0 auto;width:100%}}@media print{html .row-cols-2>*,html[data-netbox-color-mode=dark] .row-cols-2>*,html[data-netbox-color-mode=light] .row-cols-2>*{flex:0 0 auto;width:50%}}@media print{html .row-cols-3>*,html[data-netbox-color-mode=dark] .row-cols-3>*,html[data-netbox-color-mode=light] .row-cols-3>*{flex:0 0 auto;width:33.3333333333%}}@media print{html .row-cols-4>*,html[data-netbox-color-mode=dark] .row-cols-4>*,html[data-netbox-color-mode=light] .row-cols-4>*{flex:0 0 auto;width:25%}}@media print{html .row-cols-5>*,html[data-netbox-color-mode=dark] .row-cols-5>*,html[data-netbox-color-mode=light] .row-cols-5>*{flex:0 0 auto;width:20%}}@media print{html .row-cols-6>*,html[data-netbox-color-mode=dark] .row-cols-6>*,html[data-netbox-color-mode=light] .row-cols-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 576px){html .col-sm,html[data-netbox-color-mode=dark] .col-sm,html[data-netbox-color-mode=light] .col-sm{flex:1 0 0%}html .row-cols-sm-auto>*,html[data-netbox-color-mode=dark] .row-cols-sm-auto>*,html[data-netbox-color-mode=light] .row-cols-sm-auto>*{flex:0 0 auto;width:auto}html .row-cols-sm-1>*,html[data-netbox-color-mode=dark] .row-cols-sm-1>*,html[data-netbox-color-mode=light] .row-cols-sm-1>*{flex:0 0 auto;width:100%}html .row-cols-sm-2>*,html[data-netbox-color-mode=dark] .row-cols-sm-2>*,html[data-netbox-color-mode=light] .row-cols-sm-2>*{flex:0 0 auto;width:50%}html .row-cols-sm-3>*,html[data-netbox-color-mode=dark] .row-cols-sm-3>*,html[data-netbox-color-mode=light] .row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-sm-4>*,html[data-netbox-color-mode=dark] .row-cols-sm-4>*,html[data-netbox-color-mode=light] .row-cols-sm-4>*{flex:0 0 auto;width:25%}html .row-cols-sm-5>*,html[data-netbox-color-mode=dark] .row-cols-sm-5>*,html[data-netbox-color-mode=light] .row-cols-sm-5>*{flex:0 0 auto;width:20%}html .row-cols-sm-6>*,html[data-netbox-color-mode=dark] .row-cols-sm-6>*,html[data-netbox-color-mode=light] .row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 768px){html .col-md,html[data-netbox-color-mode=dark] .col-md,html[data-netbox-color-mode=light] .col-md{flex:1 0 0%}html .row-cols-md-auto>*,html[data-netbox-color-mode=dark] .row-cols-md-auto>*,html[data-netbox-color-mode=light] .row-cols-md-auto>*{flex:0 0 auto;width:auto}html .row-cols-md-1>*,html[data-netbox-color-mode=dark] .row-cols-md-1>*,html[data-netbox-color-mode=light] .row-cols-md-1>*{flex:0 0 auto;width:100%}html .row-cols-md-2>*,html[data-netbox-color-mode=dark] .row-cols-md-2>*,html[data-netbox-color-mode=light] .row-cols-md-2>*{flex:0 0 auto;width:50%}html .row-cols-md-3>*,html[data-netbox-color-mode=dark] .row-cols-md-3>*,html[data-netbox-color-mode=light] .row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-md-4>*,html[data-netbox-color-mode=dark] .row-cols-md-4>*,html[data-netbox-color-mode=light] .row-cols-md-4>*{flex:0 0 auto;width:25%}html .row-cols-md-5>*,html[data-netbox-color-mode=dark] .row-cols-md-5>*,html[data-netbox-color-mode=light] .row-cols-md-5>*{flex:0 0 auto;width:20%}html .row-cols-md-6>*,html[data-netbox-color-mode=dark] .row-cols-md-6>*,html[data-netbox-color-mode=light] .row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 992px){html .col-lg,html[data-netbox-color-mode=dark] .col-lg,html[data-netbox-color-mode=light] .col-lg{flex:1 0 0%}html .row-cols-lg-auto>*,html[data-netbox-color-mode=dark] .row-cols-lg-auto>*,html[data-netbox-color-mode=light] .row-cols-lg-auto>*{flex:0 0 auto;width:auto}html .row-cols-lg-1>*,html[data-netbox-color-mode=dark] .row-cols-lg-1>*,html[data-netbox-color-mode=light] .row-cols-lg-1>*{flex:0 0 auto;width:100%}html .row-cols-lg-2>*,html[data-netbox-color-mode=dark] .row-cols-lg-2>*,html[data-netbox-color-mode=light] .row-cols-lg-2>*{flex:0 0 auto;width:50%}html .row-cols-lg-3>*,html[data-netbox-color-mode=dark] .row-cols-lg-3>*,html[data-netbox-color-mode=light] .row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-lg-4>*,html[data-netbox-color-mode=dark] .row-cols-lg-4>*,html[data-netbox-color-mode=light] .row-cols-lg-4>*{flex:0 0 auto;width:25%}html .row-cols-lg-5>*,html[data-netbox-color-mode=dark] .row-cols-lg-5>*,html[data-netbox-color-mode=light] .row-cols-lg-5>*{flex:0 0 auto;width:20%}html .row-cols-lg-6>*,html[data-netbox-color-mode=dark] .row-cols-lg-6>*,html[data-netbox-color-mode=light] .row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 1200px){html .col-xl,html[data-netbox-color-mode=dark] .col-xl,html[data-netbox-color-mode=light] .col-xl{flex:1 0 0%}html .row-cols-xl-auto>*,html[data-netbox-color-mode=dark] .row-cols-xl-auto>*,html[data-netbox-color-mode=light] .row-cols-xl-auto>*{flex:0 0 auto;width:auto}html .row-cols-xl-1>*,html[data-netbox-color-mode=dark] .row-cols-xl-1>*,html[data-netbox-color-mode=light] .row-cols-xl-1>*{flex:0 0 auto;width:100%}html .row-cols-xl-2>*,html[data-netbox-color-mode=dark] .row-cols-xl-2>*,html[data-netbox-color-mode=light] .row-cols-xl-2>*{flex:0 0 auto;width:50%}html .row-cols-xl-3>*,html[data-netbox-color-mode=dark] .row-cols-xl-3>*,html[data-netbox-color-mode=light] .row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-xl-4>*,html[data-netbox-color-mode=dark] .row-cols-xl-4>*,html[data-netbox-color-mode=light] .row-cols-xl-4>*{flex:0 0 auto;width:25%}html .row-cols-xl-5>*,html[data-netbox-color-mode=dark] .row-cols-xl-5>*,html[data-netbox-color-mode=light] .row-cols-xl-5>*{flex:0 0 auto;width:20%}html .row-cols-xl-6>*,html[data-netbox-color-mode=dark] .row-cols-xl-6>*,html[data-netbox-color-mode=light] .row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 1400px){html .col-xxl,html[data-netbox-color-mode=dark] .col-xxl,html[data-netbox-color-mode=light] .col-xxl{flex:1 0 0%}html .row-cols-xxl-auto>*,html[data-netbox-color-mode=dark] .row-cols-xxl-auto>*,html[data-netbox-color-mode=light] .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}html .row-cols-xxl-1>*,html[data-netbox-color-mode=dark] .row-cols-xxl-1>*,html[data-netbox-color-mode=light] .row-cols-xxl-1>*{flex:0 0 auto;width:100%}html .row-cols-xxl-2>*,html[data-netbox-color-mode=dark] .row-cols-xxl-2>*,html[data-netbox-color-mode=light] .row-cols-xxl-2>*{flex:0 0 auto;width:50%}html .row-cols-xxl-3>*,html[data-netbox-color-mode=dark] .row-cols-xxl-3>*,html[data-netbox-color-mode=light] .row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-xxl-4>*,html[data-netbox-color-mode=dark] .row-cols-xxl-4>*,html[data-netbox-color-mode=light] .row-cols-xxl-4>*{flex:0 0 auto;width:25%}html .row-cols-xxl-5>*,html[data-netbox-color-mode=dark] .row-cols-xxl-5>*,html[data-netbox-color-mode=light] .row-cols-xxl-5>*{flex:0 0 auto;width:20%}html .row-cols-xxl-6>*,html[data-netbox-color-mode=dark] .row-cols-xxl-6>*,html[data-netbox-color-mode=light] .row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}@media print{html .col-auto,html[data-netbox-color-mode=dark] .col-auto,html[data-netbox-color-mode=light] .col-auto{flex:0 0 auto;width:auto}}@media print{html .col-1,html[data-netbox-color-mode=dark] .col-1,html[data-netbox-color-mode=light] .col-1{flex:0 0 auto;width:8.33333333%}}@media print{html .col-2,html[data-netbox-color-mode=dark] .col-2,html[data-netbox-color-mode=light] .col-2{flex:0 0 auto;width:16.66666667%}}@media print{html .col-3,html[data-netbox-color-mode=dark] .col-3,html[data-netbox-color-mode=light] .col-3{flex:0 0 auto;width:25%}}@media print{html .col-4,html[data-netbox-color-mode=dark] .col-4,html[data-netbox-color-mode=light] .col-4{flex:0 0 auto;width:33.33333333%}}@media print{html .col-5,html[data-netbox-color-mode=dark] .col-5,html[data-netbox-color-mode=light] .col-5{flex:0 0 auto;width:41.66666667%}}@media print{html .col-6,html[data-netbox-color-mode=dark] .col-6,html[data-netbox-color-mode=light] .col-6{flex:0 0 auto;width:50%}}@media print{html .col-7,html[data-netbox-color-mode=dark] .col-7,html[data-netbox-color-mode=light] .col-7{flex:0 0 auto;width:58.33333333%}}@media print{html .col-8,html[data-netbox-color-mode=dark] .col-8,html[data-netbox-color-mode=light] .col-8{flex:0 0 auto;width:66.66666667%}}@media print{html .col-9,html[data-netbox-color-mode=dark] .col-9,html[data-netbox-color-mode=light] .col-9{flex:0 0 auto;width:75%}}@media print{html .col-10,html[data-netbox-color-mode=dark] .col-10,html[data-netbox-color-mode=light] .col-10{flex:0 0 auto;width:83.33333333%}}@media print{html .col-11,html[data-netbox-color-mode=dark] .col-11,html[data-netbox-color-mode=light] .col-11{flex:0 0 auto;width:91.66666667%}}@media print{html .col-12,html[data-netbox-color-mode=dark] .col-12,html[data-netbox-color-mode=light] .col-12{flex:0 0 auto;width:100%}}@media print{html .offset-1,html[data-netbox-color-mode=dark] .offset-1,html[data-netbox-color-mode=light] .offset-1{margin-left:8.33333333%}}@media print{html .offset-2,html[data-netbox-color-mode=dark] .offset-2,html[data-netbox-color-mode=light] .offset-2{margin-left:16.66666667%}}@media print{html .offset-3,html[data-netbox-color-mode=dark] .offset-3,html[data-netbox-color-mode=light] .offset-3{margin-left:25%}}@media print{html .offset-4,html[data-netbox-color-mode=dark] .offset-4,html[data-netbox-color-mode=light] .offset-4{margin-left:33.33333333%}}@media print{html .offset-5,html[data-netbox-color-mode=dark] .offset-5,html[data-netbox-color-mode=light] .offset-5{margin-left:41.66666667%}}@media print{html .offset-6,html[data-netbox-color-mode=dark] .offset-6,html[data-netbox-color-mode=light] .offset-6{margin-left:50%}}@media print{html .offset-7,html[data-netbox-color-mode=dark] .offset-7,html[data-netbox-color-mode=light] .offset-7{margin-left:58.33333333%}}@media print{html .offset-8,html[data-netbox-color-mode=dark] .offset-8,html[data-netbox-color-mode=light] .offset-8{margin-left:66.66666667%}}@media print{html .offset-9,html[data-netbox-color-mode=dark] .offset-9,html[data-netbox-color-mode=light] .offset-9{margin-left:75%}}@media print{html .offset-10,html[data-netbox-color-mode=dark] .offset-10,html[data-netbox-color-mode=light] .offset-10{margin-left:83.33333333%}}@media print{html .offset-11,html[data-netbox-color-mode=dark] .offset-11,html[data-netbox-color-mode=light] .offset-11{margin-left:91.66666667%}}@media print{html .g-0,html .gx-0,html[data-netbox-color-mode=dark] .g-0,html[data-netbox-color-mode=dark] .gx-0,html[data-netbox-color-mode=light] .g-0,html[data-netbox-color-mode=light] .gx-0{--bs-gutter-x: 0}}@media print{html .g-0,html .gy-0,html[data-netbox-color-mode=dark] .g-0,html[data-netbox-color-mode=dark] .gy-0,html[data-netbox-color-mode=light] .g-0,html[data-netbox-color-mode=light] .gy-0{--bs-gutter-y: 0}}@media print{html .g-1,html .gx-1,html[data-netbox-color-mode=dark] .g-1,html[data-netbox-color-mode=dark] .gx-1,html[data-netbox-color-mode=light] .g-1,html[data-netbox-color-mode=light] .gx-1{--bs-gutter-x: .25rem}}@media print{html .g-1,html .gy-1,html[data-netbox-color-mode=dark] .g-1,html[data-netbox-color-mode=dark] .gy-1,html[data-netbox-color-mode=light] .g-1,html[data-netbox-color-mode=light] .gy-1{--bs-gutter-y: .25rem}}@media print{html .g-2,html .gx-2,html[data-netbox-color-mode=dark] .g-2,html[data-netbox-color-mode=dark] .gx-2,html[data-netbox-color-mode=light] .g-2,html[data-netbox-color-mode=light] .gx-2{--bs-gutter-x: .5rem}}@media print{html .g-2,html .gy-2,html[data-netbox-color-mode=dark] .g-2,html[data-netbox-color-mode=dark] .gy-2,html[data-netbox-color-mode=light] .g-2,html[data-netbox-color-mode=light] .gy-2{--bs-gutter-y: .5rem}}@media print{html .g-3,html .gx-3,html[data-netbox-color-mode=dark] .g-3,html[data-netbox-color-mode=dark] .gx-3,html[data-netbox-color-mode=light] .g-3,html[data-netbox-color-mode=light] .gx-3{--bs-gutter-x: 1rem}}@media print{html .g-3,html .gy-3,html[data-netbox-color-mode=dark] .g-3,html[data-netbox-color-mode=dark] .gy-3,html[data-netbox-color-mode=light] .g-3,html[data-netbox-color-mode=light] .gy-3{--bs-gutter-y: 1rem}}@media print{html .g-4,html .gx-4,html[data-netbox-color-mode=dark] .g-4,html[data-netbox-color-mode=dark] .gx-4,html[data-netbox-color-mode=light] .g-4,html[data-netbox-color-mode=light] .gx-4{--bs-gutter-x: 1.5rem}}@media print{html .g-4,html .gy-4,html[data-netbox-color-mode=dark] .g-4,html[data-netbox-color-mode=dark] .gy-4,html[data-netbox-color-mode=light] .g-4,html[data-netbox-color-mode=light] .gy-4{--bs-gutter-y: 1.5rem}}@media print{html .g-5,html .gx-5,html[data-netbox-color-mode=dark] .g-5,html[data-netbox-color-mode=dark] .gx-5,html[data-netbox-color-mode=light] .g-5,html[data-netbox-color-mode=light] .gx-5{--bs-gutter-x: 3rem}}@media print{html .g-5,html .gy-5,html[data-netbox-color-mode=dark] .g-5,html[data-netbox-color-mode=dark] .gy-5,html[data-netbox-color-mode=light] .g-5,html[data-netbox-color-mode=light] .gy-5{--bs-gutter-y: 3rem}}@media print and (min-width: 576px){html .col-sm-auto,html[data-netbox-color-mode=dark] .col-sm-auto,html[data-netbox-color-mode=light] .col-sm-auto{flex:0 0 auto;width:auto}html .col-sm-1,html[data-netbox-color-mode=dark] .col-sm-1,html[data-netbox-color-mode=light] .col-sm-1{flex:0 0 auto;width:8.33333333%}html .col-sm-2,html[data-netbox-color-mode=dark] .col-sm-2,html[data-netbox-color-mode=light] .col-sm-2{flex:0 0 auto;width:16.66666667%}html .col-sm-3,html[data-netbox-color-mode=dark] .col-sm-3,html[data-netbox-color-mode=light] .col-sm-3{flex:0 0 auto;width:25%}html .col-sm-4,html[data-netbox-color-mode=dark] .col-sm-4,html[data-netbox-color-mode=light] .col-sm-4{flex:0 0 auto;width:33.33333333%}html .col-sm-5,html[data-netbox-color-mode=dark] .col-sm-5,html[data-netbox-color-mode=light] .col-sm-5{flex:0 0 auto;width:41.66666667%}html .col-sm-6,html[data-netbox-color-mode=dark] .col-sm-6,html[data-netbox-color-mode=light] .col-sm-6{flex:0 0 auto;width:50%}html .col-sm-7,html[data-netbox-color-mode=dark] .col-sm-7,html[data-netbox-color-mode=light] .col-sm-7{flex:0 0 auto;width:58.33333333%}html .col-sm-8,html[data-netbox-color-mode=dark] .col-sm-8,html[data-netbox-color-mode=light] .col-sm-8{flex:0 0 auto;width:66.66666667%}html .col-sm-9,html[data-netbox-color-mode=dark] .col-sm-9,html[data-netbox-color-mode=light] .col-sm-9{flex:0 0 auto;width:75%}html .col-sm-10,html[data-netbox-color-mode=dark] .col-sm-10,html[data-netbox-color-mode=light] .col-sm-10{flex:0 0 auto;width:83.33333333%}html .col-sm-11,html[data-netbox-color-mode=dark] .col-sm-11,html[data-netbox-color-mode=light] .col-sm-11{flex:0 0 auto;width:91.66666667%}html .col-sm-12,html[data-netbox-color-mode=dark] .col-sm-12,html[data-netbox-color-mode=light] .col-sm-12{flex:0 0 auto;width:100%}html .offset-sm-0,html[data-netbox-color-mode=dark] .offset-sm-0,html[data-netbox-color-mode=light] .offset-sm-0{margin-left:0}html .offset-sm-1,html[data-netbox-color-mode=dark] .offset-sm-1,html[data-netbox-color-mode=light] .offset-sm-1{margin-left:8.33333333%}html .offset-sm-2,html[data-netbox-color-mode=dark] .offset-sm-2,html[data-netbox-color-mode=light] .offset-sm-2{margin-left:16.66666667%}html .offset-sm-3,html[data-netbox-color-mode=dark] .offset-sm-3,html[data-netbox-color-mode=light] .offset-sm-3{margin-left:25%}html .offset-sm-4,html[data-netbox-color-mode=dark] .offset-sm-4,html[data-netbox-color-mode=light] .offset-sm-4{margin-left:33.33333333%}html .offset-sm-5,html[data-netbox-color-mode=dark] .offset-sm-5,html[data-netbox-color-mode=light] .offset-sm-5{margin-left:41.66666667%}html .offset-sm-6,html[data-netbox-color-mode=dark] .offset-sm-6,html[data-netbox-color-mode=light] .offset-sm-6{margin-left:50%}html .offset-sm-7,html[data-netbox-color-mode=dark] .offset-sm-7,html[data-netbox-color-mode=light] .offset-sm-7{margin-left:58.33333333%}html .offset-sm-8,html[data-netbox-color-mode=dark] .offset-sm-8,html[data-netbox-color-mode=light] .offset-sm-8{margin-left:66.66666667%}html .offset-sm-9,html[data-netbox-color-mode=dark] .offset-sm-9,html[data-netbox-color-mode=light] .offset-sm-9{margin-left:75%}html .offset-sm-10,html[data-netbox-color-mode=dark] .offset-sm-10,html[data-netbox-color-mode=light] .offset-sm-10{margin-left:83.33333333%}html .offset-sm-11,html[data-netbox-color-mode=dark] .offset-sm-11,html[data-netbox-color-mode=light] .offset-sm-11{margin-left:91.66666667%}html .g-sm-0,html .gx-sm-0,html[data-netbox-color-mode=dark] .g-sm-0,html[data-netbox-color-mode=dark] .gx-sm-0,html[data-netbox-color-mode=light] .g-sm-0,html[data-netbox-color-mode=light] .gx-sm-0{--bs-gutter-x: 0}html .g-sm-0,html .gy-sm-0,html[data-netbox-color-mode=dark] .g-sm-0,html[data-netbox-color-mode=dark] .gy-sm-0,html[data-netbox-color-mode=light] .g-sm-0,html[data-netbox-color-mode=light] .gy-sm-0{--bs-gutter-y: 0}html .g-sm-1,html .gx-sm-1,html[data-netbox-color-mode=dark] .g-sm-1,html[data-netbox-color-mode=dark] .gx-sm-1,html[data-netbox-color-mode=light] .g-sm-1,html[data-netbox-color-mode=light] .gx-sm-1{--bs-gutter-x: .25rem}html .g-sm-1,html .gy-sm-1,html[data-netbox-color-mode=dark] .g-sm-1,html[data-netbox-color-mode=dark] .gy-sm-1,html[data-netbox-color-mode=light] .g-sm-1,html[data-netbox-color-mode=light] .gy-sm-1{--bs-gutter-y: .25rem}html .g-sm-2,html .gx-sm-2,html[data-netbox-color-mode=dark] .g-sm-2,html[data-netbox-color-mode=dark] .gx-sm-2,html[data-netbox-color-mode=light] .g-sm-2,html[data-netbox-color-mode=light] .gx-sm-2{--bs-gutter-x: .5rem}html .g-sm-2,html .gy-sm-2,html[data-netbox-color-mode=dark] .g-sm-2,html[data-netbox-color-mode=dark] .gy-sm-2,html[data-netbox-color-mode=light] .g-sm-2,html[data-netbox-color-mode=light] .gy-sm-2{--bs-gutter-y: .5rem}html .g-sm-3,html .gx-sm-3,html[data-netbox-color-mode=dark] .g-sm-3,html[data-netbox-color-mode=dark] .gx-sm-3,html[data-netbox-color-mode=light] .g-sm-3,html[data-netbox-color-mode=light] .gx-sm-3{--bs-gutter-x: 1rem}html .g-sm-3,html .gy-sm-3,html[data-netbox-color-mode=dark] .g-sm-3,html[data-netbox-color-mode=dark] .gy-sm-3,html[data-netbox-color-mode=light] .g-sm-3,html[data-netbox-color-mode=light] .gy-sm-3{--bs-gutter-y: 1rem}html .g-sm-4,html .gx-sm-4,html[data-netbox-color-mode=dark] .g-sm-4,html[data-netbox-color-mode=dark] .gx-sm-4,html[data-netbox-color-mode=light] .g-sm-4,html[data-netbox-color-mode=light] .gx-sm-4{--bs-gutter-x: 1.5rem}html .g-sm-4,html .gy-sm-4,html[data-netbox-color-mode=dark] .g-sm-4,html[data-netbox-color-mode=dark] .gy-sm-4,html[data-netbox-color-mode=light] .g-sm-4,html[data-netbox-color-mode=light] .gy-sm-4{--bs-gutter-y: 1.5rem}html .g-sm-5,html .gx-sm-5,html[data-netbox-color-mode=dark] .g-sm-5,html[data-netbox-color-mode=dark] .gx-sm-5,html[data-netbox-color-mode=light] .g-sm-5,html[data-netbox-color-mode=light] .gx-sm-5{--bs-gutter-x: 3rem}html .g-sm-5,html .gy-sm-5,html[data-netbox-color-mode=dark] .g-sm-5,html[data-netbox-color-mode=dark] .gy-sm-5,html[data-netbox-color-mode=light] .g-sm-5,html[data-netbox-color-mode=light] .gy-sm-5{--bs-gutter-y: 3rem}}@media print and (min-width: 768px){html .col-md-auto,html[data-netbox-color-mode=dark] .col-md-auto,html[data-netbox-color-mode=light] .col-md-auto{flex:0 0 auto;width:auto}html .col-md-1,html[data-netbox-color-mode=dark] .col-md-1,html[data-netbox-color-mode=light] .col-md-1{flex:0 0 auto;width:8.33333333%}html .col-md-2,html[data-netbox-color-mode=dark] .col-md-2,html[data-netbox-color-mode=light] .col-md-2{flex:0 0 auto;width:16.66666667%}html .col-md-3,html[data-netbox-color-mode=dark] .col-md-3,html[data-netbox-color-mode=light] .col-md-3{flex:0 0 auto;width:25%}html .col-md-4,html[data-netbox-color-mode=dark] .col-md-4,html[data-netbox-color-mode=light] .col-md-4{flex:0 0 auto;width:33.33333333%}html .col-md-5,html[data-netbox-color-mode=dark] .col-md-5,html[data-netbox-color-mode=light] .col-md-5{flex:0 0 auto;width:41.66666667%}html .col-md-6,html[data-netbox-color-mode=dark] .col-md-6,html[data-netbox-color-mode=light] .col-md-6{flex:0 0 auto;width:50%}html .col-md-7,html[data-netbox-color-mode=dark] .col-md-7,html[data-netbox-color-mode=light] .col-md-7{flex:0 0 auto;width:58.33333333%}html .col-md-8,html[data-netbox-color-mode=dark] .col-md-8,html[data-netbox-color-mode=light] .col-md-8{flex:0 0 auto;width:66.66666667%}html .col-md-9,html[data-netbox-color-mode=dark] .col-md-9,html[data-netbox-color-mode=light] .col-md-9{flex:0 0 auto;width:75%}html .col-md-10,html[data-netbox-color-mode=dark] .col-md-10,html[data-netbox-color-mode=light] .col-md-10{flex:0 0 auto;width:83.33333333%}html .col-md-11,html[data-netbox-color-mode=dark] .col-md-11,html[data-netbox-color-mode=light] .col-md-11{flex:0 0 auto;width:91.66666667%}html .col-md-12,html[data-netbox-color-mode=dark] .col-md-12,html[data-netbox-color-mode=light] .col-md-12{flex:0 0 auto;width:100%}html .offset-md-0,html[data-netbox-color-mode=dark] .offset-md-0,html[data-netbox-color-mode=light] .offset-md-0{margin-left:0}html .offset-md-1,html[data-netbox-color-mode=dark] .offset-md-1,html[data-netbox-color-mode=light] .offset-md-1{margin-left:8.33333333%}html .offset-md-2,html[data-netbox-color-mode=dark] .offset-md-2,html[data-netbox-color-mode=light] .offset-md-2{margin-left:16.66666667%}html .offset-md-3,html[data-netbox-color-mode=dark] .offset-md-3,html[data-netbox-color-mode=light] .offset-md-3{margin-left:25%}html .offset-md-4,html[data-netbox-color-mode=dark] .offset-md-4,html[data-netbox-color-mode=light] .offset-md-4{margin-left:33.33333333%}html .offset-md-5,html[data-netbox-color-mode=dark] .offset-md-5,html[data-netbox-color-mode=light] .offset-md-5{margin-left:41.66666667%}html .offset-md-6,html[data-netbox-color-mode=dark] .offset-md-6,html[data-netbox-color-mode=light] .offset-md-6{margin-left:50%}html .offset-md-7,html[data-netbox-color-mode=dark] .offset-md-7,html[data-netbox-color-mode=light] .offset-md-7{margin-left:58.33333333%}html .offset-md-8,html[data-netbox-color-mode=dark] .offset-md-8,html[data-netbox-color-mode=light] .offset-md-8{margin-left:66.66666667%}html .offset-md-9,html[data-netbox-color-mode=dark] .offset-md-9,html[data-netbox-color-mode=light] .offset-md-9{margin-left:75%}html .offset-md-10,html[data-netbox-color-mode=dark] .offset-md-10,html[data-netbox-color-mode=light] .offset-md-10{margin-left:83.33333333%}html .offset-md-11,html[data-netbox-color-mode=dark] .offset-md-11,html[data-netbox-color-mode=light] .offset-md-11{margin-left:91.66666667%}html .g-md-0,html .gx-md-0,html[data-netbox-color-mode=dark] .g-md-0,html[data-netbox-color-mode=dark] .gx-md-0,html[data-netbox-color-mode=light] .g-md-0,html[data-netbox-color-mode=light] .gx-md-0{--bs-gutter-x: 0}html .g-md-0,html .gy-md-0,html[data-netbox-color-mode=dark] .g-md-0,html[data-netbox-color-mode=dark] .gy-md-0,html[data-netbox-color-mode=light] .g-md-0,html[data-netbox-color-mode=light] .gy-md-0{--bs-gutter-y: 0}html .g-md-1,html .gx-md-1,html[data-netbox-color-mode=dark] .g-md-1,html[data-netbox-color-mode=dark] .gx-md-1,html[data-netbox-color-mode=light] .g-md-1,html[data-netbox-color-mode=light] .gx-md-1{--bs-gutter-x: .25rem}html .g-md-1,html .gy-md-1,html[data-netbox-color-mode=dark] .g-md-1,html[data-netbox-color-mode=dark] .gy-md-1,html[data-netbox-color-mode=light] .g-md-1,html[data-netbox-color-mode=light] .gy-md-1{--bs-gutter-y: .25rem}html .g-md-2,html .gx-md-2,html[data-netbox-color-mode=dark] .g-md-2,html[data-netbox-color-mode=dark] .gx-md-2,html[data-netbox-color-mode=light] .g-md-2,html[data-netbox-color-mode=light] .gx-md-2{--bs-gutter-x: .5rem}html .g-md-2,html .gy-md-2,html[data-netbox-color-mode=dark] .g-md-2,html[data-netbox-color-mode=dark] .gy-md-2,html[data-netbox-color-mode=light] .g-md-2,html[data-netbox-color-mode=light] .gy-md-2{--bs-gutter-y: .5rem}html .g-md-3,html .gx-md-3,html[data-netbox-color-mode=dark] .g-md-3,html[data-netbox-color-mode=dark] .gx-md-3,html[data-netbox-color-mode=light] .g-md-3,html[data-netbox-color-mode=light] .gx-md-3{--bs-gutter-x: 1rem}html .g-md-3,html .gy-md-3,html[data-netbox-color-mode=dark] .g-md-3,html[data-netbox-color-mode=dark] .gy-md-3,html[data-netbox-color-mode=light] .g-md-3,html[data-netbox-color-mode=light] .gy-md-3{--bs-gutter-y: 1rem}html .g-md-4,html .gx-md-4,html[data-netbox-color-mode=dark] .g-md-4,html[data-netbox-color-mode=dark] .gx-md-4,html[data-netbox-color-mode=light] .g-md-4,html[data-netbox-color-mode=light] .gx-md-4{--bs-gutter-x: 1.5rem}html .g-md-4,html .gy-md-4,html[data-netbox-color-mode=dark] .g-md-4,html[data-netbox-color-mode=dark] .gy-md-4,html[data-netbox-color-mode=light] .g-md-4,html[data-netbox-color-mode=light] .gy-md-4{--bs-gutter-y: 1.5rem}html .g-md-5,html .gx-md-5,html[data-netbox-color-mode=dark] .g-md-5,html[data-netbox-color-mode=dark] .gx-md-5,html[data-netbox-color-mode=light] .g-md-5,html[data-netbox-color-mode=light] .gx-md-5{--bs-gutter-x: 3rem}html .g-md-5,html .gy-md-5,html[data-netbox-color-mode=dark] .g-md-5,html[data-netbox-color-mode=dark] .gy-md-5,html[data-netbox-color-mode=light] .g-md-5,html[data-netbox-color-mode=light] .gy-md-5{--bs-gutter-y: 3rem}}@media print and (min-width: 992px){html .col-lg-auto,html[data-netbox-color-mode=dark] .col-lg-auto,html[data-netbox-color-mode=light] .col-lg-auto{flex:0 0 auto;width:auto}html .col-lg-1,html[data-netbox-color-mode=dark] .col-lg-1,html[data-netbox-color-mode=light] .col-lg-1{flex:0 0 auto;width:8.33333333%}html .col-lg-2,html[data-netbox-color-mode=dark] .col-lg-2,html[data-netbox-color-mode=light] .col-lg-2{flex:0 0 auto;width:16.66666667%}html .col-lg-3,html[data-netbox-color-mode=dark] .col-lg-3,html[data-netbox-color-mode=light] .col-lg-3{flex:0 0 auto;width:25%}html .col-lg-4,html[data-netbox-color-mode=dark] .col-lg-4,html[data-netbox-color-mode=light] .col-lg-4{flex:0 0 auto;width:33.33333333%}html .col-lg-5,html[data-netbox-color-mode=dark] .col-lg-5,html[data-netbox-color-mode=light] .col-lg-5{flex:0 0 auto;width:41.66666667%}html .col-lg-6,html[data-netbox-color-mode=dark] .col-lg-6,html[data-netbox-color-mode=light] .col-lg-6{flex:0 0 auto;width:50%}html .col-lg-7,html[data-netbox-color-mode=dark] .col-lg-7,html[data-netbox-color-mode=light] .col-lg-7{flex:0 0 auto;width:58.33333333%}html .col-lg-8,html[data-netbox-color-mode=dark] .col-lg-8,html[data-netbox-color-mode=light] .col-lg-8{flex:0 0 auto;width:66.66666667%}html .col-lg-9,html[data-netbox-color-mode=dark] .col-lg-9,html[data-netbox-color-mode=light] .col-lg-9{flex:0 0 auto;width:75%}html .col-lg-10,html[data-netbox-color-mode=dark] .col-lg-10,html[data-netbox-color-mode=light] .col-lg-10{flex:0 0 auto;width:83.33333333%}html .col-lg-11,html[data-netbox-color-mode=dark] .col-lg-11,html[data-netbox-color-mode=light] .col-lg-11{flex:0 0 auto;width:91.66666667%}html .col-lg-12,html[data-netbox-color-mode=dark] .col-lg-12,html[data-netbox-color-mode=light] .col-lg-12{flex:0 0 auto;width:100%}html .offset-lg-0,html[data-netbox-color-mode=dark] .offset-lg-0,html[data-netbox-color-mode=light] .offset-lg-0{margin-left:0}html .offset-lg-1,html[data-netbox-color-mode=dark] .offset-lg-1,html[data-netbox-color-mode=light] .offset-lg-1{margin-left:8.33333333%}html .offset-lg-2,html[data-netbox-color-mode=dark] .offset-lg-2,html[data-netbox-color-mode=light] .offset-lg-2{margin-left:16.66666667%}html .offset-lg-3,html[data-netbox-color-mode=dark] .offset-lg-3,html[data-netbox-color-mode=light] .offset-lg-3{margin-left:25%}html .offset-lg-4,html[data-netbox-color-mode=dark] .offset-lg-4,html[data-netbox-color-mode=light] .offset-lg-4{margin-left:33.33333333%}html .offset-lg-5,html[data-netbox-color-mode=dark] .offset-lg-5,html[data-netbox-color-mode=light] .offset-lg-5{margin-left:41.66666667%}html .offset-lg-6,html[data-netbox-color-mode=dark] .offset-lg-6,html[data-netbox-color-mode=light] .offset-lg-6{margin-left:50%}html .offset-lg-7,html[data-netbox-color-mode=dark] .offset-lg-7,html[data-netbox-color-mode=light] .offset-lg-7{margin-left:58.33333333%}html .offset-lg-8,html[data-netbox-color-mode=dark] .offset-lg-8,html[data-netbox-color-mode=light] .offset-lg-8{margin-left:66.66666667%}html .offset-lg-9,html[data-netbox-color-mode=dark] .offset-lg-9,html[data-netbox-color-mode=light] .offset-lg-9{margin-left:75%}html .offset-lg-10,html[data-netbox-color-mode=dark] .offset-lg-10,html[data-netbox-color-mode=light] .offset-lg-10{margin-left:83.33333333%}html .offset-lg-11,html[data-netbox-color-mode=dark] .offset-lg-11,html[data-netbox-color-mode=light] .offset-lg-11{margin-left:91.66666667%}html .g-lg-0,html .gx-lg-0,html[data-netbox-color-mode=dark] .g-lg-0,html[data-netbox-color-mode=dark] .gx-lg-0,html[data-netbox-color-mode=light] .g-lg-0,html[data-netbox-color-mode=light] .gx-lg-0{--bs-gutter-x: 0}html .g-lg-0,html .gy-lg-0,html[data-netbox-color-mode=dark] .g-lg-0,html[data-netbox-color-mode=dark] .gy-lg-0,html[data-netbox-color-mode=light] .g-lg-0,html[data-netbox-color-mode=light] .gy-lg-0{--bs-gutter-y: 0}html .g-lg-1,html .gx-lg-1,html[data-netbox-color-mode=dark] .g-lg-1,html[data-netbox-color-mode=dark] .gx-lg-1,html[data-netbox-color-mode=light] .g-lg-1,html[data-netbox-color-mode=light] .gx-lg-1{--bs-gutter-x: .25rem}html .g-lg-1,html .gy-lg-1,html[data-netbox-color-mode=dark] .g-lg-1,html[data-netbox-color-mode=dark] .gy-lg-1,html[data-netbox-color-mode=light] .g-lg-1,html[data-netbox-color-mode=light] .gy-lg-1{--bs-gutter-y: .25rem}html .g-lg-2,html .gx-lg-2,html[data-netbox-color-mode=dark] .g-lg-2,html[data-netbox-color-mode=dark] .gx-lg-2,html[data-netbox-color-mode=light] .g-lg-2,html[data-netbox-color-mode=light] .gx-lg-2{--bs-gutter-x: .5rem}html .g-lg-2,html .gy-lg-2,html[data-netbox-color-mode=dark] .g-lg-2,html[data-netbox-color-mode=dark] .gy-lg-2,html[data-netbox-color-mode=light] .g-lg-2,html[data-netbox-color-mode=light] .gy-lg-2{--bs-gutter-y: .5rem}html .g-lg-3,html .gx-lg-3,html[data-netbox-color-mode=dark] .g-lg-3,html[data-netbox-color-mode=dark] .gx-lg-3,html[data-netbox-color-mode=light] .g-lg-3,html[data-netbox-color-mode=light] .gx-lg-3{--bs-gutter-x: 1rem}html .g-lg-3,html .gy-lg-3,html[data-netbox-color-mode=dark] .g-lg-3,html[data-netbox-color-mode=dark] .gy-lg-3,html[data-netbox-color-mode=light] .g-lg-3,html[data-netbox-color-mode=light] .gy-lg-3{--bs-gutter-y: 1rem}html .g-lg-4,html .gx-lg-4,html[data-netbox-color-mode=dark] .g-lg-4,html[data-netbox-color-mode=dark] .gx-lg-4,html[data-netbox-color-mode=light] .g-lg-4,html[data-netbox-color-mode=light] .gx-lg-4{--bs-gutter-x: 1.5rem}html .g-lg-4,html .gy-lg-4,html[data-netbox-color-mode=dark] .g-lg-4,html[data-netbox-color-mode=dark] .gy-lg-4,html[data-netbox-color-mode=light] .g-lg-4,html[data-netbox-color-mode=light] .gy-lg-4{--bs-gutter-y: 1.5rem}html .g-lg-5,html .gx-lg-5,html[data-netbox-color-mode=dark] .g-lg-5,html[data-netbox-color-mode=dark] .gx-lg-5,html[data-netbox-color-mode=light] .g-lg-5,html[data-netbox-color-mode=light] .gx-lg-5{--bs-gutter-x: 3rem}html .g-lg-5,html .gy-lg-5,html[data-netbox-color-mode=dark] .g-lg-5,html[data-netbox-color-mode=dark] .gy-lg-5,html[data-netbox-color-mode=light] .g-lg-5,html[data-netbox-color-mode=light] .gy-lg-5{--bs-gutter-y: 3rem}}@media print and (min-width: 1200px){html .col-xl-auto,html[data-netbox-color-mode=dark] .col-xl-auto,html[data-netbox-color-mode=light] .col-xl-auto{flex:0 0 auto;width:auto}html .col-xl-1,html[data-netbox-color-mode=dark] .col-xl-1,html[data-netbox-color-mode=light] .col-xl-1{flex:0 0 auto;width:8.33333333%}html .col-xl-2,html[data-netbox-color-mode=dark] .col-xl-2,html[data-netbox-color-mode=light] .col-xl-2{flex:0 0 auto;width:16.66666667%}html .col-xl-3,html[data-netbox-color-mode=dark] .col-xl-3,html[data-netbox-color-mode=light] .col-xl-3{flex:0 0 auto;width:25%}html .col-xl-4,html[data-netbox-color-mode=dark] .col-xl-4,html[data-netbox-color-mode=light] .col-xl-4{flex:0 0 auto;width:33.33333333%}html .col-xl-5,html[data-netbox-color-mode=dark] .col-xl-5,html[data-netbox-color-mode=light] .col-xl-5{flex:0 0 auto;width:41.66666667%}html .col-xl-6,html[data-netbox-color-mode=dark] .col-xl-6,html[data-netbox-color-mode=light] .col-xl-6{flex:0 0 auto;width:50%}html .col-xl-7,html[data-netbox-color-mode=dark] .col-xl-7,html[data-netbox-color-mode=light] .col-xl-7{flex:0 0 auto;width:58.33333333%}html .col-xl-8,html[data-netbox-color-mode=dark] .col-xl-8,html[data-netbox-color-mode=light] .col-xl-8{flex:0 0 auto;width:66.66666667%}html .col-xl-9,html[data-netbox-color-mode=dark] .col-xl-9,html[data-netbox-color-mode=light] .col-xl-9{flex:0 0 auto;width:75%}html .col-xl-10,html[data-netbox-color-mode=dark] .col-xl-10,html[data-netbox-color-mode=light] .col-xl-10{flex:0 0 auto;width:83.33333333%}html .col-xl-11,html[data-netbox-color-mode=dark] .col-xl-11,html[data-netbox-color-mode=light] .col-xl-11{flex:0 0 auto;width:91.66666667%}html .col-xl-12,html[data-netbox-color-mode=dark] .col-xl-12,html[data-netbox-color-mode=light] .col-xl-12{flex:0 0 auto;width:100%}html .offset-xl-0,html[data-netbox-color-mode=dark] .offset-xl-0,html[data-netbox-color-mode=light] .offset-xl-0{margin-left:0}html .offset-xl-1,html[data-netbox-color-mode=dark] .offset-xl-1,html[data-netbox-color-mode=light] .offset-xl-1{margin-left:8.33333333%}html .offset-xl-2,html[data-netbox-color-mode=dark] .offset-xl-2,html[data-netbox-color-mode=light] .offset-xl-2{margin-left:16.66666667%}html .offset-xl-3,html[data-netbox-color-mode=dark] .offset-xl-3,html[data-netbox-color-mode=light] .offset-xl-3{margin-left:25%}html .offset-xl-4,html[data-netbox-color-mode=dark] .offset-xl-4,html[data-netbox-color-mode=light] .offset-xl-4{margin-left:33.33333333%}html .offset-xl-5,html[data-netbox-color-mode=dark] .offset-xl-5,html[data-netbox-color-mode=light] .offset-xl-5{margin-left:41.66666667%}html .offset-xl-6,html[data-netbox-color-mode=dark] .offset-xl-6,html[data-netbox-color-mode=light] .offset-xl-6{margin-left:50%}html .offset-xl-7,html[data-netbox-color-mode=dark] .offset-xl-7,html[data-netbox-color-mode=light] .offset-xl-7{margin-left:58.33333333%}html .offset-xl-8,html[data-netbox-color-mode=dark] .offset-xl-8,html[data-netbox-color-mode=light] .offset-xl-8{margin-left:66.66666667%}html .offset-xl-9,html[data-netbox-color-mode=dark] .offset-xl-9,html[data-netbox-color-mode=light] .offset-xl-9{margin-left:75%}html .offset-xl-10,html[data-netbox-color-mode=dark] .offset-xl-10,html[data-netbox-color-mode=light] .offset-xl-10{margin-left:83.33333333%}html .offset-xl-11,html[data-netbox-color-mode=dark] .offset-xl-11,html[data-netbox-color-mode=light] .offset-xl-11{margin-left:91.66666667%}html .g-xl-0,html .gx-xl-0,html[data-netbox-color-mode=dark] .g-xl-0,html[data-netbox-color-mode=dark] .gx-xl-0,html[data-netbox-color-mode=light] .g-xl-0,html[data-netbox-color-mode=light] .gx-xl-0{--bs-gutter-x: 0}html .g-xl-0,html .gy-xl-0,html[data-netbox-color-mode=dark] .g-xl-0,html[data-netbox-color-mode=dark] .gy-xl-0,html[data-netbox-color-mode=light] .g-xl-0,html[data-netbox-color-mode=light] .gy-xl-0{--bs-gutter-y: 0}html .g-xl-1,html .gx-xl-1,html[data-netbox-color-mode=dark] .g-xl-1,html[data-netbox-color-mode=dark] .gx-xl-1,html[data-netbox-color-mode=light] .g-xl-1,html[data-netbox-color-mode=light] .gx-xl-1{--bs-gutter-x: .25rem}html .g-xl-1,html .gy-xl-1,html[data-netbox-color-mode=dark] .g-xl-1,html[data-netbox-color-mode=dark] .gy-xl-1,html[data-netbox-color-mode=light] .g-xl-1,html[data-netbox-color-mode=light] .gy-xl-1{--bs-gutter-y: .25rem}html .g-xl-2,html .gx-xl-2,html[data-netbox-color-mode=dark] .g-xl-2,html[data-netbox-color-mode=dark] .gx-xl-2,html[data-netbox-color-mode=light] .g-xl-2,html[data-netbox-color-mode=light] .gx-xl-2{--bs-gutter-x: .5rem}html .g-xl-2,html .gy-xl-2,html[data-netbox-color-mode=dark] .g-xl-2,html[data-netbox-color-mode=dark] .gy-xl-2,html[data-netbox-color-mode=light] .g-xl-2,html[data-netbox-color-mode=light] .gy-xl-2{--bs-gutter-y: .5rem}html .g-xl-3,html .gx-xl-3,html[data-netbox-color-mode=dark] .g-xl-3,html[data-netbox-color-mode=dark] .gx-xl-3,html[data-netbox-color-mode=light] .g-xl-3,html[data-netbox-color-mode=light] .gx-xl-3{--bs-gutter-x: 1rem}html .g-xl-3,html .gy-xl-3,html[data-netbox-color-mode=dark] .g-xl-3,html[data-netbox-color-mode=dark] .gy-xl-3,html[data-netbox-color-mode=light] .g-xl-3,html[data-netbox-color-mode=light] .gy-xl-3{--bs-gutter-y: 1rem}html .g-xl-4,html .gx-xl-4,html[data-netbox-color-mode=dark] .g-xl-4,html[data-netbox-color-mode=dark] .gx-xl-4,html[data-netbox-color-mode=light] .g-xl-4,html[data-netbox-color-mode=light] .gx-xl-4{--bs-gutter-x: 1.5rem}html .g-xl-4,html .gy-xl-4,html[data-netbox-color-mode=dark] .g-xl-4,html[data-netbox-color-mode=dark] .gy-xl-4,html[data-netbox-color-mode=light] .g-xl-4,html[data-netbox-color-mode=light] .gy-xl-4{--bs-gutter-y: 1.5rem}html .g-xl-5,html .gx-xl-5,html[data-netbox-color-mode=dark] .g-xl-5,html[data-netbox-color-mode=dark] .gx-xl-5,html[data-netbox-color-mode=light] .g-xl-5,html[data-netbox-color-mode=light] .gx-xl-5{--bs-gutter-x: 3rem}html .g-xl-5,html .gy-xl-5,html[data-netbox-color-mode=dark] .g-xl-5,html[data-netbox-color-mode=dark] .gy-xl-5,html[data-netbox-color-mode=light] .g-xl-5,html[data-netbox-color-mode=light] .gy-xl-5{--bs-gutter-y: 3rem}}@media print and (min-width: 1400px){html .col-xxl-auto,html[data-netbox-color-mode=dark] .col-xxl-auto,html[data-netbox-color-mode=light] .col-xxl-auto{flex:0 0 auto;width:auto}html .col-xxl-1,html[data-netbox-color-mode=dark] .col-xxl-1,html[data-netbox-color-mode=light] .col-xxl-1{flex:0 0 auto;width:8.33333333%}html .col-xxl-2,html[data-netbox-color-mode=dark] .col-xxl-2,html[data-netbox-color-mode=light] .col-xxl-2{flex:0 0 auto;width:16.66666667%}html .col-xxl-3,html[data-netbox-color-mode=dark] .col-xxl-3,html[data-netbox-color-mode=light] .col-xxl-3{flex:0 0 auto;width:25%}html .col-xxl-4,html[data-netbox-color-mode=dark] .col-xxl-4,html[data-netbox-color-mode=light] .col-xxl-4{flex:0 0 auto;width:33.33333333%}html .col-xxl-5,html[data-netbox-color-mode=dark] .col-xxl-5,html[data-netbox-color-mode=light] .col-xxl-5{flex:0 0 auto;width:41.66666667%}html .col-xxl-6,html[data-netbox-color-mode=dark] .col-xxl-6,html[data-netbox-color-mode=light] .col-xxl-6{flex:0 0 auto;width:50%}html .col-xxl-7,html[data-netbox-color-mode=dark] .col-xxl-7,html[data-netbox-color-mode=light] .col-xxl-7{flex:0 0 auto;width:58.33333333%}html .col-xxl-8,html[data-netbox-color-mode=dark] .col-xxl-8,html[data-netbox-color-mode=light] .col-xxl-8{flex:0 0 auto;width:66.66666667%}html .col-xxl-9,html[data-netbox-color-mode=dark] .col-xxl-9,html[data-netbox-color-mode=light] .col-xxl-9{flex:0 0 auto;width:75%}html .col-xxl-10,html[data-netbox-color-mode=dark] .col-xxl-10,html[data-netbox-color-mode=light] .col-xxl-10{flex:0 0 auto;width:83.33333333%}html .col-xxl-11,html[data-netbox-color-mode=dark] .col-xxl-11,html[data-netbox-color-mode=light] .col-xxl-11{flex:0 0 auto;width:91.66666667%}html .col-xxl-12,html[data-netbox-color-mode=dark] .col-xxl-12,html[data-netbox-color-mode=light] .col-xxl-12{flex:0 0 auto;width:100%}html .offset-xxl-0,html[data-netbox-color-mode=dark] .offset-xxl-0,html[data-netbox-color-mode=light] .offset-xxl-0{margin-left:0}html .offset-xxl-1,html[data-netbox-color-mode=dark] .offset-xxl-1,html[data-netbox-color-mode=light] .offset-xxl-1{margin-left:8.33333333%}html .offset-xxl-2,html[data-netbox-color-mode=dark] .offset-xxl-2,html[data-netbox-color-mode=light] .offset-xxl-2{margin-left:16.66666667%}html .offset-xxl-3,html[data-netbox-color-mode=dark] .offset-xxl-3,html[data-netbox-color-mode=light] .offset-xxl-3{margin-left:25%}html .offset-xxl-4,html[data-netbox-color-mode=dark] .offset-xxl-4,html[data-netbox-color-mode=light] .offset-xxl-4{margin-left:33.33333333%}html .offset-xxl-5,html[data-netbox-color-mode=dark] .offset-xxl-5,html[data-netbox-color-mode=light] .offset-xxl-5{margin-left:41.66666667%}html .offset-xxl-6,html[data-netbox-color-mode=dark] .offset-xxl-6,html[data-netbox-color-mode=light] .offset-xxl-6{margin-left:50%}html .offset-xxl-7,html[data-netbox-color-mode=dark] .offset-xxl-7,html[data-netbox-color-mode=light] .offset-xxl-7{margin-left:58.33333333%}html .offset-xxl-8,html[data-netbox-color-mode=dark] .offset-xxl-8,html[data-netbox-color-mode=light] .offset-xxl-8{margin-left:66.66666667%}html .offset-xxl-9,html[data-netbox-color-mode=dark] .offset-xxl-9,html[data-netbox-color-mode=light] .offset-xxl-9{margin-left:75%}html .offset-xxl-10,html[data-netbox-color-mode=dark] .offset-xxl-10,html[data-netbox-color-mode=light] .offset-xxl-10{margin-left:83.33333333%}html .offset-xxl-11,html[data-netbox-color-mode=dark] .offset-xxl-11,html[data-netbox-color-mode=light] .offset-xxl-11{margin-left:91.66666667%}html .g-xxl-0,html .gx-xxl-0,html[data-netbox-color-mode=dark] .g-xxl-0,html[data-netbox-color-mode=dark] .gx-xxl-0,html[data-netbox-color-mode=light] .g-xxl-0,html[data-netbox-color-mode=light] .gx-xxl-0{--bs-gutter-x: 0}html .g-xxl-0,html .gy-xxl-0,html[data-netbox-color-mode=dark] .g-xxl-0,html[data-netbox-color-mode=dark] .gy-xxl-0,html[data-netbox-color-mode=light] .g-xxl-0,html[data-netbox-color-mode=light] .gy-xxl-0{--bs-gutter-y: 0}html .g-xxl-1,html .gx-xxl-1,html[data-netbox-color-mode=dark] .g-xxl-1,html[data-netbox-color-mode=dark] .gx-xxl-1,html[data-netbox-color-mode=light] .g-xxl-1,html[data-netbox-color-mode=light] .gx-xxl-1{--bs-gutter-x: .25rem}html .g-xxl-1,html .gy-xxl-1,html[data-netbox-color-mode=dark] .g-xxl-1,html[data-netbox-color-mode=dark] .gy-xxl-1,html[data-netbox-color-mode=light] .g-xxl-1,html[data-netbox-color-mode=light] .gy-xxl-1{--bs-gutter-y: .25rem}html .g-xxl-2,html .gx-xxl-2,html[data-netbox-color-mode=dark] .g-xxl-2,html[data-netbox-color-mode=dark] .gx-xxl-2,html[data-netbox-color-mode=light] .g-xxl-2,html[data-netbox-color-mode=light] .gx-xxl-2{--bs-gutter-x: .5rem}html .g-xxl-2,html .gy-xxl-2,html[data-netbox-color-mode=dark] .g-xxl-2,html[data-netbox-color-mode=dark] .gy-xxl-2,html[data-netbox-color-mode=light] .g-xxl-2,html[data-netbox-color-mode=light] .gy-xxl-2{--bs-gutter-y: .5rem}html .g-xxl-3,html .gx-xxl-3,html[data-netbox-color-mode=dark] .g-xxl-3,html[data-netbox-color-mode=dark] .gx-xxl-3,html[data-netbox-color-mode=light] .g-xxl-3,html[data-netbox-color-mode=light] .gx-xxl-3{--bs-gutter-x: 1rem}html .g-xxl-3,html .gy-xxl-3,html[data-netbox-color-mode=dark] .g-xxl-3,html[data-netbox-color-mode=dark] .gy-xxl-3,html[data-netbox-color-mode=light] .g-xxl-3,html[data-netbox-color-mode=light] .gy-xxl-3{--bs-gutter-y: 1rem}html .g-xxl-4,html .gx-xxl-4,html[data-netbox-color-mode=dark] .g-xxl-4,html[data-netbox-color-mode=dark] .gx-xxl-4,html[data-netbox-color-mode=light] .g-xxl-4,html[data-netbox-color-mode=light] .gx-xxl-4{--bs-gutter-x: 1.5rem}html .g-xxl-4,html .gy-xxl-4,html[data-netbox-color-mode=dark] .g-xxl-4,html[data-netbox-color-mode=dark] .gy-xxl-4,html[data-netbox-color-mode=light] .g-xxl-4,html[data-netbox-color-mode=light] .gy-xxl-4{--bs-gutter-y: 1.5rem}html .g-xxl-5,html .gx-xxl-5,html[data-netbox-color-mode=dark] .g-xxl-5,html[data-netbox-color-mode=dark] .gx-xxl-5,html[data-netbox-color-mode=light] .g-xxl-5,html[data-netbox-color-mode=light] .gx-xxl-5{--bs-gutter-x: 3rem}html .g-xxl-5,html .gy-xxl-5,html[data-netbox-color-mode=dark] .g-xxl-5,html[data-netbox-color-mode=dark] .gy-xxl-5,html[data-netbox-color-mode=light] .g-xxl-5,html[data-netbox-color-mode=light] .gy-xxl-5{--bs-gutter-y: 3rem}}@media print{html .table,html[data-netbox-color-mode=dark] .table,html[data-netbox-color-mode=light] .table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}html .table>:not(caption)>*>*,html[data-netbox-color-mode=dark] .table>:not(caption)>*>*,html[data-netbox-color-mode=light] .table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}html .table>tbody,html[data-netbox-color-mode=dark] .table>tbody,html[data-netbox-color-mode=light] .table>tbody{vertical-align:inherit}html .table>thead,html[data-netbox-color-mode=dark] .table>thead,html[data-netbox-color-mode=light] .table>thead{vertical-align:bottom}html .table>:not(:last-child)>:last-child>*,html[data-netbox-color-mode=dark] .table>:not(:last-child)>:last-child>*,html[data-netbox-color-mode=light] .table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}}@media print{html .caption-top,html[data-netbox-color-mode=dark] .caption-top,html[data-netbox-color-mode=light] .caption-top{caption-side:top}}@media print{html .table-sm>:not(caption)>*>*,html[data-netbox-color-mode=dark] .table-sm>:not(caption)>*>*,html[data-netbox-color-mode=light] .table-sm>:not(caption)>*>*{padding:.25rem}}@media print{html .table-bordered>:not(caption)>*,html[data-netbox-color-mode=dark] .table-bordered>:not(caption)>*,html[data-netbox-color-mode=light] .table-bordered>:not(caption)>*{border-width:1px 0}html .table-bordered>:not(caption)>*>*,html[data-netbox-color-mode=dark] .table-bordered>:not(caption)>*>*,html[data-netbox-color-mode=light] .table-bordered>:not(caption)>*>*{border-width:0 1px}}@media print{html .table-borderless>:not(caption)>*>*,html[data-netbox-color-mode=dark] .table-borderless>:not(caption)>*>*,html[data-netbox-color-mode=light] .table-borderless>:not(caption)>*>*{border-bottom-width:0}}@media print{html .table-striped>tbody>tr:nth-of-type(odd),html[data-netbox-color-mode=dark] .table-striped>tbody>tr:nth-of-type(odd),html[data-netbox-color-mode=light] .table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}}@media print{html .table-active,html[data-netbox-color-mode=dark] .table-active,html[data-netbox-color-mode=light] .table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}}@media print{html .table-hover>tbody>tr:hover,html[data-netbox-color-mode=dark] .table-hover>tbody>tr:hover,html[data-netbox-color-mode=light] .table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}}@media print{html .table-primary,html[data-netbox-color-mode=dark] .table-primary,html[data-netbox-color-mode=light] .table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}}@media print{html .table-secondary,html[data-netbox-color-mode=dark] .table-secondary,html[data-netbox-color-mode=light] .table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}}@media print{html .table-success,html[data-netbox-color-mode=dark] .table-success,html[data-netbox-color-mode=light] .table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}}@media print{html .table-info,html[data-netbox-color-mode=dark] .table-info,html[data-netbox-color-mode=light] .table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}}@media print{html .table-warning,html[data-netbox-color-mode=dark] .table-warning,html[data-netbox-color-mode=light] .table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}}@media print{html .table-danger,html[data-netbox-color-mode=dark] .table-danger,html[data-netbox-color-mode=light] .table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}}@media print{html .table-light,html[data-netbox-color-mode=dark] .table-light,html[data-netbox-color-mode=light] .table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}}@media print{html .table-dark,html[data-netbox-color-mode=dark] .table-dark,html[data-netbox-color-mode=light] .table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:#fff;border-color:#373b3e}}@media print{html .table-responsive,html[data-netbox-color-mode=dark] .table-responsive,html[data-netbox-color-mode=light] .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 575.98px){html .table-responsive-sm,html[data-netbox-color-mode=dark] .table-responsive-sm,html[data-netbox-color-mode=light] .table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 767.98px){html .table-responsive-md,html[data-netbox-color-mode=dark] .table-responsive-md,html[data-netbox-color-mode=light] .table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 991.98px){html .table-responsive-lg,html[data-netbox-color-mode=dark] .table-responsive-lg,html[data-netbox-color-mode=light] .table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 1199.98px){html .table-responsive-xl,html[data-netbox-color-mode=dark] .table-responsive-xl,html[data-netbox-color-mode=light] .table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 1399.98px){html .table-responsive-xxl,html[data-netbox-color-mode=dark] .table-responsive-xxl,html[data-netbox-color-mode=light] .table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print{html .form-label,html[data-netbox-color-mode=dark] .form-label,html[data-netbox-color-mode=light] .form-label{margin-bottom:.5rem}}@media print{html .col-form-label,html[data-netbox-color-mode=dark] .col-form-label,html[data-netbox-color-mode=light] .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}}@media print{html .col-form-label-lg,html[data-netbox-color-mode=dark] .col-form-label-lg,html[data-netbox-color-mode=light] .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}}@media print{html .col-form-label-sm,html[data-netbox-color-mode=dark] .col-form-label-sm,html[data-netbox-color-mode=light] .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}}@media print{html .form-text,html[data-netbox-color-mode=dark] .form-text,html[data-netbox-color-mode=light] .form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}}@media print{html .form-control,html[data-netbox-color-mode=dark] .form-control,html[data-netbox-color-mode=light] .form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #e9ecef;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .form-control,html[data-netbox-color-mode=dark] .form-control,html[data-netbox-color-mode=light] .form-control{transition:none}}@media print{html .form-control[type=file],html[data-netbox-color-mode=dark] .form-control[type=file],html[data-netbox-color-mode=light] .form-control[type=file]{overflow:hidden}html .form-control[type=file]:not(:disabled):not([readonly]),html[data-netbox-color-mode=dark] .form-control[type=file]:not(:disabled):not([readonly]),html[data-netbox-color-mode=light] .form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}}@media print{html .form-control:focus,html[data-netbox-color-mode=dark] .form-control:focus,html[data-netbox-color-mode=light] .form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .form-control::-webkit-date-and-time-value,html[data-netbox-color-mode=dark] .form-control::-webkit-date-and-time-value,html[data-netbox-color-mode=light] .form-control::-webkit-date-and-time-value{height:1.5em}}@media print{html .form-control::placeholder,html[data-netbox-color-mode=dark] .form-control::placeholder,html[data-netbox-color-mode=light] .form-control::placeholder{color:#adb5bd;opacity:1}}@media print{html .form-control:disabled,html .form-control[readonly],html[data-netbox-color-mode=dark] .form-control:disabled,html[data-netbox-color-mode=dark] .form-control[readonly],html[data-netbox-color-mode=light] .form-control:disabled,html[data-netbox-color-mode=light] .form-control[readonly]{background-color:#e9ecef;opacity:1}}@media print{html .form-control::file-selector-button,html[data-netbox-color-mode=dark] .form-control::file-selector-button,html[data-netbox-color-mode=light] .form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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 print and (prefers-reduced-motion: reduce){html .form-control::file-selector-button,html[data-netbox-color-mode=dark] .form-control::file-selector-button,html[data-netbox-color-mode=light] .form-control::file-selector-button{transition:none}}@media print{html .form-control:hover:not(:disabled):not([readonly])::file-selector-button,html[data-netbox-color-mode=dark] .form-control:hover:not(:disabled):not([readonly])::file-selector-button,html[data-netbox-color-mode=light] .form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}}@media print{html .form-control::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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 print and (prefers-reduced-motion: reduce){html .form-control::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control::-webkit-file-upload-button{transition:none}}@media print{html .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}}@media print{html .form-control-plaintext,html[data-netbox-color-mode=dark] .form-control-plaintext,html[data-netbox-color-mode=light] .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}html .form-control-plaintext.form-control-sm,html .form-control-plaintext.form-control-lg,html[data-netbox-color-mode=dark] .form-control-plaintext.form-control-sm,html[data-netbox-color-mode=dark] .form-control-plaintext.form-control-lg,html[data-netbox-color-mode=light] .form-control-plaintext.form-control-sm,html[data-netbox-color-mode=light] .form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}}@media print{html .form-control-sm,html[data-netbox-color-mode=dark] .form-control-sm,html[data-netbox-color-mode=light] .form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html .form-control-sm::file-selector-button,html[data-netbox-color-mode=dark] .form-control-sm::file-selector-button,html[data-netbox-color-mode=light] .form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}html .form-control-sm::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control-sm::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}}@media print{html .form-control-lg,html[data-netbox-color-mode=dark] .form-control-lg,html[data-netbox-color-mode=light] .form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}html .form-control-lg::file-selector-button,html[data-netbox-color-mode=dark] .form-control-lg::file-selector-button,html[data-netbox-color-mode=light] .form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}html .form-control-lg::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control-lg::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}}@media print{html textarea.form-control,html[data-netbox-color-mode=dark] textarea.form-control,html[data-netbox-color-mode=light] textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}html textarea.form-control-sm,html[data-netbox-color-mode=dark] textarea.form-control-sm,html[data-netbox-color-mode=light] textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}html textarea.form-control-lg,html[data-netbox-color-mode=dark] textarea.form-control-lg,html[data-netbox-color-mode=light] textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}}@media print{html .form-control-color,html[data-netbox-color-mode=dark] .form-control-color,html[data-netbox-color-mode=light] .form-control-color{max-width:3rem;height:auto;padding:.375rem}html .form-control-color:not(:disabled):not([readonly]),html[data-netbox-color-mode=dark] .form-control-color:not(:disabled):not([readonly]),html[data-netbox-color-mode=light] .form-control-color:not(:disabled):not([readonly]){cursor:pointer}html .form-control-color::-moz-color-swatch,html[data-netbox-color-mode=dark] .form-control-color::-moz-color-swatch,html[data-netbox-color-mode=light] .form-control-color::-moz-color-swatch{height:1.5em;border-radius:.375rem}html .form-control-color::-webkit-color-swatch,html[data-netbox-color-mode=dark] .form-control-color::-webkit-color-swatch,html[data-netbox-color-mode=light] .form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.375rem}}@media print{html .form-select,html[data-netbox-color-mode=dark] .form-select,html[data-netbox-color-mode=light] .form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}}@media print and (prefers-reduced-motion: reduce){html .form-select,html[data-netbox-color-mode=dark] .form-select,html[data-netbox-color-mode=light] .form-select{transition:none}}@media print{html .form-select:focus,html[data-netbox-color-mode=dark] .form-select:focus,html[data-netbox-color-mode=light] .form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .form-select[multiple],html .form-select[size]:not([size="1"]),html[data-netbox-color-mode=dark] .form-select[multiple],html[data-netbox-color-mode=dark] .form-select[size]:not([size="1"]),html[data-netbox-color-mode=light] .form-select[multiple],html[data-netbox-color-mode=light] .form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}}@media print{html .form-select:disabled,html[data-netbox-color-mode=dark] .form-select:disabled,html[data-netbox-color-mode=light] .form-select:disabled{color:#6c757d;background-color:#e9ecef}}@media print{html .form-select:-moz-focusring,html[data-netbox-color-mode=dark] .form-select:-moz-focusring,html[data-netbox-color-mode=light] .form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}}@media print{html .form-select-sm,html[data-netbox-color-mode=dark] .form-select-sm,html[data-netbox-color-mode=light] .form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}}@media print{html .form-select-lg,html[data-netbox-color-mode=dark] .form-select-lg,html[data-netbox-color-mode=light] .form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}}@media print{html .form-check,html[data-netbox-color-mode=dark] .form-check,html[data-netbox-color-mode=light] .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}html .form-check .form-check-input,html[data-netbox-color-mode=dark] .form-check .form-check-input,html[data-netbox-color-mode=light] .form-check .form-check-input{float:left;margin-left:-1.5em}}@media print{html .form-check-input,html[data-netbox-color-mode=dark] .form-check-input,html[data-netbox-color-mode=light] .form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact}html .form-check-input[type=checkbox],html[data-netbox-color-mode=dark] .form-check-input[type=checkbox],html[data-netbox-color-mode=light] .form-check-input[type=checkbox]{border-radius:.25em}html .form-check-input[type=radio],html[data-netbox-color-mode=dark] .form-check-input[type=radio],html[data-netbox-color-mode=light] .form-check-input[type=radio]{border-radius:50%}html .form-check-input:active,html[data-netbox-color-mode=dark] .form-check-input:active,html[data-netbox-color-mode=light] .form-check-input:active{filter:brightness(90%)}html .form-check-input:focus,html[data-netbox-color-mode=dark] .form-check-input:focus,html[data-netbox-color-mode=light] .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html .form-check-input:checked,html[data-netbox-color-mode=dark] .form-check-input:checked,html[data-netbox-color-mode=light] .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}html .form-check-input:checked[type=checkbox],html[data-netbox-color-mode=dark] .form-check-input:checked[type=checkbox],html[data-netbox-color-mode=light] .form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}html .form-check-input:checked[type=radio],html[data-netbox-color-mode=dark] .form-check-input:checked[type=radio],html[data-netbox-color-mode=light] .form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}html .form-check-input[type=checkbox]:indeterminate,html[data-netbox-color-mode=dark] .form-check-input[type=checkbox]:indeterminate,html[data-netbox-color-mode=light] .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}html .form-check-input:disabled,html[data-netbox-color-mode=dark] .form-check-input:disabled,html[data-netbox-color-mode=light] .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}html .form-check-input[disabled]~.form-check-label,html .form-check-input:disabled~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input[disabled]~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input:disabled~.form-check-label,html[data-netbox-color-mode=light] .form-check-input[disabled]~.form-check-label,html[data-netbox-color-mode=light] .form-check-input:disabled~.form-check-label{opacity:.5}}@media print{html .form-switch,html[data-netbox-color-mode=dark] .form-switch,html[data-netbox-color-mode=light] .form-switch{padding-left:2.5em}html .form-switch .form-check-input,html[data-netbox-color-mode=dark] .form-switch .form-check-input,html[data-netbox-color-mode=light] .form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .form-switch .form-check-input,html[data-netbox-color-mode=dark] .form-switch .form-check-input,html[data-netbox-color-mode=light] .form-switch .form-check-input{transition:none}}@media print{html .form-switch .form-check-input:focus,html[data-netbox-color-mode=dark] .form-switch .form-check-input:focus,html[data-netbox-color-mode=light] .form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}}@media print{html .form-switch .form-check-input:checked,html[data-netbox-color-mode=dark] .form-switch .form-check-input:checked,html[data-netbox-color-mode=light] .form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}}@media print{html .form-check-inline,html[data-netbox-color-mode=dark] .form-check-inline,html[data-netbox-color-mode=light] .form-check-inline{display:inline-block;margin-right:1rem}}@media print{html .btn-check,html[data-netbox-color-mode=dark] .btn-check,html[data-netbox-color-mode=light] .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}html .btn-check[disabled]+.btn,html .btn-check:disabled+.btn,html[data-netbox-color-mode=dark] .btn-check[disabled]+.btn,html[data-netbox-color-mode=dark] .btn-check:disabled+.btn,html[data-netbox-color-mode=light] .btn-check[disabled]+.btn,html[data-netbox-color-mode=light] .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}}@media print{html .form-range,html[data-netbox-color-mode=dark] .form-range,html[data-netbox-color-mode=light] .form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}html .form-range:focus,html[data-netbox-color-mode=dark] .form-range:focus,html[data-netbox-color-mode=light] .form-range:focus{outline:0}html .form-range:focus::-webkit-slider-thumb,html[data-netbox-color-mode=dark] .form-range:focus::-webkit-slider-thumb,html[data-netbox-color-mode=light] .form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}html .form-range:focus::-moz-range-thumb,html[data-netbox-color-mode=dark] .form-range:focus::-moz-range-thumb,html[data-netbox-color-mode=light] .form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}html .form-range::-moz-focus-outer,html[data-netbox-color-mode=dark] .form-range::-moz-focus-outer,html[data-netbox-color-mode=light] .form-range::-moz-focus-outer{border:0}html .form-range::-webkit-slider-thumb,html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb,html[data-netbox-color-mode=light] .form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}}@media print and (prefers-reduced-motion: reduce){html .form-range::-webkit-slider-thumb,html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb,html[data-netbox-color-mode=light] .form-range::-webkit-slider-thumb{transition:none}}@media print{html .form-range::-webkit-slider-thumb:active,html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb:active,html[data-netbox-color-mode=light] .form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}}@media print{html .form-range::-webkit-slider-runnable-track,html[data-netbox-color-mode=dark] .form-range::-webkit-slider-runnable-track,html[data-netbox-color-mode=light] .form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}}@media print{html .form-range::-moz-range-thumb,html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb,html[data-netbox-color-mode=light] .form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}}@media print and (prefers-reduced-motion: reduce){html .form-range::-moz-range-thumb,html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb,html[data-netbox-color-mode=light] .form-range::-moz-range-thumb{transition:none}}@media print{html .form-range::-moz-range-thumb:active,html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb:active,html[data-netbox-color-mode=light] .form-range::-moz-range-thumb:active{background-color:#b6d4fe}}@media print{html .form-range::-moz-range-track,html[data-netbox-color-mode=dark] .form-range::-moz-range-track,html[data-netbox-color-mode=light] .form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}}@media print{html .form-range:disabled,html[data-netbox-color-mode=dark] .form-range:disabled,html[data-netbox-color-mode=light] .form-range:disabled{pointer-events:none}html .form-range:disabled::-webkit-slider-thumb,html[data-netbox-color-mode=dark] .form-range:disabled::-webkit-slider-thumb,html[data-netbox-color-mode=light] .form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}html .form-range:disabled::-moz-range-thumb,html[data-netbox-color-mode=dark] .form-range:disabled::-moz-range-thumb,html[data-netbox-color-mode=light] .form-range:disabled::-moz-range-thumb{background-color:#adb5bd}}@media print{html .form-floating,html[data-netbox-color-mode=dark] .form-floating,html[data-netbox-color-mode=light] .form-floating{position:relative}html .form-floating>.form-control,html .form-floating>.form-select,html[data-netbox-color-mode=dark] .form-floating>.form-control,html[data-netbox-color-mode=dark] .form-floating>.form-select,html[data-netbox-color-mode=light] .form-floating>.form-control,html[data-netbox-color-mode=light] .form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}html .form-floating>label,html[data-netbox-color-mode=dark] .form-floating>label,html[data-netbox-color-mode=light] .form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .form-floating>label,html[data-netbox-color-mode=dark] .form-floating>label,html[data-netbox-color-mode=light] .form-floating>label{transition:none}}@media print{html .form-floating>.form-control,html[data-netbox-color-mode=dark] .form-floating>.form-control,html[data-netbox-color-mode=light] .form-floating>.form-control{padding:1rem .75rem}html .form-floating>.form-control::placeholder,html[data-netbox-color-mode=dark] .form-floating>.form-control::placeholder,html[data-netbox-color-mode=light] .form-floating>.form-control::placeholder{color:transparent}html .form-floating>.form-control:focus,html .form-floating>.form-control:not(:placeholder-shown),html[data-netbox-color-mode=dark] .form-floating>.form-control:focus,html[data-netbox-color-mode=dark] .form-floating>.form-control:not(:placeholder-shown),html[data-netbox-color-mode=light] .form-floating>.form-control:focus,html[data-netbox-color-mode=light] .form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}html .form-floating>.form-control:-webkit-autofill,html[data-netbox-color-mode=dark] .form-floating>.form-control:-webkit-autofill,html[data-netbox-color-mode=light] .form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.form-select,html[data-netbox-color-mode=dark] .form-floating>.form-select,html[data-netbox-color-mode=light] .form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.form-control:focus~label,html .form-floating>.form-control:not(:placeholder-shown)~label,html .form-floating>.form-select~label,html[data-netbox-color-mode=dark] .form-floating>.form-control:focus~label,html[data-netbox-color-mode=dark] .form-floating>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=dark] .form-floating>.form-select~label,html[data-netbox-color-mode=light] .form-floating>.form-control:focus~label,html[data-netbox-color-mode=light] .form-floating>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=light] .form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}}@media print{html .form-floating>.form-control:-webkit-autofill~label,html[data-netbox-color-mode=dark] .form-floating>.form-control:-webkit-autofill~label,html[data-netbox-color-mode=light] .form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}}@media print{html .input-group,html[data-netbox-color-mode=dark] .input-group,html[data-netbox-color-mode=light] .input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}html .input-group>.form-control,html .input-group>.form-select,html[data-netbox-color-mode=dark] .input-group>.form-control,html[data-netbox-color-mode=dark] .input-group>.form-select,html[data-netbox-color-mode=light] .input-group>.form-control,html[data-netbox-color-mode=light] .input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}html .input-group>.form-control:focus,html .input-group>.form-select:focus,html[data-netbox-color-mode=dark] .input-group>.form-control:focus,html[data-netbox-color-mode=dark] .input-group>.form-select:focus,html[data-netbox-color-mode=light] .input-group>.form-control:focus,html[data-netbox-color-mode=light] .input-group>.form-select:focus{z-index:3}html .input-group .btn,html[data-netbox-color-mode=dark] .input-group .btn,html[data-netbox-color-mode=light] .input-group .btn{position:relative;z-index:2}html .input-group .btn:focus,html[data-netbox-color-mode=dark] .input-group .btn:focus,html[data-netbox-color-mode=light] .input-group .btn:focus{z-index:3}}@media print{html .input-group-text,html[data-netbox-color-mode=dark] .input-group-text,html[data-netbox-color-mode=light] .input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}}@media print{html .input-group-lg>.form-control,html .input-group-lg>.form-select,html .input-group-lg>.input-group-text,html .input-group-lg>.btn,html[data-netbox-color-mode=dark] .input-group-lg>.form-control,html[data-netbox-color-mode=dark] .input-group-lg>.form-select,html[data-netbox-color-mode=dark] .input-group-lg>.input-group-text,html[data-netbox-color-mode=dark] .input-group-lg>.btn,html[data-netbox-color-mode=light] .input-group-lg>.form-control,html[data-netbox-color-mode=light] .input-group-lg>.form-select,html[data-netbox-color-mode=light] .input-group-lg>.input-group-text,html[data-netbox-color-mode=light] .input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}}@media print{html .input-group-sm>.form-control,html .input-group-sm>.form-select,html .input-group-sm>.input-group-text,html .input-group-sm>.btn,html[data-netbox-color-mode=dark] .input-group-sm>.form-control,html[data-netbox-color-mode=dark] .input-group-sm>.form-select,html[data-netbox-color-mode=dark] .input-group-sm>.input-group-text,html[data-netbox-color-mode=dark] .input-group-sm>.btn,html[data-netbox-color-mode=light] .input-group-sm>.form-control,html[data-netbox-color-mode=light] .input-group-sm>.form-select,html[data-netbox-color-mode=light] .input-group-sm>.input-group-text,html[data-netbox-color-mode=light] .input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}}@media print{html .input-group-lg>.form-select,html .input-group-sm>.form-select,html[data-netbox-color-mode=dark] .input-group-lg>.form-select,html[data-netbox-color-mode=dark] .input-group-sm>.form-select,html[data-netbox-color-mode=light] .input-group-lg>.form-select,html[data-netbox-color-mode=light] .input-group-sm>.form-select{padding-right:3rem}}@media print{html .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),html .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),html[data-netbox-color-mode=dark] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=dark] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),html[data-netbox-color-mode=light] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=light] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}html .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),html .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),html[data-netbox-color-mode=dark] .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=dark] .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),html[data-netbox-color-mode=light] .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=light] .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}html .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),html[data-netbox-color-mode=dark] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),html[data-netbox-color-mode=light] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}}@media print{html .valid-feedback,html[data-netbox-color-mode=dark] .valid-feedback,html[data-netbox-color-mode=light] .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}}@media print{html .valid-tooltip,html[data-netbox-color-mode=dark] .valid-tooltip,html[data-netbox-color-mode=light] .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754e6;border-radius:.375rem}}@media print{.was-validated html:valid~.valid-feedback,.was-validated html:valid~.valid-tooltip,html.is-valid~.valid-feedback,html.is-valid~.valid-tooltip,.was-validated html[data-netbox-color-mode=dark]:valid~.valid-feedback,.was-validated html[data-netbox-color-mode=dark]:valid~.valid-tooltip,html[data-netbox-color-mode=dark].is-valid~.valid-feedback,html[data-netbox-color-mode=dark].is-valid~.valid-tooltip,.was-validated html[data-netbox-color-mode=light]:valid~.valid-feedback,.was-validated html[data-netbox-color-mode=light]:valid~.valid-tooltip,html[data-netbox-color-mode=light].is-valid~.valid-feedback,html[data-netbox-color-mode=light].is-valid~.valid-tooltip{display:block}}@media print{.was-validated html .form-control:valid,html .form-control.is-valid,.was-validated html[data-netbox-color-mode=dark] .form-control:valid,html[data-netbox-color-mode=dark] .form-control.is-valid,.was-validated html[data-netbox-color-mode=light] .form-control:valid,html[data-netbox-color-mode=light] .form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html .form-control:valid:focus,html .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .form-control:valid:focus,html[data-netbox-color-mode=dark] .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .form-control:valid:focus,html[data-netbox-color-mode=light] .form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}}@media print{.was-validated html textarea.form-control:valid,html textarea.form-control.is-valid,.was-validated html[data-netbox-color-mode=dark] textarea.form-control:valid,html[data-netbox-color-mode=dark] textarea.form-control.is-valid,.was-validated html[data-netbox-color-mode=light] textarea.form-control:valid,html[data-netbox-color-mode=light] textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}}@media print{.was-validated html .form-select:valid,html .form-select.is-valid,.was-validated html[data-netbox-color-mode=dark] .form-select:valid,html[data-netbox-color-mode=dark] .form-select.is-valid,.was-validated html[data-netbox-color-mode=light] .form-select:valid,html[data-netbox-color-mode=light] .form-select.is-valid{border-color:#198754}.was-validated html .form-select:valid:not([multiple]):not([size]),.was-validated html .form-select:valid:not([multiple])[size="1"],html .form-select.is-valid:not([multiple]):not([size]),html .form-select.is-valid:not([multiple])[size="1"],.was-validated html[data-netbox-color-mode=dark] .form-select:valid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=dark] .form-select:valid:not([multiple])[size="1"],html[data-netbox-color-mode=dark] .form-select.is-valid:not([multiple]):not([size]),html[data-netbox-color-mode=dark] .form-select.is-valid:not([multiple])[size="1"],.was-validated html[data-netbox-color-mode=light] .form-select:valid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=light] .form-select:valid:not([multiple])[size="1"],html[data-netbox-color-mode=light] .form-select.is-valid:not([multiple]):not([size]),html[data-netbox-color-mode=light] .form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html .form-select:valid:focus,html .form-select.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .form-select:valid:focus,html[data-netbox-color-mode=dark] .form-select.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .form-select:valid:focus,html[data-netbox-color-mode=light] .form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}}@media print{.was-validated html .form-check-input:valid,html .form-check-input.is-valid,.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid,html[data-netbox-color-mode=dark] .form-check-input.is-valid,.was-validated html[data-netbox-color-mode=light] .form-check-input:valid,html[data-netbox-color-mode=light] .form-check-input.is-valid{border-color:#198754}.was-validated html .form-check-input:valid:checked,html .form-check-input.is-valid:checked,.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid:checked,html[data-netbox-color-mode=dark] .form-check-input.is-valid:checked,.was-validated html[data-netbox-color-mode=light] .form-check-input:valid:checked,html[data-netbox-color-mode=light] .form-check-input.is-valid:checked{background-color:#198754}.was-validated html .form-check-input:valid:focus,html .form-check-input.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid:focus,html[data-netbox-color-mode=dark] .form-check-input.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .form-check-input:valid:focus,html[data-netbox-color-mode=light] .form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem #19875440}.was-validated html .form-check-input:valid~.form-check-label,html .form-check-input.is-valid~.form-check-label,.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input.is-valid~.form-check-label,.was-validated html[data-netbox-color-mode=light] .form-check-input:valid~.form-check-label,html[data-netbox-color-mode=light] .form-check-input.is-valid~.form-check-label{color:#198754}}@media print{html .form-check-inline .form-check-input~.valid-feedback,html[data-netbox-color-mode=dark] .form-check-inline .form-check-input~.valid-feedback,html[data-netbox-color-mode=light] .form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}}@media print{.was-validated html .input-group .form-control:valid,html .input-group .form-control.is-valid,.was-validated html .input-group .form-select:valid,html .input-group .form-select.is-valid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:valid,html[data-netbox-color-mode=dark] .input-group .form-control.is-valid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:valid,html[data-netbox-color-mode=dark] .input-group .form-select.is-valid,.was-validated html[data-netbox-color-mode=light] .input-group .form-control:valid,html[data-netbox-color-mode=light] .input-group .form-control.is-valid,.was-validated html[data-netbox-color-mode=light] .input-group .form-select:valid,html[data-netbox-color-mode=light] .input-group .form-select.is-valid{z-index:1}.was-validated html .input-group .form-control:valid:focus,html .input-group .form-control.is-valid:focus,.was-validated html .input-group .form-select:valid:focus,html .input-group .form-select.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:valid:focus,html[data-netbox-color-mode=dark] .input-group .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:valid:focus,html[data-netbox-color-mode=dark] .input-group .form-select.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .input-group .form-control:valid:focus,html[data-netbox-color-mode=light] .input-group .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .input-group .form-select:valid:focus,html[data-netbox-color-mode=light] .input-group .form-select.is-valid:focus{z-index:3}}@media print{html .invalid-feedback,html[data-netbox-color-mode=dark] .invalid-feedback,html[data-netbox-color-mode=light] .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}}@media print{html .invalid-tooltip,html[data-netbox-color-mode=dark] .invalid-tooltip,html[data-netbox-color-mode=light] .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545e6;border-radius:.375rem}}@media print{.was-validated html:invalid~.invalid-feedback,.was-validated html:invalid~.invalid-tooltip,html.is-invalid~.invalid-feedback,html.is-invalid~.invalid-tooltip,.was-validated html[data-netbox-color-mode=dark]:invalid~.invalid-feedback,.was-validated html[data-netbox-color-mode=dark]:invalid~.invalid-tooltip,html[data-netbox-color-mode=dark].is-invalid~.invalid-feedback,html[data-netbox-color-mode=dark].is-invalid~.invalid-tooltip,.was-validated html[data-netbox-color-mode=light]:invalid~.invalid-feedback,.was-validated html[data-netbox-color-mode=light]:invalid~.invalid-tooltip,html[data-netbox-color-mode=light].is-invalid~.invalid-feedback,html[data-netbox-color-mode=light].is-invalid~.invalid-tooltip{display:block}}@media print{.was-validated html .form-control:invalid,html .form-control.is-invalid,.was-validated html[data-netbox-color-mode=dark] .form-control:invalid,html[data-netbox-color-mode=dark] .form-control.is-invalid,.was-validated html[data-netbox-color-mode=light] .form-control:invalid,html[data-netbox-color-mode=light] .form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html .form-control:invalid:focus,html .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .form-control:invalid:focus,html[data-netbox-color-mode=dark] .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .form-control:invalid:focus,html[data-netbox-color-mode=light] .form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}}@media print{.was-validated html textarea.form-control:invalid,html textarea.form-control.is-invalid,.was-validated html[data-netbox-color-mode=dark] textarea.form-control:invalid,html[data-netbox-color-mode=dark] textarea.form-control.is-invalid,.was-validated html[data-netbox-color-mode=light] textarea.form-control:invalid,html[data-netbox-color-mode=light] textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}}@media print{.was-validated html .form-select:invalid,html .form-select.is-invalid,.was-validated html[data-netbox-color-mode=dark] .form-select:invalid,html[data-netbox-color-mode=dark] .form-select.is-invalid,.was-validated html[data-netbox-color-mode=light] .form-select:invalid,html[data-netbox-color-mode=light] .form-select.is-invalid{border-color:#dc3545}.was-validated html .form-select:invalid:not([multiple]):not([size]),.was-validated html .form-select:invalid:not([multiple])[size="1"],html .form-select.is-invalid:not([multiple]):not([size]),html .form-select.is-invalid:not([multiple])[size="1"],.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:not([multiple])[size="1"],html[data-netbox-color-mode=dark] .form-select.is-invalid:not([multiple]):not([size]),html[data-netbox-color-mode=dark] .form-select.is-invalid:not([multiple])[size="1"],.was-validated html[data-netbox-color-mode=light] .form-select:invalid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=light] .form-select:invalid:not([multiple])[size="1"],html[data-netbox-color-mode=light] .form-select.is-invalid:not([multiple]):not([size]),html[data-netbox-color-mode=light] .form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html .form-select:invalid:focus,html .form-select.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:focus,html[data-netbox-color-mode=dark] .form-select.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .form-select:invalid:focus,html[data-netbox-color-mode=light] .form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}}@media print{.was-validated html .form-check-input:invalid,html .form-check-input.is-invalid,.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid,html[data-netbox-color-mode=dark] .form-check-input.is-invalid,.was-validated html[data-netbox-color-mode=light] .form-check-input:invalid,html[data-netbox-color-mode=light] .form-check-input.is-invalid{border-color:#dc3545}.was-validated html .form-check-input:invalid:checked,html .form-check-input.is-invalid:checked,.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid:checked,html[data-netbox-color-mode=dark] .form-check-input.is-invalid:checked,.was-validated html[data-netbox-color-mode=light] .form-check-input:invalid:checked,html[data-netbox-color-mode=light] .form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated html .form-check-input:invalid:focus,html .form-check-input.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid:focus,html[data-netbox-color-mode=dark] .form-check-input.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .form-check-input:invalid:focus,html[data-netbox-color-mode=light] .form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem #dc354540}.was-validated html .form-check-input:invalid~.form-check-label,html .form-check-input.is-invalid~.form-check-label,.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input.is-invalid~.form-check-label,.was-validated html[data-netbox-color-mode=light] .form-check-input:invalid~.form-check-label,html[data-netbox-color-mode=light] .form-check-input.is-invalid~.form-check-label{color:#dc3545}}@media print{html .form-check-inline .form-check-input~.invalid-feedback,html[data-netbox-color-mode=dark] .form-check-inline .form-check-input~.invalid-feedback,html[data-netbox-color-mode=light] .form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}}@media print{.was-validated html .input-group .form-control:invalid,html .input-group .form-control.is-invalid,.was-validated html .input-group .form-select:invalid,html .input-group .form-select.is-invalid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:invalid,html[data-netbox-color-mode=dark] .input-group .form-control.is-invalid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:invalid,html[data-netbox-color-mode=dark] .input-group .form-select.is-invalid,.was-validated html[data-netbox-color-mode=light] .input-group .form-control:invalid,html[data-netbox-color-mode=light] .input-group .form-control.is-invalid,.was-validated html[data-netbox-color-mode=light] .input-group .form-select:invalid,html[data-netbox-color-mode=light] .input-group .form-select.is-invalid{z-index:2}.was-validated html .input-group .form-control:invalid:focus,html .input-group .form-control.is-invalid:focus,.was-validated html .input-group .form-select:invalid:focus,html .input-group .form-select.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:invalid:focus,html[data-netbox-color-mode=dark] .input-group .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:invalid:focus,html[data-netbox-color-mode=dark] .input-group .form-select.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .input-group .form-control:invalid:focus,html[data-netbox-color-mode=light] .input-group .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .input-group .form-select:invalid:focus,html[data-netbox-color-mode=light] .input-group .form-select.is-invalid:focus{z-index:3}}@media print{html .btn,html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=light] .btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;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 print and (prefers-reduced-motion: reduce){html .btn,html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=light] .btn{transition:none}}@media print{html .btn:hover,html[data-netbox-color-mode=dark] .btn:hover,html[data-netbox-color-mode=light] .btn:hover{color:#212529}}@media print{.btn-check:focus+html .btn,html .btn:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=dark] .btn:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn,html[data-netbox-color-mode=light] .btn:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .btn:disabled,html .btn.disabled,fieldset:disabled html .btn,html[data-netbox-color-mode=dark] .btn:disabled,html[data-netbox-color-mode=dark] .btn.disabled,fieldset:disabled html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=light] .btn:disabled,html[data-netbox-color-mode=light] .btn.disabled,fieldset:disabled html[data-netbox-color-mode=light] .btn{pointer-events:none;opacity:.65}}@media print{html .btn-primary,html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=light] .btn-primary{color:#fff;background-color:#337ab7;border-color:#337ab7}html .btn-primary:hover,html[data-netbox-color-mode=dark] .btn-primary:hover,html[data-netbox-color-mode=light] .btn-primary:hover{color:#fff;background-color:#2b689c;border-color:#296292}.btn-check:focus+html .btn-primary,html .btn-primary:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=dark] .btn-primary:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-primary,html[data-netbox-color-mode=light] .btn-primary:focus{color:#fff;background-color:#2b689c;border-color:#296292;box-shadow:0 0 0 .25rem #528ec280}.btn-check:checked+html .btn-primary,.btn-check:active+html .btn-primary,html .btn-primary:active,html .btn-primary.active,.show>html .btn-primary.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-primary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=dark] .btn-primary:active,html[data-netbox-color-mode=dark] .btn-primary.active,.show>html[data-netbox-color-mode=dark] .btn-primary.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-primary,.btn-check:active+html[data-netbox-color-mode=light] .btn-primary,html[data-netbox-color-mode=light] .btn-primary:active,html[data-netbox-color-mode=light] .btn-primary.active,.show>html[data-netbox-color-mode=light] .btn-primary.dropdown-toggle{color:#fff;background-color:#296292;border-color:#265c89}.btn-check:checked+html .btn-primary:focus,.btn-check:active+html .btn-primary:focus,html .btn-primary:active:focus,html .btn-primary.active:focus,.show>html .btn-primary.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-primary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-primary:focus,html[data-netbox-color-mode=dark] .btn-primary:active:focus,html[data-netbox-color-mode=dark] .btn-primary.active:focus,.show>html[data-netbox-color-mode=dark] .btn-primary.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-primary:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-primary:focus,html[data-netbox-color-mode=light] .btn-primary:active:focus,html[data-netbox-color-mode=light] .btn-primary.active:focus,.show>html[data-netbox-color-mode=light] .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #528ec280}html .btn-primary:disabled,html .btn-primary.disabled,html[data-netbox-color-mode=dark] .btn-primary:disabled,html[data-netbox-color-mode=dark] .btn-primary.disabled,html[data-netbox-color-mode=light] .btn-primary:disabled,html[data-netbox-color-mode=light] .btn-primary.disabled{color:#fff;background-color:#337ab7;border-color:#337ab7}}@media print{html .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=light] .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}html .btn-secondary:hover,html[data-netbox-color-mode=dark] .btn-secondary:hover,html[data-netbox-color-mode=light] .btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+html .btn-secondary,html .btn-secondary:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-secondary,html[data-netbox-color-mode=light] .btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem #828a9180}.btn-check:checked+html .btn-secondary,.btn-check:active+html .btn-secondary,html .btn-secondary:active,html .btn-secondary.active,.show>html .btn-secondary.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-secondary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary:active,html[data-netbox-color-mode=dark] .btn-secondary.active,.show>html[data-netbox-color-mode=dark] .btn-secondary.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-secondary,.btn-check:active+html[data-netbox-color-mode=light] .btn-secondary,html[data-netbox-color-mode=light] .btn-secondary:active,html[data-netbox-color-mode=light] .btn-secondary.active,.show>html[data-netbox-color-mode=light] .btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+html .btn-secondary:focus,.btn-check:active+html .btn-secondary:focus,html .btn-secondary:active:focus,html .btn-secondary.active:focus,.show>html .btn-secondary.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-secondary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-secondary:focus,html[data-netbox-color-mode=dark] .btn-secondary:active:focus,html[data-netbox-color-mode=dark] .btn-secondary.active:focus,.show>html[data-netbox-color-mode=dark] .btn-secondary.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-secondary:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-secondary:focus,html[data-netbox-color-mode=light] .btn-secondary:active:focus,html[data-netbox-color-mode=light] .btn-secondary.active:focus,.show>html[data-netbox-color-mode=light] .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #828a9180}html .btn-secondary:disabled,html .btn-secondary.disabled,html[data-netbox-color-mode=dark] .btn-secondary:disabled,html[data-netbox-color-mode=dark] .btn-secondary.disabled,html[data-netbox-color-mode=light] .btn-secondary:disabled,html[data-netbox-color-mode=light] .btn-secondary.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}}@media print{html .btn-success,html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=light] .btn-success{color:#fff;background-color:#198754;border-color:#198754}html .btn-success:hover,html[data-netbox-color-mode=dark] .btn-success:hover,html[data-netbox-color-mode=light] .btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+html .btn-success,html .btn-success:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=dark] .btn-success:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-success,html[data-netbox-color-mode=light] .btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem #3c996e80}.btn-check:checked+html .btn-success,.btn-check:active+html .btn-success,html .btn-success:active,html .btn-success.active,.show>html .btn-success.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-success,.btn-check:active+html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=dark] .btn-success:active,html[data-netbox-color-mode=dark] .btn-success.active,.show>html[data-netbox-color-mode=dark] .btn-success.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-success,.btn-check:active+html[data-netbox-color-mode=light] .btn-success,html[data-netbox-color-mode=light] .btn-success:active,html[data-netbox-color-mode=light] .btn-success.active,.show>html[data-netbox-color-mode=light] .btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+html .btn-success:focus,.btn-check:active+html .btn-success:focus,html .btn-success:active:focus,html .btn-success.active:focus,.show>html .btn-success.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-success:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-success:focus,html[data-netbox-color-mode=dark] .btn-success:active:focus,html[data-netbox-color-mode=dark] .btn-success.active:focus,.show>html[data-netbox-color-mode=dark] .btn-success.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-success:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-success:focus,html[data-netbox-color-mode=light] .btn-success:active:focus,html[data-netbox-color-mode=light] .btn-success.active:focus,.show>html[data-netbox-color-mode=light] .btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3c996e80}html .btn-success:disabled,html .btn-success.disabled,html[data-netbox-color-mode=dark] .btn-success:disabled,html[data-netbox-color-mode=dark] .btn-success.disabled,html[data-netbox-color-mode=light] .btn-success:disabled,html[data-netbox-color-mode=light] .btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}}@media print{html .btn-info,html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=light] .btn-info{color:#000;background-color:#54d6f0;border-color:#54d6f0}html .btn-info:hover,html[data-netbox-color-mode=dark] .btn-info:hover,html[data-netbox-color-mode=light] .btn-info:hover{color:#000;background-color:#6edcf2;border-color:#65daf2}.btn-check:focus+html .btn-info,html .btn-info:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=dark] .btn-info:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-info,html[data-netbox-color-mode=light] .btn-info:focus{color:#000;background-color:#6edcf2;border-color:#65daf2;box-shadow:0 0 0 .25rem #47b6cc80}.btn-check:checked+html .btn-info,.btn-check:active+html .btn-info,html .btn-info:active,html .btn-info.active,.show>html .btn-info.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-info,.btn-check:active+html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=dark] .btn-info:active,html[data-netbox-color-mode=dark] .btn-info.active,.show>html[data-netbox-color-mode=dark] .btn-info.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-info,.btn-check:active+html[data-netbox-color-mode=light] .btn-info,html[data-netbox-color-mode=light] .btn-info:active,html[data-netbox-color-mode=light] .btn-info.active,.show>html[data-netbox-color-mode=light] .btn-info.dropdown-toggle{color:#000;background-color:#76def3;border-color:#65daf2}.btn-check:checked+html .btn-info:focus,.btn-check:active+html .btn-info:focus,html .btn-info:active:focus,html .btn-info.active:focus,.show>html .btn-info.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-info:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-info:focus,html[data-netbox-color-mode=dark] .btn-info:active:focus,html[data-netbox-color-mode=dark] .btn-info.active:focus,.show>html[data-netbox-color-mode=dark] .btn-info.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-info:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-info:focus,html[data-netbox-color-mode=light] .btn-info:active:focus,html[data-netbox-color-mode=light] .btn-info.active:focus,.show>html[data-netbox-color-mode=light] .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #47b6cc80}html .btn-info:disabled,html .btn-info.disabled,html[data-netbox-color-mode=dark] .btn-info:disabled,html[data-netbox-color-mode=dark] .btn-info.disabled,html[data-netbox-color-mode=light] .btn-info:disabled,html[data-netbox-color-mode=light] .btn-info.disabled{color:#000;background-color:#54d6f0;border-color:#54d6f0}}@media print{html .btn-warning,html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=light] .btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}html .btn-warning:hover,html[data-netbox-color-mode=dark] .btn-warning:hover,html[data-netbox-color-mode=light] .btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+html .btn-warning,html .btn-warning:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=dark] .btn-warning:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-warning,html[data-netbox-color-mode=light] .btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem #d9a40680}.btn-check:checked+html .btn-warning,.btn-check:active+html .btn-warning,html .btn-warning:active,html .btn-warning.active,.show>html .btn-warning.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-warning,.btn-check:active+html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=dark] .btn-warning:active,html[data-netbox-color-mode=dark] .btn-warning.active,.show>html[data-netbox-color-mode=dark] .btn-warning.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-warning,.btn-check:active+html[data-netbox-color-mode=light] .btn-warning,html[data-netbox-color-mode=light] .btn-warning:active,html[data-netbox-color-mode=light] .btn-warning.active,.show>html[data-netbox-color-mode=light] .btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+html .btn-warning:focus,.btn-check:active+html .btn-warning:focus,html .btn-warning:active:focus,html .btn-warning.active:focus,.show>html .btn-warning.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-warning:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-warning:focus,html[data-netbox-color-mode=dark] .btn-warning:active:focus,html[data-netbox-color-mode=dark] .btn-warning.active:focus,.show>html[data-netbox-color-mode=dark] .btn-warning.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-warning:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-warning:focus,html[data-netbox-color-mode=light] .btn-warning:active:focus,html[data-netbox-color-mode=light] .btn-warning.active:focus,.show>html[data-netbox-color-mode=light] .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9a40680}html .btn-warning:disabled,html .btn-warning.disabled,html[data-netbox-color-mode=dark] .btn-warning:disabled,html[data-netbox-color-mode=dark] .btn-warning.disabled,html[data-netbox-color-mode=light] .btn-warning:disabled,html[data-netbox-color-mode=light] .btn-warning.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}}@media print{html .btn-danger,html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=light] .btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}html .btn-danger:hover,html[data-netbox-color-mode=dark] .btn-danger:hover,html[data-netbox-color-mode=light] .btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+html .btn-danger,html .btn-danger:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=dark] .btn-danger:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-danger,html[data-netbox-color-mode=light] .btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem #e1536180}.btn-check:checked+html .btn-danger,.btn-check:active+html .btn-danger,html .btn-danger:active,html .btn-danger.active,.show>html .btn-danger.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-danger,.btn-check:active+html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=dark] .btn-danger:active,html[data-netbox-color-mode=dark] .btn-danger.active,.show>html[data-netbox-color-mode=dark] .btn-danger.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-danger,.btn-check:active+html[data-netbox-color-mode=light] .btn-danger,html[data-netbox-color-mode=light] .btn-danger:active,html[data-netbox-color-mode=light] .btn-danger.active,.show>html[data-netbox-color-mode=light] .btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+html .btn-danger:focus,.btn-check:active+html .btn-danger:focus,html .btn-danger:active:focus,html .btn-danger.active:focus,.show>html .btn-danger.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-danger:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-danger:focus,html[data-netbox-color-mode=dark] .btn-danger:active:focus,html[data-netbox-color-mode=dark] .btn-danger.active:focus,.show>html[data-netbox-color-mode=dark] .btn-danger.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-danger:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-danger:focus,html[data-netbox-color-mode=light] .btn-danger:active:focus,html[data-netbox-color-mode=light] .btn-danger.active:focus,.show>html[data-netbox-color-mode=light] .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #e1536180}html .btn-danger:disabled,html .btn-danger.disabled,html[data-netbox-color-mode=dark] .btn-danger:disabled,html[data-netbox-color-mode=dark] .btn-danger.disabled,html[data-netbox-color-mode=light] .btn-danger:disabled,html[data-netbox-color-mode=light] .btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}}@media print{html .btn-light,html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=light] .btn-light{color:#000;background-color:#e9ecef;border-color:#e9ecef}html .btn-light:hover,html[data-netbox-color-mode=dark] .btn-light:hover,html[data-netbox-color-mode=light] .btn-light:hover{color:#000;background-color:#eceff1;border-color:#ebeef1}.btn-check:focus+html .btn-light,html .btn-light:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=dark] .btn-light:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-light,html[data-netbox-color-mode=light] .btn-light:focus{color:#000;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem #c6c9cb80}.btn-check:checked+html .btn-light,.btn-check:active+html .btn-light,html .btn-light:active,html .btn-light.active,.show>html .btn-light.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-light,.btn-check:active+html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=dark] .btn-light:active,html[data-netbox-color-mode=dark] .btn-light.active,.show>html[data-netbox-color-mode=dark] .btn-light.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-light,.btn-check:active+html[data-netbox-color-mode=light] .btn-light,html[data-netbox-color-mode=light] .btn-light:active,html[data-netbox-color-mode=light] .btn-light.active,.show>html[data-netbox-color-mode=light] .btn-light.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}.btn-check:checked+html .btn-light:focus,.btn-check:active+html .btn-light:focus,html .btn-light:active:focus,html .btn-light.active:focus,.show>html .btn-light.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-light:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-light:focus,html[data-netbox-color-mode=dark] .btn-light:active:focus,html[data-netbox-color-mode=dark] .btn-light.active:focus,.show>html[data-netbox-color-mode=dark] .btn-light.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-light:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-light:focus,html[data-netbox-color-mode=light] .btn-light:active:focus,html[data-netbox-color-mode=light] .btn-light.active:focus,.show>html[data-netbox-color-mode=light] .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c6c9cb80}html .btn-light:disabled,html .btn-light.disabled,html[data-netbox-color-mode=dark] .btn-light:disabled,html[data-netbox-color-mode=dark] .btn-light.disabled,html[data-netbox-color-mode=light] .btn-light:disabled,html[data-netbox-color-mode=light] .btn-light.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}}@media print{html .btn-dark,html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=light] .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}html .btn-dark:hover,html[data-netbox-color-mode=dark] .btn-dark:hover,html[data-netbox-color-mode=light] .btn-dark:hover{color:#fff;background-color:#2c3136;border-color:#2a2e33}.btn-check:focus+html .btn-dark,html .btn-dark:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=dark] .btn-dark:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-dark,html[data-netbox-color-mode=light] .btn-dark:focus{color:#fff;background-color:#2c3136;border-color:#2a2e33;box-shadow:0 0 0 .25rem #52585d80}.btn-check:checked+html .btn-dark,.btn-check:active+html .btn-dark,html .btn-dark:active,html .btn-dark.active,.show>html .btn-dark.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-dark,.btn-check:active+html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=dark] .btn-dark:active,html[data-netbox-color-mode=dark] .btn-dark.active,.show>html[data-netbox-color-mode=dark] .btn-dark.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-dark,.btn-check:active+html[data-netbox-color-mode=light] .btn-dark,html[data-netbox-color-mode=light] .btn-dark:active,html[data-netbox-color-mode=light] .btn-dark.active,.show>html[data-netbox-color-mode=light] .btn-dark.dropdown-toggle{color:#fff;background-color:#2a2e33;border-color:#272c30}.btn-check:checked+html .btn-dark:focus,.btn-check:active+html .btn-dark:focus,html .btn-dark:active:focus,html .btn-dark.active:focus,.show>html .btn-dark.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-dark:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-dark:focus,html[data-netbox-color-mode=dark] .btn-dark:active:focus,html[data-netbox-color-mode=dark] .btn-dark.active:focus,.show>html[data-netbox-color-mode=dark] .btn-dark.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-dark:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-dark:focus,html[data-netbox-color-mode=light] .btn-dark:active:focus,html[data-netbox-color-mode=light] .btn-dark.active:focus,.show>html[data-netbox-color-mode=light] .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #52585d80}html .btn-dark:disabled,html .btn-dark.disabled,html[data-netbox-color-mode=dark] .btn-dark:disabled,html[data-netbox-color-mode=dark] .btn-dark.disabled,html[data-netbox-color-mode=light] .btn-dark:disabled,html[data-netbox-color-mode=light] .btn-dark.disabled{color:#fff;background-color:#343a40;border-color:#343a40}}@media print{html .btn-blue,html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=light] .btn-blue{color:#fff;background-color:#0d6efd;border-color:#0d6efd}html .btn-blue:hover,html[data-netbox-color-mode=dark] .btn-blue:hover,html[data-netbox-color-mode=light] .btn-blue:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+html .btn-blue,html .btn-blue:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=dark] .btn-blue:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-blue,html[data-netbox-color-mode=light] .btn-blue:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem #3184fd80}.btn-check:checked+html .btn-blue,.btn-check:active+html .btn-blue,html .btn-blue:active,html .btn-blue.active,.show>html .btn-blue.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-blue,.btn-check:active+html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=dark] .btn-blue:active,html[data-netbox-color-mode=dark] .btn-blue.active,.show>html[data-netbox-color-mode=dark] .btn-blue.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-blue,.btn-check:active+html[data-netbox-color-mode=light] .btn-blue,html[data-netbox-color-mode=light] .btn-blue:active,html[data-netbox-color-mode=light] .btn-blue.active,.show>html[data-netbox-color-mode=light] .btn-blue.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:checked+html .btn-blue:focus,.btn-check:active+html .btn-blue:focus,html .btn-blue:active:focus,html .btn-blue.active:focus,.show>html .btn-blue.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-blue:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-blue:focus,html[data-netbox-color-mode=dark] .btn-blue:active:focus,html[data-netbox-color-mode=dark] .btn-blue.active:focus,.show>html[data-netbox-color-mode=dark] .btn-blue.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-blue:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-blue:focus,html[data-netbox-color-mode=light] .btn-blue:active:focus,html[data-netbox-color-mode=light] .btn-blue.active:focus,.show>html[data-netbox-color-mode=light] .btn-blue.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3184fd80}html .btn-blue:disabled,html .btn-blue.disabled,html[data-netbox-color-mode=dark] .btn-blue:disabled,html[data-netbox-color-mode=dark] .btn-blue.disabled,html[data-netbox-color-mode=light] .btn-blue:disabled,html[data-netbox-color-mode=light] .btn-blue.disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}}@media print{html .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=light] .btn-indigo{color:#fff;background-color:#6610f2;border-color:#6610f2}html .btn-indigo:hover,html[data-netbox-color-mode=dark] .btn-indigo:hover,html[data-netbox-color-mode=light] .btn-indigo:hover{color:#fff;background-color:#570ece;border-color:#520dc2}.btn-check:focus+html .btn-indigo,html .btn-indigo:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-indigo,html[data-netbox-color-mode=light] .btn-indigo:focus{color:#fff;background-color:#570ece;border-color:#520dc2;box-shadow:0 0 0 .25rem #7d34f480}.btn-check:checked+html .btn-indigo,.btn-check:active+html .btn-indigo,html .btn-indigo:active,html .btn-indigo.active,.show>html .btn-indigo.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-indigo,.btn-check:active+html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo:active,html[data-netbox-color-mode=dark] .btn-indigo.active,.show>html[data-netbox-color-mode=dark] .btn-indigo.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-indigo,.btn-check:active+html[data-netbox-color-mode=light] .btn-indigo,html[data-netbox-color-mode=light] .btn-indigo:active,html[data-netbox-color-mode=light] .btn-indigo.active,.show>html[data-netbox-color-mode=light] .btn-indigo.dropdown-toggle{color:#fff;background-color:#520dc2;border-color:#4d0cb6}.btn-check:checked+html .btn-indigo:focus,.btn-check:active+html .btn-indigo:focus,html .btn-indigo:active:focus,html .btn-indigo.active:focus,.show>html .btn-indigo.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-indigo:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-indigo:focus,html[data-netbox-color-mode=dark] .btn-indigo:active:focus,html[data-netbox-color-mode=dark] .btn-indigo.active:focus,.show>html[data-netbox-color-mode=dark] .btn-indigo.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-indigo:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-indigo:focus,html[data-netbox-color-mode=light] .btn-indigo:active:focus,html[data-netbox-color-mode=light] .btn-indigo.active:focus,.show>html[data-netbox-color-mode=light] .btn-indigo.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #7d34f480}html .btn-indigo:disabled,html .btn-indigo.disabled,html[data-netbox-color-mode=dark] .btn-indigo:disabled,html[data-netbox-color-mode=dark] .btn-indigo.disabled,html[data-netbox-color-mode=light] .btn-indigo:disabled,html[data-netbox-color-mode=light] .btn-indigo.disabled{color:#fff;background-color:#6610f2;border-color:#6610f2}}@media print{html .btn-purple,html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=light] .btn-purple{color:#fff;background-color:#6f42c1;border-color:#6f42c1}html .btn-purple:hover,html[data-netbox-color-mode=dark] .btn-purple:hover,html[data-netbox-color-mode=light] .btn-purple:hover{color:#fff;background-color:#5e38a4;border-color:#59359a}.btn-check:focus+html .btn-purple,html .btn-purple:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=dark] .btn-purple:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-purple,html[data-netbox-color-mode=light] .btn-purple:focus{color:#fff;background-color:#5e38a4;border-color:#59359a;box-shadow:0 0 0 .25rem #855eca80}.btn-check:checked+html .btn-purple,.btn-check:active+html .btn-purple,html .btn-purple:active,html .btn-purple.active,.show>html .btn-purple.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-purple,.btn-check:active+html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=dark] .btn-purple:active,html[data-netbox-color-mode=dark] .btn-purple.active,.show>html[data-netbox-color-mode=dark] .btn-purple.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-purple,.btn-check:active+html[data-netbox-color-mode=light] .btn-purple,html[data-netbox-color-mode=light] .btn-purple:active,html[data-netbox-color-mode=light] .btn-purple.active,.show>html[data-netbox-color-mode=light] .btn-purple.dropdown-toggle{color:#fff;background-color:#59359a;border-color:#533291}.btn-check:checked+html .btn-purple:focus,.btn-check:active+html .btn-purple:focus,html .btn-purple:active:focus,html .btn-purple.active:focus,.show>html .btn-purple.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-purple:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-purple:focus,html[data-netbox-color-mode=dark] .btn-purple:active:focus,html[data-netbox-color-mode=dark] .btn-purple.active:focus,.show>html[data-netbox-color-mode=dark] .btn-purple.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-purple:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-purple:focus,html[data-netbox-color-mode=light] .btn-purple:active:focus,html[data-netbox-color-mode=light] .btn-purple.active:focus,.show>html[data-netbox-color-mode=light] .btn-purple.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #855eca80}html .btn-purple:disabled,html .btn-purple.disabled,html[data-netbox-color-mode=dark] .btn-purple:disabled,html[data-netbox-color-mode=dark] .btn-purple.disabled,html[data-netbox-color-mode=light] .btn-purple:disabled,html[data-netbox-color-mode=light] .btn-purple.disabled{color:#fff;background-color:#6f42c1;border-color:#6f42c1}}@media print{html .btn-pink,html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=light] .btn-pink{color:#fff;background-color:#d63384;border-color:#d63384}html .btn-pink:hover,html[data-netbox-color-mode=dark] .btn-pink:hover,html[data-netbox-color-mode=light] .btn-pink:hover{color:#fff;background-color:#b62b70;border-color:#ab296a}.btn-check:focus+html .btn-pink,html .btn-pink:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=dark] .btn-pink:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-pink,html[data-netbox-color-mode=light] .btn-pink:focus{color:#fff;background-color:#b62b70;border-color:#ab296a;box-shadow:0 0 0 .25rem #dc529680}.btn-check:checked+html .btn-pink,.btn-check:active+html .btn-pink,html .btn-pink:active,html .btn-pink.active,.show>html .btn-pink.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-pink,.btn-check:active+html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=dark] .btn-pink:active,html[data-netbox-color-mode=dark] .btn-pink.active,.show>html[data-netbox-color-mode=dark] .btn-pink.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-pink,.btn-check:active+html[data-netbox-color-mode=light] .btn-pink,html[data-netbox-color-mode=light] .btn-pink:active,html[data-netbox-color-mode=light] .btn-pink.active,.show>html[data-netbox-color-mode=light] .btn-pink.dropdown-toggle{color:#fff;background-color:#ab296a;border-color:#a12663}.btn-check:checked+html .btn-pink:focus,.btn-check:active+html .btn-pink:focus,html .btn-pink:active:focus,html .btn-pink.active:focus,.show>html .btn-pink.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-pink:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-pink:focus,html[data-netbox-color-mode=dark] .btn-pink:active:focus,html[data-netbox-color-mode=dark] .btn-pink.active:focus,.show>html[data-netbox-color-mode=dark] .btn-pink.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-pink:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-pink:focus,html[data-netbox-color-mode=light] .btn-pink:active:focus,html[data-netbox-color-mode=light] .btn-pink.active:focus,.show>html[data-netbox-color-mode=light] .btn-pink.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #dc529680}html .btn-pink:disabled,html .btn-pink.disabled,html[data-netbox-color-mode=dark] .btn-pink:disabled,html[data-netbox-color-mode=dark] .btn-pink.disabled,html[data-netbox-color-mode=light] .btn-pink:disabled,html[data-netbox-color-mode=light] .btn-pink.disabled{color:#fff;background-color:#d63384;border-color:#d63384}}@media print{html .btn-red,html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=light] .btn-red{color:#fff;background-color:#dc3545;border-color:#dc3545}html .btn-red:hover,html[data-netbox-color-mode=dark] .btn-red:hover,html[data-netbox-color-mode=light] .btn-red:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+html .btn-red,html .btn-red:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=dark] .btn-red:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-red,html[data-netbox-color-mode=light] .btn-red:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem #e1536180}.btn-check:checked+html .btn-red,.btn-check:active+html .btn-red,html .btn-red:active,html .btn-red.active,.show>html .btn-red.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-red,.btn-check:active+html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=dark] .btn-red:active,html[data-netbox-color-mode=dark] .btn-red.active,.show>html[data-netbox-color-mode=dark] .btn-red.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-red,.btn-check:active+html[data-netbox-color-mode=light] .btn-red,html[data-netbox-color-mode=light] .btn-red:active,html[data-netbox-color-mode=light] .btn-red.active,.show>html[data-netbox-color-mode=light] .btn-red.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+html .btn-red:focus,.btn-check:active+html .btn-red:focus,html .btn-red:active:focus,html .btn-red.active:focus,.show>html .btn-red.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-red:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-red:focus,html[data-netbox-color-mode=dark] .btn-red:active:focus,html[data-netbox-color-mode=dark] .btn-red.active:focus,.show>html[data-netbox-color-mode=dark] .btn-red.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-red:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-red:focus,html[data-netbox-color-mode=light] .btn-red:active:focus,html[data-netbox-color-mode=light] .btn-red.active:focus,.show>html[data-netbox-color-mode=light] .btn-red.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #e1536180}html .btn-red:disabled,html .btn-red.disabled,html[data-netbox-color-mode=dark] .btn-red:disabled,html[data-netbox-color-mode=dark] .btn-red.disabled,html[data-netbox-color-mode=light] .btn-red:disabled,html[data-netbox-color-mode=light] .btn-red.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}}@media print{html .btn-orange,html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=light] .btn-orange{color:#000;background-color:#fd7e14;border-color:#fd7e14}html .btn-orange:hover,html[data-netbox-color-mode=dark] .btn-orange:hover,html[data-netbox-color-mode=light] .btn-orange:hover{color:#000;background-color:#fd9137;border-color:#fd8b2c}.btn-check:focus+html .btn-orange,html .btn-orange:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=dark] .btn-orange:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-orange,html[data-netbox-color-mode=light] .btn-orange:focus{color:#000;background-color:#fd9137;border-color:#fd8b2c;box-shadow:0 0 0 .25rem #d76b1180}.btn-check:checked+html .btn-orange,.btn-check:active+html .btn-orange,html .btn-orange:active,html .btn-orange.active,.show>html .btn-orange.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-orange,.btn-check:active+html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=dark] .btn-orange:active,html[data-netbox-color-mode=dark] .btn-orange.active,.show>html[data-netbox-color-mode=dark] .btn-orange.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-orange,.btn-check:active+html[data-netbox-color-mode=light] .btn-orange,html[data-netbox-color-mode=light] .btn-orange:active,html[data-netbox-color-mode=light] .btn-orange.active,.show>html[data-netbox-color-mode=light] .btn-orange.dropdown-toggle{color:#000;background-color:#fd9843;border-color:#fd8b2c}.btn-check:checked+html .btn-orange:focus,.btn-check:active+html .btn-orange:focus,html .btn-orange:active:focus,html .btn-orange.active:focus,.show>html .btn-orange.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-orange:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-orange:focus,html[data-netbox-color-mode=dark] .btn-orange:active:focus,html[data-netbox-color-mode=dark] .btn-orange.active:focus,.show>html[data-netbox-color-mode=dark] .btn-orange.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-orange:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-orange:focus,html[data-netbox-color-mode=light] .btn-orange:active:focus,html[data-netbox-color-mode=light] .btn-orange.active:focus,.show>html[data-netbox-color-mode=light] .btn-orange.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d76b1180}html .btn-orange:disabled,html .btn-orange.disabled,html[data-netbox-color-mode=dark] .btn-orange:disabled,html[data-netbox-color-mode=dark] .btn-orange.disabled,html[data-netbox-color-mode=light] .btn-orange:disabled,html[data-netbox-color-mode=light] .btn-orange.disabled{color:#000;background-color:#fd7e14;border-color:#fd7e14}}@media print{html .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=light] .btn-yellow{color:#000;background-color:#ffc107;border-color:#ffc107}html .btn-yellow:hover,html[data-netbox-color-mode=dark] .btn-yellow:hover,html[data-netbox-color-mode=light] .btn-yellow:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+html .btn-yellow,html .btn-yellow:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-yellow,html[data-netbox-color-mode=light] .btn-yellow:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem #d9a40680}.btn-check:checked+html .btn-yellow,.btn-check:active+html .btn-yellow,html .btn-yellow:active,html .btn-yellow.active,.show>html .btn-yellow.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-yellow,.btn-check:active+html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow:active,html[data-netbox-color-mode=dark] .btn-yellow.active,.show>html[data-netbox-color-mode=dark] .btn-yellow.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-yellow,.btn-check:active+html[data-netbox-color-mode=light] .btn-yellow,html[data-netbox-color-mode=light] .btn-yellow:active,html[data-netbox-color-mode=light] .btn-yellow.active,.show>html[data-netbox-color-mode=light] .btn-yellow.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+html .btn-yellow:focus,.btn-check:active+html .btn-yellow:focus,html .btn-yellow:active:focus,html .btn-yellow.active:focus,.show>html .btn-yellow.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-yellow:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-yellow:focus,html[data-netbox-color-mode=dark] .btn-yellow:active:focus,html[data-netbox-color-mode=dark] .btn-yellow.active:focus,.show>html[data-netbox-color-mode=dark] .btn-yellow.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-yellow:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-yellow:focus,html[data-netbox-color-mode=light] .btn-yellow:active:focus,html[data-netbox-color-mode=light] .btn-yellow.active:focus,.show>html[data-netbox-color-mode=light] .btn-yellow.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9a40680}html .btn-yellow:disabled,html .btn-yellow.disabled,html[data-netbox-color-mode=dark] .btn-yellow:disabled,html[data-netbox-color-mode=dark] .btn-yellow.disabled,html[data-netbox-color-mode=light] .btn-yellow:disabled,html[data-netbox-color-mode=light] .btn-yellow.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}}@media print{html .btn-green,html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=light] .btn-green{color:#fff;background-color:#198754;border-color:#198754}html .btn-green:hover,html[data-netbox-color-mode=dark] .btn-green:hover,html[data-netbox-color-mode=light] .btn-green:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+html .btn-green,html .btn-green:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=dark] .btn-green:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-green,html[data-netbox-color-mode=light] .btn-green:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem #3c996e80}.btn-check:checked+html .btn-green,.btn-check:active+html .btn-green,html .btn-green:active,html .btn-green.active,.show>html .btn-green.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-green,.btn-check:active+html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=dark] .btn-green:active,html[data-netbox-color-mode=dark] .btn-green.active,.show>html[data-netbox-color-mode=dark] .btn-green.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-green,.btn-check:active+html[data-netbox-color-mode=light] .btn-green,html[data-netbox-color-mode=light] .btn-green:active,html[data-netbox-color-mode=light] .btn-green.active,.show>html[data-netbox-color-mode=light] .btn-green.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+html .btn-green:focus,.btn-check:active+html .btn-green:focus,html .btn-green:active:focus,html .btn-green.active:focus,.show>html .btn-green.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-green:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-green:focus,html[data-netbox-color-mode=dark] .btn-green:active:focus,html[data-netbox-color-mode=dark] .btn-green.active:focus,.show>html[data-netbox-color-mode=dark] .btn-green.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-green:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-green:focus,html[data-netbox-color-mode=light] .btn-green:active:focus,html[data-netbox-color-mode=light] .btn-green.active:focus,.show>html[data-netbox-color-mode=light] .btn-green.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3c996e80}html .btn-green:disabled,html .btn-green.disabled,html[data-netbox-color-mode=dark] .btn-green:disabled,html[data-netbox-color-mode=dark] .btn-green.disabled,html[data-netbox-color-mode=light] .btn-green:disabled,html[data-netbox-color-mode=light] .btn-green.disabled{color:#fff;background-color:#198754;border-color:#198754}}@media print{html .btn-teal,html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=light] .btn-teal{color:#000;background-color:#20c997;border-color:#20c997}html .btn-teal:hover,html[data-netbox-color-mode=dark] .btn-teal:hover,html[data-netbox-color-mode=light] .btn-teal:hover{color:#000;background-color:#41d1a7;border-color:#36cea1}.btn-check:focus+html .btn-teal,html .btn-teal:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=dark] .btn-teal:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-teal,html[data-netbox-color-mode=light] .btn-teal:focus{color:#000;background-color:#41d1a7;border-color:#36cea1;box-shadow:0 0 0 .25rem #1bab8080}.btn-check:checked+html .btn-teal,.btn-check:active+html .btn-teal,html .btn-teal:active,html .btn-teal.active,.show>html .btn-teal.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-teal,.btn-check:active+html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=dark] .btn-teal:active,html[data-netbox-color-mode=dark] .btn-teal.active,.show>html[data-netbox-color-mode=dark] .btn-teal.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-teal,.btn-check:active+html[data-netbox-color-mode=light] .btn-teal,html[data-netbox-color-mode=light] .btn-teal:active,html[data-netbox-color-mode=light] .btn-teal.active,.show>html[data-netbox-color-mode=light] .btn-teal.dropdown-toggle{color:#000;background-color:#4dd4ac;border-color:#36cea1}.btn-check:checked+html .btn-teal:focus,.btn-check:active+html .btn-teal:focus,html .btn-teal:active:focus,html .btn-teal.active:focus,.show>html .btn-teal.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-teal:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-teal:focus,html[data-netbox-color-mode=dark] .btn-teal:active:focus,html[data-netbox-color-mode=dark] .btn-teal.active:focus,.show>html[data-netbox-color-mode=dark] .btn-teal.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-teal:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-teal:focus,html[data-netbox-color-mode=light] .btn-teal:active:focus,html[data-netbox-color-mode=light] .btn-teal.active:focus,.show>html[data-netbox-color-mode=light] .btn-teal.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #1bab8080}html .btn-teal:disabled,html .btn-teal.disabled,html[data-netbox-color-mode=dark] .btn-teal:disabled,html[data-netbox-color-mode=dark] .btn-teal.disabled,html[data-netbox-color-mode=light] .btn-teal:disabled,html[data-netbox-color-mode=light] .btn-teal.disabled{color:#000;background-color:#20c997;border-color:#20c997}}@media print{html .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=light] .btn-cyan{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}html .btn-cyan:hover,html[data-netbox-color-mode=dark] .btn-cyan:hover,html[data-netbox-color-mode=light] .btn-cyan:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+html .btn-cyan,html .btn-cyan:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-cyan,html[data-netbox-color-mode=light] .btn-cyan:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem #0baccc80}.btn-check:checked+html .btn-cyan,.btn-check:active+html .btn-cyan,html .btn-cyan:active,html .btn-cyan.active,.show>html .btn-cyan.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-cyan,.btn-check:active+html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan:active,html[data-netbox-color-mode=dark] .btn-cyan.active,.show>html[data-netbox-color-mode=dark] .btn-cyan.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-cyan,.btn-check:active+html[data-netbox-color-mode=light] .btn-cyan,html[data-netbox-color-mode=light] .btn-cyan:active,html[data-netbox-color-mode=light] .btn-cyan.active,.show>html[data-netbox-color-mode=light] .btn-cyan.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+html .btn-cyan:focus,.btn-check:active+html .btn-cyan:focus,html .btn-cyan:active:focus,html .btn-cyan.active:focus,.show>html .btn-cyan.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-cyan:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-cyan:focus,html[data-netbox-color-mode=dark] .btn-cyan:active:focus,html[data-netbox-color-mode=dark] .btn-cyan.active:focus,.show>html[data-netbox-color-mode=dark] .btn-cyan.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-cyan:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-cyan:focus,html[data-netbox-color-mode=light] .btn-cyan:active:focus,html[data-netbox-color-mode=light] .btn-cyan.active:focus,.show>html[data-netbox-color-mode=light] .btn-cyan.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #0baccc80}html .btn-cyan:disabled,html .btn-cyan.disabled,html[data-netbox-color-mode=dark] .btn-cyan:disabled,html[data-netbox-color-mode=dark] .btn-cyan.disabled,html[data-netbox-color-mode=light] .btn-cyan:disabled,html[data-netbox-color-mode=light] .btn-cyan.disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}}@media print{html .btn-gray,html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=light] .btn-gray{color:#000;background-color:#adb5bd;border-color:#adb5bd}html .btn-gray:hover,html[data-netbox-color-mode=dark] .btn-gray:hover,html[data-netbox-color-mode=light] .btn-gray:hover{color:#000;background-color:#b9c0c7;border-color:#b5bcc4}.btn-check:focus+html .btn-gray,html .btn-gray:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=dark] .btn-gray:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-gray,html[data-netbox-color-mode=light] .btn-gray:focus{color:#000;background-color:#b9c0c7;border-color:#b5bcc4;box-shadow:0 0 0 .25rem #939aa180}.btn-check:checked+html .btn-gray,.btn-check:active+html .btn-gray,html .btn-gray:active,html .btn-gray.active,.show>html .btn-gray.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-gray,.btn-check:active+html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=dark] .btn-gray:active,html[data-netbox-color-mode=dark] .btn-gray.active,.show>html[data-netbox-color-mode=dark] .btn-gray.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-gray,.btn-check:active+html[data-netbox-color-mode=light] .btn-gray,html[data-netbox-color-mode=light] .btn-gray:active,html[data-netbox-color-mode=light] .btn-gray.active,.show>html[data-netbox-color-mode=light] .btn-gray.dropdown-toggle{color:#000;background-color:#bdc4ca;border-color:#b5bcc4}.btn-check:checked+html .btn-gray:focus,.btn-check:active+html .btn-gray:focus,html .btn-gray:active:focus,html .btn-gray.active:focus,.show>html .btn-gray.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-gray:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-gray:focus,html[data-netbox-color-mode=dark] .btn-gray:active:focus,html[data-netbox-color-mode=dark] .btn-gray.active:focus,.show>html[data-netbox-color-mode=dark] .btn-gray.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-gray:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-gray:focus,html[data-netbox-color-mode=light] .btn-gray:active:focus,html[data-netbox-color-mode=light] .btn-gray.active:focus,.show>html[data-netbox-color-mode=light] .btn-gray.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #939aa180}html .btn-gray:disabled,html .btn-gray.disabled,html[data-netbox-color-mode=dark] .btn-gray:disabled,html[data-netbox-color-mode=dark] .btn-gray.disabled,html[data-netbox-color-mode=light] .btn-gray:disabled,html[data-netbox-color-mode=light] .btn-gray.disabled{color:#000;background-color:#adb5bd;border-color:#adb5bd}}@media print{html .btn-black,html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=light] .btn-black{color:#fff;background-color:#000;border-color:#000}html .btn-black:hover,html[data-netbox-color-mode=dark] .btn-black:hover,html[data-netbox-color-mode=light] .btn-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+html .btn-black,html .btn-black:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=dark] .btn-black:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-black,html[data-netbox-color-mode=light] .btn-black:focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .25rem #26262680}.btn-check:checked+html .btn-black,.btn-check:active+html .btn-black,html .btn-black:active,html .btn-black.active,.show>html .btn-black.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-black,.btn-check:active+html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=dark] .btn-black:active,html[data-netbox-color-mode=dark] .btn-black.active,.show>html[data-netbox-color-mode=dark] .btn-black.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-black,.btn-check:active+html[data-netbox-color-mode=light] .btn-black,html[data-netbox-color-mode=light] .btn-black:active,html[data-netbox-color-mode=light] .btn-black.active,.show>html[data-netbox-color-mode=light] .btn-black.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+html .btn-black:focus,.btn-check:active+html .btn-black:focus,html .btn-black:active:focus,html .btn-black.active:focus,.show>html .btn-black.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-black:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-black:focus,html[data-netbox-color-mode=dark] .btn-black:active:focus,html[data-netbox-color-mode=dark] .btn-black.active:focus,.show>html[data-netbox-color-mode=dark] .btn-black.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-black:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-black:focus,html[data-netbox-color-mode=light] .btn-black:active:focus,html[data-netbox-color-mode=light] .btn-black.active:focus,.show>html[data-netbox-color-mode=light] .btn-black.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #26262680}html .btn-black:disabled,html .btn-black.disabled,html[data-netbox-color-mode=dark] .btn-black:disabled,html[data-netbox-color-mode=dark] .btn-black.disabled,html[data-netbox-color-mode=light] .btn-black:disabled,html[data-netbox-color-mode=light] .btn-black.disabled{color:#fff;background-color:#000;border-color:#000}}@media print{html .btn-white,html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=light] .btn-white{color:#000;background-color:#fff;border-color:#fff}html .btn-white:hover,html[data-netbox-color-mode=dark] .btn-white:hover,html[data-netbox-color-mode=light] .btn-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+html .btn-white,html .btn-white:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=dark] .btn-white:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-white,html[data-netbox-color-mode=light] .btn-white:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 0 0 .25rem #d9d9d980}.btn-check:checked+html .btn-white,.btn-check:active+html .btn-white,html .btn-white:active,html .btn-white.active,.show>html .btn-white.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-white,.btn-check:active+html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=dark] .btn-white:active,html[data-netbox-color-mode=dark] .btn-white.active,.show>html[data-netbox-color-mode=dark] .btn-white.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-white,.btn-check:active+html[data-netbox-color-mode=light] .btn-white,html[data-netbox-color-mode=light] .btn-white:active,html[data-netbox-color-mode=light] .btn-white.active,.show>html[data-netbox-color-mode=light] .btn-white.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+html .btn-white:focus,.btn-check:active+html .btn-white:focus,html .btn-white:active:focus,html .btn-white.active:focus,.show>html .btn-white.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-white:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-white:focus,html[data-netbox-color-mode=dark] .btn-white:active:focus,html[data-netbox-color-mode=dark] .btn-white.active:focus,.show>html[data-netbox-color-mode=dark] .btn-white.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-white:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-white:focus,html[data-netbox-color-mode=light] .btn-white:active:focus,html[data-netbox-color-mode=light] .btn-white.active:focus,.show>html[data-netbox-color-mode=light] .btn-white.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9d9d980}html .btn-white:disabled,html .btn-white.disabled,html[data-netbox-color-mode=dark] .btn-white:disabled,html[data-netbox-color-mode=dark] .btn-white.disabled,html[data-netbox-color-mode=light] .btn-white:disabled,html[data-netbox-color-mode=light] .btn-white.disabled{color:#000;background-color:#fff;border-color:#fff}}@media print{html .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=light] .btn-outline-primary{color:#337ab7;border-color:#337ab7}html .btn-outline-primary:hover,html[data-netbox-color-mode=dark] .btn-outline-primary:hover,html[data-netbox-color-mode=light] .btn-outline-primary:hover{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-check:focus+html .btn-outline-primary,html .btn-outline-primary:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-primary,html[data-netbox-color-mode=light] .btn-outline-primary:focus{box-shadow:0 0 0 .25rem #337ab780}.btn-check:checked+html .btn-outline-primary,.btn-check:active+html .btn-outline-primary,html .btn-outline-primary:active,html .btn-outline-primary.active,html .btn-outline-primary.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-primary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary:active,html[data-netbox-color-mode=dark] .btn-outline-primary.active,html[data-netbox-color-mode=dark] .btn-outline-primary.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-primary,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-primary,html[data-netbox-color-mode=light] .btn-outline-primary:active,html[data-netbox-color-mode=light] .btn-outline-primary.active,html[data-netbox-color-mode=light] .btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-check:checked+html .btn-outline-primary:focus,.btn-check:active+html .btn-outline-primary:focus,html .btn-outline-primary:active:focus,html .btn-outline-primary.active:focus,html .btn-outline-primary.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-primary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-primary:focus,html[data-netbox-color-mode=dark] .btn-outline-primary:active:focus,html[data-netbox-color-mode=dark] .btn-outline-primary.active:focus,html[data-netbox-color-mode=dark] .btn-outline-primary.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-primary:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-primary:focus,html[data-netbox-color-mode=light] .btn-outline-primary:active:focus,html[data-netbox-color-mode=light] .btn-outline-primary.active:focus,html[data-netbox-color-mode=light] .btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #337ab780}html .btn-outline-primary:disabled,html .btn-outline-primary.disabled,html[data-netbox-color-mode=dark] .btn-outline-primary:disabled,html[data-netbox-color-mode=dark] .btn-outline-primary.disabled,html[data-netbox-color-mode=light] .btn-outline-primary:disabled,html[data-netbox-color-mode=light] .btn-outline-primary.disabled{color:#337ab7;background-color:transparent}}@media print{html .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=light] .btn-outline-secondary{color:#6c757d;border-color:#6c757d}html .btn-outline-secondary:hover,html[data-netbox-color-mode=dark] .btn-outline-secondary:hover,html[data-netbox-color-mode=light] .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+html .btn-outline-secondary,html .btn-outline-secondary:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-secondary,html[data-netbox-color-mode=light] .btn-outline-secondary:focus{box-shadow:0 0 0 .25rem #6c757d80}.btn-check:checked+html .btn-outline-secondary,.btn-check:active+html .btn-outline-secondary,html .btn-outline-secondary:active,html .btn-outline-secondary.active,html .btn-outline-secondary.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-secondary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary:active,html[data-netbox-color-mode=dark] .btn-outline-secondary.active,html[data-netbox-color-mode=dark] .btn-outline-secondary.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-secondary,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-secondary,html[data-netbox-color-mode=light] .btn-outline-secondary:active,html[data-netbox-color-mode=light] .btn-outline-secondary.active,html[data-netbox-color-mode=light] .btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+html .btn-outline-secondary:focus,.btn-check:active+html .btn-outline-secondary:focus,html .btn-outline-secondary:active:focus,html .btn-outline-secondary.active:focus,html .btn-outline-secondary.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary:active:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary.active:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-secondary:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-secondary:focus,html[data-netbox-color-mode=light] .btn-outline-secondary:active:focus,html[data-netbox-color-mode=light] .btn-outline-secondary.active:focus,html[data-netbox-color-mode=light] .btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6c757d80}html .btn-outline-secondary:disabled,html .btn-outline-secondary.disabled,html[data-netbox-color-mode=dark] .btn-outline-secondary:disabled,html[data-netbox-color-mode=dark] .btn-outline-secondary.disabled,html[data-netbox-color-mode=light] .btn-outline-secondary:disabled,html[data-netbox-color-mode=light] .btn-outline-secondary.disabled{color:#6c757d;background-color:transparent}}@media print{html .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=light] .btn-outline-success{color:#198754;border-color:#198754}html .btn-outline-success:hover,html[data-netbox-color-mode=dark] .btn-outline-success:hover,html[data-netbox-color-mode=light] .btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+html .btn-outline-success,html .btn-outline-success:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-success,html[data-netbox-color-mode=light] .btn-outline-success:focus{box-shadow:0 0 0 .25rem #19875480}.btn-check:checked+html .btn-outline-success,.btn-check:active+html .btn-outline-success,html .btn-outline-success:active,html .btn-outline-success.active,html .btn-outline-success.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-success,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success:active,html[data-netbox-color-mode=dark] .btn-outline-success.active,html[data-netbox-color-mode=dark] .btn-outline-success.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-success,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-success,html[data-netbox-color-mode=light] .btn-outline-success:active,html[data-netbox-color-mode=light] .btn-outline-success.active,html[data-netbox-color-mode=light] .btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+html .btn-outline-success:focus,.btn-check:active+html .btn-outline-success:focus,html .btn-outline-success:active:focus,html .btn-outline-success.active:focus,html .btn-outline-success.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-success:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-success:focus,html[data-netbox-color-mode=dark] .btn-outline-success:active:focus,html[data-netbox-color-mode=dark] .btn-outline-success.active:focus,html[data-netbox-color-mode=dark] .btn-outline-success.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-success:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-success:focus,html[data-netbox-color-mode=light] .btn-outline-success:active:focus,html[data-netbox-color-mode=light] .btn-outline-success.active:focus,html[data-netbox-color-mode=light] .btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #19875480}html .btn-outline-success:disabled,html .btn-outline-success.disabled,html[data-netbox-color-mode=dark] .btn-outline-success:disabled,html[data-netbox-color-mode=dark] .btn-outline-success.disabled,html[data-netbox-color-mode=light] .btn-outline-success:disabled,html[data-netbox-color-mode=light] .btn-outline-success.disabled{color:#198754;background-color:transparent}}@media print{html .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=light] .btn-outline-info{color:#54d6f0;border-color:#54d6f0}html .btn-outline-info:hover,html[data-netbox-color-mode=dark] .btn-outline-info:hover,html[data-netbox-color-mode=light] .btn-outline-info:hover{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-check:focus+html .btn-outline-info,html .btn-outline-info:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-info,html[data-netbox-color-mode=light] .btn-outline-info:focus{box-shadow:0 0 0 .25rem #54d6f080}.btn-check:checked+html .btn-outline-info,.btn-check:active+html .btn-outline-info,html .btn-outline-info:active,html .btn-outline-info.active,html .btn-outline-info.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-info,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info:active,html[data-netbox-color-mode=dark] .btn-outline-info.active,html[data-netbox-color-mode=dark] .btn-outline-info.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-info,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-info,html[data-netbox-color-mode=light] .btn-outline-info:active,html[data-netbox-color-mode=light] .btn-outline-info.active,html[data-netbox-color-mode=light] .btn-outline-info.dropdown-toggle.show{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-check:checked+html .btn-outline-info:focus,.btn-check:active+html .btn-outline-info:focus,html .btn-outline-info:active:focus,html .btn-outline-info.active:focus,html .btn-outline-info.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-info:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-info:focus,html[data-netbox-color-mode=dark] .btn-outline-info:active:focus,html[data-netbox-color-mode=dark] .btn-outline-info.active:focus,html[data-netbox-color-mode=dark] .btn-outline-info.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-info:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-info:focus,html[data-netbox-color-mode=light] .btn-outline-info:active:focus,html[data-netbox-color-mode=light] .btn-outline-info.active:focus,html[data-netbox-color-mode=light] .btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #54d6f080}html .btn-outline-info:disabled,html .btn-outline-info.disabled,html[data-netbox-color-mode=dark] .btn-outline-info:disabled,html[data-netbox-color-mode=dark] .btn-outline-info.disabled,html[data-netbox-color-mode=light] .btn-outline-info:disabled,html[data-netbox-color-mode=light] .btn-outline-info.disabled{color:#54d6f0;background-color:transparent}}@media print{html .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=light] .btn-outline-warning{color:#ffc107;border-color:#ffc107}html .btn-outline-warning:hover,html[data-netbox-color-mode=dark] .btn-outline-warning:hover,html[data-netbox-color-mode=light] .btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+html .btn-outline-warning,html .btn-outline-warning:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-warning,html[data-netbox-color-mode=light] .btn-outline-warning:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-check:checked+html .btn-outline-warning,.btn-check:active+html .btn-outline-warning,html .btn-outline-warning:active,html .btn-outline-warning.active,html .btn-outline-warning.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-warning,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning:active,html[data-netbox-color-mode=dark] .btn-outline-warning.active,html[data-netbox-color-mode=dark] .btn-outline-warning.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-warning,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-warning,html[data-netbox-color-mode=light] .btn-outline-warning:active,html[data-netbox-color-mode=light] .btn-outline-warning.active,html[data-netbox-color-mode=light] .btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+html .btn-outline-warning:focus,.btn-check:active+html .btn-outline-warning:focus,html .btn-outline-warning:active:focus,html .btn-outline-warning.active:focus,html .btn-outline-warning.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-warning:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-warning:focus,html[data-netbox-color-mode=dark] .btn-outline-warning:active:focus,html[data-netbox-color-mode=dark] .btn-outline-warning.active:focus,html[data-netbox-color-mode=dark] .btn-outline-warning.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-warning:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-warning:focus,html[data-netbox-color-mode=light] .btn-outline-warning:active:focus,html[data-netbox-color-mode=light] .btn-outline-warning.active:focus,html[data-netbox-color-mode=light] .btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffc10780}html .btn-outline-warning:disabled,html .btn-outline-warning.disabled,html[data-netbox-color-mode=dark] .btn-outline-warning:disabled,html[data-netbox-color-mode=dark] .btn-outline-warning.disabled,html[data-netbox-color-mode=light] .btn-outline-warning:disabled,html[data-netbox-color-mode=light] .btn-outline-warning.disabled{color:#ffc107;background-color:transparent}}@media print{html .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=light] .btn-outline-danger{color:#dc3545;border-color:#dc3545}html .btn-outline-danger:hover,html[data-netbox-color-mode=dark] .btn-outline-danger:hover,html[data-netbox-color-mode=light] .btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+html .btn-outline-danger,html .btn-outline-danger:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-danger,html[data-netbox-color-mode=light] .btn-outline-danger:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-check:checked+html .btn-outline-danger,.btn-check:active+html .btn-outline-danger,html .btn-outline-danger:active,html .btn-outline-danger.active,html .btn-outline-danger.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-danger,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger:active,html[data-netbox-color-mode=dark] .btn-outline-danger.active,html[data-netbox-color-mode=dark] .btn-outline-danger.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-danger,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-danger,html[data-netbox-color-mode=light] .btn-outline-danger:active,html[data-netbox-color-mode=light] .btn-outline-danger.active,html[data-netbox-color-mode=light] .btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+html .btn-outline-danger:focus,.btn-check:active+html .btn-outline-danger:focus,html .btn-outline-danger:active:focus,html .btn-outline-danger.active:focus,html .btn-outline-danger.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-danger:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-danger:focus,html[data-netbox-color-mode=dark] .btn-outline-danger:active:focus,html[data-netbox-color-mode=dark] .btn-outline-danger.active:focus,html[data-netbox-color-mode=dark] .btn-outline-danger.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-danger:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-danger:focus,html[data-netbox-color-mode=light] .btn-outline-danger:active:focus,html[data-netbox-color-mode=light] .btn-outline-danger.active:focus,html[data-netbox-color-mode=light] .btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dc354580}html .btn-outline-danger:disabled,html .btn-outline-danger.disabled,html[data-netbox-color-mode=dark] .btn-outline-danger:disabled,html[data-netbox-color-mode=dark] .btn-outline-danger.disabled,html[data-netbox-color-mode=light] .btn-outline-danger:disabled,html[data-netbox-color-mode=light] .btn-outline-danger.disabled{color:#dc3545;background-color:transparent}}@media print{html .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=light] .btn-outline-light{color:#e9ecef;border-color:#e9ecef}html .btn-outline-light:hover,html[data-netbox-color-mode=dark] .btn-outline-light:hover,html[data-netbox-color-mode=light] .btn-outline-light:hover{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:focus+html .btn-outline-light,html .btn-outline-light:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-light,html[data-netbox-color-mode=light] .btn-outline-light:focus{box-shadow:0 0 0 .25rem #e9ecef80}.btn-check:checked+html .btn-outline-light,.btn-check:active+html .btn-outline-light,html .btn-outline-light:active,html .btn-outline-light.active,html .btn-outline-light.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-light,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light:active,html[data-netbox-color-mode=dark] .btn-outline-light.active,html[data-netbox-color-mode=dark] .btn-outline-light.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-light,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-light,html[data-netbox-color-mode=light] .btn-outline-light:active,html[data-netbox-color-mode=light] .btn-outline-light.active,html[data-netbox-color-mode=light] .btn-outline-light.dropdown-toggle.show{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:checked+html .btn-outline-light:focus,.btn-check:active+html .btn-outline-light:focus,html .btn-outline-light:active:focus,html .btn-outline-light.active:focus,html .btn-outline-light.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-light:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-light:focus,html[data-netbox-color-mode=dark] .btn-outline-light:active:focus,html[data-netbox-color-mode=dark] .btn-outline-light.active:focus,html[data-netbox-color-mode=dark] .btn-outline-light.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-light:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-light:focus,html[data-netbox-color-mode=light] .btn-outline-light:active:focus,html[data-netbox-color-mode=light] .btn-outline-light.active:focus,html[data-netbox-color-mode=light] .btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #e9ecef80}html .btn-outline-light:disabled,html .btn-outline-light.disabled,html[data-netbox-color-mode=dark] .btn-outline-light:disabled,html[data-netbox-color-mode=dark] .btn-outline-light.disabled,html[data-netbox-color-mode=light] .btn-outline-light:disabled,html[data-netbox-color-mode=light] .btn-outline-light.disabled{color:#e9ecef;background-color:transparent}}@media print{html .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=light] .btn-outline-dark{color:#343a40;border-color:#343a40}html .btn-outline-dark:hover,html[data-netbox-color-mode=dark] .btn-outline-dark:hover,html[data-netbox-color-mode=light] .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+html .btn-outline-dark,html .btn-outline-dark:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-dark,html[data-netbox-color-mode=light] .btn-outline-dark:focus{box-shadow:0 0 0 .25rem #343a4080}.btn-check:checked+html .btn-outline-dark,.btn-check:active+html .btn-outline-dark,html .btn-outline-dark:active,html .btn-outline-dark.active,html .btn-outline-dark.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-dark,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark:active,html[data-netbox-color-mode=dark] .btn-outline-dark.active,html[data-netbox-color-mode=dark] .btn-outline-dark.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-dark,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-dark,html[data-netbox-color-mode=light] .btn-outline-dark:active,html[data-netbox-color-mode=light] .btn-outline-dark.active,html[data-netbox-color-mode=light] .btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:checked+html .btn-outline-dark:focus,.btn-check:active+html .btn-outline-dark:focus,html .btn-outline-dark:active:focus,html .btn-outline-dark.active:focus,html .btn-outline-dark.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-dark:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-dark:focus,html[data-netbox-color-mode=dark] .btn-outline-dark:active:focus,html[data-netbox-color-mode=dark] .btn-outline-dark.active:focus,html[data-netbox-color-mode=dark] .btn-outline-dark.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-dark:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-dark:focus,html[data-netbox-color-mode=light] .btn-outline-dark:active:focus,html[data-netbox-color-mode=light] .btn-outline-dark.active:focus,html[data-netbox-color-mode=light] .btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #343a4080}html .btn-outline-dark:disabled,html .btn-outline-dark.disabled,html[data-netbox-color-mode=dark] .btn-outline-dark:disabled,html[data-netbox-color-mode=dark] .btn-outline-dark.disabled,html[data-netbox-color-mode=light] .btn-outline-dark:disabled,html[data-netbox-color-mode=light] .btn-outline-dark.disabled{color:#343a40;background-color:transparent}}@media print{html .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=light] .btn-outline-blue{color:#0d6efd;border-color:#0d6efd}html .btn-outline-blue:hover,html[data-netbox-color-mode=dark] .btn-outline-blue:hover,html[data-netbox-color-mode=light] .btn-outline-blue:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+html .btn-outline-blue,html .btn-outline-blue:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-blue,html[data-netbox-color-mode=light] .btn-outline-blue:focus{box-shadow:0 0 0 .25rem #0d6efd80}.btn-check:checked+html .btn-outline-blue,.btn-check:active+html .btn-outline-blue,html .btn-outline-blue:active,html .btn-outline-blue.active,html .btn-outline-blue.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-blue,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue:active,html[data-netbox-color-mode=dark] .btn-outline-blue.active,html[data-netbox-color-mode=dark] .btn-outline-blue.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-blue,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-blue,html[data-netbox-color-mode=light] .btn-outline-blue:active,html[data-netbox-color-mode=light] .btn-outline-blue.active,html[data-netbox-color-mode=light] .btn-outline-blue.dropdown-toggle.show{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:checked+html .btn-outline-blue:focus,.btn-check:active+html .btn-outline-blue:focus,html .btn-outline-blue:active:focus,html .btn-outline-blue.active:focus,html .btn-outline-blue.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-blue:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-blue:focus,html[data-netbox-color-mode=dark] .btn-outline-blue:active:focus,html[data-netbox-color-mode=dark] .btn-outline-blue.active:focus,html[data-netbox-color-mode=dark] .btn-outline-blue.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-blue:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-blue:focus,html[data-netbox-color-mode=light] .btn-outline-blue:active:focus,html[data-netbox-color-mode=light] .btn-outline-blue.active:focus,html[data-netbox-color-mode=light] .btn-outline-blue.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #0d6efd80}html .btn-outline-blue:disabled,html .btn-outline-blue.disabled,html[data-netbox-color-mode=dark] .btn-outline-blue:disabled,html[data-netbox-color-mode=dark] .btn-outline-blue.disabled,html[data-netbox-color-mode=light] .btn-outline-blue:disabled,html[data-netbox-color-mode=light] .btn-outline-blue.disabled{color:#0d6efd;background-color:transparent}}@media print{html .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=light] .btn-outline-indigo{color:#6610f2;border-color:#6610f2}html .btn-outline-indigo:hover,html[data-netbox-color-mode=dark] .btn-outline-indigo:hover,html[data-netbox-color-mode=light] .btn-outline-indigo:hover{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-check:focus+html .btn-outline-indigo,html .btn-outline-indigo:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-indigo,html[data-netbox-color-mode=light] .btn-outline-indigo:focus{box-shadow:0 0 0 .25rem #6610f280}.btn-check:checked+html .btn-outline-indigo,.btn-check:active+html .btn-outline-indigo,html .btn-outline-indigo:active,html .btn-outline-indigo.active,html .btn-outline-indigo.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-indigo,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo:active,html[data-netbox-color-mode=dark] .btn-outline-indigo.active,html[data-netbox-color-mode=dark] .btn-outline-indigo.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-indigo,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-indigo,html[data-netbox-color-mode=light] .btn-outline-indigo:active,html[data-netbox-color-mode=light] .btn-outline-indigo.active,html[data-netbox-color-mode=light] .btn-outline-indigo.dropdown-toggle.show{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-check:checked+html .btn-outline-indigo:focus,.btn-check:active+html .btn-outline-indigo:focus,html .btn-outline-indigo:active:focus,html .btn-outline-indigo.active:focus,html .btn-outline-indigo.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo:active:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo.active:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-indigo:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-indigo:focus,html[data-netbox-color-mode=light] .btn-outline-indigo:active:focus,html[data-netbox-color-mode=light] .btn-outline-indigo.active:focus,html[data-netbox-color-mode=light] .btn-outline-indigo.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6610f280}html .btn-outline-indigo:disabled,html .btn-outline-indigo.disabled,html[data-netbox-color-mode=dark] .btn-outline-indigo:disabled,html[data-netbox-color-mode=dark] .btn-outline-indigo.disabled,html[data-netbox-color-mode=light] .btn-outline-indigo:disabled,html[data-netbox-color-mode=light] .btn-outline-indigo.disabled{color:#6610f2;background-color:transparent}}@media print{html .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=light] .btn-outline-purple{color:#6f42c1;border-color:#6f42c1}html .btn-outline-purple:hover,html[data-netbox-color-mode=dark] .btn-outline-purple:hover,html[data-netbox-color-mode=light] .btn-outline-purple:hover{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-check:focus+html .btn-outline-purple,html .btn-outline-purple:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-purple,html[data-netbox-color-mode=light] .btn-outline-purple:focus{box-shadow:0 0 0 .25rem #6f42c180}.btn-check:checked+html .btn-outline-purple,.btn-check:active+html .btn-outline-purple,html .btn-outline-purple:active,html .btn-outline-purple.active,html .btn-outline-purple.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-purple,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple:active,html[data-netbox-color-mode=dark] .btn-outline-purple.active,html[data-netbox-color-mode=dark] .btn-outline-purple.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-purple,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-purple,html[data-netbox-color-mode=light] .btn-outline-purple:active,html[data-netbox-color-mode=light] .btn-outline-purple.active,html[data-netbox-color-mode=light] .btn-outline-purple.dropdown-toggle.show{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-check:checked+html .btn-outline-purple:focus,.btn-check:active+html .btn-outline-purple:focus,html .btn-outline-purple:active:focus,html .btn-outline-purple.active:focus,html .btn-outline-purple.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-purple:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-purple:focus,html[data-netbox-color-mode=dark] .btn-outline-purple:active:focus,html[data-netbox-color-mode=dark] .btn-outline-purple.active:focus,html[data-netbox-color-mode=dark] .btn-outline-purple.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-purple:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-purple:focus,html[data-netbox-color-mode=light] .btn-outline-purple:active:focus,html[data-netbox-color-mode=light] .btn-outline-purple.active:focus,html[data-netbox-color-mode=light] .btn-outline-purple.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6f42c180}html .btn-outline-purple:disabled,html .btn-outline-purple.disabled,html[data-netbox-color-mode=dark] .btn-outline-purple:disabled,html[data-netbox-color-mode=dark] .btn-outline-purple.disabled,html[data-netbox-color-mode=light] .btn-outline-purple:disabled,html[data-netbox-color-mode=light] .btn-outline-purple.disabled{color:#6f42c1;background-color:transparent}}@media print{html .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=light] .btn-outline-pink{color:#d63384;border-color:#d63384}html .btn-outline-pink:hover,html[data-netbox-color-mode=dark] .btn-outline-pink:hover,html[data-netbox-color-mode=light] .btn-outline-pink:hover{color:#fff;background-color:#d63384;border-color:#d63384}.btn-check:focus+html .btn-outline-pink,html .btn-outline-pink:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-pink,html[data-netbox-color-mode=light] .btn-outline-pink:focus{box-shadow:0 0 0 .25rem #d6338480}.btn-check:checked+html .btn-outline-pink,.btn-check:active+html .btn-outline-pink,html .btn-outline-pink:active,html .btn-outline-pink.active,html .btn-outline-pink.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-pink,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink:active,html[data-netbox-color-mode=dark] .btn-outline-pink.active,html[data-netbox-color-mode=dark] .btn-outline-pink.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-pink,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-pink,html[data-netbox-color-mode=light] .btn-outline-pink:active,html[data-netbox-color-mode=light] .btn-outline-pink.active,html[data-netbox-color-mode=light] .btn-outline-pink.dropdown-toggle.show{color:#fff;background-color:#d63384;border-color:#d63384}.btn-check:checked+html .btn-outline-pink:focus,.btn-check:active+html .btn-outline-pink:focus,html .btn-outline-pink:active:focus,html .btn-outline-pink.active:focus,html .btn-outline-pink.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-pink:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-pink:focus,html[data-netbox-color-mode=dark] .btn-outline-pink:active:focus,html[data-netbox-color-mode=dark] .btn-outline-pink.active:focus,html[data-netbox-color-mode=dark] .btn-outline-pink.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-pink:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-pink:focus,html[data-netbox-color-mode=light] .btn-outline-pink:active:focus,html[data-netbox-color-mode=light] .btn-outline-pink.active:focus,html[data-netbox-color-mode=light] .btn-outline-pink.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #d6338480}html .btn-outline-pink:disabled,html .btn-outline-pink.disabled,html[data-netbox-color-mode=dark] .btn-outline-pink:disabled,html[data-netbox-color-mode=dark] .btn-outline-pink.disabled,html[data-netbox-color-mode=light] .btn-outline-pink:disabled,html[data-netbox-color-mode=light] .btn-outline-pink.disabled{color:#d63384;background-color:transparent}}@media print{html .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=light] .btn-outline-red{color:#dc3545;border-color:#dc3545}html .btn-outline-red:hover,html[data-netbox-color-mode=dark] .btn-outline-red:hover,html[data-netbox-color-mode=light] .btn-outline-red:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+html .btn-outline-red,html .btn-outline-red:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-red,html[data-netbox-color-mode=light] .btn-outline-red:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-check:checked+html .btn-outline-red,.btn-check:active+html .btn-outline-red,html .btn-outline-red:active,html .btn-outline-red.active,html .btn-outline-red.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-red,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red:active,html[data-netbox-color-mode=dark] .btn-outline-red.active,html[data-netbox-color-mode=dark] .btn-outline-red.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-red,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-red,html[data-netbox-color-mode=light] .btn-outline-red:active,html[data-netbox-color-mode=light] .btn-outline-red.active,html[data-netbox-color-mode=light] .btn-outline-red.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+html .btn-outline-red:focus,.btn-check:active+html .btn-outline-red:focus,html .btn-outline-red:active:focus,html .btn-outline-red.active:focus,html .btn-outline-red.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-red:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-red:focus,html[data-netbox-color-mode=dark] .btn-outline-red:active:focus,html[data-netbox-color-mode=dark] .btn-outline-red.active:focus,html[data-netbox-color-mode=dark] .btn-outline-red.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-red:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-red:focus,html[data-netbox-color-mode=light] .btn-outline-red:active:focus,html[data-netbox-color-mode=light] .btn-outline-red.active:focus,html[data-netbox-color-mode=light] .btn-outline-red.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dc354580}html .btn-outline-red:disabled,html .btn-outline-red.disabled,html[data-netbox-color-mode=dark] .btn-outline-red:disabled,html[data-netbox-color-mode=dark] .btn-outline-red.disabled,html[data-netbox-color-mode=light] .btn-outline-red:disabled,html[data-netbox-color-mode=light] .btn-outline-red.disabled{color:#dc3545;background-color:transparent}}@media print{html .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=light] .btn-outline-orange{color:#fd7e14;border-color:#fd7e14}html .btn-outline-orange:hover,html[data-netbox-color-mode=dark] .btn-outline-orange:hover,html[data-netbox-color-mode=light] .btn-outline-orange:hover{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-check:focus+html .btn-outline-orange,html .btn-outline-orange:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-orange,html[data-netbox-color-mode=light] .btn-outline-orange:focus{box-shadow:0 0 0 .25rem #fd7e1480}.btn-check:checked+html .btn-outline-orange,.btn-check:active+html .btn-outline-orange,html .btn-outline-orange:active,html .btn-outline-orange.active,html .btn-outline-orange.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-orange,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange:active,html[data-netbox-color-mode=dark] .btn-outline-orange.active,html[data-netbox-color-mode=dark] .btn-outline-orange.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-orange,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-orange,html[data-netbox-color-mode=light] .btn-outline-orange:active,html[data-netbox-color-mode=light] .btn-outline-orange.active,html[data-netbox-color-mode=light] .btn-outline-orange.dropdown-toggle.show{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-check:checked+html .btn-outline-orange:focus,.btn-check:active+html .btn-outline-orange:focus,html .btn-outline-orange:active:focus,html .btn-outline-orange.active:focus,html .btn-outline-orange.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-orange:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-orange:focus,html[data-netbox-color-mode=dark] .btn-outline-orange:active:focus,html[data-netbox-color-mode=dark] .btn-outline-orange.active:focus,html[data-netbox-color-mode=dark] .btn-outline-orange.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-orange:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-orange:focus,html[data-netbox-color-mode=light] .btn-outline-orange:active:focus,html[data-netbox-color-mode=light] .btn-outline-orange.active:focus,html[data-netbox-color-mode=light] .btn-outline-orange.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #fd7e1480}html .btn-outline-orange:disabled,html .btn-outline-orange.disabled,html[data-netbox-color-mode=dark] .btn-outline-orange:disabled,html[data-netbox-color-mode=dark] .btn-outline-orange.disabled,html[data-netbox-color-mode=light] .btn-outline-orange:disabled,html[data-netbox-color-mode=light] .btn-outline-orange.disabled{color:#fd7e14;background-color:transparent}}@media print{html .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=light] .btn-outline-yellow{color:#ffc107;border-color:#ffc107}html .btn-outline-yellow:hover,html[data-netbox-color-mode=dark] .btn-outline-yellow:hover,html[data-netbox-color-mode=light] .btn-outline-yellow:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+html .btn-outline-yellow,html .btn-outline-yellow:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-yellow,html[data-netbox-color-mode=light] .btn-outline-yellow:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-check:checked+html .btn-outline-yellow,.btn-check:active+html .btn-outline-yellow,html .btn-outline-yellow:active,html .btn-outline-yellow.active,html .btn-outline-yellow.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-yellow,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow:active,html[data-netbox-color-mode=dark] .btn-outline-yellow.active,html[data-netbox-color-mode=dark] .btn-outline-yellow.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-yellow,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-yellow,html[data-netbox-color-mode=light] .btn-outline-yellow:active,html[data-netbox-color-mode=light] .btn-outline-yellow.active,html[data-netbox-color-mode=light] .btn-outline-yellow.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+html .btn-outline-yellow:focus,.btn-check:active+html .btn-outline-yellow:focus,html .btn-outline-yellow:active:focus,html .btn-outline-yellow.active:focus,html .btn-outline-yellow.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow:active:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow.active:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-yellow:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-yellow:focus,html[data-netbox-color-mode=light] .btn-outline-yellow:active:focus,html[data-netbox-color-mode=light] .btn-outline-yellow.active:focus,html[data-netbox-color-mode=light] .btn-outline-yellow.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffc10780}html .btn-outline-yellow:disabled,html .btn-outline-yellow.disabled,html[data-netbox-color-mode=dark] .btn-outline-yellow:disabled,html[data-netbox-color-mode=dark] .btn-outline-yellow.disabled,html[data-netbox-color-mode=light] .btn-outline-yellow:disabled,html[data-netbox-color-mode=light] .btn-outline-yellow.disabled{color:#ffc107;background-color:transparent}}@media print{html .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=light] .btn-outline-green{color:#198754;border-color:#198754}html .btn-outline-green:hover,html[data-netbox-color-mode=dark] .btn-outline-green:hover,html[data-netbox-color-mode=light] .btn-outline-green:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+html .btn-outline-green,html .btn-outline-green:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-green,html[data-netbox-color-mode=light] .btn-outline-green:focus{box-shadow:0 0 0 .25rem #19875480}.btn-check:checked+html .btn-outline-green,.btn-check:active+html .btn-outline-green,html .btn-outline-green:active,html .btn-outline-green.active,html .btn-outline-green.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-green,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green:active,html[data-netbox-color-mode=dark] .btn-outline-green.active,html[data-netbox-color-mode=dark] .btn-outline-green.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-green,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-green,html[data-netbox-color-mode=light] .btn-outline-green:active,html[data-netbox-color-mode=light] .btn-outline-green.active,html[data-netbox-color-mode=light] .btn-outline-green.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+html .btn-outline-green:focus,.btn-check:active+html .btn-outline-green:focus,html .btn-outline-green:active:focus,html .btn-outline-green.active:focus,html .btn-outline-green.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-green:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-green:focus,html[data-netbox-color-mode=dark] .btn-outline-green:active:focus,html[data-netbox-color-mode=dark] .btn-outline-green.active:focus,html[data-netbox-color-mode=dark] .btn-outline-green.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-green:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-green:focus,html[data-netbox-color-mode=light] .btn-outline-green:active:focus,html[data-netbox-color-mode=light] .btn-outline-green.active:focus,html[data-netbox-color-mode=light] .btn-outline-green.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #19875480}html .btn-outline-green:disabled,html .btn-outline-green.disabled,html[data-netbox-color-mode=dark] .btn-outline-green:disabled,html[data-netbox-color-mode=dark] .btn-outline-green.disabled,html[data-netbox-color-mode=light] .btn-outline-green:disabled,html[data-netbox-color-mode=light] .btn-outline-green.disabled{color:#198754;background-color:transparent}}@media print{html .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=light] .btn-outline-teal{color:#20c997;border-color:#20c997}html .btn-outline-teal:hover,html[data-netbox-color-mode=dark] .btn-outline-teal:hover,html[data-netbox-color-mode=light] .btn-outline-teal:hover{color:#000;background-color:#20c997;border-color:#20c997}.btn-check:focus+html .btn-outline-teal,html .btn-outline-teal:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-teal,html[data-netbox-color-mode=light] .btn-outline-teal:focus{box-shadow:0 0 0 .25rem #20c99780}.btn-check:checked+html .btn-outline-teal,.btn-check:active+html .btn-outline-teal,html .btn-outline-teal:active,html .btn-outline-teal.active,html .btn-outline-teal.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-teal,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal:active,html[data-netbox-color-mode=dark] .btn-outline-teal.active,html[data-netbox-color-mode=dark] .btn-outline-teal.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-teal,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-teal,html[data-netbox-color-mode=light] .btn-outline-teal:active,html[data-netbox-color-mode=light] .btn-outline-teal.active,html[data-netbox-color-mode=light] .btn-outline-teal.dropdown-toggle.show{color:#000;background-color:#20c997;border-color:#20c997}.btn-check:checked+html .btn-outline-teal:focus,.btn-check:active+html .btn-outline-teal:focus,html .btn-outline-teal:active:focus,html .btn-outline-teal.active:focus,html .btn-outline-teal.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-teal:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-teal:focus,html[data-netbox-color-mode=dark] .btn-outline-teal:active:focus,html[data-netbox-color-mode=dark] .btn-outline-teal.active:focus,html[data-netbox-color-mode=dark] .btn-outline-teal.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-teal:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-teal:focus,html[data-netbox-color-mode=light] .btn-outline-teal:active:focus,html[data-netbox-color-mode=light] .btn-outline-teal.active:focus,html[data-netbox-color-mode=light] .btn-outline-teal.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #20c99780}html .btn-outline-teal:disabled,html .btn-outline-teal.disabled,html[data-netbox-color-mode=dark] .btn-outline-teal:disabled,html[data-netbox-color-mode=dark] .btn-outline-teal.disabled,html[data-netbox-color-mode=light] .btn-outline-teal:disabled,html[data-netbox-color-mode=light] .btn-outline-teal.disabled{color:#20c997;background-color:transparent}}@media print{html .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=light] .btn-outline-cyan{color:#0dcaf0;border-color:#0dcaf0}html .btn-outline-cyan:hover,html[data-netbox-color-mode=dark] .btn-outline-cyan:hover,html[data-netbox-color-mode=light] .btn-outline-cyan:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+html .btn-outline-cyan,html .btn-outline-cyan:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-cyan,html[data-netbox-color-mode=light] .btn-outline-cyan:focus{box-shadow:0 0 0 .25rem #0dcaf080}.btn-check:checked+html .btn-outline-cyan,.btn-check:active+html .btn-outline-cyan,html .btn-outline-cyan:active,html .btn-outline-cyan.active,html .btn-outline-cyan.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-cyan,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan:active,html[data-netbox-color-mode=dark] .btn-outline-cyan.active,html[data-netbox-color-mode=dark] .btn-outline-cyan.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-cyan,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-cyan,html[data-netbox-color-mode=light] .btn-outline-cyan:active,html[data-netbox-color-mode=light] .btn-outline-cyan.active,html[data-netbox-color-mode=light] .btn-outline-cyan.dropdown-toggle.show{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+html .btn-outline-cyan:focus,.btn-check:active+html .btn-outline-cyan:focus,html .btn-outline-cyan:active:focus,html .btn-outline-cyan.active:focus,html .btn-outline-cyan.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan:active:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan.active:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-cyan:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-cyan:focus,html[data-netbox-color-mode=light] .btn-outline-cyan:active:focus,html[data-netbox-color-mode=light] .btn-outline-cyan.active:focus,html[data-netbox-color-mode=light] .btn-outline-cyan.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #0dcaf080}html .btn-outline-cyan:disabled,html .btn-outline-cyan.disabled,html[data-netbox-color-mode=dark] .btn-outline-cyan:disabled,html[data-netbox-color-mode=dark] .btn-outline-cyan.disabled,html[data-netbox-color-mode=light] .btn-outline-cyan:disabled,html[data-netbox-color-mode=light] .btn-outline-cyan.disabled{color:#0dcaf0;background-color:transparent}}@media print{html .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=light] .btn-outline-gray{color:#adb5bd;border-color:#adb5bd}html .btn-outline-gray:hover,html[data-netbox-color-mode=dark] .btn-outline-gray:hover,html[data-netbox-color-mode=light] .btn-outline-gray:hover{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:focus+html .btn-outline-gray,html .btn-outline-gray:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-gray,html[data-netbox-color-mode=light] .btn-outline-gray:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-check:checked+html .btn-outline-gray,.btn-check:active+html .btn-outline-gray,html .btn-outline-gray:active,html .btn-outline-gray.active,html .btn-outline-gray.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-gray,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray:active,html[data-netbox-color-mode=dark] .btn-outline-gray.active,html[data-netbox-color-mode=dark] .btn-outline-gray.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-gray,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-gray,html[data-netbox-color-mode=light] .btn-outline-gray:active,html[data-netbox-color-mode=light] .btn-outline-gray.active,html[data-netbox-color-mode=light] .btn-outline-gray.dropdown-toggle.show{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:checked+html .btn-outline-gray:focus,.btn-check:active+html .btn-outline-gray:focus,html .btn-outline-gray:active:focus,html .btn-outline-gray.active:focus,html .btn-outline-gray.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-gray:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-gray:focus,html[data-netbox-color-mode=dark] .btn-outline-gray:active:focus,html[data-netbox-color-mode=dark] .btn-outline-gray.active:focus,html[data-netbox-color-mode=dark] .btn-outline-gray.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-gray:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-gray:focus,html[data-netbox-color-mode=light] .btn-outline-gray:active:focus,html[data-netbox-color-mode=light] .btn-outline-gray.active:focus,html[data-netbox-color-mode=light] .btn-outline-gray.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #adb5bd80}html .btn-outline-gray:disabled,html .btn-outline-gray.disabled,html[data-netbox-color-mode=dark] .btn-outline-gray:disabled,html[data-netbox-color-mode=dark] .btn-outline-gray.disabled,html[data-netbox-color-mode=light] .btn-outline-gray:disabled,html[data-netbox-color-mode=light] .btn-outline-gray.disabled{color:#adb5bd;background-color:transparent}}@media print{html .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=light] .btn-outline-black{color:#000;border-color:#000}html .btn-outline-black:hover,html[data-netbox-color-mode=dark] .btn-outline-black:hover,html[data-netbox-color-mode=light] .btn-outline-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+html .btn-outline-black,html .btn-outline-black:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-black,html[data-netbox-color-mode=light] .btn-outline-black:focus{box-shadow:0 0 0 .25rem #00000080}.btn-check:checked+html .btn-outline-black,.btn-check:active+html .btn-outline-black,html .btn-outline-black:active,html .btn-outline-black.active,html .btn-outline-black.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-black,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black:active,html[data-netbox-color-mode=dark] .btn-outline-black.active,html[data-netbox-color-mode=dark] .btn-outline-black.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-black,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-black,html[data-netbox-color-mode=light] .btn-outline-black:active,html[data-netbox-color-mode=light] .btn-outline-black.active,html[data-netbox-color-mode=light] .btn-outline-black.dropdown-toggle.show{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+html .btn-outline-black:focus,.btn-check:active+html .btn-outline-black:focus,html .btn-outline-black:active:focus,html .btn-outline-black.active:focus,html .btn-outline-black.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-black:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-black:focus,html[data-netbox-color-mode=dark] .btn-outline-black:active:focus,html[data-netbox-color-mode=dark] .btn-outline-black.active:focus,html[data-netbox-color-mode=dark] .btn-outline-black.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-black:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-black:focus,html[data-netbox-color-mode=light] .btn-outline-black:active:focus,html[data-netbox-color-mode=light] .btn-outline-black.active:focus,html[data-netbox-color-mode=light] .btn-outline-black.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #00000080}html .btn-outline-black:disabled,html .btn-outline-black.disabled,html[data-netbox-color-mode=dark] .btn-outline-black:disabled,html[data-netbox-color-mode=dark] .btn-outline-black.disabled,html[data-netbox-color-mode=light] .btn-outline-black:disabled,html[data-netbox-color-mode=light] .btn-outline-black.disabled{color:#000;background-color:transparent}}@media print{html .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=light] .btn-outline-white{color:#fff;border-color:#fff}html .btn-outline-white:hover,html[data-netbox-color-mode=dark] .btn-outline-white:hover,html[data-netbox-color-mode=light] .btn-outline-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+html .btn-outline-white,html .btn-outline-white:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-white,html[data-netbox-color-mode=light] .btn-outline-white:focus{box-shadow:0 0 0 .25rem #ffffff80}.btn-check:checked+html .btn-outline-white,.btn-check:active+html .btn-outline-white,html .btn-outline-white:active,html .btn-outline-white.active,html .btn-outline-white.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-white,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white:active,html[data-netbox-color-mode=dark] .btn-outline-white.active,html[data-netbox-color-mode=dark] .btn-outline-white.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-white,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-white,html[data-netbox-color-mode=light] .btn-outline-white:active,html[data-netbox-color-mode=light] .btn-outline-white.active,html[data-netbox-color-mode=light] .btn-outline-white.dropdown-toggle.show{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+html .btn-outline-white:focus,.btn-check:active+html .btn-outline-white:focus,html .btn-outline-white:active:focus,html .btn-outline-white.active:focus,html .btn-outline-white.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-white:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-white:focus,html[data-netbox-color-mode=dark] .btn-outline-white:active:focus,html[data-netbox-color-mode=dark] .btn-outline-white.active:focus,html[data-netbox-color-mode=dark] .btn-outline-white.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-white:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-white:focus,html[data-netbox-color-mode=light] .btn-outline-white:active:focus,html[data-netbox-color-mode=light] .btn-outline-white.active:focus,html[data-netbox-color-mode=light] .btn-outline-white.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffffff80}html .btn-outline-white:disabled,html .btn-outline-white.disabled,html[data-netbox-color-mode=dark] .btn-outline-white:disabled,html[data-netbox-color-mode=dark] .btn-outline-white.disabled,html[data-netbox-color-mode=light] .btn-outline-white:disabled,html[data-netbox-color-mode=light] .btn-outline-white.disabled{color:#fff;background-color:transparent}}@media print{html .btn-link,html[data-netbox-color-mode=dark] .btn-link,html[data-netbox-color-mode=light] .btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}html .btn-link:hover,html[data-netbox-color-mode=dark] .btn-link:hover,html[data-netbox-color-mode=light] .btn-link:hover{color:#0a58ca}html .btn-link:disabled,html .btn-link.disabled,html[data-netbox-color-mode=dark] .btn-link:disabled,html[data-netbox-color-mode=dark] .btn-link.disabled,html[data-netbox-color-mode=light] .btn-link:disabled,html[data-netbox-color-mode=light] .btn-link.disabled{color:#6c757d}}@media print{html .btn-lg,html .btn-group-lg>.btn,html[data-netbox-color-mode=dark] .btn-lg,html[data-netbox-color-mode=light] .btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}}@media print{html .btn-sm,html .btn-group-sm>.btn,html[data-netbox-color-mode=dark] .btn-sm,html[data-netbox-color-mode=light] .btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}}@media print{html .fade,html[data-netbox-color-mode=dark] .fade,html[data-netbox-color-mode=light] .fade{transition:opacity .15s linear}}@media print and (prefers-reduced-motion: reduce){html .fade,html[data-netbox-color-mode=dark] .fade,html[data-netbox-color-mode=light] .fade{transition:none}}@media print{html .fade:not(.show),html[data-netbox-color-mode=dark] .fade:not(.show),html[data-netbox-color-mode=light] .fade:not(.show){opacity:0}}@media print{html .collapse:not(.show),html[data-netbox-color-mode=dark] .collapse:not(.show),html[data-netbox-color-mode=light] .collapse:not(.show){display:none}}@media print{html .collapsing,html[data-netbox-color-mode=dark] .collapsing,html[data-netbox-color-mode=light] .collapsing{height:0;overflow:hidden;transition:height .35s ease}}@media print and (prefers-reduced-motion: reduce){html .collapsing,html[data-netbox-color-mode=dark] .collapsing,html[data-netbox-color-mode=light] .collapsing{transition:none}}@media print{html .dropup,html .dropend,html .dropdown,html .dropstart,html[data-netbox-color-mode=dark] .dropup,html[data-netbox-color-mode=dark] .dropend,html[data-netbox-color-mode=dark] .dropdown,html[data-netbox-color-mode=dark] .dropstart,html[data-netbox-color-mode=light] .dropup,html[data-netbox-color-mode=light] .dropend,html[data-netbox-color-mode=light] .dropdown,html[data-netbox-color-mode=light] .dropstart{position:relative}}@media print{html .dropdown-toggle,html[data-netbox-color-mode=dark] .dropdown-toggle,html[data-netbox-color-mode=light] .dropdown-toggle{white-space:nowrap}html .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}html .dropdown-toggle:empty:after,html[data-netbox-color-mode=dark] .dropdown-toggle:empty:after,html[data-netbox-color-mode=light] .dropdown-toggle:empty:after{margin-left:0}}@media print{html .dropdown-menu,html[data-netbox-color-mode=dark] .dropdown-menu,html[data-netbox-color-mode=light] .dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.375rem}html .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}}@media print{html .dropdown-menu-start,html[data-netbox-color-mode=dark] .dropdown-menu-start,html[data-netbox-color-mode=light] .dropdown-menu-start{--bs-position: start}html .dropdown-menu-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-start[data-bs-popper]{right:auto;left:0}}@media print{html .dropdown-menu-end,html[data-netbox-color-mode=dark] .dropdown-menu-end,html[data-netbox-color-mode=light] .dropdown-menu-end{--bs-position: end}html .dropdown-menu-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 576px){html .dropdown-menu-sm-start,html[data-netbox-color-mode=dark] .dropdown-menu-sm-start,html[data-netbox-color-mode=light] .dropdown-menu-sm-start{--bs-position: start}html .dropdown-menu-sm-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-sm-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-sm-end,html[data-netbox-color-mode=dark] .dropdown-menu-sm-end,html[data-netbox-color-mode=light] .dropdown-menu-sm-end{--bs-position: end}html .dropdown-menu-sm-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-sm-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 768px){html .dropdown-menu-md-start,html[data-netbox-color-mode=dark] .dropdown-menu-md-start,html[data-netbox-color-mode=light] .dropdown-menu-md-start{--bs-position: start}html .dropdown-menu-md-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-md-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-md-end,html[data-netbox-color-mode=dark] .dropdown-menu-md-end,html[data-netbox-color-mode=light] .dropdown-menu-md-end{--bs-position: end}html .dropdown-menu-md-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-md-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 992px){html .dropdown-menu-lg-start,html[data-netbox-color-mode=dark] .dropdown-menu-lg-start,html[data-netbox-color-mode=light] .dropdown-menu-lg-start{--bs-position: start}html .dropdown-menu-lg-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-lg-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-lg-end,html[data-netbox-color-mode=dark] .dropdown-menu-lg-end,html[data-netbox-color-mode=light] .dropdown-menu-lg-end{--bs-position: end}html .dropdown-menu-lg-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-lg-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 1200px){html .dropdown-menu-xl-start,html[data-netbox-color-mode=dark] .dropdown-menu-xl-start,html[data-netbox-color-mode=light] .dropdown-menu-xl-start{--bs-position: start}html .dropdown-menu-xl-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-xl-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-xl-end,html[data-netbox-color-mode=dark] .dropdown-menu-xl-end,html[data-netbox-color-mode=light] .dropdown-menu-xl-end{--bs-position: end}html .dropdown-menu-xl-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-xl-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 1400px){html .dropdown-menu-xxl-start,html[data-netbox-color-mode=dark] .dropdown-menu-xxl-start,html[data-netbox-color-mode=light] .dropdown-menu-xxl-start{--bs-position: start}html .dropdown-menu-xxl-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-xxl-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-xxl-end,html[data-netbox-color-mode=dark] .dropdown-menu-xxl-end,html[data-netbox-color-mode=light] .dropdown-menu-xxl-end{--bs-position: end}html .dropdown-menu-xxl-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-xxl-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}@media print{html .dropup .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=dark] .dropup .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=light] .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}html .dropup .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropup .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}html .dropup .dropdown-toggle:empty:after,html[data-netbox-color-mode=dark] .dropup .dropdown-toggle:empty:after,html[data-netbox-color-mode=light] .dropup .dropdown-toggle:empty:after{margin-left:0}}@media print{html .dropend .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=dark] .dropend .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=light] .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}html .dropend .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}html .dropend .dropdown-toggle:empty:after,html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:empty:after,html[data-netbox-color-mode=light] .dropend .dropdown-toggle:empty:after{margin-left:0}html .dropend .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropend .dropdown-toggle:after{vertical-align:0}}@media print{html .dropstart .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=dark] .dropstart .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=light] .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}html .dropstart .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}html .dropstart .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:after{display:none}html .dropstart .dropdown-toggle:before,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:before,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}html .dropstart .dropdown-toggle:empty:after,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:empty:after,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:empty:after{margin-left:0}html .dropstart .dropdown-toggle:before,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:before,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:before{vertical-align:0}}@media print{html .dropdown-divider,html[data-netbox-color-mode=dark] .dropdown-divider,html[data-netbox-color-mode=light] .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}}@media print{html .dropdown-item,html[data-netbox-color-mode=dark] .dropdown-item,html[data-netbox-color-mode=light] .dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}html .dropdown-item:hover,html .dropdown-item:focus,html[data-netbox-color-mode=dark] .dropdown-item:hover,html[data-netbox-color-mode=dark] .dropdown-item:focus,html[data-netbox-color-mode=light] .dropdown-item:hover,html[data-netbox-color-mode=light] .dropdown-item:focus{color:#1e2125;background-color:#e9ecef}html .dropdown-item.active,html .dropdown-item:active,html[data-netbox-color-mode=dark] .dropdown-item.active,html[data-netbox-color-mode=dark] .dropdown-item:active,html[data-netbox-color-mode=light] .dropdown-item.active,html[data-netbox-color-mode=light] .dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}html .dropdown-item.disabled,html .dropdown-item:disabled,html[data-netbox-color-mode=dark] .dropdown-item.disabled,html[data-netbox-color-mode=dark] .dropdown-item:disabled,html[data-netbox-color-mode=light] .dropdown-item.disabled,html[data-netbox-color-mode=light] .dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}}@media print{html .dropdown-menu.show,html[data-netbox-color-mode=dark] .dropdown-menu.show,html[data-netbox-color-mode=light] .dropdown-menu.show{display:block}}@media print{html .dropdown-header,html[data-netbox-color-mode=dark] .dropdown-header,html[data-netbox-color-mode=light] .dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}}@media print{html .dropdown-item-text,html[data-netbox-color-mode=dark] .dropdown-item-text,html[data-netbox-color-mode=light] .dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}}@media print{html .dropdown-menu-dark,html[data-netbox-color-mode=dark] .dropdown-menu-dark,html[data-netbox-color-mode=light] .dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:#00000026}html .dropdown-menu-dark .dropdown-item,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item{color:#dee2e6}html .dropdown-menu-dark .dropdown-item:hover,html .dropdown-menu-dark .dropdown-item:focus,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:hover,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:focus,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item:hover,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:#ffffff26}html .dropdown-menu-dark .dropdown-item.active,html .dropdown-menu-dark .dropdown-item:active,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item.active,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:active,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item.active,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}html .dropdown-menu-dark .dropdown-item.disabled,html .dropdown-menu-dark .dropdown-item:disabled,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item.disabled,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:disabled,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item.disabled,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}html .dropdown-menu-dark .dropdown-divider,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-divider,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-divider{border-color:#00000026}html .dropdown-menu-dark .dropdown-item-text,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item-text,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item-text{color:#dee2e6}html .dropdown-menu-dark .dropdown-header,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-header,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-header{color:#adb5bd}}@media print{html .btn-group,html .btn-group-vertical,html[data-netbox-color-mode=dark] .btn-group,html[data-netbox-color-mode=dark] .btn-group-vertical,html[data-netbox-color-mode=light] .btn-group,html[data-netbox-color-mode=light] .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}html .btn-group>.btn,html .btn-group-vertical>.btn,html[data-netbox-color-mode=dark] .btn-group>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn,html[data-netbox-color-mode=light] .btn-group>.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn{position:relative;flex:1 1 auto}html .btn-group>.btn-check:checked+.btn,html .btn-group>.btn-check:focus+.btn,html .btn-group>.btn:hover,html .btn-group>.btn:focus,html .btn-group>.btn:active,html .btn-group>.btn.active,html .btn-group-vertical>.btn-check:checked+.btn,html .btn-group-vertical>.btn-check:focus+.btn,html .btn-group-vertical>.btn:hover,html .btn-group-vertical>.btn:focus,html .btn-group-vertical>.btn:active,html .btn-group-vertical>.btn.active,html[data-netbox-color-mode=dark] .btn-group>.btn-check:checked+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn-check:focus+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn:hover,html[data-netbox-color-mode=dark] .btn-group>.btn:focus,html[data-netbox-color-mode=dark] .btn-group>.btn:active,html[data-netbox-color-mode=dark] .btn-group>.btn.active,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-check:checked+.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-check:focus+.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:hover,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:focus,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:active,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn.active,html[data-netbox-color-mode=light] .btn-group>.btn-check:checked+.btn,html[data-netbox-color-mode=light] .btn-group>.btn-check:focus+.btn,html[data-netbox-color-mode=light] .btn-group>.btn:hover,html[data-netbox-color-mode=light] .btn-group>.btn:focus,html[data-netbox-color-mode=light] .btn-group>.btn:active,html[data-netbox-color-mode=light] .btn-group>.btn.active,html[data-netbox-color-mode=light] .btn-group-vertical>.btn-check:checked+.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn-check:focus+.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn:hover,html[data-netbox-color-mode=light] .btn-group-vertical>.btn:focus,html[data-netbox-color-mode=light] .btn-group-vertical>.btn:active,html[data-netbox-color-mode=light] .btn-group-vertical>.btn.active{z-index:1}}@media print{html .btn-toolbar,html[data-netbox-color-mode=dark] .btn-toolbar,html[data-netbox-color-mode=light] .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}html .btn-toolbar .input-group,html[data-netbox-color-mode=dark] .btn-toolbar .input-group,html[data-netbox-color-mode=light] .btn-toolbar .input-group{width:auto}}@media print{html .btn-group>.btn:not(:first-child),html .btn-group>.btn-group:not(:first-child),html[data-netbox-color-mode=dark] .btn-group>.btn:not(:first-child),html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:first-child),html[data-netbox-color-mode=light] .btn-group>.btn:not(:first-child),html[data-netbox-color-mode=light] .btn-group>.btn-group:not(:first-child){margin-left:-1px}html .btn-group>.btn:not(:last-child):not(.dropdown-toggle),html .btn-group>.btn-group:not(:last-child)>.btn,html[data-netbox-color-mode=dark] .btn-group>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:last-child)>.btn,html[data-netbox-color-mode=light] .btn-group>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=light] .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}html .btn-group>.btn:nth-child(n+3),html .btn-group>:not(.btn-check)+.btn,html .btn-group>.btn-group:not(:first-child)>.btn,html[data-netbox-color-mode=dark] .btn-group>.btn:nth-child(n+3),html[data-netbox-color-mode=dark] .btn-group>:not(.btn-check)+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:first-child)>.btn,html[data-netbox-color-mode=light] .btn-group>.btn:nth-child(n+3),html[data-netbox-color-mode=light] .btn-group>:not(.btn-check)+.btn,html[data-netbox-color-mode=light] .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}}@media print{html .dropdown-toggle-split,html[data-netbox-color-mode=dark] .dropdown-toggle-split,html[data-netbox-color-mode=light] .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}html .dropdown-toggle-split:after,.dropup html .dropdown-toggle-split:after,.dropend html .dropdown-toggle-split:after,html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,.dropup html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,.dropend html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,html[data-netbox-color-mode=light] .dropdown-toggle-split:after,.dropup html[data-netbox-color-mode=light] .dropdown-toggle-split:after,.dropend html[data-netbox-color-mode=light] .dropdown-toggle-split:after{margin-left:0}.dropstart html .dropdown-toggle-split:before,.dropstart html[data-netbox-color-mode=dark] .dropdown-toggle-split:before,.dropstart html[data-netbox-color-mode=light] .dropdown-toggle-split:before{margin-right:0}}@media print{html .btn-sm+.dropdown-toggle-split,html .btn-group-sm>.btn+.dropdown-toggle-split,html[data-netbox-color-mode=dark] .btn-sm+.dropdown-toggle-split,html[data-netbox-color-mode=light] .btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}}@media print{html .btn-lg+.dropdown-toggle-split,html .btn-group-lg>.btn+.dropdown-toggle-split,html[data-netbox-color-mode=dark] .btn-lg+.dropdown-toggle-split,html[data-netbox-color-mode=light] .btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}}@media print{html .btn-group-vertical,html[data-netbox-color-mode=dark] .btn-group-vertical,html[data-netbox-color-mode=light] .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}html .btn-group-vertical>.btn,html .btn-group-vertical>.btn-group,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group,html[data-netbox-color-mode=light] .btn-group-vertical>.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn-group{width:100%}html .btn-group-vertical>.btn:not(:first-child),html .btn-group-vertical>.btn-group:not(:first-child),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:not(:first-child),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:first-child),html[data-netbox-color-mode=light] .btn-group-vertical>.btn:not(:first-child),html[data-netbox-color-mode=light] .btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}html .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),html .btn-group-vertical>.btn-group:not(:last-child)>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:last-child)>.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=light] .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}html .btn-group-vertical>.btn~.btn,html .btn-group-vertical>.btn-group:not(:first-child)>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn~.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:first-child)>.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn~.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}}@media print{html .nav,html[data-netbox-color-mode=dark] .nav,html[data-netbox-color-mode=light] .nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}}@media print{html .nav-link,html[data-netbox-color-mode=dark] .nav-link,html[data-netbox-color-mode=light] .nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .nav-link,html[data-netbox-color-mode=dark] .nav-link,html[data-netbox-color-mode=light] .nav-link{transition:none}}@media print{html .nav-link:hover,html .nav-link:focus,html[data-netbox-color-mode=dark] .nav-link:hover,html[data-netbox-color-mode=dark] .nav-link:focus,html[data-netbox-color-mode=light] .nav-link:hover,html[data-netbox-color-mode=light] .nav-link:focus{color:#0a58ca}}@media print{html .nav-link.disabled,html[data-netbox-color-mode=dark] .nav-link.disabled,html[data-netbox-color-mode=light] .nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}}@media print{html .nav-tabs,html[data-netbox-color-mode=dark] .nav-tabs,html[data-netbox-color-mode=light] .nav-tabs{border-bottom:1px solid #dee2e6}html .nav-tabs .nav-link,html[data-netbox-color-mode=dark] .nav-tabs .nav-link,html[data-netbox-color-mode=light] .nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.375rem;border-top-right-radius:.375rem}html .nav-tabs .nav-link:hover,html .nav-tabs .nav-link:focus,html[data-netbox-color-mode=dark] .nav-tabs .nav-link:hover,html[data-netbox-color-mode=dark] .nav-tabs .nav-link:focus,html[data-netbox-color-mode=light] .nav-tabs .nav-link:hover,html[data-netbox-color-mode=light] .nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}html .nav-tabs .nav-link.disabled,html[data-netbox-color-mode=dark] .nav-tabs .nav-link.disabled,html[data-netbox-color-mode=light] .nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}html .nav-tabs .nav-link.active,html .nav-tabs .nav-item.show .nav-link,html[data-netbox-color-mode=dark] .nav-tabs .nav-link.active,html[data-netbox-color-mode=dark] .nav-tabs .nav-item.show .nav-link,html[data-netbox-color-mode=light] .nav-tabs .nav-link.active,html[data-netbox-color-mode=light] .nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}html .nav-tabs .dropdown-menu,html[data-netbox-color-mode=dark] .nav-tabs .dropdown-menu,html[data-netbox-color-mode=light] .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}}@media print{html .nav-pills .nav-link,html[data-netbox-color-mode=dark] .nav-pills .nav-link,html[data-netbox-color-mode=light] .nav-pills .nav-link{background:none;border:0;border-radius:.375rem}html .nav-pills .nav-link.active,html .nav-pills .show>.nav-link,html[data-netbox-color-mode=dark] .nav-pills .nav-link.active,html[data-netbox-color-mode=dark] .nav-pills .show>.nav-link,html[data-netbox-color-mode=light] .nav-pills .nav-link.active,html[data-netbox-color-mode=light] .nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}}@media print{html .nav-fill>.nav-link,html .nav-fill .nav-item,html[data-netbox-color-mode=dark] .nav-fill>.nav-link,html[data-netbox-color-mode=dark] .nav-fill .nav-item,html[data-netbox-color-mode=light] .nav-fill>.nav-link,html[data-netbox-color-mode=light] .nav-fill .nav-item{flex:1 1 auto;text-align:center}}@media print{html .nav-justified>.nav-link,html .nav-justified .nav-item,html[data-netbox-color-mode=dark] .nav-justified>.nav-link,html[data-netbox-color-mode=dark] .nav-justified .nav-item,html[data-netbox-color-mode=light] .nav-justified>.nav-link,html[data-netbox-color-mode=light] .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}}@media print{html .nav-fill .nav-item .nav-link,html .nav-justified .nav-item .nav-link,html[data-netbox-color-mode=dark] .nav-fill .nav-item .nav-link,html[data-netbox-color-mode=dark] .nav-justified .nav-item .nav-link,html[data-netbox-color-mode=light] .nav-fill .nav-item .nav-link,html[data-netbox-color-mode=light] .nav-justified .nav-item .nav-link{width:100%}}@media print{html .tab-content>.tab-pane,html[data-netbox-color-mode=dark] .tab-content>.tab-pane,html[data-netbox-color-mode=light] .tab-content>.tab-pane{display:none}html .tab-content>.active,html[data-netbox-color-mode=dark] .tab-content>.active,html[data-netbox-color-mode=light] .tab-content>.active{display:block}}@media print{html .navbar,html[data-netbox-color-mode=dark] .navbar,html[data-netbox-color-mode=light] .navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}html[data-netbox-color-mode=dark] .navbar>.container-xxl,html[data-netbox-color-mode=light] .navbar>.container-xxl,html[data-netbox-color-mode=dark] .navbar>.container-xl,html[data-netbox-color-mode=light] .navbar>.container-xl,html[data-netbox-color-mode=dark] .navbar>.container-lg,html[data-netbox-color-mode=light] .navbar>.container-lg,html[data-netbox-color-mode=dark] .navbar>.container-md,html[data-netbox-color-mode=light] .navbar>.container-md,html[data-netbox-color-mode=dark] .navbar>.container-sm,html[data-netbox-color-mode=light] .navbar>.container-sm,html .navbar>.container,html .navbar>.container-fluid,html .navbar>.container-sm,html .navbar>.container-md,html .navbar>.container-lg,html .navbar>.container-xl,html .navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}}@media print{html .navbar-brand,html[data-netbox-color-mode=dark] .navbar-brand,html[data-netbox-color-mode=light] .navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}}@media print{html .navbar-nav,html[data-netbox-color-mode=dark] .navbar-nav,html[data-netbox-color-mode=light] .navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}html .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-nav .nav-link{padding-right:0;padding-left:0}html .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-nav .dropdown-menu{position:static}}@media print{html .navbar-text,html[data-netbox-color-mode=dark] .navbar-text,html[data-netbox-color-mode=light] .navbar-text{padding-top:.5rem;padding-bottom:.5rem}}@media print{html .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-collapse,html[data-netbox-color-mode=light] .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}}@media print{html .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-toggler,html[data-netbox-color-mode=light] .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.375rem;transition:box-shadow .15s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-toggler,html[data-netbox-color-mode=light] .navbar-toggler{transition:none}}@media print{html .navbar-toggler:hover,html[data-netbox-color-mode=dark] .navbar-toggler:hover,html[data-netbox-color-mode=light] .navbar-toggler:hover{text-decoration:none}}@media print{html .navbar-toggler:focus,html[data-netbox-color-mode=dark] .navbar-toggler:focus,html[data-netbox-color-mode=light] .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}}@media print{html .navbar-toggler-icon,html[data-netbox-color-mode=dark] .navbar-toggler-icon,html[data-netbox-color-mode=light] .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}}@media print{html .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}}@media print and (min-width: 576px){html .navbar-expand-sm,html[data-netbox-color-mode=dark] .navbar-expand-sm,html[data-netbox-color-mode=light] .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-sm .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-nav{flex-direction:row}html .navbar-expand-sm .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-sm .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-sm .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-nav-scroll{overflow:visible}html .navbar-expand-sm .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-sm .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-toggler{display:none}}@media print and (min-width: 768px){html .navbar-expand-md,html[data-netbox-color-mode=dark] .navbar-expand-md,html[data-netbox-color-mode=light] .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-md .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-nav{flex-direction:row}html .navbar-expand-md .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-md .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-md .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-nav-scroll{overflow:visible}html .navbar-expand-md .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-md .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-toggler{display:none}}@media print and (min-width: 992px){html .navbar-expand-lg,html[data-netbox-color-mode=dark] .navbar-expand-lg,html[data-netbox-color-mode=light] .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-lg .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-nav{flex-direction:row}html .navbar-expand-lg .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-lg .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-lg .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-nav-scroll{overflow:visible}html .navbar-expand-lg .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-lg .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-toggler{display:none}}@media print and (min-width: 1200px){html .navbar-expand-xl,html[data-netbox-color-mode=dark] .navbar-expand-xl,html[data-netbox-color-mode=light] .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-xl .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-nav{flex-direction:row}html .navbar-expand-xl .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-xl .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-xl .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-nav-scroll{overflow:visible}html .navbar-expand-xl .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-xl .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-toggler{display:none}}@media print and (min-width: 1400px){html .navbar-expand-xxl,html[data-netbox-color-mode=dark] .navbar-expand-xxl,html[data-netbox-color-mode=light] .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-xxl .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-nav{flex-direction:row}html .navbar-expand-xxl .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-xxl .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-xxl .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}html .navbar-expand-xxl .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-xxl .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-toggler{display:none}}@media print{html .navbar-expand,html[data-netbox-color-mode=dark] .navbar-expand,html[data-netbox-color-mode=light] .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand .navbar-nav{flex-direction:row}html .navbar-expand .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand .navbar-nav-scroll{overflow:visible}html .navbar-expand .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand .navbar-toggler{display:none}}@media print{html .navbar-light .navbar-brand,html[data-netbox-color-mode=dark] .navbar-light .navbar-brand,html[data-netbox-color-mode=light] .navbar-light .navbar-brand{color:#000000e6}html .navbar-light .navbar-brand:hover,html .navbar-light .navbar-brand:focus,html[data-netbox-color-mode=dark] .navbar-light .navbar-brand:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-brand:focus,html[data-netbox-color-mode=light] .navbar-light .navbar-brand:hover,html[data-netbox-color-mode=light] .navbar-light .navbar-brand:focus{color:#000000e6}html .navbar-light .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link{color:#0000008c}html .navbar-light .navbar-nav .nav-link:hover,html .navbar-light .navbar-nav .nav-link:focus,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link:focus,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link:hover,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link:focus{color:#000000b3}html .navbar-light .navbar-nav .nav-link.disabled,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link.disabled,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}html .navbar-light .navbar-nav .show>.nav-link,html .navbar-light .navbar-nav .nav-link.active,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .show>.nav-link,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link.active,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .show>.nav-link,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link.active{color:#000000e6}html .navbar-light .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-light .navbar-toggler,html[data-netbox-color-mode=light] .navbar-light .navbar-toggler{color:#0000008c;border-color:#0000001a}html .navbar-light .navbar-toggler-icon,html[data-netbox-color-mode=dark] .navbar-light .navbar-toggler-icon,html[data-netbox-color-mode=light] .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html .navbar-light .navbar-text,html[data-netbox-color-mode=dark] .navbar-light .navbar-text,html[data-netbox-color-mode=light] .navbar-light .navbar-text{color:#0000008c}html .navbar-light .navbar-text a,html .navbar-light .navbar-text a:hover,html .navbar-light .navbar-text a:focus,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a:focus,html[data-netbox-color-mode=light] .navbar-light .navbar-text a,html[data-netbox-color-mode=light] .navbar-light .navbar-text a:hover,html[data-netbox-color-mode=light] .navbar-light .navbar-text a:focus{color:#000000e6}}@media print{html .navbar-dark .navbar-brand,html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand,html[data-netbox-color-mode=light] .navbar-dark .navbar-brand{color:#fff}html .navbar-dark .navbar-brand:hover,html .navbar-dark .navbar-brand:focus,html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand:focus,html[data-netbox-color-mode=light] .navbar-dark .navbar-brand:hover,html[data-netbox-color-mode=light] .navbar-dark .navbar-brand:focus{color:#fff}html .navbar-dark .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link{color:#ffffff8c}html .navbar-dark .navbar-nav .nav-link:hover,html .navbar-dark .navbar-nav .nav-link:focus,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link:focus,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link:hover,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link:focus{color:#ffffffbf}html .navbar-dark .navbar-nav .nav-link.disabled,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link.disabled,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}html .navbar-dark .navbar-nav .show>.nav-link,html .navbar-dark .navbar-nav .nav-link.active,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .show>.nav-link,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link.active,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .show>.nav-link,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link.active{color:#fff}html .navbar-dark .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-dark .navbar-toggler,html[data-netbox-color-mode=light] .navbar-dark .navbar-toggler{color:#ffffff8c;border-color:#ffffff1a}html .navbar-dark .navbar-toggler-icon,html[data-netbox-color-mode=dark] .navbar-dark .navbar-toggler-icon,html[data-netbox-color-mode=light] .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html .navbar-dark .navbar-text,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text,html[data-netbox-color-mode=light] .navbar-dark .navbar-text{color:#ffffff8c}html .navbar-dark .navbar-text a,html .navbar-dark .navbar-text a:hover,html .navbar-dark .navbar-text a:focus,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a:focus,html[data-netbox-color-mode=light] .navbar-dark .navbar-text a,html[data-netbox-color-mode=light] .navbar-dark .navbar-text a:hover,html[data-netbox-color-mode=light] .navbar-dark .navbar-text a:focus{color:#fff}}@media print{html .card,html[data-netbox-color-mode=dark] .card,html[data-netbox-color-mode=light] .card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem}html .card>hr,html[data-netbox-color-mode=dark] .card>hr,html[data-netbox-color-mode=light] .card>hr{margin-right:0;margin-left:0}html .card>.list-group,html[data-netbox-color-mode=dark] .card>.list-group,html[data-netbox-color-mode=light] .card>.list-group{border-top:inherit;border-bottom:inherit}html .card>.list-group:first-child,html[data-netbox-color-mode=dark] .card>.list-group:first-child,html[data-netbox-color-mode=light] .card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html .card>.list-group:last-child,html[data-netbox-color-mode=dark] .card>.list-group:last-child,html[data-netbox-color-mode=light] .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html .card>.card-header+.list-group,html .card>.list-group+.card-footer,html[data-netbox-color-mode=dark] .card>.card-header+.list-group,html[data-netbox-color-mode=dark] .card>.list-group+.card-footer,html[data-netbox-color-mode=light] .card>.card-header+.list-group,html[data-netbox-color-mode=light] .card>.list-group+.card-footer{border-top:0}}@media print{html .card-body,html[data-netbox-color-mode=dark] .card-body,html[data-netbox-color-mode=light] .card-body{flex:1 1 auto;padding:1rem}}@media print{html .card-title,html[data-netbox-color-mode=dark] .card-title,html[data-netbox-color-mode=light] .card-title{margin-bottom:.5rem}}@media print{html .card-subtitle,html[data-netbox-color-mode=dark] .card-subtitle,html[data-netbox-color-mode=light] .card-subtitle{margin-top:-.25rem;margin-bottom:0}}@media print{html .card-text:last-child,html[data-netbox-color-mode=dark] .card-text:last-child,html[data-netbox-color-mode=light] .card-text:last-child{margin-bottom:0}}@media print{html .card-link:hover,html[data-netbox-color-mode=dark] .card-link:hover,html[data-netbox-color-mode=light] .card-link:hover{text-decoration:none}html .card-link+.card-link,html[data-netbox-color-mode=dark] .card-link+.card-link,html[data-netbox-color-mode=light] .card-link+.card-link{margin-left:1rem}}@media print{html .card-header,html[data-netbox-color-mode=dark] .card-header,html[data-netbox-color-mode=light] .card-header{padding:.5rem 1rem;margin-bottom:0;color:#343a40;background-color:"unset";border-bottom:1px solid rgba(0,0,0,.125)}html .card-header:first-child,html[data-netbox-color-mode=dark] .card-header:first-child,html[data-netbox-color-mode=light] .card-header:first-child{border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0}}@media print{html .card-footer,html[data-netbox-color-mode=dark] .card-footer,html[data-netbox-color-mode=light] .card-footer{padding:.5rem 1rem;color:#343a40;background-color:"unset";border-top:1px solid rgba(0,0,0,.125)}html .card-footer:last-child,html[data-netbox-color-mode=dark] .card-footer:last-child,html[data-netbox-color-mode=light] .card-footer:last-child{border-radius:0 0 calc(.375rem - 1px) calc(.375rem - 1px)}}@media print{html .card-header-tabs,html[data-netbox-color-mode=dark] .card-header-tabs,html[data-netbox-color-mode=light] .card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}}@media print{html .card-header-pills,html[data-netbox-color-mode=dark] .card-header-pills,html[data-netbox-color-mode=light] .card-header-pills{margin-right:-.5rem;margin-left:-.5rem}}@media print{html .card-img-overlay,html[data-netbox-color-mode=dark] .card-img-overlay,html[data-netbox-color-mode=light] .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.375rem - 1px)}}@media print{html .card-img,html .card-img-top,html .card-img-bottom,html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-top,html[data-netbox-color-mode=dark] .card-img-bottom,html[data-netbox-color-mode=light] .card-img,html[data-netbox-color-mode=light] .card-img-top,html[data-netbox-color-mode=light] .card-img-bottom{width:100%}}@media print{html .card-img,html .card-img-top,html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-top,html[data-netbox-color-mode=light] .card-img,html[data-netbox-color-mode=light] .card-img-top{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}}@media print{html .card-img,html .card-img-bottom,html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-bottom,html[data-netbox-color-mode=light] .card-img,html[data-netbox-color-mode=light] .card-img-bottom{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}}@media print{html .card-group>.card,html[data-netbox-color-mode=dark] .card-group>.card,html[data-netbox-color-mode=light] .card-group>.card{margin-bottom:.75rem}}@media print and (min-width: 576px){html .card-group,html[data-netbox-color-mode=dark] .card-group,html[data-netbox-color-mode=light] .card-group{display:flex;flex-flow:row wrap}html .card-group>.card,html[data-netbox-color-mode=dark] .card-group>.card,html[data-netbox-color-mode=light] .card-group>.card{flex:1 0 0%;margin-bottom:0}html .card-group>.card+.card,html[data-netbox-color-mode=dark] .card-group>.card+.card,html[data-netbox-color-mode=light] .card-group>.card+.card{margin-left:0;border-left:0}html .card-group>.card:not(:last-child),html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child),html[data-netbox-color-mode=light] .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}html .card-group>.card:not(:last-child) .card-img-top,html .card-group>.card:not(:last-child) .card-header,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-img-top,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-header,html[data-netbox-color-mode=light] .card-group>.card:not(:last-child) .card-img-top,html[data-netbox-color-mode=light] .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}html .card-group>.card:not(:last-child) .card-img-bottom,html .card-group>.card:not(:last-child) .card-footer,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-img-bottom,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-footer,html[data-netbox-color-mode=light] .card-group>.card:not(:last-child) .card-img-bottom,html[data-netbox-color-mode=light] .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}html .card-group>.card:not(:first-child),html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child),html[data-netbox-color-mode=light] .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}html .card-group>.card:not(:first-child) .card-img-top,html .card-group>.card:not(:first-child) .card-header,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-img-top,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-header,html[data-netbox-color-mode=light] .card-group>.card:not(:first-child) .card-img-top,html[data-netbox-color-mode=light] .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}html .card-group>.card:not(:first-child) .card-img-bottom,html .card-group>.card:not(:first-child) .card-footer,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-img-bottom,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-footer,html[data-netbox-color-mode=light] .card-group>.card:not(:first-child) .card-img-bottom,html[data-netbox-color-mode=light] .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}@media print{html .accordion-button,html[data-netbox-color-mode=dark] .accordion-button,html[data-netbox-color-mode=light] .accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:transparent;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}}@media print and (prefers-reduced-motion: reduce){html .accordion-button,html[data-netbox-color-mode=dark] .accordion-button,html[data-netbox-color-mode=light] .accordion-button{transition:none}}@media print{html .accordion-button:not(.collapsed),html[data-netbox-color-mode=dark] .accordion-button:not(.collapsed),html[data-netbox-color-mode=light] .accordion-button:not(.collapsed){color:#343a40;background-color:#cfe2ff;box-shadow:inset 0 -1px #dee2e6}html .accordion-button:not(.collapsed):after,html[data-netbox-color-mode=dark] .accordion-button:not(.collapsed):after,html[data-netbox-color-mode=light] .accordion-button:not(.collapsed):after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}}@media print{html .accordion-button:after,html[data-netbox-color-mode=dark] .accordion-button:after,html[data-netbox-color-mode=light] .accordion-button:after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .accordion-button:after,html[data-netbox-color-mode=dark] .accordion-button:after,html[data-netbox-color-mode=light] .accordion-button:after{transition:none}}@media print{html .accordion-button:hover,html[data-netbox-color-mode=dark] .accordion-button:hover,html[data-netbox-color-mode=light] .accordion-button:hover{z-index:2}}@media print{html .accordion-button:focus,html[data-netbox-color-mode=dark] .accordion-button:focus,html[data-netbox-color-mode=light] .accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .accordion-header,html[data-netbox-color-mode=dark] .accordion-header,html[data-netbox-color-mode=light] .accordion-header{margin-bottom:0}}@media print{html .accordion-item,html[data-netbox-color-mode=dark] .accordion-item,html[data-netbox-color-mode=light] .accordion-item{background-color:transparent;border:1px solid #dee2e6}html .accordion-item:first-of-type,html[data-netbox-color-mode=dark] .accordion-item:first-of-type,html[data-netbox-color-mode=light] .accordion-item:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}html .accordion-item:first-of-type .accordion-button,html[data-netbox-color-mode=dark] .accordion-item:first-of-type .accordion-button,html[data-netbox-color-mode=light] .accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html .accordion-item:not(:first-of-type),html[data-netbox-color-mode=dark] .accordion-item:not(:first-of-type),html[data-netbox-color-mode=light] .accordion-item:not(:first-of-type){border-top:0}html .accordion-item:last-of-type,html[data-netbox-color-mode=dark] .accordion-item:last-of-type,html[data-netbox-color-mode=light] .accordion-item:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html .accordion-item:last-of-type .accordion-button.collapsed,html[data-netbox-color-mode=dark] .accordion-item:last-of-type .accordion-button.collapsed,html[data-netbox-color-mode=light] .accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html .accordion-item:last-of-type .accordion-collapse,html[data-netbox-color-mode=dark] .accordion-item:last-of-type .accordion-collapse,html[data-netbox-color-mode=light] .accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}}@media print{html .accordion-body,html[data-netbox-color-mode=dark] .accordion-body,html[data-netbox-color-mode=light] .accordion-body{padding:1rem 1.25rem}}@media print{html .accordion-flush .accordion-collapse,html[data-netbox-color-mode=dark] .accordion-flush .accordion-collapse,html[data-netbox-color-mode=light] .accordion-flush .accordion-collapse{border-width:0}html .accordion-flush .accordion-item,html[data-netbox-color-mode=dark] .accordion-flush .accordion-item,html[data-netbox-color-mode=light] .accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}html .accordion-flush .accordion-item:first-child,html[data-netbox-color-mode=dark] .accordion-flush .accordion-item:first-child,html[data-netbox-color-mode=light] .accordion-flush .accordion-item:first-child{border-top:0}html .accordion-flush .accordion-item:last-child,html[data-netbox-color-mode=dark] .accordion-flush .accordion-item:last-child,html[data-netbox-color-mode=light] .accordion-flush .accordion-item:last-child{border-bottom:0}html .accordion-flush .accordion-item .accordion-button,html[data-netbox-color-mode=dark] .accordion-flush .accordion-item .accordion-button,html[data-netbox-color-mode=light] .accordion-flush .accordion-item .accordion-button{border-radius:0}}@media print{html .breadcrumb,html[data-netbox-color-mode=dark] .breadcrumb,html[data-netbox-color-mode=light] .breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:1rem;list-style:none}}@media print{html .breadcrumb-item+.breadcrumb-item,html[data-netbox-color-mode=dark] .breadcrumb-item+.breadcrumb-item,html[data-netbox-color-mode=light] .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}html .breadcrumb-item+.breadcrumb-item:before,html[data-netbox-color-mode=dark] .breadcrumb-item+.breadcrumb-item:before,html[data-netbox-color-mode=light] .breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='currentColor'/%3E%3C/svg%3E"))}html .breadcrumb-item.active,html[data-netbox-color-mode=dark] .breadcrumb-item.active,html[data-netbox-color-mode=light] .breadcrumb-item.active{color:#6c757d}}@media print{html .pagination,html[data-netbox-color-mode=dark] .pagination,html[data-netbox-color-mode=light] .pagination{display:flex;padding-left:0;list-style:none}}@media print{html .page-link,html[data-netbox-color-mode=dark] .page-link,html[data-netbox-color-mode=light] .page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;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 print and (prefers-reduced-motion: reduce){html .page-link,html[data-netbox-color-mode=dark] .page-link,html[data-netbox-color-mode=light] .page-link{transition:none}}@media print{html .page-link:hover,html[data-netbox-color-mode=dark] .page-link:hover,html[data-netbox-color-mode=light] .page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}}@media print{html .page-link:focus,html[data-netbox-color-mode=dark] .page-link:focus,html[data-netbox-color-mode=light] .page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .page-item:not(:first-child) .page-link,html[data-netbox-color-mode=dark] .page-item:not(:first-child) .page-link,html[data-netbox-color-mode=light] .page-item:not(:first-child) .page-link{margin-left:-1px}html .page-item.active .page-link,html[data-netbox-color-mode=dark] .page-item.active .page-link,html[data-netbox-color-mode=light] .page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}html .page-item.disabled .page-link,html[data-netbox-color-mode=dark] .page-item.disabled .page-link,html[data-netbox-color-mode=light] .page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}}@media print{html .page-link,html[data-netbox-color-mode=dark] .page-link,html[data-netbox-color-mode=light] .page-link{padding:.375rem .75rem}}@media print{html .page-item:first-child .page-link,html[data-netbox-color-mode=dark] .page-item:first-child .page-link,html[data-netbox-color-mode=light] .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}html .page-item:last-child .page-link,html[data-netbox-color-mode=dark] .page-item:last-child .page-link,html[data-netbox-color-mode=light] .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}}@media print{html .pagination-lg .page-link,html[data-netbox-color-mode=dark] .pagination-lg .page-link,html[data-netbox-color-mode=light] .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}html .pagination-lg .page-item:first-child .page-link,html[data-netbox-color-mode=dark] .pagination-lg .page-item:first-child .page-link,html[data-netbox-color-mode=light] .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}html .pagination-lg .page-item:last-child .page-link,html[data-netbox-color-mode=dark] .pagination-lg .page-item:last-child .page-link,html[data-netbox-color-mode=light] .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}}@media print{html .pagination-sm .page-link,html[data-netbox-color-mode=dark] .pagination-sm .page-link,html[data-netbox-color-mode=light] .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}html .pagination-sm .page-item:first-child .page-link,html[data-netbox-color-mode=dark] .pagination-sm .page-item:first-child .page-link,html[data-netbox-color-mode=light] .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}html .pagination-sm .page-item:last-child .page-link,html[data-netbox-color-mode=dark] .pagination-sm .page-item:last-child .page-link,html[data-netbox-color-mode=light] .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}}@media print{html .badge,html[data-netbox-color-mode=dark] .badge,html[data-netbox-color-mode=light] .badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}html .badge:empty,html[data-netbox-color-mode=dark] .badge:empty,html[data-netbox-color-mode=light] .badge:empty{display:none}}@media print{html .btn .badge,html[data-netbox-color-mode=dark] .btn .badge,html[data-netbox-color-mode=light] .btn .badge{position:relative;top:-1px}}@media print{html .alert,html[data-netbox-color-mode=dark] .alert,html[data-netbox-color-mode=light] .alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}}@media print{html .alert-heading,html[data-netbox-color-mode=dark] .alert-heading,html[data-netbox-color-mode=light] .alert-heading{color:inherit}}@media print{html .alert-link,html[data-netbox-color-mode=dark] .alert-link,html[data-netbox-color-mode=light] .alert-link{font-weight:700}}@media print{html .alert-dismissible,html[data-netbox-color-mode=dark] .alert-dismissible,html[data-netbox-color-mode=light] .alert-dismissible{padding-right:3rem}html .alert-dismissible .btn-close,html[data-netbox-color-mode=dark] .alert-dismissible .btn-close,html[data-netbox-color-mode=light] .alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}}@media print{html .alert-primary,html[data-netbox-color-mode=dark] .alert-primary,html[data-netbox-color-mode=light] .alert-primary{color:#1f496e;background-color:#d6e4f1;border-color:#c2d7e9}html .alert-primary .alert-link,html[data-netbox-color-mode=dark] .alert-primary .alert-link,html[data-netbox-color-mode=light] .alert-primary .alert-link{color:#193a58}}@media print{html .alert-secondary,html[data-netbox-color-mode=dark] .alert-secondary,html[data-netbox-color-mode=light] .alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}html .alert-secondary .alert-link,html[data-netbox-color-mode=dark] .alert-secondary .alert-link,html[data-netbox-color-mode=light] .alert-secondary .alert-link{color:#34383c}}@media print{html .alert-success,html[data-netbox-color-mode=dark] .alert-success,html[data-netbox-color-mode=light] .alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}html .alert-success .alert-link,html[data-netbox-color-mode=dark] .alert-success .alert-link,html[data-netbox-color-mode=light] .alert-success .alert-link{color:#0c4128}}@media print{html .alert-info,html[data-netbox-color-mode=dark] .alert-info,html[data-netbox-color-mode=light] .alert-info{color:#225660;background-color:#ddf7fc;border-color:#ccf3fb}html .alert-info .alert-link,html[data-netbox-color-mode=dark] .alert-info .alert-link,html[data-netbox-color-mode=light] .alert-info .alert-link{color:#1b454d}}@media print{html .alert-warning,html[data-netbox-color-mode=dark] .alert-warning,html[data-netbox-color-mode=light] .alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}html .alert-warning .alert-link,html[data-netbox-color-mode=dark] .alert-warning .alert-link,html[data-netbox-color-mode=light] .alert-warning .alert-link{color:#523e02}}@media print{html .alert-danger,html[data-netbox-color-mode=dark] .alert-danger,html[data-netbox-color-mode=light] .alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}html .alert-danger .alert-link,html[data-netbox-color-mode=dark] .alert-danger .alert-link,html[data-netbox-color-mode=light] .alert-danger .alert-link{color:#6a1a21}}@media print{html .alert-light,html[data-netbox-color-mode=dark] .alert-light,html[data-netbox-color-mode=light] .alert-light{color:#5d5e60;background-color:#fbfbfc;border-color:#f8f9fa}html .alert-light .alert-link,html[data-netbox-color-mode=dark] .alert-light .alert-link,html[data-netbox-color-mode=light] .alert-light .alert-link{color:#4a4b4d}}@media print{html .alert-dark,html[data-netbox-color-mode=dark] .alert-dark,html[data-netbox-color-mode=light] .alert-dark{color:#1f2326;background-color:#d6d8d9;border-color:#c2c4c6}html .alert-dark .alert-link,html[data-netbox-color-mode=dark] .alert-dark .alert-link,html[data-netbox-color-mode=light] .alert-dark .alert-link{color:#191c1e}}@media print{html .alert-blue,html[data-netbox-color-mode=dark] .alert-blue,html[data-netbox-color-mode=light] .alert-blue{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}html .alert-blue .alert-link,html[data-netbox-color-mode=dark] .alert-blue .alert-link,html[data-netbox-color-mode=light] .alert-blue .alert-link{color:#06357a}}@media print{html .alert-indigo,html[data-netbox-color-mode=dark] .alert-indigo,html[data-netbox-color-mode=light] .alert-indigo{color:#3d0a91;background-color:#e0cffc;border-color:#d1b7fb}html .alert-indigo .alert-link,html[data-netbox-color-mode=dark] .alert-indigo .alert-link,html[data-netbox-color-mode=light] .alert-indigo .alert-link{color:#310874}}@media print{html .alert-purple,html[data-netbox-color-mode=dark] .alert-purple,html[data-netbox-color-mode=light] .alert-purple{color:#432874;background-color:#e2d9f3;border-color:#d4c6ec}html .alert-purple .alert-link,html[data-netbox-color-mode=dark] .alert-purple .alert-link,html[data-netbox-color-mode=light] .alert-purple .alert-link{color:#36205d}}@media print{html .alert-pink,html[data-netbox-color-mode=dark] .alert-pink,html[data-netbox-color-mode=light] .alert-pink{color:#801f4f;background-color:#f7d6e6;border-color:#f3c2da}html .alert-pink .alert-link,html[data-netbox-color-mode=dark] .alert-pink .alert-link,html[data-netbox-color-mode=light] .alert-pink .alert-link{color:#66193f}}@media print{html .alert-red,html[data-netbox-color-mode=dark] .alert-red,html[data-netbox-color-mode=light] .alert-red{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}html .alert-red .alert-link,html[data-netbox-color-mode=dark] .alert-red .alert-link,html[data-netbox-color-mode=light] .alert-red .alert-link{color:#6a1a21}}@media print{html .alert-orange,html[data-netbox-color-mode=dark] .alert-orange,html[data-netbox-color-mode=light] .alert-orange{color:#984c0c;background-color:#ffe5d0;border-color:#fed8b9}html .alert-orange .alert-link,html[data-netbox-color-mode=dark] .alert-orange .alert-link,html[data-netbox-color-mode=light] .alert-orange .alert-link{color:#7a3d0a}}@media print{html .alert-yellow,html[data-netbox-color-mode=dark] .alert-yellow,html[data-netbox-color-mode=light] .alert-yellow{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}html .alert-yellow .alert-link,html[data-netbox-color-mode=dark] .alert-yellow .alert-link,html[data-netbox-color-mode=light] .alert-yellow .alert-link{color:#523e02}}@media print{html .alert-green,html[data-netbox-color-mode=dark] .alert-green,html[data-netbox-color-mode=light] .alert-green{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}html .alert-green .alert-link,html[data-netbox-color-mode=dark] .alert-green .alert-link,html[data-netbox-color-mode=light] .alert-green .alert-link{color:#0c4128}}@media print{html .alert-teal,html[data-netbox-color-mode=dark] .alert-teal,html[data-netbox-color-mode=light] .alert-teal{color:#13795b;background-color:#d2f4ea;border-color:#bcefe0}html .alert-teal .alert-link,html[data-netbox-color-mode=dark] .alert-teal .alert-link,html[data-netbox-color-mode=light] .alert-teal .alert-link{color:#0f6149}}@media print{html .alert-cyan,html[data-netbox-color-mode=dark] .alert-cyan,html[data-netbox-color-mode=light] .alert-cyan{color:#055160;background-color:#cff4fc;border-color:#b6effb}html .alert-cyan .alert-link,html[data-netbox-color-mode=dark] .alert-cyan .alert-link,html[data-netbox-color-mode=light] .alert-cyan .alert-link{color:#04414d}}@media print{html .alert-gray,html[data-netbox-color-mode=dark] .alert-gray,html[data-netbox-color-mode=light] .alert-gray{color:#686d71;background-color:#eff0f2;border-color:#e6e9eb}html .alert-gray .alert-link,html[data-netbox-color-mode=dark] .alert-gray .alert-link,html[data-netbox-color-mode=light] .alert-gray .alert-link{color:#53575a}}@media print{html .alert-black,html[data-netbox-color-mode=dark] .alert-black,html[data-netbox-color-mode=light] .alert-black{color:#000;background-color:#ccc;border-color:#b3b3b3}html .alert-black .alert-link,html[data-netbox-color-mode=dark] .alert-black .alert-link,html[data-netbox-color-mode=light] .alert-black .alert-link{color:#000}}@media print{html .alert-white,html[data-netbox-color-mode=dark] .alert-white,html[data-netbox-color-mode=light] .alert-white{color:#666;background-color:#fff;border-color:#fff}html .alert-white .alert-link,html[data-netbox-color-mode=dark] .alert-white .alert-link,html[data-netbox-color-mode=light] .alert-white .alert-link{color:#525252}}@media print{@keyframes progress-bar-stripes{0%{background-position-x:1rem}}}@media print{html .progress,html[data-netbox-color-mode=dark] .progress,html[data-netbox-color-mode=light] .progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.375rem}}@media print{html .progress-bar,html[data-netbox-color-mode=dark] .progress-bar,html[data-netbox-color-mode=light] .progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}}@media print and (prefers-reduced-motion: reduce){html .progress-bar,html[data-netbox-color-mode=dark] .progress-bar,html[data-netbox-color-mode=light] .progress-bar{transition:none}}@media print{html .progress-bar-striped,html[data-netbox-color-mode=dark] .progress-bar-striped,html[data-netbox-color-mode=light] .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:1rem 1rem}}@media print{html .progress-bar-animated,html[data-netbox-color-mode=dark] .progress-bar-animated,html[data-netbox-color-mode=light] .progress-bar-animated{animation:1s linear infinite progress-bar-stripes}}@media print and (prefers-reduced-motion: reduce){html .progress-bar-animated,html[data-netbox-color-mode=dark] .progress-bar-animated,html[data-netbox-color-mode=light] .progress-bar-animated{animation:none}}@media print{html .list-group,html[data-netbox-color-mode=dark] .list-group,html[data-netbox-color-mode=light] .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.375rem}}@media print{html .list-group-numbered,html[data-netbox-color-mode=dark] .list-group-numbered,html[data-netbox-color-mode=light] .list-group-numbered{list-style-type:none;counter-reset:section}html .list-group-numbered>li:before,html[data-netbox-color-mode=dark] .list-group-numbered>li:before,html[data-netbox-color-mode=light] .list-group-numbered>li:before{content:counters(section,".") ". ";counter-increment:section}}@media print{html .list-group-item-action,html[data-netbox-color-mode=dark] .list-group-item-action,html[data-netbox-color-mode=light] .list-group-item-action{width:100%;color:#495057;text-align:inherit}html .list-group-item-action:hover,html .list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}html .list-group-item-action:active,html[data-netbox-color-mode=dark] .list-group-item-action:active,html[data-netbox-color-mode=light] .list-group-item-action:active{color:#212529;background-color:#e9ecef}}@media print{html .list-group-item,html[data-netbox-color-mode=dark] .list-group-item,html[data-netbox-color-mode=light] .list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#495057;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}html .list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}html .list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}html .list-group-item.disabled,html .list-group-item:disabled,html[data-netbox-color-mode=dark] .list-group-item.disabled,html[data-netbox-color-mode=dark] .list-group-item:disabled,html[data-netbox-color-mode=light] .list-group-item.disabled,html[data-netbox-color-mode=light] .list-group-item:disabled{color:#adb5bd;pointer-events:none;background-color:#fff}html .list-group-item.active,html[data-netbox-color-mode=dark] .list-group-item.active,html[data-netbox-color-mode=light] .list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}html .list-group-item+html .list-group-item,html .list-group-item+html[data-netbox-color-mode=dark] .list-group-item,html .list-group-item+html[data-netbox-color-mode=light] .list-group-item,html[data-netbox-color-mode=dark] .list-group-item+html .list-group-item,html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item,html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=light] .list-group-item,html[data-netbox-color-mode=light] .list-group-item+html .list-group-item,html[data-netbox-color-mode=light] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item,html[data-netbox-color-mode=light] .list-group-item+html[data-netbox-color-mode=light] .list-group-item{border-top-width:0}html .list-group-item+html .list-group-item.active,html .list-group-item+html[data-netbox-color-mode=dark] .list-group-item.active,html .list-group-item+html[data-netbox-color-mode=light] .list-group-item.active,html[data-netbox-color-mode=dark] .list-group-item+html .list-group-item.active,html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item.active,html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=light] .list-group-item.active,html[data-netbox-color-mode=light] .list-group-item+html .list-group-item.active,html[data-netbox-color-mode=light] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item.active,html[data-netbox-color-mode=light] .list-group-item+html[data-netbox-color-mode=light] .list-group-item.active{margin-top:-1px;border-top-width:1px}}@media print{html .list-group-horizontal,html[data-netbox-color-mode=dark] .list-group-horizontal,html[data-netbox-color-mode=light] .list-group-horizontal{flex-direction:row}html .list-group-horizontal>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item.active{margin-top:0}html .list-group-horizontal>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 576px){html .list-group-horizontal-sm,html[data-netbox-color-mode=dark] .list-group-horizontal-sm,html[data-netbox-color-mode=light] .list-group-horizontal-sm{flex-direction:row}html .list-group-horizontal-sm>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-sm>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-sm>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item.active{margin-top:0}html .list-group-horizontal-sm>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-sm>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 768px){html .list-group-horizontal-md,html[data-netbox-color-mode=dark] .list-group-horizontal-md,html[data-netbox-color-mode=light] .list-group-horizontal-md{flex-direction:row}html .list-group-horizontal-md>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-md>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-md>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item.active{margin-top:0}html .list-group-horizontal-md>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-md>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 992px){html .list-group-horizontal-lg,html[data-netbox-color-mode=dark] .list-group-horizontal-lg,html[data-netbox-color-mode=light] .list-group-horizontal-lg{flex-direction:row}html .list-group-horizontal-lg>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-lg>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-lg>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item.active{margin-top:0}html .list-group-horizontal-lg>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-lg>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 1200px){html .list-group-horizontal-xl,html[data-netbox-color-mode=dark] .list-group-horizontal-xl,html[data-netbox-color-mode=light] .list-group-horizontal-xl{flex-direction:row}html .list-group-horizontal-xl>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-xl>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-xl>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item.active{margin-top:0}html .list-group-horizontal-xl>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-xl>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 1400px){html .list-group-horizontal-xxl,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl,html[data-netbox-color-mode=light] .list-group-horizontal-xxl{flex-direction:row}html .list-group-horizontal-xxl>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-xxl>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-xxl>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item.active{margin-top:0}html .list-group-horizontal-xxl>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-xxl>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print{html .list-group-flush,html[data-netbox-color-mode=dark] .list-group-flush,html[data-netbox-color-mode=light] .list-group-flush{border-radius:0}html .list-group-flush>.list-group-item,html[data-netbox-color-mode=dark] .list-group-flush>.list-group-item,html[data-netbox-color-mode=light] .list-group-flush>.list-group-item{border-width:0 0 1px}html .list-group-flush>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-flush>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-flush>.list-group-item:last-child{border-bottom-width:0}}@media print{html .list-group-item-primary,html[data-netbox-color-mode=dark] .list-group-item-primary,html[data-netbox-color-mode=light] .list-group-item-primary{color:#1f496e;background-color:#d6e4f1}html .list-group-item-primary.list-group-item-action:hover,html .list-group-item-primary.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-primary.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-primary.list-group-item-action:focus{color:#1f496e;background-color:#c1cdd9}html .list-group-item-primary.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1f496e;border-color:#1f496e}}@media print{html .list-group-item-secondary,html[data-netbox-color-mode=dark] .list-group-item-secondary,html[data-netbox-color-mode=light] .list-group-item-secondary{color:#41464b;background-color:#e2e3e5}html .list-group-item-secondary.list-group-item-action:hover,html .list-group-item-secondary.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-secondary.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}html .list-group-item-secondary.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}}@media print{html .list-group-item-success,html[data-netbox-color-mode=dark] .list-group-item-success,html[data-netbox-color-mode=light] .list-group-item-success{color:#0f5132;background-color:#d1e7dd}html .list-group-item-success.list-group-item-action:hover,html .list-group-item-success.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-success.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}html .list-group-item-success.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}}@media print{html .list-group-item-info,html[data-netbox-color-mode=dark] .list-group-item-info,html[data-netbox-color-mode=light] .list-group-item-info{color:#225660;background-color:#ddf7fc}html .list-group-item-info.list-group-item-action:hover,html .list-group-item-info.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-info.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-info.list-group-item-action:focus{color:#225660;background-color:#c7dee3}html .list-group-item-info.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#225660;border-color:#225660}}@media print{html .list-group-item-warning,html[data-netbox-color-mode=dark] .list-group-item-warning,html[data-netbox-color-mode=light] .list-group-item-warning{color:#664d03;background-color:#fff3cd}html .list-group-item-warning.list-group-item-action:hover,html .list-group-item-warning.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-warning.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}html .list-group-item-warning.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}}@media print{html .list-group-item-danger,html[data-netbox-color-mode=dark] .list-group-item-danger,html[data-netbox-color-mode=light] .list-group-item-danger{color:#842029;background-color:#f8d7da}html .list-group-item-danger.list-group-item-action:hover,html .list-group-item-danger.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-danger.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}html .list-group-item-danger.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}}@media print{html .list-group-item-light,html[data-netbox-color-mode=dark] .list-group-item-light,html[data-netbox-color-mode=light] .list-group-item-light{color:#5d5e60;background-color:#fbfbfc}html .list-group-item-light.list-group-item-action:hover,html .list-group-item-light.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-light.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-light.list-group-item-action:focus{color:#5d5e60;background-color:#e2e2e3}html .list-group-item-light.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#5d5e60;border-color:#5d5e60}}@media print{html .list-group-item-dark,html[data-netbox-color-mode=dark] .list-group-item-dark,html[data-netbox-color-mode=light] .list-group-item-dark{color:#1f2326;background-color:#d6d8d9}html .list-group-item-dark.list-group-item-action:hover,html .list-group-item-dark.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-dark.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-dark.list-group-item-action:focus{color:#1f2326;background-color:#c1c2c3}html .list-group-item-dark.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1f2326;border-color:#1f2326}}@media print{html .list-group-item-blue,html[data-netbox-color-mode=dark] .list-group-item-blue,html[data-netbox-color-mode=light] .list-group-item-blue{color:#084298;background-color:#cfe2ff}html .list-group-item-blue.list-group-item-action:hover,html .list-group-item-blue.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-blue.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-blue.list-group-item-action:focus{color:#084298;background-color:#bacbe6}html .list-group-item-blue.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}}@media print{html .list-group-item-indigo,html[data-netbox-color-mode=dark] .list-group-item-indigo,html[data-netbox-color-mode=light] .list-group-item-indigo{color:#3d0a91;background-color:#e0cffc}html .list-group-item-indigo.list-group-item-action:hover,html .list-group-item-indigo.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-indigo.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-indigo.list-group-item-action:focus{color:#3d0a91;background-color:#cabae3}html .list-group-item-indigo.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-indigo.list-group-item-action.active{color:#fff;background-color:#3d0a91;border-color:#3d0a91}}@media print{html .list-group-item-purple,html[data-netbox-color-mode=dark] .list-group-item-purple,html[data-netbox-color-mode=light] .list-group-item-purple{color:#432874;background-color:#e2d9f3}html .list-group-item-purple.list-group-item-action:hover,html .list-group-item-purple.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-purple.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-purple.list-group-item-action:focus{color:#432874;background-color:#cbc3db}html .list-group-item-purple.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#432874;border-color:#432874}}@media print{html .list-group-item-pink,html[data-netbox-color-mode=dark] .list-group-item-pink,html[data-netbox-color-mode=light] .list-group-item-pink{color:#801f4f;background-color:#f7d6e6}html .list-group-item-pink.list-group-item-action:hover,html .list-group-item-pink.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-pink.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-pink.list-group-item-action:focus{color:#801f4f;background-color:#dec1cf}html .list-group-item-pink.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#801f4f;border-color:#801f4f}}@media print{html .list-group-item-red,html[data-netbox-color-mode=dark] .list-group-item-red,html[data-netbox-color-mode=light] .list-group-item-red{color:#842029;background-color:#f8d7da}html .list-group-item-red.list-group-item-action:hover,html .list-group-item-red.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-red.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-red.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}html .list-group-item-red.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-red.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}}@media print{html .list-group-item-orange,html[data-netbox-color-mode=dark] .list-group-item-orange,html[data-netbox-color-mode=light] .list-group-item-orange{color:#984c0c;background-color:#ffe5d0}html .list-group-item-orange.list-group-item-action:hover,html .list-group-item-orange.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-orange.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-orange.list-group-item-action:focus{color:#984c0c;background-color:#e6cebb}html .list-group-item-orange.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-orange.list-group-item-action.active{color:#fff;background-color:#984c0c;border-color:#984c0c}}@media print{html .list-group-item-yellow,html[data-netbox-color-mode=dark] .list-group-item-yellow,html[data-netbox-color-mode=light] .list-group-item-yellow{color:#664d03;background-color:#fff3cd}html .list-group-item-yellow.list-group-item-action:hover,html .list-group-item-yellow.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-yellow.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-yellow.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}html .list-group-item-yellow.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-yellow.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}}@media print{html .list-group-item-green,html[data-netbox-color-mode=dark] .list-group-item-green,html[data-netbox-color-mode=light] .list-group-item-green{color:#0f5132;background-color:#d1e7dd}html .list-group-item-green.list-group-item-action:hover,html .list-group-item-green.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-green.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-green.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}html .list-group-item-green.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-green.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}}@media print{html .list-group-item-teal,html[data-netbox-color-mode=dark] .list-group-item-teal,html[data-netbox-color-mode=light] .list-group-item-teal{color:#13795b;background-color:#d2f4ea}html .list-group-item-teal.list-group-item-action:hover,html .list-group-item-teal.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-teal.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-teal.list-group-item-action:focus{color:#13795b;background-color:#bddcd3}html .list-group-item-teal.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-teal.list-group-item-action.active{color:#fff;background-color:#13795b;border-color:#13795b}}@media print{html .list-group-item-cyan,html[data-netbox-color-mode=dark] .list-group-item-cyan,html[data-netbox-color-mode=light] .list-group-item-cyan{color:#055160;background-color:#cff4fc}html .list-group-item-cyan.list-group-item-action:hover,html .list-group-item-cyan.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-cyan.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-cyan.list-group-item-action:focus{color:#055160;background-color:#badce3}html .list-group-item-cyan.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-cyan.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}}@media print{html .list-group-item-gray,html[data-netbox-color-mode=dark] .list-group-item-gray,html[data-netbox-color-mode=light] .list-group-item-gray{color:#686d71;background-color:#eff0f2}html .list-group-item-gray.list-group-item-action:hover,html .list-group-item-gray.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-gray.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-gray.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}html .list-group-item-gray.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-gray.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}}@media print{html .list-group-item-black,html[data-netbox-color-mode=dark] .list-group-item-black,html[data-netbox-color-mode=light] .list-group-item-black{color:#000;background-color:#ccc}html .list-group-item-black.list-group-item-action:hover,html .list-group-item-black.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-black.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-black.list-group-item-action:focus{color:#000;background-color:#b8b8b8}html .list-group-item-black.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-black.list-group-item-action.active{color:#fff;background-color:#000;border-color:#000}}@media print{html .list-group-item-white,html[data-netbox-color-mode=dark] .list-group-item-white,html[data-netbox-color-mode=light] .list-group-item-white{color:#666;background-color:#fff}html .list-group-item-white.list-group-item-action:hover,html .list-group-item-white.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-white.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-white.list-group-item-action:focus{color:#666;background-color:#e6e6e6}html .list-group-item-white.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-white.list-group-item-action.active{color:#fff;background-color:#666;border-color:#666}}@media print{html .btn-close,html[data-netbox-color-mode=dark] .btn-close,html[data-netbox-color-mode=light] .btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}html .btn-close:hover,html[data-netbox-color-mode=dark] .btn-close:hover,html[data-netbox-color-mode=light] .btn-close:hover{color:#000;text-decoration:none;opacity:.75}html .btn-close:focus,html[data-netbox-color-mode=dark] .btn-close:focus,html[data-netbox-color-mode=light] .btn-close:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40;opacity:1}html .btn-close:disabled,html .btn-close.disabled,html[data-netbox-color-mode=dark] .btn-close:disabled,html[data-netbox-color-mode=dark] .btn-close.disabled,html[data-netbox-color-mode=light] .btn-close:disabled,html[data-netbox-color-mode=light] .btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}}@media print{html .btn-close-white,html[data-netbox-color-mode=dark] .btn-close-white,html[data-netbox-color-mode=light] .btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}}@media print{html .toast,html[data-netbox-color-mode=dark] .toast,html[data-netbox-color-mode=light] .toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:#ffffffd9;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem #00000026;border-radius:.375rem}html .toast:not(.showing):not(.show),html[data-netbox-color-mode=dark] .toast:not(.showing):not(.show),html[data-netbox-color-mode=light] .toast:not(.showing):not(.show){opacity:0}html .toast.hide,html[data-netbox-color-mode=dark] .toast.hide,html[data-netbox-color-mode=light] .toast.hide{display:none}}@media print{html .toast-container,html[data-netbox-color-mode=dark] .toast-container,html[data-netbox-color-mode=light] .toast-container{width:max-content;max-width:100%;pointer-events:none}html .toast-container>:not(:last-child),html[data-netbox-color-mode=dark] .toast-container>:not(:last-child),html[data-netbox-color-mode=light] .toast-container>:not(:last-child){margin-bottom:.75rem}}@media print{html .toast-header,html[data-netbox-color-mode=dark] .toast-header,html[data-netbox-color-mode=light] .toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html .toast-header .btn-close,html[data-netbox-color-mode=dark] .toast-header .btn-close,html[data-netbox-color-mode=light] .toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}}@media print{html .toast-body,html[data-netbox-color-mode=dark] .toast-body,html[data-netbox-color-mode=light] .toast-body{padding:.75rem;word-wrap:break-word}}@media print{html .modal,html[data-netbox-color-mode=dark] .modal,html[data-netbox-color-mode=light] .modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}}@media print{html .modal-dialog,html[data-netbox-color-mode=dark] .modal-dialog,html[data-netbox-color-mode=light] .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade html .modal-dialog,.modal.fade html[data-netbox-color-mode=dark] .modal-dialog,.modal.fade html[data-netbox-color-mode=light] .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}}@media print and (prefers-reduced-motion: reduce){.modal.fade html .modal-dialog,.modal.fade html[data-netbox-color-mode=dark] .modal-dialog,.modal.fade html[data-netbox-color-mode=light] .modal-dialog{transition:none}}@media print{.modal.show html .modal-dialog,.modal.show html[data-netbox-color-mode=dark] .modal-dialog,.modal.show html[data-netbox-color-mode=light] .modal-dialog{transform:none}}@media print{.modal.modal-static html .modal-dialog,.modal.modal-static html[data-netbox-color-mode=dark] .modal-dialog,.modal.modal-static html[data-netbox-color-mode=light] .modal-dialog{transform:scale(1.02)}}@media print{html .modal-dialog-scrollable,html[data-netbox-color-mode=dark] .modal-dialog-scrollable,html[data-netbox-color-mode=light] .modal-dialog-scrollable{height:calc(100% - 1rem)}html .modal-dialog-scrollable .modal-content,html[data-netbox-color-mode=dark] .modal-dialog-scrollable .modal-content,html[data-netbox-color-mode=light] .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}html .modal-dialog-scrollable .modal-body,html[data-netbox-color-mode=dark] .modal-dialog-scrollable .modal-body,html[data-netbox-color-mode=light] .modal-dialog-scrollable .modal-body{overflow-y:auto}}@media print{html .modal-dialog-centered,html[data-netbox-color-mode=dark] .modal-dialog-centered,html[data-netbox-color-mode=light] .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}}@media print{html .modal-content,html[data-netbox-color-mode=dark] .modal-content,html[data-netbox-color-mode=light] .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem;outline:0}}@media print{html .modal-backdrop,html[data-netbox-color-mode=dark] .modal-backdrop,html[data-netbox-color-mode=light] .modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}html .modal-backdrop.fade,html[data-netbox-color-mode=dark] .modal-backdrop.fade,html[data-netbox-color-mode=light] .modal-backdrop.fade{opacity:0}html .modal-backdrop.show,html[data-netbox-color-mode=dark] .modal-backdrop.show,html[data-netbox-color-mode=light] .modal-backdrop.show{opacity:.5}}@media print{html .modal-header,html[data-netbox-color-mode=dark] .modal-header,html[data-netbox-color-mode=light] .modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}html .modal-header .btn-close,html[data-netbox-color-mode=dark] .modal-header .btn-close,html[data-netbox-color-mode=light] .modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}}@media print{html .modal-title,html[data-netbox-color-mode=dark] .modal-title,html[data-netbox-color-mode=light] .modal-title{margin-bottom:0;line-height:1.5}}@media print{html .modal-body,html[data-netbox-color-mode=dark] .modal-body,html[data-netbox-color-mode=light] .modal-body{position:relative;flex:1 1 auto;padding:1rem}}@media print{html .modal-footer,html[data-netbox-color-mode=dark] .modal-footer,html[data-netbox-color-mode=light] .modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.75rem - 1px);border-bottom-left-radius:calc(.75rem - 1px)}html .modal-footer>*,html[data-netbox-color-mode=dark] .modal-footer>*,html[data-netbox-color-mode=light] .modal-footer>*{margin:.25rem}}@media print and (min-width: 576px){html .modal-dialog,html[data-netbox-color-mode=dark] .modal-dialog,html[data-netbox-color-mode=light] .modal-dialog{max-width:500px;margin:1.75rem auto}html .modal-dialog-scrollable,html[data-netbox-color-mode=dark] .modal-dialog-scrollable,html[data-netbox-color-mode=light] .modal-dialog-scrollable{height:calc(100% - 3.5rem)}html .modal-dialog-centered,html[data-netbox-color-mode=dark] .modal-dialog-centered,html[data-netbox-color-mode=light] .modal-dialog-centered{min-height:calc(100% - 3.5rem)}html .modal-sm,html[data-netbox-color-mode=dark] .modal-sm,html[data-netbox-color-mode=light] .modal-sm{max-width:300px}}@media print and (min-width: 992px){html .modal-lg,html .modal-xl,html[data-netbox-color-mode=dark] .modal-lg,html[data-netbox-color-mode=dark] .modal-xl,html[data-netbox-color-mode=light] .modal-lg,html[data-netbox-color-mode=light] .modal-xl{max-width:800px}}@media print and (min-width: 1200px){html .modal-xl,html[data-netbox-color-mode=dark] .modal-xl,html[data-netbox-color-mode=light] .modal-xl{max-width:1140px}}@media print{html .modal-fullscreen,html[data-netbox-color-mode=dark] .modal-fullscreen,html[data-netbox-color-mode=light] .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen .modal-header{border-radius:0}html .modal-fullscreen .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen .modal-body{overflow-y:auto}html .modal-fullscreen .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen .modal-footer{border-radius:0}}@media print and (max-width: 575.98px){html .modal-fullscreen-sm-down,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-sm-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-sm-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down .modal-header{border-radius:0}html .modal-fullscreen-sm-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down .modal-body{overflow-y:auto}html .modal-fullscreen-sm-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media print and (max-width: 767.98px){html .modal-fullscreen-md-down,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down,html[data-netbox-color-mode=light] .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-md-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-md-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-md-down .modal-header{border-radius:0}html .modal-fullscreen-md-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-md-down .modal-body{overflow-y:auto}html .modal-fullscreen-md-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-md-down .modal-footer{border-radius:0}}@media print and (max-width: 991.98px){html .modal-fullscreen-lg-down,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-lg-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-lg-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down .modal-header{border-radius:0}html .modal-fullscreen-lg-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down .modal-body{overflow-y:auto}html .modal-fullscreen-lg-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media print and (max-width: 1199.98px){html .modal-fullscreen-xl-down,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-xl-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-xl-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down .modal-header{border-radius:0}html .modal-fullscreen-xl-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down .modal-body{overflow-y:auto}html .modal-fullscreen-xl-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media print and (max-width: 1399.98px){html .modal-fullscreen-xxl-down,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-xxl-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-xxl-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down .modal-header{border-radius:0}html .modal-fullscreen-xxl-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}html .modal-fullscreen-xxl-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down .modal-footer{border-radius:0}}@media print{html .tooltip,html[data-netbox-color-mode=dark] .tooltip,html[data-netbox-color-mode=light] .tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}html .tooltip.show,html[data-netbox-color-mode=dark] .tooltip.show,html[data-netbox-color-mode=light] .tooltip.show{opacity:.9}html .tooltip .tooltip-arrow,html[data-netbox-color-mode=dark] .tooltip .tooltip-arrow,html[data-netbox-color-mode=light] .tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}html .tooltip .tooltip-arrow:before,html[data-netbox-color-mode=dark] .tooltip .tooltip-arrow:before,html[data-netbox-color-mode=light] .tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}}@media print{html .bs-tooltip-top,html .bs-tooltip-auto[data-popper-placement^=top],html[data-netbox-color-mode=dark] .bs-tooltip-top,html[data-netbox-color-mode=light] .bs-tooltip-top{padding:.4rem 0}html .bs-tooltip-top .tooltip-arrow,html .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-top .tooltip-arrow,html[data-netbox-color-mode=light] .bs-tooltip-top .tooltip-arrow{bottom:0}html .bs-tooltip-top .tooltip-arrow:before,html .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-top .tooltip-arrow:before,html[data-netbox-color-mode=light] .bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}}@media print{html .bs-tooltip-end,html .bs-tooltip-auto[data-popper-placement^=right],html[data-netbox-color-mode=dark] .bs-tooltip-end,html[data-netbox-color-mode=light] .bs-tooltip-end{padding:0 .4rem}html .bs-tooltip-end .tooltip-arrow,html .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-end .tooltip-arrow,html[data-netbox-color-mode=light] .bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}html .bs-tooltip-end .tooltip-arrow:before,html .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-end .tooltip-arrow:before,html[data-netbox-color-mode=light] .bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}}@media print{html .bs-tooltip-bottom,html .bs-tooltip-auto[data-popper-placement^=bottom],html[data-netbox-color-mode=dark] .bs-tooltip-bottom,html[data-netbox-color-mode=light] .bs-tooltip-bottom{padding:.4rem 0}html .bs-tooltip-bottom .tooltip-arrow,html .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-bottom .tooltip-arrow,html[data-netbox-color-mode=light] .bs-tooltip-bottom .tooltip-arrow{top:0}html .bs-tooltip-bottom .tooltip-arrow:before,html .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-bottom .tooltip-arrow:before,html[data-netbox-color-mode=light] .bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}}@media print{html .bs-tooltip-start,html .bs-tooltip-auto[data-popper-placement^=left],html[data-netbox-color-mode=dark] .bs-tooltip-start,html[data-netbox-color-mode=light] .bs-tooltip-start{padding:0 .4rem}html .bs-tooltip-start .tooltip-arrow,html .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-start .tooltip-arrow,html[data-netbox-color-mode=light] .bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}html .bs-tooltip-start .tooltip-arrow:before,html .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-start .tooltip-arrow:before,html[data-netbox-color-mode=light] .bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}}@media print{html .tooltip-inner,html[data-netbox-color-mode=dark] .tooltip-inner,html[data-netbox-color-mode=light] .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.375rem}}@media print{html .popover,html[data-netbox-color-mode=dark] .popover,html[data-netbox-color-mode=light] .popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem}html .popover .popover-arrow,html[data-netbox-color-mode=dark] .popover .popover-arrow,html[data-netbox-color-mode=light] .popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}html .popover .popover-arrow:before,html .popover .popover-arrow:after,html[data-netbox-color-mode=dark] .popover .popover-arrow:before,html[data-netbox-color-mode=dark] .popover .popover-arrow:after,html[data-netbox-color-mode=light] .popover .popover-arrow:before,html[data-netbox-color-mode=light] .popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}}@media print{html .bs-popover-top>.popover-arrow,html .bs-popover-auto[data-popper-placement^=top]>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow,html[data-netbox-color-mode=light] .bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}html .bs-popover-top>.popover-arrow:before,html .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow:before,html[data-netbox-color-mode=light] .bs-popover-top>.popover-arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#00000040}html .bs-popover-top>.popover-arrow:after,html .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow:after,html[data-netbox-color-mode=light] .bs-popover-top>.popover-arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}}@media print{html .bs-popover-end>.popover-arrow,html .bs-popover-auto[data-popper-placement^=right]>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow,html[data-netbox-color-mode=light] .bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}html .bs-popover-end>.popover-arrow:before,html .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow:before,html[data-netbox-color-mode=light] .bs-popover-end>.popover-arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#00000040}html .bs-popover-end>.popover-arrow:after,html .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow:after,html[data-netbox-color-mode=light] .bs-popover-end>.popover-arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}}@media print{html .bs-popover-bottom>.popover-arrow,html .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow,html[data-netbox-color-mode=light] .bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}html .bs-popover-bottom>.popover-arrow:before,html .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow:before,html[data-netbox-color-mode=light] .bs-popover-bottom>.popover-arrow:before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:#00000040}html .bs-popover-bottom>.popover-arrow:after,html .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow:after,html[data-netbox-color-mode=light] .bs-popover-bottom>.popover-arrow:after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}html .bs-popover-bottom .popover-header:before,html .bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,html[data-netbox-color-mode=dark] .bs-popover-bottom .popover-header:before,html[data-netbox-color-mode=light] .bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}}@media print{html .bs-popover-start>.popover-arrow,html .bs-popover-auto[data-popper-placement^=left]>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow,html[data-netbox-color-mode=light] .bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}html .bs-popover-start>.popover-arrow:before,html .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow:before,html[data-netbox-color-mode=light] .bs-popover-start>.popover-arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#00000040}html .bs-popover-start>.popover-arrow:after,html .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow:after,html[data-netbox-color-mode=light] .bs-popover-start>.popover-arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}}@media print{html .popover-header,html[data-netbox-color-mode=dark] .popover-header,html[data-netbox-color-mode=light] .popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}html .popover-header:empty,html[data-netbox-color-mode=dark] .popover-header:empty,html[data-netbox-color-mode=light] .popover-header:empty{display:none}}@media print{html .popover-body,html[data-netbox-color-mode=dark] .popover-body,html[data-netbox-color-mode=light] .popover-body{padding:1rem;color:#212529}}@media print{html .carousel,html[data-netbox-color-mode=dark] .carousel,html[data-netbox-color-mode=light] .carousel{position:relative}}@media print{html .carousel.pointer-event,html[data-netbox-color-mode=dark] .carousel.pointer-event,html[data-netbox-color-mode=light] .carousel.pointer-event{touch-action:pan-y}}@media print{html .carousel-inner,html[data-netbox-color-mode=dark] .carousel-inner,html[data-netbox-color-mode=light] .carousel-inner{position:relative;width:100%;overflow:hidden}html .carousel-inner:after,html[data-netbox-color-mode=dark] .carousel-inner:after,html[data-netbox-color-mode=light] .carousel-inner:after{display:block;clear:both;content:""}}@media print{html .carousel-item,html[data-netbox-color-mode=dark] .carousel-item,html[data-netbox-color-mode=light] .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .carousel-item,html[data-netbox-color-mode=dark] .carousel-item,html[data-netbox-color-mode=light] .carousel-item{transition:none}}@media print{html .carousel-item.active,html .carousel-item-next,html .carousel-item-prev,html[data-netbox-color-mode=dark] .carousel-item.active,html[data-netbox-color-mode=dark] .carousel-item-next,html[data-netbox-color-mode=dark] .carousel-item-prev,html[data-netbox-color-mode=light] .carousel-item.active,html[data-netbox-color-mode=light] .carousel-item-next,html[data-netbox-color-mode=light] .carousel-item-prev{display:block}}@media print{html .carousel-item-next:not(.carousel-item-start),html .active.carousel-item-end,html[data-netbox-color-mode=dark] .carousel-item-next:not(.carousel-item-start),html[data-netbox-color-mode=dark] .active.carousel-item-end,html[data-netbox-color-mode=light] .carousel-item-next:not(.carousel-item-start),html[data-netbox-color-mode=light] .active.carousel-item-end{transform:translate(100%)}}@media print{html .carousel-item-prev:not(.carousel-item-end),html .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-item-prev:not(.carousel-item-end),html[data-netbox-color-mode=dark] .active.carousel-item-start,html[data-netbox-color-mode=light] .carousel-item-prev:not(.carousel-item-end),html[data-netbox-color-mode=light] .active.carousel-item-start{transform:translate(-100%)}}@media print{html .carousel-fade .carousel-item,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item,html[data-netbox-color-mode=light] .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}html .carousel-fade .carousel-item.active,html .carousel-fade .carousel-item-next.carousel-item-start,html .carousel-fade .carousel-item-prev.carousel-item-end,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item.active,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item-next.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item-prev.carousel-item-end,html[data-netbox-color-mode=light] .carousel-fade .carousel-item.active,html[data-netbox-color-mode=light] .carousel-fade .carousel-item-next.carousel-item-start,html[data-netbox-color-mode=light] .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}html .carousel-fade .active.carousel-item-start,html .carousel-fade .active.carousel-item-end,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-end,html[data-netbox-color-mode=light] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=light] .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}}@media print and (prefers-reduced-motion: reduce){html .carousel-fade .active.carousel-item-start,html .carousel-fade .active.carousel-item-end,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-end,html[data-netbox-color-mode=light] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=light] .carousel-fade .active.carousel-item-end{transition:none}}@media print{html .carousel-control-prev,html .carousel-control-next,html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=dark] .carousel-control-next,html[data-netbox-color-mode=light] .carousel-control-prev,html[data-netbox-color-mode=light] .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;border:0;opacity:.5;transition:opacity .15s ease}}@media print and (prefers-reduced-motion: reduce){html .carousel-control-prev,html .carousel-control-next,html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=dark] .carousel-control-next,html[data-netbox-color-mode=light] .carousel-control-prev,html[data-netbox-color-mode=light] .carousel-control-next{transition:none}}@media print{html .carousel-control-prev:hover,html .carousel-control-prev:focus,html .carousel-control-next:hover,html .carousel-control-next:focus,html[data-netbox-color-mode=dark] .carousel-control-prev:hover,html[data-netbox-color-mode=dark] .carousel-control-prev:focus,html[data-netbox-color-mode=dark] .carousel-control-next:hover,html[data-netbox-color-mode=dark] .carousel-control-next:focus,html[data-netbox-color-mode=light] .carousel-control-prev:hover,html[data-netbox-color-mode=light] .carousel-control-prev:focus,html[data-netbox-color-mode=light] .carousel-control-next:hover,html[data-netbox-color-mode=light] .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}}@media print{html .carousel-control-prev,html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=light] .carousel-control-prev{left:0}}@media print{html .carousel-control-next,html[data-netbox-color-mode=dark] .carousel-control-next,html[data-netbox-color-mode=light] .carousel-control-next{right:0}}@media print{html .carousel-control-prev-icon,html .carousel-control-next-icon,html[data-netbox-color-mode=dark] .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-control-next-icon,html[data-netbox-color-mode=light] .carousel-control-prev-icon,html[data-netbox-color-mode=light] .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}}@media print{html .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-control-prev-icon,html[data-netbox-color-mode=light] .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}}@media print{html .carousel-control-next-icon,html[data-netbox-color-mode=dark] .carousel-control-next-icon,html[data-netbox-color-mode=light] .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}}@media print{html .carousel-indicators,html[data-netbox-color-mode=dark] .carousel-indicators,html[data-netbox-color-mode=light] .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%;list-style:none}html .carousel-indicators [data-bs-target],html[data-netbox-color-mode=dark] .carousel-indicators [data-bs-target],html[data-netbox-color-mode=light] .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}}@media print and (prefers-reduced-motion: reduce){html .carousel-indicators [data-bs-target],html[data-netbox-color-mode=dark] .carousel-indicators [data-bs-target],html[data-netbox-color-mode=light] .carousel-indicators [data-bs-target]{transition:none}}@media print{html .carousel-indicators .active,html[data-netbox-color-mode=dark] .carousel-indicators .active,html[data-netbox-color-mode=light] .carousel-indicators .active{opacity:1}}@media print{html .carousel-caption,html[data-netbox-color-mode=dark] .carousel-caption,html[data-netbox-color-mode=light] .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}}@media print{html .carousel-dark .carousel-control-prev-icon,html .carousel-dark .carousel-control-next-icon,html[data-netbox-color-mode=dark] .carousel-dark .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-dark .carousel-control-next-icon,html[data-netbox-color-mode=light] .carousel-dark .carousel-control-prev-icon,html[data-netbox-color-mode=light] .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}html .carousel-dark .carousel-indicators [data-bs-target],html[data-netbox-color-mode=dark] .carousel-dark .carousel-indicators [data-bs-target],html[data-netbox-color-mode=light] .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}html .carousel-dark .carousel-caption,html[data-netbox-color-mode=dark] .carousel-dark .carousel-caption,html[data-netbox-color-mode=light] .carousel-dark .carousel-caption{color:#000}}@media print{@keyframes spinner-border{to{transform:rotate(360deg)}}}@media print{html .spinner-border,html[data-netbox-color-mode=dark] .spinner-border,html[data-netbox-color-mode=light] .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}}@media print{html .spinner-border-sm,html[data-netbox-color-mode=dark] .spinner-border-sm,html[data-netbox-color-mode=light] .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}}@media print{@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}}@media print{html .spinner-grow,html[data-netbox-color-mode=dark] .spinner-grow,html[data-netbox-color-mode=light] .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}}@media print{html .spinner-grow-sm,html[data-netbox-color-mode=dark] .spinner-grow-sm,html[data-netbox-color-mode=light] .spinner-grow-sm{width:1rem;height:1rem}}@media print and (prefers-reduced-motion: reduce){html .spinner-border,html .spinner-grow,html[data-netbox-color-mode=dark] .spinner-border,html[data-netbox-color-mode=dark] .spinner-grow,html[data-netbox-color-mode=light] .spinner-border,html[data-netbox-color-mode=light] .spinner-grow{animation-duration:1.5s}}@media print{html .clearfix:after,html[data-netbox-color-mode=dark] .clearfix:after,html[data-netbox-color-mode=light] .clearfix:after{display:block;clear:both;content:""}}@media print{html .link-primary,html[data-netbox-color-mode=dark] .link-primary,html[data-netbox-color-mode=light] .link-primary{color:#337ab7}html .link-primary:hover,html .link-primary:focus,html[data-netbox-color-mode=dark] .link-primary:hover,html[data-netbox-color-mode=dark] .link-primary:focus,html[data-netbox-color-mode=light] .link-primary:hover,html[data-netbox-color-mode=light] .link-primary:focus{color:#296292}}@media print{html .link-secondary,html[data-netbox-color-mode=dark] .link-secondary,html[data-netbox-color-mode=light] .link-secondary{color:#6c757d}html .link-secondary:hover,html .link-secondary:focus,html[data-netbox-color-mode=dark] .link-secondary:hover,html[data-netbox-color-mode=dark] .link-secondary:focus,html[data-netbox-color-mode=light] .link-secondary:hover,html[data-netbox-color-mode=light] .link-secondary:focus{color:#565e64}}@media print{html .link-success,html[data-netbox-color-mode=dark] .link-success,html[data-netbox-color-mode=light] .link-success{color:#198754}html .link-success:hover,html .link-success:focus,html[data-netbox-color-mode=dark] .link-success:hover,html[data-netbox-color-mode=dark] .link-success:focus,html[data-netbox-color-mode=light] .link-success:hover,html[data-netbox-color-mode=light] .link-success:focus{color:#146c43}}@media print{html .link-info,html[data-netbox-color-mode=dark] .link-info,html[data-netbox-color-mode=light] .link-info{color:#54d6f0}html .link-info:hover,html .link-info:focus,html[data-netbox-color-mode=dark] .link-info:hover,html[data-netbox-color-mode=dark] .link-info:focus,html[data-netbox-color-mode=light] .link-info:hover,html[data-netbox-color-mode=light] .link-info:focus{color:#76def3}}@media print{html .link-warning,html[data-netbox-color-mode=dark] .link-warning,html[data-netbox-color-mode=light] .link-warning{color:#ffc107}html .link-warning:hover,html .link-warning:focus,html[data-netbox-color-mode=dark] .link-warning:hover,html[data-netbox-color-mode=dark] .link-warning:focus,html[data-netbox-color-mode=light] .link-warning:hover,html[data-netbox-color-mode=light] .link-warning:focus{color:#ffcd39}}@media print{html .link-danger,html[data-netbox-color-mode=dark] .link-danger,html[data-netbox-color-mode=light] .link-danger{color:#dc3545}html .link-danger:hover,html .link-danger:focus,html[data-netbox-color-mode=dark] .link-danger:hover,html[data-netbox-color-mode=dark] .link-danger:focus,html[data-netbox-color-mode=light] .link-danger:hover,html[data-netbox-color-mode=light] .link-danger:focus{color:#b02a37}}@media print{html .link-light,html[data-netbox-color-mode=dark] .link-light,html[data-netbox-color-mode=light] .link-light{color:#e9ecef}html .link-light:hover,html .link-light:focus,html[data-netbox-color-mode=dark] .link-light:hover,html[data-netbox-color-mode=dark] .link-light:focus,html[data-netbox-color-mode=light] .link-light:hover,html[data-netbox-color-mode=light] .link-light:focus{color:#edf0f2}}@media print{html .link-dark,html[data-netbox-color-mode=dark] .link-dark,html[data-netbox-color-mode=light] .link-dark{color:#343a40}html .link-dark:hover,html .link-dark:focus,html[data-netbox-color-mode=dark] .link-dark:hover,html[data-netbox-color-mode=dark] .link-dark:focus,html[data-netbox-color-mode=light] .link-dark:hover,html[data-netbox-color-mode=light] .link-dark:focus{color:#2a2e33}}@media print{html .link-blue,html[data-netbox-color-mode=dark] .link-blue,html[data-netbox-color-mode=light] .link-blue{color:#0d6efd}html .link-blue:hover,html .link-blue:focus,html[data-netbox-color-mode=dark] .link-blue:hover,html[data-netbox-color-mode=dark] .link-blue:focus,html[data-netbox-color-mode=light] .link-blue:hover,html[data-netbox-color-mode=light] .link-blue:focus{color:#0a58ca}}@media print{html .link-indigo,html[data-netbox-color-mode=dark] .link-indigo,html[data-netbox-color-mode=light] .link-indigo{color:#6610f2}html .link-indigo:hover,html .link-indigo:focus,html[data-netbox-color-mode=dark] .link-indigo:hover,html[data-netbox-color-mode=dark] .link-indigo:focus,html[data-netbox-color-mode=light] .link-indigo:hover,html[data-netbox-color-mode=light] .link-indigo:focus{color:#520dc2}}@media print{html .link-purple,html[data-netbox-color-mode=dark] .link-purple,html[data-netbox-color-mode=light] .link-purple{color:#6f42c1}html .link-purple:hover,html .link-purple:focus,html[data-netbox-color-mode=dark] .link-purple:hover,html[data-netbox-color-mode=dark] .link-purple:focus,html[data-netbox-color-mode=light] .link-purple:hover,html[data-netbox-color-mode=light] .link-purple:focus{color:#59359a}}@media print{html .link-pink,html[data-netbox-color-mode=dark] .link-pink,html[data-netbox-color-mode=light] .link-pink{color:#d63384}html .link-pink:hover,html .link-pink:focus,html[data-netbox-color-mode=dark] .link-pink:hover,html[data-netbox-color-mode=dark] .link-pink:focus,html[data-netbox-color-mode=light] .link-pink:hover,html[data-netbox-color-mode=light] .link-pink:focus{color:#ab296a}}@media print{html .link-red,html[data-netbox-color-mode=dark] .link-red,html[data-netbox-color-mode=light] .link-red{color:#dc3545}html .link-red:hover,html .link-red:focus,html[data-netbox-color-mode=dark] .link-red:hover,html[data-netbox-color-mode=dark] .link-red:focus,html[data-netbox-color-mode=light] .link-red:hover,html[data-netbox-color-mode=light] .link-red:focus{color:#b02a37}}@media print{html .link-orange,html[data-netbox-color-mode=dark] .link-orange,html[data-netbox-color-mode=light] .link-orange{color:#fd7e14}html .link-orange:hover,html .link-orange:focus,html[data-netbox-color-mode=dark] .link-orange:hover,html[data-netbox-color-mode=dark] .link-orange:focus,html[data-netbox-color-mode=light] .link-orange:hover,html[data-netbox-color-mode=light] .link-orange:focus{color:#fd9843}}@media print{html .link-yellow,html[data-netbox-color-mode=dark] .link-yellow,html[data-netbox-color-mode=light] .link-yellow{color:#ffc107}html .link-yellow:hover,html .link-yellow:focus,html[data-netbox-color-mode=dark] .link-yellow:hover,html[data-netbox-color-mode=dark] .link-yellow:focus,html[data-netbox-color-mode=light] .link-yellow:hover,html[data-netbox-color-mode=light] .link-yellow:focus{color:#ffcd39}}@media print{html .link-green,html[data-netbox-color-mode=dark] .link-green,html[data-netbox-color-mode=light] .link-green{color:#198754}html .link-green:hover,html .link-green:focus,html[data-netbox-color-mode=dark] .link-green:hover,html[data-netbox-color-mode=dark] .link-green:focus,html[data-netbox-color-mode=light] .link-green:hover,html[data-netbox-color-mode=light] .link-green:focus{color:#146c43}}@media print{html .link-teal,html[data-netbox-color-mode=dark] .link-teal,html[data-netbox-color-mode=light] .link-teal{color:#20c997}html .link-teal:hover,html .link-teal:focus,html[data-netbox-color-mode=dark] .link-teal:hover,html[data-netbox-color-mode=dark] .link-teal:focus,html[data-netbox-color-mode=light] .link-teal:hover,html[data-netbox-color-mode=light] .link-teal:focus{color:#4dd4ac}}@media print{html .link-cyan,html[data-netbox-color-mode=dark] .link-cyan,html[data-netbox-color-mode=light] .link-cyan{color:#0dcaf0}html .link-cyan:hover,html .link-cyan:focus,html[data-netbox-color-mode=dark] .link-cyan:hover,html[data-netbox-color-mode=dark] .link-cyan:focus,html[data-netbox-color-mode=light] .link-cyan:hover,html[data-netbox-color-mode=light] .link-cyan:focus{color:#3dd5f3}}@media print{html .link-gray,html[data-netbox-color-mode=dark] .link-gray,html[data-netbox-color-mode=light] .link-gray{color:#adb5bd}html .link-gray:hover,html .link-gray:focus,html[data-netbox-color-mode=dark] .link-gray:hover,html[data-netbox-color-mode=dark] .link-gray:focus,html[data-netbox-color-mode=light] .link-gray:hover,html[data-netbox-color-mode=light] .link-gray:focus{color:#bdc4ca}}@media print{html .link-black,html[data-netbox-color-mode=dark] .link-black,html[data-netbox-color-mode=light] .link-black{color:#000}html .link-black:hover,html .link-black:focus,html[data-netbox-color-mode=dark] .link-black:hover,html[data-netbox-color-mode=dark] .link-black:focus,html[data-netbox-color-mode=light] .link-black:hover,html[data-netbox-color-mode=light] .link-black:focus{color:#000}}@media print{html .link-white,html[data-netbox-color-mode=dark] .link-white,html[data-netbox-color-mode=light] .link-white{color:#fff}html .link-white:hover,html .link-white:focus,html[data-netbox-color-mode=dark] .link-white:hover,html[data-netbox-color-mode=dark] .link-white:focus,html[data-netbox-color-mode=light] .link-white:hover,html[data-netbox-color-mode=light] .link-white:focus{color:#fff}}@media print{html .ratio,html[data-netbox-color-mode=dark] .ratio,html[data-netbox-color-mode=light] .ratio{position:relative;width:100%}html .ratio:before,html[data-netbox-color-mode=dark] .ratio:before,html[data-netbox-color-mode=light] .ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}html .ratio>*,html[data-netbox-color-mode=dark] .ratio>*,html[data-netbox-color-mode=light] .ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}}@media print{html .ratio-1x1,html[data-netbox-color-mode=dark] .ratio-1x1,html[data-netbox-color-mode=light] .ratio-1x1{--bs-aspect-ratio: 100%}}@media print{html .ratio-4x3,html[data-netbox-color-mode=dark] .ratio-4x3,html[data-netbox-color-mode=light] .ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}}@media print{html .ratio-16x9,html[data-netbox-color-mode=dark] .ratio-16x9,html[data-netbox-color-mode=light] .ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}}@media print{html .ratio-21x9,html[data-netbox-color-mode=dark] .ratio-21x9,html[data-netbox-color-mode=light] .ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}}@media print{html .fixed-top,html[data-netbox-color-mode=dark] .fixed-top,html[data-netbox-color-mode=light] .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}}@media print{html .fixed-bottom,html[data-netbox-color-mode=dark] .fixed-bottom,html[data-netbox-color-mode=light] .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}}@media print{html .sticky-top,html[data-netbox-color-mode=dark] .sticky-top,html[data-netbox-color-mode=light] .sticky-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 576px){html .sticky-sm-top,html[data-netbox-color-mode=dark] .sticky-sm-top,html[data-netbox-color-mode=light] .sticky-sm-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 768px){html .sticky-md-top,html[data-netbox-color-mode=dark] .sticky-md-top,html[data-netbox-color-mode=light] .sticky-md-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 992px){html .sticky-lg-top,html[data-netbox-color-mode=dark] .sticky-lg-top,html[data-netbox-color-mode=light] .sticky-lg-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 1200px){html .sticky-xl-top,html[data-netbox-color-mode=dark] .sticky-xl-top,html[data-netbox-color-mode=light] .sticky-xl-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 1400px){html .sticky-xxl-top,html[data-netbox-color-mode=dark] .sticky-xxl-top,html[data-netbox-color-mode=light] .sticky-xxl-top{position:sticky;top:0;z-index:1020}}@media print{html .visually-hidden,html .visually-hidden-focusable:not(:focus):not(:focus-within),html[data-netbox-color-mode=dark] .visually-hidden,html[data-netbox-color-mode=dark] .visually-hidden-focusable:not(:focus):not(:focus-within),html[data-netbox-color-mode=light] .visually-hidden,html[data-netbox-color-mode=light] .visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;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}}@media print{html .stretched-link:after,html[data-netbox-color-mode=dark] .stretched-link:after,html[data-netbox-color-mode=light] .stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}}@media print{html .text-truncate,html[data-netbox-color-mode=dark] .text-truncate,html[data-netbox-color-mode=light] .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media print{html .align-baseline,html[data-netbox-color-mode=dark] .align-baseline,html[data-netbox-color-mode=light] .align-baseline{vertical-align:baseline!important}}@media print{html .align-top,html[data-netbox-color-mode=dark] .align-top,html[data-netbox-color-mode=light] .align-top{vertical-align:top!important}}@media print{html .align-middle,html[data-netbox-color-mode=dark] .align-middle,html[data-netbox-color-mode=light] .align-middle{vertical-align:middle!important}}@media print{html .align-bottom,html[data-netbox-color-mode=dark] .align-bottom,html[data-netbox-color-mode=light] .align-bottom{vertical-align:bottom!important}}@media print{html .align-text-bottom,html[data-netbox-color-mode=dark] .align-text-bottom,html[data-netbox-color-mode=light] .align-text-bottom{vertical-align:text-bottom!important}}@media print{html .align-text-top,html[data-netbox-color-mode=dark] .align-text-top,html[data-netbox-color-mode=light] .align-text-top{vertical-align:text-top!important}}@media print{html .float-start,html[data-netbox-color-mode=dark] .float-start,html[data-netbox-color-mode=light] .float-start{float:left!important}}@media print{html .float-end,html[data-netbox-color-mode=dark] .float-end,html[data-netbox-color-mode=light] .float-end{float:right!important}}@media print{html .float-none,html[data-netbox-color-mode=dark] .float-none,html[data-netbox-color-mode=light] .float-none{float:none!important}}@media print{html .overflow-auto,html[data-netbox-color-mode=dark] .overflow-auto,html[data-netbox-color-mode=light] .overflow-auto{overflow:auto!important}}@media print{html .overflow-hidden,html[data-netbox-color-mode=dark] .overflow-hidden,html[data-netbox-color-mode=light] .overflow-hidden{overflow:hidden!important}}@media print{html .overflow-visible,html[data-netbox-color-mode=dark] .overflow-visible,html[data-netbox-color-mode=light] .overflow-visible{overflow:visible!important}}@media print{html .overflow-scroll,html[data-netbox-color-mode=dark] .overflow-scroll,html[data-netbox-color-mode=light] .overflow-scroll{overflow:scroll!important}}@media print{html .d-inline,html[data-netbox-color-mode=dark] .d-inline,html[data-netbox-color-mode=light] .d-inline{display:inline!important}}@media print{html .d-inline-block,html[data-netbox-color-mode=dark] .d-inline-block,html[data-netbox-color-mode=light] .d-inline-block{display:inline-block!important}}@media print{html .d-block,html[data-netbox-color-mode=dark] .d-block,html[data-netbox-color-mode=light] .d-block{display:block!important}}@media print{html .d-grid,html[data-netbox-color-mode=dark] .d-grid,html[data-netbox-color-mode=light] .d-grid{display:grid!important}}@media print{html .d-table,html[data-netbox-color-mode=dark] .d-table,html[data-netbox-color-mode=light] .d-table{display:table!important}}@media print{html .d-table-row,html[data-netbox-color-mode=dark] .d-table-row,html[data-netbox-color-mode=light] .d-table-row{display:table-row!important}}@media print{html .d-table-cell,html[data-netbox-color-mode=dark] .d-table-cell,html[data-netbox-color-mode=light] .d-table-cell{display:table-cell!important}}@media print{html .d-flex,html[data-netbox-color-mode=dark] .d-flex,html[data-netbox-color-mode=light] .d-flex{display:flex!important}}@media print{html .d-inline-flex,html[data-netbox-color-mode=dark] .d-inline-flex,html[data-netbox-color-mode=light] .d-inline-flex{display:inline-flex!important}}@media print{html .d-none,html[data-netbox-color-mode=dark] .d-none,html[data-netbox-color-mode=light] .d-none{display:none!important}}@media print{html .shadow,html[data-netbox-color-mode=dark] .shadow,html[data-netbox-color-mode=light] .shadow{box-shadow:0 .5rem 1rem #00000026!important}}@media print{html .shadow-sm,html[data-netbox-color-mode=dark] .shadow-sm,html[data-netbox-color-mode=light] .shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}}@media print{html .shadow-lg,html[data-netbox-color-mode=dark] .shadow-lg,html[data-netbox-color-mode=light] .shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}}@media print{html .shadow-none,html[data-netbox-color-mode=dark] .shadow-none,html[data-netbox-color-mode=light] .shadow-none{box-shadow:none!important}}@media print{html .position-static,html[data-netbox-color-mode=dark] .position-static,html[data-netbox-color-mode=light] .position-static{position:static!important}}@media print{html .position-relative,html[data-netbox-color-mode=dark] .position-relative,html[data-netbox-color-mode=light] .position-relative{position:relative!important}}@media print{html .position-absolute,html[data-netbox-color-mode=dark] .position-absolute,html[data-netbox-color-mode=light] .position-absolute{position:absolute!important}}@media print{html .position-fixed,html[data-netbox-color-mode=dark] .position-fixed,html[data-netbox-color-mode=light] .position-fixed{position:fixed!important}}@media print{html .position-sticky,html[data-netbox-color-mode=dark] .position-sticky,html[data-netbox-color-mode=light] .position-sticky{position:sticky!important}}@media print{html .top-0,html[data-netbox-color-mode=dark] .top-0,html[data-netbox-color-mode=light] .top-0{top:0!important}}@media print{html .top-50,html[data-netbox-color-mode=dark] .top-50,html[data-netbox-color-mode=light] .top-50{top:50%!important}}@media print{html .top-100,html[data-netbox-color-mode=dark] .top-100,html[data-netbox-color-mode=light] .top-100{top:100%!important}}@media print{html .bottom-0,html[data-netbox-color-mode=dark] .bottom-0,html[data-netbox-color-mode=light] .bottom-0{bottom:0!important}}@media print{html .bottom-50,html[data-netbox-color-mode=dark] .bottom-50,html[data-netbox-color-mode=light] .bottom-50{bottom:50%!important}}@media print{html .bottom-100,html[data-netbox-color-mode=dark] .bottom-100,html[data-netbox-color-mode=light] .bottom-100{bottom:100%!important}}@media print{html .start-0,html[data-netbox-color-mode=dark] .start-0,html[data-netbox-color-mode=light] .start-0{left:0!important}}@media print{html .start-50,html[data-netbox-color-mode=dark] .start-50,html[data-netbox-color-mode=light] .start-50{left:50%!important}}@media print{html .start-100,html[data-netbox-color-mode=dark] .start-100,html[data-netbox-color-mode=light] .start-100{left:100%!important}}@media print{html .end-0,html[data-netbox-color-mode=dark] .end-0,html[data-netbox-color-mode=light] .end-0{right:0!important}}@media print{html .end-50,html[data-netbox-color-mode=dark] .end-50,html[data-netbox-color-mode=light] .end-50{right:50%!important}}@media print{html .end-100,html[data-netbox-color-mode=dark] .end-100,html[data-netbox-color-mode=light] .end-100{right:100%!important}}@media print{html .translate-middle,html[data-netbox-color-mode=dark] .translate-middle,html[data-netbox-color-mode=light] .translate-middle{transform:translate(-50%,-50%)!important}}@media print{html .translate-middle-x,html[data-netbox-color-mode=dark] .translate-middle-x,html[data-netbox-color-mode=light] .translate-middle-x{transform:translate(-50%)!important}}@media print{html .translate-middle-y,html[data-netbox-color-mode=dark] .translate-middle-y,html[data-netbox-color-mode=light] .translate-middle-y{transform:translateY(-50%)!important}}@media print{html .border,html[data-netbox-color-mode=dark] .border,html[data-netbox-color-mode=light] .border{border:1px solid #dee2e6!important}}@media print{html .border-0,html[data-netbox-color-mode=dark] .border-0,html[data-netbox-color-mode=light] .border-0{border:0!important}}@media print{html .border-top,html[data-netbox-color-mode=dark] .border-top,html[data-netbox-color-mode=light] .border-top{border-top:1px solid #dee2e6!important}}@media print{html .border-top-0,html[data-netbox-color-mode=dark] .border-top-0,html[data-netbox-color-mode=light] .border-top-0{border-top:0!important}}@media print{html .border-end,html[data-netbox-color-mode=dark] .border-end,html[data-netbox-color-mode=light] .border-end{border-right:1px solid #dee2e6!important}}@media print{html .border-end-0,html[data-netbox-color-mode=dark] .border-end-0,html[data-netbox-color-mode=light] .border-end-0{border-right:0!important}}@media print{html .border-bottom,html[data-netbox-color-mode=dark] .border-bottom,html[data-netbox-color-mode=light] .border-bottom{border-bottom:1px solid #dee2e6!important}}@media print{html .border-bottom-0,html[data-netbox-color-mode=dark] .border-bottom-0,html[data-netbox-color-mode=light] .border-bottom-0{border-bottom:0!important}}@media print{html .border-start,html[data-netbox-color-mode=dark] .border-start,html[data-netbox-color-mode=light] .border-start{border-left:1px solid #dee2e6!important}}@media print{html .border-start-0,html[data-netbox-color-mode=dark] .border-start-0,html[data-netbox-color-mode=light] .border-start-0{border-left:0!important}}@media print{html .border-primary,html[data-netbox-color-mode=dark] .border-primary,html[data-netbox-color-mode=light] .border-primary{border-color:#337ab7!important}}@media print{html .border-secondary,html[data-netbox-color-mode=dark] .border-secondary,html[data-netbox-color-mode=light] .border-secondary{border-color:#6c757d!important}}@media print{html .border-success,html[data-netbox-color-mode=dark] .border-success,html[data-netbox-color-mode=light] .border-success{border-color:#198754!important}}@media print{html .border-info,html[data-netbox-color-mode=dark] .border-info,html[data-netbox-color-mode=light] .border-info{border-color:#54d6f0!important}}@media print{html .border-warning,html[data-netbox-color-mode=dark] .border-warning,html[data-netbox-color-mode=light] .border-warning{border-color:#ffc107!important}}@media print{html .border-danger,html[data-netbox-color-mode=dark] .border-danger,html[data-netbox-color-mode=light] .border-danger{border-color:#dc3545!important}}@media print{html .border-light,html[data-netbox-color-mode=dark] .border-light,html[data-netbox-color-mode=light] .border-light{border-color:#e9ecef!important}}@media print{html .border-dark,html[data-netbox-color-mode=dark] .border-dark,html[data-netbox-color-mode=light] .border-dark{border-color:#343a40!important}}@media print{html .border-blue,html[data-netbox-color-mode=dark] .border-blue,html[data-netbox-color-mode=light] .border-blue{border-color:#0d6efd!important}}@media print{html .border-indigo,html[data-netbox-color-mode=dark] .border-indigo,html[data-netbox-color-mode=light] .border-indigo{border-color:#6610f2!important}}@media print{html .border-purple,html[data-netbox-color-mode=dark] .border-purple,html[data-netbox-color-mode=light] .border-purple{border-color:#6f42c1!important}}@media print{html .border-pink,html[data-netbox-color-mode=dark] .border-pink,html[data-netbox-color-mode=light] .border-pink{border-color:#d63384!important}}@media print{html .border-red,html[data-netbox-color-mode=dark] .border-red,html[data-netbox-color-mode=light] .border-red{border-color:#dc3545!important}}@media print{html .border-orange,html[data-netbox-color-mode=dark] .border-orange,html[data-netbox-color-mode=light] .border-orange{border-color:#fd7e14!important}}@media print{html .border-yellow,html[data-netbox-color-mode=dark] .border-yellow,html[data-netbox-color-mode=light] .border-yellow{border-color:#ffc107!important}}@media print{html .border-green,html[data-netbox-color-mode=dark] .border-green,html[data-netbox-color-mode=light] .border-green{border-color:#198754!important}}@media print{html .border-teal,html[data-netbox-color-mode=dark] .border-teal,html[data-netbox-color-mode=light] .border-teal{border-color:#20c997!important}}@media print{html .border-cyan,html[data-netbox-color-mode=dark] .border-cyan,html[data-netbox-color-mode=light] .border-cyan{border-color:#0dcaf0!important}}@media print{html .border-gray,html[data-netbox-color-mode=dark] .border-gray,html[data-netbox-color-mode=light] .border-gray{border-color:#adb5bd!important}}@media print{html .border-black,html[data-netbox-color-mode=dark] .border-black,html[data-netbox-color-mode=light] .border-black{border-color:#000!important}}@media print{html .border-white,html[data-netbox-color-mode=dark] .border-white,html[data-netbox-color-mode=light] .border-white{border-color:#fff!important}}@media print{html .border-1,html[data-netbox-color-mode=dark] .border-1,html[data-netbox-color-mode=light] .border-1{border-width:1px!important}}@media print{html .border-2,html[data-netbox-color-mode=dark] .border-2,html[data-netbox-color-mode=light] .border-2{border-width:2px!important}}@media print{html .border-3,html[data-netbox-color-mode=dark] .border-3,html[data-netbox-color-mode=light] .border-3{border-width:3px!important}}@media print{html .border-4,html[data-netbox-color-mode=dark] .border-4,html[data-netbox-color-mode=light] .border-4{border-width:4px!important}}@media print{html .border-5,html[data-netbox-color-mode=dark] .border-5,html[data-netbox-color-mode=light] .border-5{border-width:5px!important}}@media print{html .w-25,html[data-netbox-color-mode=dark] .w-25,html[data-netbox-color-mode=light] .w-25{width:25%!important}}@media print{html .w-50,html[data-netbox-color-mode=dark] .w-50,html[data-netbox-color-mode=light] .w-50{width:50%!important}}@media print{html .w-75,html[data-netbox-color-mode=dark] .w-75,html[data-netbox-color-mode=light] .w-75{width:75%!important}}@media print{html .w-100,html[data-netbox-color-mode=dark] .w-100,html[data-netbox-color-mode=light] .w-100{width:100%!important}}@media print{html .w-auto,html[data-netbox-color-mode=dark] .w-auto,html[data-netbox-color-mode=light] .w-auto{width:auto!important}}@media print{html .mw-100,html[data-netbox-color-mode=dark] .mw-100,html[data-netbox-color-mode=light] .mw-100{max-width:100%!important}}@media print{html .vw-100,html[data-netbox-color-mode=dark] .vw-100,html[data-netbox-color-mode=light] .vw-100{width:100vw!important}}@media print{html .min-vw-100,html[data-netbox-color-mode=dark] .min-vw-100,html[data-netbox-color-mode=light] .min-vw-100{min-width:100vw!important}}@media print{html .h-25,html[data-netbox-color-mode=dark] .h-25,html[data-netbox-color-mode=light] .h-25{height:25%!important}}@media print{html .h-50,html[data-netbox-color-mode=dark] .h-50,html[data-netbox-color-mode=light] .h-50{height:50%!important}}@media print{html .h-75,html[data-netbox-color-mode=dark] .h-75,html[data-netbox-color-mode=light] .h-75{height:75%!important}}@media print{html .h-100,html[data-netbox-color-mode=dark] .h-100,html[data-netbox-color-mode=light] .h-100{height:100%!important}}@media print{html .h-auto,html[data-netbox-color-mode=dark] .h-auto,html[data-netbox-color-mode=light] .h-auto{height:auto!important}}@media print{html .mh-100,html[data-netbox-color-mode=dark] .mh-100,html[data-netbox-color-mode=light] .mh-100{max-height:100%!important}}@media print{html .vh-100,html[data-netbox-color-mode=dark] .vh-100,html[data-netbox-color-mode=light] .vh-100{height:100vh!important}}@media print{html .min-vh-100,html[data-netbox-color-mode=dark] .min-vh-100,html[data-netbox-color-mode=light] .min-vh-100{min-height:100vh!important}}@media print{html .flex-fill,html[data-netbox-color-mode=dark] .flex-fill,html[data-netbox-color-mode=light] .flex-fill{flex:1 1 auto!important}}@media print{html .flex-row,html[data-netbox-color-mode=dark] .flex-row,html[data-netbox-color-mode=light] .flex-row{flex-direction:row!important}}@media print{html .flex-column,html[data-netbox-color-mode=dark] .flex-column,html[data-netbox-color-mode=light] .flex-column{flex-direction:column!important}}@media print{html .flex-row-reverse,html[data-netbox-color-mode=dark] .flex-row-reverse,html[data-netbox-color-mode=light] .flex-row-reverse{flex-direction:row-reverse!important}}@media print{html .flex-column-reverse,html[data-netbox-color-mode=dark] .flex-column-reverse,html[data-netbox-color-mode=light] .flex-column-reverse{flex-direction:column-reverse!important}}@media print{html .flex-grow-0,html[data-netbox-color-mode=dark] .flex-grow-0,html[data-netbox-color-mode=light] .flex-grow-0{flex-grow:0!important}}@media print{html .flex-grow-1,html[data-netbox-color-mode=dark] .flex-grow-1,html[data-netbox-color-mode=light] .flex-grow-1{flex-grow:1!important}}@media print{html .flex-shrink-0,html[data-netbox-color-mode=dark] .flex-shrink-0,html[data-netbox-color-mode=light] .flex-shrink-0{flex-shrink:0!important}}@media print{html .flex-shrink-1,html[data-netbox-color-mode=dark] .flex-shrink-1,html[data-netbox-color-mode=light] .flex-shrink-1{flex-shrink:1!important}}@media print{html .flex-wrap,html[data-netbox-color-mode=dark] .flex-wrap,html[data-netbox-color-mode=light] .flex-wrap{flex-wrap:wrap!important}}@media print{html .flex-nowrap,html[data-netbox-color-mode=dark] .flex-nowrap,html[data-netbox-color-mode=light] .flex-nowrap{flex-wrap:nowrap!important}}@media print{html .flex-wrap-reverse,html[data-netbox-color-mode=dark] .flex-wrap-reverse,html[data-netbox-color-mode=light] .flex-wrap-reverse{flex-wrap:wrap-reverse!important}}@media print{html .gap-0,html[data-netbox-color-mode=dark] .gap-0,html[data-netbox-color-mode=light] .gap-0{gap:0!important}}@media print{html .gap-1,html[data-netbox-color-mode=dark] .gap-1,html[data-netbox-color-mode=light] .gap-1{gap:.25rem!important}}@media print{html .gap-2,html[data-netbox-color-mode=dark] .gap-2,html[data-netbox-color-mode=light] .gap-2{gap:.5rem!important}}@media print{html .gap-3,html[data-netbox-color-mode=dark] .gap-3,html[data-netbox-color-mode=light] .gap-3{gap:1rem!important}}@media print{html .gap-4,html[data-netbox-color-mode=dark] .gap-4,html[data-netbox-color-mode=light] .gap-4{gap:1.5rem!important}}@media print{html .gap-5,html[data-netbox-color-mode=dark] .gap-5,html[data-netbox-color-mode=light] .gap-5{gap:3rem!important}}@media print{html .justify-content-start,html[data-netbox-color-mode=dark] .justify-content-start,html[data-netbox-color-mode=light] .justify-content-start{justify-content:flex-start!important}}@media print{html .justify-content-end,html[data-netbox-color-mode=dark] .justify-content-end,html[data-netbox-color-mode=light] .justify-content-end{justify-content:flex-end!important}}@media print{html .justify-content-center,html[data-netbox-color-mode=dark] .justify-content-center,html[data-netbox-color-mode=light] .justify-content-center{justify-content:center!important}}@media print{html .justify-content-between,html[data-netbox-color-mode=dark] .justify-content-between,html[data-netbox-color-mode=light] .justify-content-between{justify-content:space-between!important}}@media print{html .justify-content-around,html[data-netbox-color-mode=dark] .justify-content-around,html[data-netbox-color-mode=light] .justify-content-around{justify-content:space-around!important}}@media print{html .justify-content-evenly,html[data-netbox-color-mode=dark] .justify-content-evenly,html[data-netbox-color-mode=light] .justify-content-evenly{justify-content:space-evenly!important}}@media print{html .align-items-start,html[data-netbox-color-mode=dark] .align-items-start,html[data-netbox-color-mode=light] .align-items-start{align-items:flex-start!important}}@media print{html .align-items-end,html[data-netbox-color-mode=dark] .align-items-end,html[data-netbox-color-mode=light] .align-items-end{align-items:flex-end!important}}@media print{html .align-items-center,html[data-netbox-color-mode=dark] .align-items-center,html[data-netbox-color-mode=light] .align-items-center{align-items:center!important}}@media print{html .align-items-baseline,html[data-netbox-color-mode=dark] .align-items-baseline,html[data-netbox-color-mode=light] .align-items-baseline{align-items:baseline!important}}@media print{html .align-items-stretch,html[data-netbox-color-mode=dark] .align-items-stretch,html[data-netbox-color-mode=light] .align-items-stretch{align-items:stretch!important}}@media print{html .align-content-start,html[data-netbox-color-mode=dark] .align-content-start,html[data-netbox-color-mode=light] .align-content-start{align-content:flex-start!important}}@media print{html .align-content-end,html[data-netbox-color-mode=dark] .align-content-end,html[data-netbox-color-mode=light] .align-content-end{align-content:flex-end!important}}@media print{html .align-content-center,html[data-netbox-color-mode=dark] .align-content-center,html[data-netbox-color-mode=light] .align-content-center{align-content:center!important}}@media print{html .align-content-between,html[data-netbox-color-mode=dark] .align-content-between,html[data-netbox-color-mode=light] .align-content-between{align-content:space-between!important}}@media print{html .align-content-around,html[data-netbox-color-mode=dark] .align-content-around,html[data-netbox-color-mode=light] .align-content-around{align-content:space-around!important}}@media print{html .align-content-stretch,html[data-netbox-color-mode=dark] .align-content-stretch,html[data-netbox-color-mode=light] .align-content-stretch{align-content:stretch!important}}@media print{html .align-self-auto,html[data-netbox-color-mode=dark] .align-self-auto,html[data-netbox-color-mode=light] .align-self-auto{align-self:auto!important}}@media print{html .align-self-start,html[data-netbox-color-mode=dark] .align-self-start,html[data-netbox-color-mode=light] .align-self-start{align-self:flex-start!important}}@media print{html .align-self-end,html[data-netbox-color-mode=dark] .align-self-end,html[data-netbox-color-mode=light] .align-self-end{align-self:flex-end!important}}@media print{html .align-self-center,html[data-netbox-color-mode=dark] .align-self-center,html[data-netbox-color-mode=light] .align-self-center{align-self:center!important}}@media print{html .align-self-baseline,html[data-netbox-color-mode=dark] .align-self-baseline,html[data-netbox-color-mode=light] .align-self-baseline{align-self:baseline!important}}@media print{html .align-self-stretch,html[data-netbox-color-mode=dark] .align-self-stretch,html[data-netbox-color-mode=light] .align-self-stretch{align-self:stretch!important}}@media print{html .order-first,html[data-netbox-color-mode=dark] .order-first,html[data-netbox-color-mode=light] .order-first{order:-1!important}}@media print{html .order-0,html[data-netbox-color-mode=dark] .order-0,html[data-netbox-color-mode=light] .order-0{order:0!important}}@media print{html .order-1,html[data-netbox-color-mode=dark] .order-1,html[data-netbox-color-mode=light] .order-1{order:1!important}}@media print{html .order-2,html[data-netbox-color-mode=dark] .order-2,html[data-netbox-color-mode=light] .order-2{order:2!important}}@media print{html .order-3,html[data-netbox-color-mode=dark] .order-3,html[data-netbox-color-mode=light] .order-3{order:3!important}}@media print{html .order-4,html[data-netbox-color-mode=dark] .order-4,html[data-netbox-color-mode=light] .order-4{order:4!important}}@media print{html .order-5,html[data-netbox-color-mode=dark] .order-5,html[data-netbox-color-mode=light] .order-5{order:5!important}}@media print{html .order-last,html[data-netbox-color-mode=dark] .order-last,html[data-netbox-color-mode=light] .order-last{order:6!important}}@media print{html .m-0,html[data-netbox-color-mode=dark] .m-0,html[data-netbox-color-mode=light] .m-0{margin:0!important}}@media print{html .m-1,html[data-netbox-color-mode=dark] .m-1,html[data-netbox-color-mode=light] .m-1{margin:.25rem!important}}@media print{html .m-2,html[data-netbox-color-mode=dark] .m-2,html[data-netbox-color-mode=light] .m-2{margin:.5rem!important}}@media print{html .m-3,html[data-netbox-color-mode=dark] .m-3,html[data-netbox-color-mode=light] .m-3{margin:1rem!important}}@media print{html .m-4,html[data-netbox-color-mode=dark] .m-4,html[data-netbox-color-mode=light] .m-4{margin:1.5rem!important}}@media print{html .m-5,html[data-netbox-color-mode=dark] .m-5,html[data-netbox-color-mode=light] .m-5{margin:3rem!important}}@media print{html .m-auto,html[data-netbox-color-mode=dark] .m-auto,html[data-netbox-color-mode=light] .m-auto{margin:auto!important}}@media print{html .mx-0,html[data-netbox-color-mode=dark] .mx-0,html[data-netbox-color-mode=light] .mx-0{margin-right:0!important;margin-left:0!important}}@media print{html .mx-1,html[data-netbox-color-mode=dark] .mx-1,html[data-netbox-color-mode=light] .mx-1{margin-right:.25rem!important;margin-left:.25rem!important}}@media print{html .mx-2,html[data-netbox-color-mode=dark] .mx-2,html[data-netbox-color-mode=light] .mx-2{margin-right:.5rem!important;margin-left:.5rem!important}}@media print{html .mx-3,html[data-netbox-color-mode=dark] .mx-3,html[data-netbox-color-mode=light] .mx-3{margin-right:1rem!important;margin-left:1rem!important}}@media print{html .mx-4,html[data-netbox-color-mode=dark] .mx-4,html[data-netbox-color-mode=light] .mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}}@media print{html .mx-5,html[data-netbox-color-mode=dark] .mx-5,html[data-netbox-color-mode=light] .mx-5{margin-right:3rem!important;margin-left:3rem!important}}@media print{html .mx-auto,html[data-netbox-color-mode=dark] .mx-auto,html[data-netbox-color-mode=light] .mx-auto{margin-right:auto!important;margin-left:auto!important}}@media print{html .my-0,html[data-netbox-color-mode=dark] .my-0,html[data-netbox-color-mode=light] .my-0{margin-top:0!important;margin-bottom:0!important}}@media print{html .my-1,html[data-netbox-color-mode=dark] .my-1,html[data-netbox-color-mode=light] .my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}}@media print{html .my-2,html[data-netbox-color-mode=dark] .my-2,html[data-netbox-color-mode=light] .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}}@media print{html .my-3,html[data-netbox-color-mode=dark] .my-3,html[data-netbox-color-mode=light] .my-3{margin-top:1rem!important;margin-bottom:1rem!important}}@media print{html .my-4,html[data-netbox-color-mode=dark] .my-4,html[data-netbox-color-mode=light] .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}}@media print{html .my-5,html[data-netbox-color-mode=dark] .my-5,html[data-netbox-color-mode=light] .my-5{margin-top:3rem!important;margin-bottom:3rem!important}}@media print{html .my-auto,html[data-netbox-color-mode=dark] .my-auto,html[data-netbox-color-mode=light] .my-auto{margin-top:auto!important;margin-bottom:auto!important}}@media print{html .mt-0,html[data-netbox-color-mode=dark] .mt-0,html[data-netbox-color-mode=light] .mt-0{margin-top:0!important}}@media print{html .mt-1,html[data-netbox-color-mode=dark] .mt-1,html[data-netbox-color-mode=light] .mt-1{margin-top:.25rem!important}}@media print{html .mt-2,html[data-netbox-color-mode=dark] .mt-2,html[data-netbox-color-mode=light] .mt-2{margin-top:.5rem!important}}@media print{html .mt-3,html[data-netbox-color-mode=dark] .mt-3,html[data-netbox-color-mode=light] .mt-3{margin-top:1rem!important}}@media print{html .mt-4,html[data-netbox-color-mode=dark] .mt-4,html[data-netbox-color-mode=light] .mt-4{margin-top:1.5rem!important}}@media print{html .mt-5,html[data-netbox-color-mode=dark] .mt-5,html[data-netbox-color-mode=light] .mt-5{margin-top:3rem!important}}@media print{html .mt-auto,html[data-netbox-color-mode=dark] .mt-auto,html[data-netbox-color-mode=light] .mt-auto{margin-top:auto!important}}@media print{html .me-0,html[data-netbox-color-mode=dark] .me-0,html[data-netbox-color-mode=light] .me-0{margin-right:0!important}}@media print{html .me-1,html[data-netbox-color-mode=dark] .me-1,html[data-netbox-color-mode=light] .me-1{margin-right:.25rem!important}}@media print{html .me-2,html[data-netbox-color-mode=dark] .me-2,html[data-netbox-color-mode=light] .me-2{margin-right:.5rem!important}}@media print{html .me-3,html[data-netbox-color-mode=dark] .me-3,html[data-netbox-color-mode=light] .me-3{margin-right:1rem!important}}@media print{html .me-4,html[data-netbox-color-mode=dark] .me-4,html[data-netbox-color-mode=light] .me-4{margin-right:1.5rem!important}}@media print{html .me-5,html[data-netbox-color-mode=dark] .me-5,html[data-netbox-color-mode=light] .me-5{margin-right:3rem!important}}@media print{html .me-auto,html[data-netbox-color-mode=dark] .me-auto,html[data-netbox-color-mode=light] .me-auto{margin-right:auto!important}}@media print{html .mb-0,html[data-netbox-color-mode=dark] .mb-0,html[data-netbox-color-mode=light] .mb-0{margin-bottom:0!important}}@media print{html .mb-1,html[data-netbox-color-mode=dark] .mb-1,html[data-netbox-color-mode=light] .mb-1{margin-bottom:.25rem!important}}@media print{html .mb-2,html[data-netbox-color-mode=dark] .mb-2,html[data-netbox-color-mode=light] .mb-2{margin-bottom:.5rem!important}}@media print{html .mb-3,html[data-netbox-color-mode=dark] .mb-3,html[data-netbox-color-mode=light] .mb-3{margin-bottom:1rem!important}}@media print{html .mb-4,html[data-netbox-color-mode=dark] .mb-4,html[data-netbox-color-mode=light] .mb-4{margin-bottom:1.5rem!important}}@media print{html .mb-5,html[data-netbox-color-mode=dark] .mb-5,html[data-netbox-color-mode=light] .mb-5{margin-bottom:3rem!important}}@media print{html .mb-auto,html[data-netbox-color-mode=dark] .mb-auto,html[data-netbox-color-mode=light] .mb-auto{margin-bottom:auto!important}}@media print{html .ms-0,html[data-netbox-color-mode=dark] .ms-0,html[data-netbox-color-mode=light] .ms-0{margin-left:0!important}}@media print{html .ms-1,html[data-netbox-color-mode=dark] .ms-1,html[data-netbox-color-mode=light] .ms-1{margin-left:.25rem!important}}@media print{html .ms-2,html[data-netbox-color-mode=dark] .ms-2,html[data-netbox-color-mode=light] .ms-2{margin-left:.5rem!important}}@media print{html .ms-3,html[data-netbox-color-mode=dark] .ms-3,html[data-netbox-color-mode=light] .ms-3{margin-left:1rem!important}}@media print{html .ms-4,html[data-netbox-color-mode=dark] .ms-4,html[data-netbox-color-mode=light] .ms-4{margin-left:1.5rem!important}}@media print{html .ms-5,html[data-netbox-color-mode=dark] .ms-5,html[data-netbox-color-mode=light] .ms-5{margin-left:3rem!important}}@media print{html .ms-auto,html[data-netbox-color-mode=dark] .ms-auto,html[data-netbox-color-mode=light] .ms-auto{margin-left:auto!important}}@media print{html .p-0,html[data-netbox-color-mode=dark] .p-0,html[data-netbox-color-mode=light] .p-0{padding:0!important}}@media print{html .p-1,html[data-netbox-color-mode=dark] .p-1,html[data-netbox-color-mode=light] .p-1{padding:.25rem!important}}@media print{html .p-2,html[data-netbox-color-mode=dark] .p-2,html[data-netbox-color-mode=light] .p-2{padding:.5rem!important}}@media print{html .p-3,html[data-netbox-color-mode=dark] .p-3,html[data-netbox-color-mode=light] .p-3{padding:1rem!important}}@media print{html .p-4,html[data-netbox-color-mode=dark] .p-4,html[data-netbox-color-mode=light] .p-4{padding:1.5rem!important}}@media print{html .p-5,html[data-netbox-color-mode=dark] .p-5,html[data-netbox-color-mode=light] .p-5{padding:3rem!important}}@media print{html .px-0,html[data-netbox-color-mode=dark] .px-0,html[data-netbox-color-mode=light] .px-0{padding-right:0!important;padding-left:0!important}}@media print{html .px-1,html[data-netbox-color-mode=dark] .px-1,html[data-netbox-color-mode=light] .px-1{padding-right:.25rem!important;padding-left:.25rem!important}}@media print{html .px-2,html[data-netbox-color-mode=dark] .px-2,html[data-netbox-color-mode=light] .px-2{padding-right:.5rem!important;padding-left:.5rem!important}}@media print{html .px-3,html[data-netbox-color-mode=dark] .px-3,html[data-netbox-color-mode=light] .px-3{padding-right:1rem!important;padding-left:1rem!important}}@media print{html .px-4,html[data-netbox-color-mode=dark] .px-4,html[data-netbox-color-mode=light] .px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}}@media print{html .px-5,html[data-netbox-color-mode=dark] .px-5,html[data-netbox-color-mode=light] .px-5{padding-right:3rem!important;padding-left:3rem!important}}@media print{html .py-0,html[data-netbox-color-mode=dark] .py-0,html[data-netbox-color-mode=light] .py-0{padding-top:0!important;padding-bottom:0!important}}@media print{html .py-1,html[data-netbox-color-mode=dark] .py-1,html[data-netbox-color-mode=light] .py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}}@media print{html .py-2,html[data-netbox-color-mode=dark] .py-2,html[data-netbox-color-mode=light] .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}}@media print{html .py-3,html[data-netbox-color-mode=dark] .py-3,html[data-netbox-color-mode=light] .py-3{padding-top:1rem!important;padding-bottom:1rem!important}}@media print{html .py-4,html[data-netbox-color-mode=dark] .py-4,html[data-netbox-color-mode=light] .py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}}@media print{html .py-5,html[data-netbox-color-mode=dark] .py-5,html[data-netbox-color-mode=light] .py-5{padding-top:3rem!important;padding-bottom:3rem!important}}@media print{html .pt-0,html[data-netbox-color-mode=dark] .pt-0,html[data-netbox-color-mode=light] .pt-0{padding-top:0!important}}@media print{html .pt-1,html[data-netbox-color-mode=dark] .pt-1,html[data-netbox-color-mode=light] .pt-1{padding-top:.25rem!important}}@media print{html .pt-2,html[data-netbox-color-mode=dark] .pt-2,html[data-netbox-color-mode=light] .pt-2{padding-top:.5rem!important}}@media print{html .pt-3,html[data-netbox-color-mode=dark] .pt-3,html[data-netbox-color-mode=light] .pt-3{padding-top:1rem!important}}@media print{html .pt-4,html[data-netbox-color-mode=dark] .pt-4,html[data-netbox-color-mode=light] .pt-4{padding-top:1.5rem!important}}@media print{html .pt-5,html[data-netbox-color-mode=dark] .pt-5,html[data-netbox-color-mode=light] .pt-5{padding-top:3rem!important}}@media print{html .pe-0,html[data-netbox-color-mode=dark] .pe-0,html[data-netbox-color-mode=light] .pe-0{padding-right:0!important}}@media print{html .pe-1,html[data-netbox-color-mode=dark] .pe-1,html[data-netbox-color-mode=light] .pe-1{padding-right:.25rem!important}}@media print{html .pe-2,html[data-netbox-color-mode=dark] .pe-2,html[data-netbox-color-mode=light] .pe-2{padding-right:.5rem!important}}@media print{html .pe-3,html[data-netbox-color-mode=dark] .pe-3,html[data-netbox-color-mode=light] .pe-3{padding-right:1rem!important}}@media print{html .pe-4,html[data-netbox-color-mode=dark] .pe-4,html[data-netbox-color-mode=light] .pe-4{padding-right:1.5rem!important}}@media print{html .pe-5,html[data-netbox-color-mode=dark] .pe-5,html[data-netbox-color-mode=light] .pe-5{padding-right:3rem!important}}@media print{html .pb-0,html[data-netbox-color-mode=dark] .pb-0,html[data-netbox-color-mode=light] .pb-0{padding-bottom:0!important}}@media print{html .pb-1,html[data-netbox-color-mode=dark] .pb-1,html[data-netbox-color-mode=light] .pb-1{padding-bottom:.25rem!important}}@media print{html .pb-2,html[data-netbox-color-mode=dark] .pb-2,html[data-netbox-color-mode=light] .pb-2{padding-bottom:.5rem!important}}@media print{html .pb-3,html[data-netbox-color-mode=dark] .pb-3,html[data-netbox-color-mode=light] .pb-3{padding-bottom:1rem!important}}@media print{html .pb-4,html[data-netbox-color-mode=dark] .pb-4,html[data-netbox-color-mode=light] .pb-4{padding-bottom:1.5rem!important}}@media print{html .pb-5,html[data-netbox-color-mode=dark] .pb-5,html[data-netbox-color-mode=light] .pb-5{padding-bottom:3rem!important}}@media print{html .ps-0,html[data-netbox-color-mode=dark] .ps-0,html[data-netbox-color-mode=light] .ps-0{padding-left:0!important}}@media print{html .ps-1,html[data-netbox-color-mode=dark] .ps-1,html[data-netbox-color-mode=light] .ps-1{padding-left:.25rem!important}}@media print{html .ps-2,html[data-netbox-color-mode=dark] .ps-2,html[data-netbox-color-mode=light] .ps-2{padding-left:.5rem!important}}@media print{html .ps-3,html[data-netbox-color-mode=dark] .ps-3,html[data-netbox-color-mode=light] .ps-3{padding-left:1rem!important}}@media print{html .ps-4,html[data-netbox-color-mode=dark] .ps-4,html[data-netbox-color-mode=light] .ps-4{padding-left:1.5rem!important}}@media print{html .ps-5,html[data-netbox-color-mode=dark] .ps-5,html[data-netbox-color-mode=light] .ps-5{padding-left:3rem!important}}@media print{html .font-monospace,html[data-netbox-color-mode=dark] .font-monospace,html[data-netbox-color-mode=light] .font-monospace{font-family:var(--bs-font-monospace)!important}}@media print{html .fs-1,html[data-netbox-color-mode=dark] .fs-1,html[data-netbox-color-mode=light] .fs-1{font-size:calc(1.375rem + 1.5vw)!important}}@media print{html .fs-2,html[data-netbox-color-mode=dark] .fs-2,html[data-netbox-color-mode=light] .fs-2{font-size:calc(1.325rem + .9vw)!important}}@media print{html .fs-3,html[data-netbox-color-mode=dark] .fs-3,html[data-netbox-color-mode=light] .fs-3{font-size:calc(1.3rem + .6vw)!important}}@media print{html .fs-4,html[data-netbox-color-mode=dark] .fs-4,html[data-netbox-color-mode=light] .fs-4{font-size:calc(1.275rem + .3vw)!important}}@media print{html .fs-5,html[data-netbox-color-mode=dark] .fs-5,html[data-netbox-color-mode=light] .fs-5{font-size:1.25rem!important}}@media print{html .fs-6,html[data-netbox-color-mode=dark] .fs-6,html[data-netbox-color-mode=light] .fs-6{font-size:1rem!important}}@media print{html .fst-italic,html[data-netbox-color-mode=dark] .fst-italic,html[data-netbox-color-mode=light] .fst-italic{font-style:italic!important}}@media print{html .fst-normal,html[data-netbox-color-mode=dark] .fst-normal,html[data-netbox-color-mode=light] .fst-normal{font-style:normal!important}}@media print{html .fw-light,html[data-netbox-color-mode=dark] .fw-light,html[data-netbox-color-mode=light] .fw-light{font-weight:300!important}}@media print{html .fw-lighter,html[data-netbox-color-mode=dark] .fw-lighter,html[data-netbox-color-mode=light] .fw-lighter{font-weight:200!important}}@media print{html .fw-normal,html[data-netbox-color-mode=dark] .fw-normal,html[data-netbox-color-mode=light] .fw-normal{font-weight:400!important}}@media print{html .fw-bold,html[data-netbox-color-mode=dark] .fw-bold,html[data-netbox-color-mode=light] .fw-bold{font-weight:700!important}}@media print{html .fw-bolder,html[data-netbox-color-mode=dark] .fw-bolder,html[data-netbox-color-mode=light] .fw-bolder{font-weight:800!important}}@media print{html .lh-1,html[data-netbox-color-mode=dark] .lh-1,html[data-netbox-color-mode=light] .lh-1{line-height:1!important}}@media print{html .lh-sm,html[data-netbox-color-mode=dark] .lh-sm,html[data-netbox-color-mode=light] .lh-sm{line-height:1.25!important}}@media print{html .lh-base,html[data-netbox-color-mode=dark] .lh-base,html[data-netbox-color-mode=light] .lh-base{line-height:1.5!important}}@media print{html .lh-lg,html[data-netbox-color-mode=dark] .lh-lg,html[data-netbox-color-mode=light] .lh-lg{line-height:1.75!important}}@media print{html .text-start,html[data-netbox-color-mode=dark] .text-start,html[data-netbox-color-mode=light] .text-start{text-align:left!important}}@media print{html .text-end,html[data-netbox-color-mode=dark] .text-end,html[data-netbox-color-mode=light] .text-end{text-align:right!important}}@media print{html .text-center,html[data-netbox-color-mode=dark] .text-center,html[data-netbox-color-mode=light] .text-center{text-align:center!important}}@media print{html .text-decoration-none,html[data-netbox-color-mode=dark] .text-decoration-none,html[data-netbox-color-mode=light] .text-decoration-none{text-decoration:none!important}}@media print{html .text-decoration-underline,html[data-netbox-color-mode=dark] .text-decoration-underline,html[data-netbox-color-mode=light] .text-decoration-underline{text-decoration:underline!important}}@media print{html .text-decoration-line-through,html[data-netbox-color-mode=dark] .text-decoration-line-through,html[data-netbox-color-mode=light] .text-decoration-line-through{text-decoration:line-through!important}}@media print{html .text-lowercase,html[data-netbox-color-mode=dark] .text-lowercase,html[data-netbox-color-mode=light] .text-lowercase{text-transform:lowercase!important}}@media print{html .text-uppercase,html[data-netbox-color-mode=dark] .text-uppercase,html[data-netbox-color-mode=light] .text-uppercase{text-transform:uppercase!important}}@media print{html .text-capitalize,html[data-netbox-color-mode=dark] .text-capitalize,html[data-netbox-color-mode=light] .text-capitalize{text-transform:capitalize!important}}@media print{html .text-wrap,html[data-netbox-color-mode=dark] .text-wrap,html[data-netbox-color-mode=light] .text-wrap{white-space:normal!important}}@media print{html .text-nowrap,html[data-netbox-color-mode=dark] .text-nowrap,html[data-netbox-color-mode=light] .text-nowrap{white-space:nowrap!important}}@media print{html .text-break,html[data-netbox-color-mode=dark] .text-break,html[data-netbox-color-mode=light] .text-break{word-wrap:break-word!important;word-break:break-word!important}}@media print{html .text-primary,html[data-netbox-color-mode=dark] .text-primary,html[data-netbox-color-mode=light] .text-primary{color:#337ab7!important}}@media print{html .text-secondary,html[data-netbox-color-mode=dark] .text-secondary,html[data-netbox-color-mode=light] .text-secondary{color:#6c757d!important}}@media print{html .text-success,html[data-netbox-color-mode=dark] .text-success,html[data-netbox-color-mode=light] .text-success{color:#198754!important}}@media print{html .text-info,html[data-netbox-color-mode=dark] .text-info,html[data-netbox-color-mode=light] .text-info{color:#54d6f0!important}}@media print{html .text-warning,html[data-netbox-color-mode=dark] .text-warning,html[data-netbox-color-mode=light] .text-warning{color:#ffc107!important}}@media print{html .text-danger,html[data-netbox-color-mode=dark] .text-danger,html[data-netbox-color-mode=light] .text-danger{color:#dc3545!important}}@media print{html .text-light,html[data-netbox-color-mode=dark] .text-light,html[data-netbox-color-mode=light] .text-light{color:#e9ecef!important}}@media print{html .text-dark,html[data-netbox-color-mode=dark] .text-dark,html[data-netbox-color-mode=light] .text-dark{color:#343a40!important}}@media print{html .text-blue,html[data-netbox-color-mode=dark] .text-blue,html[data-netbox-color-mode=light] .text-blue{color:#0d6efd!important}}@media print{html .text-indigo,html[data-netbox-color-mode=dark] .text-indigo,html[data-netbox-color-mode=light] .text-indigo{color:#6610f2!important}}@media print{html .text-purple,html[data-netbox-color-mode=dark] .text-purple,html[data-netbox-color-mode=light] .text-purple{color:#6f42c1!important}}@media print{html .text-pink,html[data-netbox-color-mode=dark] .text-pink,html[data-netbox-color-mode=light] .text-pink{color:#d63384!important}}@media print{html .text-red,html[data-netbox-color-mode=dark] .text-red,html[data-netbox-color-mode=light] .text-red{color:#dc3545!important}}@media print{html .text-orange,html[data-netbox-color-mode=dark] .text-orange,html[data-netbox-color-mode=light] .text-orange{color:#fd7e14!important}}@media print{html .text-yellow,html[data-netbox-color-mode=dark] .text-yellow,html[data-netbox-color-mode=light] .text-yellow{color:#ffc107!important}}@media print{html .text-green,html[data-netbox-color-mode=dark] .text-green,html[data-netbox-color-mode=light] .text-green{color:#198754!important}}@media print{html .text-teal,html[data-netbox-color-mode=dark] .text-teal,html[data-netbox-color-mode=light] .text-teal{color:#20c997!important}}@media print{html .text-cyan,html[data-netbox-color-mode=dark] .text-cyan,html[data-netbox-color-mode=light] .text-cyan{color:#0dcaf0!important}}@media print{html .text-gray,html[data-netbox-color-mode=dark] .text-gray,html[data-netbox-color-mode=light] .text-gray{color:#adb5bd!important}}@media print{html .text-black,html[data-netbox-color-mode=dark] .text-black,html[data-netbox-color-mode=light] .text-black{color:#000!important}}@media print{html .text-white,html[data-netbox-color-mode=dark] .text-white,html[data-netbox-color-mode=light] .text-white{color:#fff!important}}@media print{html .text-body,html[data-netbox-color-mode=dark] .text-body,html[data-netbox-color-mode=light] .text-body{color:#212529!important}}@media print{html .text-muted,html[data-netbox-color-mode=dark] .text-muted,html[data-netbox-color-mode=light] .text-muted{color:#6c757d!important}}@media print{html .text-black-50,html[data-netbox-color-mode=dark] .text-black-50,html[data-netbox-color-mode=light] .text-black-50{color:#00000080!important}}@media print{html .text-white-50,html[data-netbox-color-mode=dark] .text-white-50,html[data-netbox-color-mode=light] .text-white-50{color:#ffffff80!important}}@media print{html .text-reset,html[data-netbox-color-mode=dark] .text-reset,html[data-netbox-color-mode=light] .text-reset{color:inherit!important}}@media print{html .bg-primary,html[data-netbox-color-mode=dark] .bg-primary,html[data-netbox-color-mode=light] .bg-primary{background-color:#337ab7!important}}@media print{html .bg-secondary,html[data-netbox-color-mode=dark] .bg-secondary,html[data-netbox-color-mode=light] .bg-secondary{background-color:#6c757d!important}}@media print{html .bg-success,html[data-netbox-color-mode=dark] .bg-success,html[data-netbox-color-mode=light] .bg-success{background-color:#198754!important}}@media print{html .bg-info,html[data-netbox-color-mode=dark] .bg-info,html[data-netbox-color-mode=light] .bg-info{background-color:#54d6f0!important}}@media print{html .bg-warning,html[data-netbox-color-mode=dark] .bg-warning,html[data-netbox-color-mode=light] .bg-warning{background-color:#ffc107!important}}@media print{html .bg-danger,html[data-netbox-color-mode=dark] .bg-danger,html[data-netbox-color-mode=light] .bg-danger{background-color:#dc3545!important}}@media print{html .bg-light,html[data-netbox-color-mode=dark] .bg-light,html[data-netbox-color-mode=light] .bg-light{background-color:#e9ecef!important}}@media print{html .bg-dark,html[data-netbox-color-mode=dark] .bg-dark,html[data-netbox-color-mode=light] .bg-dark{background-color:#343a40!important}}@media print{html .bg-blue,html[data-netbox-color-mode=dark] .bg-blue,html[data-netbox-color-mode=light] .bg-blue{background-color:#0d6efd!important}}@media print{html .bg-indigo,html[data-netbox-color-mode=dark] .bg-indigo,html[data-netbox-color-mode=light] .bg-indigo{background-color:#6610f2!important}}@media print{html .bg-purple,html[data-netbox-color-mode=dark] .bg-purple,html[data-netbox-color-mode=light] .bg-purple{background-color:#6f42c1!important}}@media print{html .bg-pink,html[data-netbox-color-mode=dark] .bg-pink,html[data-netbox-color-mode=light] .bg-pink{background-color:#d63384!important}}@media print{html .bg-red,html[data-netbox-color-mode=dark] .bg-red,html[data-netbox-color-mode=light] .bg-red{background-color:#dc3545!important}}@media print{html .bg-orange,html[data-netbox-color-mode=dark] .bg-orange,html[data-netbox-color-mode=light] .bg-orange{background-color:#fd7e14!important}}@media print{html .bg-yellow,html[data-netbox-color-mode=dark] .bg-yellow,html[data-netbox-color-mode=light] .bg-yellow{background-color:#ffc107!important}}@media print{html .bg-green,html[data-netbox-color-mode=dark] .bg-green,html[data-netbox-color-mode=light] .bg-green{background-color:#198754!important}}@media print{html .bg-teal,html[data-netbox-color-mode=dark] .bg-teal,html[data-netbox-color-mode=light] .bg-teal{background-color:#20c997!important}}@media print{html .bg-cyan,html[data-netbox-color-mode=dark] .bg-cyan,html[data-netbox-color-mode=light] .bg-cyan{background-color:#0dcaf0!important}}@media print{html .bg-gray,html[data-netbox-color-mode=dark] .bg-gray,html[data-netbox-color-mode=light] .bg-gray{background-color:#adb5bd!important}}@media print{html .bg-black,html[data-netbox-color-mode=dark] .bg-black,html[data-netbox-color-mode=light] .bg-black{background-color:#000!important}}@media print{html .bg-white,html[data-netbox-color-mode=dark] .bg-white,html[data-netbox-color-mode=light] .bg-white{background-color:#fff!important}}@media print{html .bg-body,html[data-netbox-color-mode=dark] .bg-body,html[data-netbox-color-mode=light] .bg-body{background-color:#fff!important}}@media print{html .bg-transparent,html[data-netbox-color-mode=dark] .bg-transparent,html[data-netbox-color-mode=light] .bg-transparent{background-color:transparent!important}}@media print{html .bg-gradient,html[data-netbox-color-mode=dark] .bg-gradient,html[data-netbox-color-mode=light] .bg-gradient{background-image:var(--bs-gradient)!important}}@media print{html .user-select-all,html[data-netbox-color-mode=dark] .user-select-all,html[data-netbox-color-mode=light] .user-select-all{user-select:all!important}}@media print{html .user-select-auto,html[data-netbox-color-mode=dark] .user-select-auto,html[data-netbox-color-mode=light] .user-select-auto{user-select:auto!important}}@media print{html .user-select-none,html[data-netbox-color-mode=dark] .user-select-none,html[data-netbox-color-mode=light] .user-select-none{user-select:none!important}}@media print{html .pe-none,html[data-netbox-color-mode=dark] .pe-none,html[data-netbox-color-mode=light] .pe-none{pointer-events:none!important}}@media print{html .pe-auto,html[data-netbox-color-mode=dark] .pe-auto,html[data-netbox-color-mode=light] .pe-auto{pointer-events:auto!important}}@media print{html .rounded,html[data-netbox-color-mode=dark] .rounded,html[data-netbox-color-mode=light] .rounded{border-radius:.375rem!important}}@media print{html .rounded-0,html[data-netbox-color-mode=dark] .rounded-0,html[data-netbox-color-mode=light] .rounded-0{border-radius:0!important}}@media print{html .rounded-1,html[data-netbox-color-mode=dark] .rounded-1,html[data-netbox-color-mode=light] .rounded-1{border-radius:.375rem!important}}@media print{html .rounded-2,html[data-netbox-color-mode=dark] .rounded-2,html[data-netbox-color-mode=light] .rounded-2{border-radius:.375rem!important}}@media print{html .rounded-3,html[data-netbox-color-mode=dark] .rounded-3,html[data-netbox-color-mode=light] .rounded-3{border-radius:.75rem!important}}@media print{html .rounded-circle,html[data-netbox-color-mode=dark] .rounded-circle,html[data-netbox-color-mode=light] .rounded-circle{border-radius:50%!important}}@media print{html .rounded-pill,html[data-netbox-color-mode=dark] .rounded-pill,html[data-netbox-color-mode=light] .rounded-pill{border-radius:50rem!important}}@media print{html .rounded-top,html[data-netbox-color-mode=dark] .rounded-top,html[data-netbox-color-mode=light] .rounded-top{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}}@media print{html .rounded-end,html[data-netbox-color-mode=dark] .rounded-end,html[data-netbox-color-mode=light] .rounded-end{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}}@media print{html .rounded-bottom,html[data-netbox-color-mode=dark] .rounded-bottom,html[data-netbox-color-mode=light] .rounded-bottom{border-bottom-right-radius:.375rem!important;border-bottom-left-radius:.375rem!important}}@media print{html .rounded-start,html[data-netbox-color-mode=dark] .rounded-start,html[data-netbox-color-mode=light] .rounded-start{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}}@media print{html .visible,html[data-netbox-color-mode=dark] .visible,html[data-netbox-color-mode=light] .visible{visibility:visible!important}}@media print{html .invisible,html[data-netbox-color-mode=dark] .invisible,html[data-netbox-color-mode=light] .invisible{visibility:hidden!important}}@media print and (min-width: 576px){html .float-sm-start,html[data-netbox-color-mode=dark] .float-sm-start,html[data-netbox-color-mode=light] .float-sm-start{float:left!important}html .float-sm-end,html[data-netbox-color-mode=dark] .float-sm-end,html[data-netbox-color-mode=light] .float-sm-end{float:right!important}html .float-sm-none,html[data-netbox-color-mode=dark] .float-sm-none,html[data-netbox-color-mode=light] .float-sm-none{float:none!important}html .d-sm-inline,html[data-netbox-color-mode=dark] .d-sm-inline,html[data-netbox-color-mode=light] .d-sm-inline{display:inline!important}html .d-sm-inline-block,html[data-netbox-color-mode=dark] .d-sm-inline-block,html[data-netbox-color-mode=light] .d-sm-inline-block{display:inline-block!important}html .d-sm-block,html[data-netbox-color-mode=dark] .d-sm-block,html[data-netbox-color-mode=light] .d-sm-block{display:block!important}html .d-sm-grid,html[data-netbox-color-mode=dark] .d-sm-grid,html[data-netbox-color-mode=light] .d-sm-grid{display:grid!important}html .d-sm-table,html[data-netbox-color-mode=dark] .d-sm-table,html[data-netbox-color-mode=light] .d-sm-table{display:table!important}html .d-sm-table-row,html[data-netbox-color-mode=dark] .d-sm-table-row,html[data-netbox-color-mode=light] .d-sm-table-row{display:table-row!important}html .d-sm-table-cell,html[data-netbox-color-mode=dark] .d-sm-table-cell,html[data-netbox-color-mode=light] .d-sm-table-cell{display:table-cell!important}html .d-sm-flex,html[data-netbox-color-mode=dark] .d-sm-flex,html[data-netbox-color-mode=light] .d-sm-flex{display:flex!important}html .d-sm-inline-flex,html[data-netbox-color-mode=dark] .d-sm-inline-flex,html[data-netbox-color-mode=light] .d-sm-inline-flex{display:inline-flex!important}html .d-sm-none,html[data-netbox-color-mode=dark] .d-sm-none,html[data-netbox-color-mode=light] .d-sm-none{display:none!important}html .flex-sm-fill,html[data-netbox-color-mode=dark] .flex-sm-fill,html[data-netbox-color-mode=light] .flex-sm-fill{flex:1 1 auto!important}html .flex-sm-row,html[data-netbox-color-mode=dark] .flex-sm-row,html[data-netbox-color-mode=light] .flex-sm-row{flex-direction:row!important}html .flex-sm-column,html[data-netbox-color-mode=dark] .flex-sm-column,html[data-netbox-color-mode=light] .flex-sm-column{flex-direction:column!important}html .flex-sm-row-reverse,html[data-netbox-color-mode=dark] .flex-sm-row-reverse,html[data-netbox-color-mode=light] .flex-sm-row-reverse{flex-direction:row-reverse!important}html .flex-sm-column-reverse,html[data-netbox-color-mode=dark] .flex-sm-column-reverse,html[data-netbox-color-mode=light] .flex-sm-column-reverse{flex-direction:column-reverse!important}html .flex-sm-grow-0,html[data-netbox-color-mode=dark] .flex-sm-grow-0,html[data-netbox-color-mode=light] .flex-sm-grow-0{flex-grow:0!important}html .flex-sm-grow-1,html[data-netbox-color-mode=dark] .flex-sm-grow-1,html[data-netbox-color-mode=light] .flex-sm-grow-1{flex-grow:1!important}html .flex-sm-shrink-0,html[data-netbox-color-mode=dark] .flex-sm-shrink-0,html[data-netbox-color-mode=light] .flex-sm-shrink-0{flex-shrink:0!important}html .flex-sm-shrink-1,html[data-netbox-color-mode=dark] .flex-sm-shrink-1,html[data-netbox-color-mode=light] .flex-sm-shrink-1{flex-shrink:1!important}html .flex-sm-wrap,html[data-netbox-color-mode=dark] .flex-sm-wrap,html[data-netbox-color-mode=light] .flex-sm-wrap{flex-wrap:wrap!important}html .flex-sm-nowrap,html[data-netbox-color-mode=dark] .flex-sm-nowrap,html[data-netbox-color-mode=light] .flex-sm-nowrap{flex-wrap:nowrap!important}html .flex-sm-wrap-reverse,html[data-netbox-color-mode=dark] .flex-sm-wrap-reverse,html[data-netbox-color-mode=light] .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-sm-0,html[data-netbox-color-mode=dark] .gap-sm-0,html[data-netbox-color-mode=light] .gap-sm-0{gap:0!important}html .gap-sm-1,html[data-netbox-color-mode=dark] .gap-sm-1,html[data-netbox-color-mode=light] .gap-sm-1{gap:.25rem!important}html .gap-sm-2,html[data-netbox-color-mode=dark] .gap-sm-2,html[data-netbox-color-mode=light] .gap-sm-2{gap:.5rem!important}html .gap-sm-3,html[data-netbox-color-mode=dark] .gap-sm-3,html[data-netbox-color-mode=light] .gap-sm-3{gap:1rem!important}html .gap-sm-4,html[data-netbox-color-mode=dark] .gap-sm-4,html[data-netbox-color-mode=light] .gap-sm-4{gap:1.5rem!important}html .gap-sm-5,html[data-netbox-color-mode=dark] .gap-sm-5,html[data-netbox-color-mode=light] .gap-sm-5{gap:3rem!important}html .justify-content-sm-start,html[data-netbox-color-mode=dark] .justify-content-sm-start,html[data-netbox-color-mode=light] .justify-content-sm-start{justify-content:flex-start!important}html .justify-content-sm-end,html[data-netbox-color-mode=dark] .justify-content-sm-end,html[data-netbox-color-mode=light] .justify-content-sm-end{justify-content:flex-end!important}html .justify-content-sm-center,html[data-netbox-color-mode=dark] .justify-content-sm-center,html[data-netbox-color-mode=light] .justify-content-sm-center{justify-content:center!important}html .justify-content-sm-between,html[data-netbox-color-mode=dark] .justify-content-sm-between,html[data-netbox-color-mode=light] .justify-content-sm-between{justify-content:space-between!important}html .justify-content-sm-around,html[data-netbox-color-mode=dark] .justify-content-sm-around,html[data-netbox-color-mode=light] .justify-content-sm-around{justify-content:space-around!important}html .justify-content-sm-evenly,html[data-netbox-color-mode=dark] .justify-content-sm-evenly,html[data-netbox-color-mode=light] .justify-content-sm-evenly{justify-content:space-evenly!important}html .align-items-sm-start,html[data-netbox-color-mode=dark] .align-items-sm-start,html[data-netbox-color-mode=light] .align-items-sm-start{align-items:flex-start!important}html .align-items-sm-end,html[data-netbox-color-mode=dark] .align-items-sm-end,html[data-netbox-color-mode=light] .align-items-sm-end{align-items:flex-end!important}html .align-items-sm-center,html[data-netbox-color-mode=dark] .align-items-sm-center,html[data-netbox-color-mode=light] .align-items-sm-center{align-items:center!important}html .align-items-sm-baseline,html[data-netbox-color-mode=dark] .align-items-sm-baseline,html[data-netbox-color-mode=light] .align-items-sm-baseline{align-items:baseline!important}html .align-items-sm-stretch,html[data-netbox-color-mode=dark] .align-items-sm-stretch,html[data-netbox-color-mode=light] .align-items-sm-stretch{align-items:stretch!important}html .align-content-sm-start,html[data-netbox-color-mode=dark] .align-content-sm-start,html[data-netbox-color-mode=light] .align-content-sm-start{align-content:flex-start!important}html .align-content-sm-end,html[data-netbox-color-mode=dark] .align-content-sm-end,html[data-netbox-color-mode=light] .align-content-sm-end{align-content:flex-end!important}html .align-content-sm-center,html[data-netbox-color-mode=dark] .align-content-sm-center,html[data-netbox-color-mode=light] .align-content-sm-center{align-content:center!important}html .align-content-sm-between,html[data-netbox-color-mode=dark] .align-content-sm-between,html[data-netbox-color-mode=light] .align-content-sm-between{align-content:space-between!important}html .align-content-sm-around,html[data-netbox-color-mode=dark] .align-content-sm-around,html[data-netbox-color-mode=light] .align-content-sm-around{align-content:space-around!important}html .align-content-sm-stretch,html[data-netbox-color-mode=dark] .align-content-sm-stretch,html[data-netbox-color-mode=light] .align-content-sm-stretch{align-content:stretch!important}html .align-self-sm-auto,html[data-netbox-color-mode=dark] .align-self-sm-auto,html[data-netbox-color-mode=light] .align-self-sm-auto{align-self:auto!important}html .align-self-sm-start,html[data-netbox-color-mode=dark] .align-self-sm-start,html[data-netbox-color-mode=light] .align-self-sm-start{align-self:flex-start!important}html .align-self-sm-end,html[data-netbox-color-mode=dark] .align-self-sm-end,html[data-netbox-color-mode=light] .align-self-sm-end{align-self:flex-end!important}html .align-self-sm-center,html[data-netbox-color-mode=dark] .align-self-sm-center,html[data-netbox-color-mode=light] .align-self-sm-center{align-self:center!important}html .align-self-sm-baseline,html[data-netbox-color-mode=dark] .align-self-sm-baseline,html[data-netbox-color-mode=light] .align-self-sm-baseline{align-self:baseline!important}html .align-self-sm-stretch,html[data-netbox-color-mode=dark] .align-self-sm-stretch,html[data-netbox-color-mode=light] .align-self-sm-stretch{align-self:stretch!important}html .order-sm-first,html[data-netbox-color-mode=dark] .order-sm-first,html[data-netbox-color-mode=light] .order-sm-first{order:-1!important}html .order-sm-0,html[data-netbox-color-mode=dark] .order-sm-0,html[data-netbox-color-mode=light] .order-sm-0{order:0!important}html .order-sm-1,html[data-netbox-color-mode=dark] .order-sm-1,html[data-netbox-color-mode=light] .order-sm-1{order:1!important}html .order-sm-2,html[data-netbox-color-mode=dark] .order-sm-2,html[data-netbox-color-mode=light] .order-sm-2{order:2!important}html .order-sm-3,html[data-netbox-color-mode=dark] .order-sm-3,html[data-netbox-color-mode=light] .order-sm-3{order:3!important}html .order-sm-4,html[data-netbox-color-mode=dark] .order-sm-4,html[data-netbox-color-mode=light] .order-sm-4{order:4!important}html .order-sm-5,html[data-netbox-color-mode=dark] .order-sm-5,html[data-netbox-color-mode=light] .order-sm-5{order:5!important}html .order-sm-last,html[data-netbox-color-mode=dark] .order-sm-last,html[data-netbox-color-mode=light] .order-sm-last{order:6!important}html .m-sm-0,html[data-netbox-color-mode=dark] .m-sm-0,html[data-netbox-color-mode=light] .m-sm-0{margin:0!important}html .m-sm-1,html[data-netbox-color-mode=dark] .m-sm-1,html[data-netbox-color-mode=light] .m-sm-1{margin:.25rem!important}html .m-sm-2,html[data-netbox-color-mode=dark] .m-sm-2,html[data-netbox-color-mode=light] .m-sm-2{margin:.5rem!important}html .m-sm-3,html[data-netbox-color-mode=dark] .m-sm-3,html[data-netbox-color-mode=light] .m-sm-3{margin:1rem!important}html .m-sm-4,html[data-netbox-color-mode=dark] .m-sm-4,html[data-netbox-color-mode=light] .m-sm-4{margin:1.5rem!important}html .m-sm-5,html[data-netbox-color-mode=dark] .m-sm-5,html[data-netbox-color-mode=light] .m-sm-5{margin:3rem!important}html .m-sm-auto,html[data-netbox-color-mode=dark] .m-sm-auto,html[data-netbox-color-mode=light] .m-sm-auto{margin:auto!important}html .mx-sm-0,html[data-netbox-color-mode=dark] .mx-sm-0,html[data-netbox-color-mode=light] .mx-sm-0{margin-right:0!important;margin-left:0!important}html .mx-sm-1,html[data-netbox-color-mode=dark] .mx-sm-1,html[data-netbox-color-mode=light] .mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-sm-2,html[data-netbox-color-mode=dark] .mx-sm-2,html[data-netbox-color-mode=light] .mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-sm-3,html[data-netbox-color-mode=dark] .mx-sm-3,html[data-netbox-color-mode=light] .mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-sm-4,html[data-netbox-color-mode=dark] .mx-sm-4,html[data-netbox-color-mode=light] .mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-sm-5,html[data-netbox-color-mode=dark] .mx-sm-5,html[data-netbox-color-mode=light] .mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-sm-auto,html[data-netbox-color-mode=dark] .mx-sm-auto,html[data-netbox-color-mode=light] .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}html .my-sm-0,html[data-netbox-color-mode=dark] .my-sm-0,html[data-netbox-color-mode=light] .my-sm-0{margin-top:0!important;margin-bottom:0!important}html .my-sm-1,html[data-netbox-color-mode=dark] .my-sm-1,html[data-netbox-color-mode=light] .my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-sm-2,html[data-netbox-color-mode=dark] .my-sm-2,html[data-netbox-color-mode=light] .my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-sm-3,html[data-netbox-color-mode=dark] .my-sm-3,html[data-netbox-color-mode=light] .my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-sm-4,html[data-netbox-color-mode=dark] .my-sm-4,html[data-netbox-color-mode=light] .my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-sm-5,html[data-netbox-color-mode=dark] .my-sm-5,html[data-netbox-color-mode=light] .my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-sm-auto,html[data-netbox-color-mode=dark] .my-sm-auto,html[data-netbox-color-mode=light] .my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-sm-0,html[data-netbox-color-mode=dark] .mt-sm-0,html[data-netbox-color-mode=light] .mt-sm-0{margin-top:0!important}html .mt-sm-1,html[data-netbox-color-mode=dark] .mt-sm-1,html[data-netbox-color-mode=light] .mt-sm-1{margin-top:.25rem!important}html .mt-sm-2,html[data-netbox-color-mode=dark] .mt-sm-2,html[data-netbox-color-mode=light] .mt-sm-2{margin-top:.5rem!important}html .mt-sm-3,html[data-netbox-color-mode=dark] .mt-sm-3,html[data-netbox-color-mode=light] .mt-sm-3{margin-top:1rem!important}html .mt-sm-4,html[data-netbox-color-mode=dark] .mt-sm-4,html[data-netbox-color-mode=light] .mt-sm-4{margin-top:1.5rem!important}html .mt-sm-5,html[data-netbox-color-mode=dark] .mt-sm-5,html[data-netbox-color-mode=light] .mt-sm-5{margin-top:3rem!important}html .mt-sm-auto,html[data-netbox-color-mode=dark] .mt-sm-auto,html[data-netbox-color-mode=light] .mt-sm-auto{margin-top:auto!important}html .me-sm-0,html[data-netbox-color-mode=dark] .me-sm-0,html[data-netbox-color-mode=light] .me-sm-0{margin-right:0!important}html .me-sm-1,html[data-netbox-color-mode=dark] .me-sm-1,html[data-netbox-color-mode=light] .me-sm-1{margin-right:.25rem!important}html .me-sm-2,html[data-netbox-color-mode=dark] .me-sm-2,html[data-netbox-color-mode=light] .me-sm-2{margin-right:.5rem!important}html .me-sm-3,html[data-netbox-color-mode=dark] .me-sm-3,html[data-netbox-color-mode=light] .me-sm-3{margin-right:1rem!important}html .me-sm-4,html[data-netbox-color-mode=dark] .me-sm-4,html[data-netbox-color-mode=light] .me-sm-4{margin-right:1.5rem!important}html .me-sm-5,html[data-netbox-color-mode=dark] .me-sm-5,html[data-netbox-color-mode=light] .me-sm-5{margin-right:3rem!important}html .me-sm-auto,html[data-netbox-color-mode=dark] .me-sm-auto,html[data-netbox-color-mode=light] .me-sm-auto{margin-right:auto!important}html .mb-sm-0,html[data-netbox-color-mode=dark] .mb-sm-0,html[data-netbox-color-mode=light] .mb-sm-0{margin-bottom:0!important}html .mb-sm-1,html[data-netbox-color-mode=dark] .mb-sm-1,html[data-netbox-color-mode=light] .mb-sm-1{margin-bottom:.25rem!important}html .mb-sm-2,html[data-netbox-color-mode=dark] .mb-sm-2,html[data-netbox-color-mode=light] .mb-sm-2{margin-bottom:.5rem!important}html .mb-sm-3,html[data-netbox-color-mode=dark] .mb-sm-3,html[data-netbox-color-mode=light] .mb-sm-3{margin-bottom:1rem!important}html .mb-sm-4,html[data-netbox-color-mode=dark] .mb-sm-4,html[data-netbox-color-mode=light] .mb-sm-4{margin-bottom:1.5rem!important}html .mb-sm-5,html[data-netbox-color-mode=dark] .mb-sm-5,html[data-netbox-color-mode=light] .mb-sm-5{margin-bottom:3rem!important}html .mb-sm-auto,html[data-netbox-color-mode=dark] .mb-sm-auto,html[data-netbox-color-mode=light] .mb-sm-auto{margin-bottom:auto!important}html .ms-sm-0,html[data-netbox-color-mode=dark] .ms-sm-0,html[data-netbox-color-mode=light] .ms-sm-0{margin-left:0!important}html .ms-sm-1,html[data-netbox-color-mode=dark] .ms-sm-1,html[data-netbox-color-mode=light] .ms-sm-1{margin-left:.25rem!important}html .ms-sm-2,html[data-netbox-color-mode=dark] .ms-sm-2,html[data-netbox-color-mode=light] .ms-sm-2{margin-left:.5rem!important}html .ms-sm-3,html[data-netbox-color-mode=dark] .ms-sm-3,html[data-netbox-color-mode=light] .ms-sm-3{margin-left:1rem!important}html .ms-sm-4,html[data-netbox-color-mode=dark] .ms-sm-4,html[data-netbox-color-mode=light] .ms-sm-4{margin-left:1.5rem!important}html .ms-sm-5,html[data-netbox-color-mode=dark] .ms-sm-5,html[data-netbox-color-mode=light] .ms-sm-5{margin-left:3rem!important}html .ms-sm-auto,html[data-netbox-color-mode=dark] .ms-sm-auto,html[data-netbox-color-mode=light] .ms-sm-auto{margin-left:auto!important}html .p-sm-0,html[data-netbox-color-mode=dark] .p-sm-0,html[data-netbox-color-mode=light] .p-sm-0{padding:0!important}html .p-sm-1,html[data-netbox-color-mode=dark] .p-sm-1,html[data-netbox-color-mode=light] .p-sm-1{padding:.25rem!important}html .p-sm-2,html[data-netbox-color-mode=dark] .p-sm-2,html[data-netbox-color-mode=light] .p-sm-2{padding:.5rem!important}html .p-sm-3,html[data-netbox-color-mode=dark] .p-sm-3,html[data-netbox-color-mode=light] .p-sm-3{padding:1rem!important}html .p-sm-4,html[data-netbox-color-mode=dark] .p-sm-4,html[data-netbox-color-mode=light] .p-sm-4{padding:1.5rem!important}html .p-sm-5,html[data-netbox-color-mode=dark] .p-sm-5,html[data-netbox-color-mode=light] .p-sm-5{padding:3rem!important}html .px-sm-0,html[data-netbox-color-mode=dark] .px-sm-0,html[data-netbox-color-mode=light] .px-sm-0{padding-right:0!important;padding-left:0!important}html .px-sm-1,html[data-netbox-color-mode=dark] .px-sm-1,html[data-netbox-color-mode=light] .px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-sm-2,html[data-netbox-color-mode=dark] .px-sm-2,html[data-netbox-color-mode=light] .px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-sm-3,html[data-netbox-color-mode=dark] .px-sm-3,html[data-netbox-color-mode=light] .px-sm-3{padding-right:1rem!important;padding-left:1rem!important}html .px-sm-4,html[data-netbox-color-mode=dark] .px-sm-4,html[data-netbox-color-mode=light] .px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-sm-5,html[data-netbox-color-mode=dark] .px-sm-5,html[data-netbox-color-mode=light] .px-sm-5{padding-right:3rem!important;padding-left:3rem!important}html .py-sm-0,html[data-netbox-color-mode=dark] .py-sm-0,html[data-netbox-color-mode=light] .py-sm-0{padding-top:0!important;padding-bottom:0!important}html .py-sm-1,html[data-netbox-color-mode=dark] .py-sm-1,html[data-netbox-color-mode=light] .py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-sm-2,html[data-netbox-color-mode=dark] .py-sm-2,html[data-netbox-color-mode=light] .py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-sm-3,html[data-netbox-color-mode=dark] .py-sm-3,html[data-netbox-color-mode=light] .py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-sm-4,html[data-netbox-color-mode=dark] .py-sm-4,html[data-netbox-color-mode=light] .py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-sm-5,html[data-netbox-color-mode=dark] .py-sm-5,html[data-netbox-color-mode=light] .py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-sm-0,html[data-netbox-color-mode=dark] .pt-sm-0,html[data-netbox-color-mode=light] .pt-sm-0{padding-top:0!important}html .pt-sm-1,html[data-netbox-color-mode=dark] .pt-sm-1,html[data-netbox-color-mode=light] .pt-sm-1{padding-top:.25rem!important}html .pt-sm-2,html[data-netbox-color-mode=dark] .pt-sm-2,html[data-netbox-color-mode=light] .pt-sm-2{padding-top:.5rem!important}html .pt-sm-3,html[data-netbox-color-mode=dark] .pt-sm-3,html[data-netbox-color-mode=light] .pt-sm-3{padding-top:1rem!important}html .pt-sm-4,html[data-netbox-color-mode=dark] .pt-sm-4,html[data-netbox-color-mode=light] .pt-sm-4{padding-top:1.5rem!important}html .pt-sm-5,html[data-netbox-color-mode=dark] .pt-sm-5,html[data-netbox-color-mode=light] .pt-sm-5{padding-top:3rem!important}html .pe-sm-0,html[data-netbox-color-mode=dark] .pe-sm-0,html[data-netbox-color-mode=light] .pe-sm-0{padding-right:0!important}html .pe-sm-1,html[data-netbox-color-mode=dark] .pe-sm-1,html[data-netbox-color-mode=light] .pe-sm-1{padding-right:.25rem!important}html .pe-sm-2,html[data-netbox-color-mode=dark] .pe-sm-2,html[data-netbox-color-mode=light] .pe-sm-2{padding-right:.5rem!important}html .pe-sm-3,html[data-netbox-color-mode=dark] .pe-sm-3,html[data-netbox-color-mode=light] .pe-sm-3{padding-right:1rem!important}html .pe-sm-4,html[data-netbox-color-mode=dark] .pe-sm-4,html[data-netbox-color-mode=light] .pe-sm-4{padding-right:1.5rem!important}html .pe-sm-5,html[data-netbox-color-mode=dark] .pe-sm-5,html[data-netbox-color-mode=light] .pe-sm-5{padding-right:3rem!important}html .pb-sm-0,html[data-netbox-color-mode=dark] .pb-sm-0,html[data-netbox-color-mode=light] .pb-sm-0{padding-bottom:0!important}html .pb-sm-1,html[data-netbox-color-mode=dark] .pb-sm-1,html[data-netbox-color-mode=light] .pb-sm-1{padding-bottom:.25rem!important}html .pb-sm-2,html[data-netbox-color-mode=dark] .pb-sm-2,html[data-netbox-color-mode=light] .pb-sm-2{padding-bottom:.5rem!important}html .pb-sm-3,html[data-netbox-color-mode=dark] .pb-sm-3,html[data-netbox-color-mode=light] .pb-sm-3{padding-bottom:1rem!important}html .pb-sm-4,html[data-netbox-color-mode=dark] .pb-sm-4,html[data-netbox-color-mode=light] .pb-sm-4{padding-bottom:1.5rem!important}html .pb-sm-5,html[data-netbox-color-mode=dark] .pb-sm-5,html[data-netbox-color-mode=light] .pb-sm-5{padding-bottom:3rem!important}html .ps-sm-0,html[data-netbox-color-mode=dark] .ps-sm-0,html[data-netbox-color-mode=light] .ps-sm-0{padding-left:0!important}html .ps-sm-1,html[data-netbox-color-mode=dark] .ps-sm-1,html[data-netbox-color-mode=light] .ps-sm-1{padding-left:.25rem!important}html .ps-sm-2,html[data-netbox-color-mode=dark] .ps-sm-2,html[data-netbox-color-mode=light] .ps-sm-2{padding-left:.5rem!important}html .ps-sm-3,html[data-netbox-color-mode=dark] .ps-sm-3,html[data-netbox-color-mode=light] .ps-sm-3{padding-left:1rem!important}html .ps-sm-4,html[data-netbox-color-mode=dark] .ps-sm-4,html[data-netbox-color-mode=light] .ps-sm-4{padding-left:1.5rem!important}html .ps-sm-5,html[data-netbox-color-mode=dark] .ps-sm-5,html[data-netbox-color-mode=light] .ps-sm-5{padding-left:3rem!important}html .text-sm-start,html[data-netbox-color-mode=dark] .text-sm-start,html[data-netbox-color-mode=light] .text-sm-start{text-align:left!important}html .text-sm-end,html[data-netbox-color-mode=dark] .text-sm-end,html[data-netbox-color-mode=light] .text-sm-end{text-align:right!important}html .text-sm-center,html[data-netbox-color-mode=dark] .text-sm-center,html[data-netbox-color-mode=light] .text-sm-center{text-align:center!important}}@media print and (min-width: 768px){html .float-md-start,html[data-netbox-color-mode=dark] .float-md-start,html[data-netbox-color-mode=light] .float-md-start{float:left!important}html .float-md-end,html[data-netbox-color-mode=dark] .float-md-end,html[data-netbox-color-mode=light] .float-md-end{float:right!important}html .float-md-none,html[data-netbox-color-mode=dark] .float-md-none,html[data-netbox-color-mode=light] .float-md-none{float:none!important}html .d-md-inline,html[data-netbox-color-mode=dark] .d-md-inline,html[data-netbox-color-mode=light] .d-md-inline{display:inline!important}html .d-md-inline-block,html[data-netbox-color-mode=dark] .d-md-inline-block,html[data-netbox-color-mode=light] .d-md-inline-block{display:inline-block!important}html .d-md-block,html[data-netbox-color-mode=dark] .d-md-block,html[data-netbox-color-mode=light] .d-md-block{display:block!important}html .d-md-grid,html[data-netbox-color-mode=dark] .d-md-grid,html[data-netbox-color-mode=light] .d-md-grid{display:grid!important}html .d-md-table,html[data-netbox-color-mode=dark] .d-md-table,html[data-netbox-color-mode=light] .d-md-table{display:table!important}html .d-md-table-row,html[data-netbox-color-mode=dark] .d-md-table-row,html[data-netbox-color-mode=light] .d-md-table-row{display:table-row!important}html .d-md-table-cell,html[data-netbox-color-mode=dark] .d-md-table-cell,html[data-netbox-color-mode=light] .d-md-table-cell{display:table-cell!important}html .d-md-flex,html[data-netbox-color-mode=dark] .d-md-flex,html[data-netbox-color-mode=light] .d-md-flex{display:flex!important}html .d-md-inline-flex,html[data-netbox-color-mode=dark] .d-md-inline-flex,html[data-netbox-color-mode=light] .d-md-inline-flex{display:inline-flex!important}html .d-md-none,html[data-netbox-color-mode=dark] .d-md-none,html[data-netbox-color-mode=light] .d-md-none{display:none!important}html .flex-md-fill,html[data-netbox-color-mode=dark] .flex-md-fill,html[data-netbox-color-mode=light] .flex-md-fill{flex:1 1 auto!important}html .flex-md-row,html[data-netbox-color-mode=dark] .flex-md-row,html[data-netbox-color-mode=light] .flex-md-row{flex-direction:row!important}html .flex-md-column,html[data-netbox-color-mode=dark] .flex-md-column,html[data-netbox-color-mode=light] .flex-md-column{flex-direction:column!important}html .flex-md-row-reverse,html[data-netbox-color-mode=dark] .flex-md-row-reverse,html[data-netbox-color-mode=light] .flex-md-row-reverse{flex-direction:row-reverse!important}html .flex-md-column-reverse,html[data-netbox-color-mode=dark] .flex-md-column-reverse,html[data-netbox-color-mode=light] .flex-md-column-reverse{flex-direction:column-reverse!important}html .flex-md-grow-0,html[data-netbox-color-mode=dark] .flex-md-grow-0,html[data-netbox-color-mode=light] .flex-md-grow-0{flex-grow:0!important}html .flex-md-grow-1,html[data-netbox-color-mode=dark] .flex-md-grow-1,html[data-netbox-color-mode=light] .flex-md-grow-1{flex-grow:1!important}html .flex-md-shrink-0,html[data-netbox-color-mode=dark] .flex-md-shrink-0,html[data-netbox-color-mode=light] .flex-md-shrink-0{flex-shrink:0!important}html .flex-md-shrink-1,html[data-netbox-color-mode=dark] .flex-md-shrink-1,html[data-netbox-color-mode=light] .flex-md-shrink-1{flex-shrink:1!important}html .flex-md-wrap,html[data-netbox-color-mode=dark] .flex-md-wrap,html[data-netbox-color-mode=light] .flex-md-wrap{flex-wrap:wrap!important}html .flex-md-nowrap,html[data-netbox-color-mode=dark] .flex-md-nowrap,html[data-netbox-color-mode=light] .flex-md-nowrap{flex-wrap:nowrap!important}html .flex-md-wrap-reverse,html[data-netbox-color-mode=dark] .flex-md-wrap-reverse,html[data-netbox-color-mode=light] .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-md-0,html[data-netbox-color-mode=dark] .gap-md-0,html[data-netbox-color-mode=light] .gap-md-0{gap:0!important}html .gap-md-1,html[data-netbox-color-mode=dark] .gap-md-1,html[data-netbox-color-mode=light] .gap-md-1{gap:.25rem!important}html .gap-md-2,html[data-netbox-color-mode=dark] .gap-md-2,html[data-netbox-color-mode=light] .gap-md-2{gap:.5rem!important}html .gap-md-3,html[data-netbox-color-mode=dark] .gap-md-3,html[data-netbox-color-mode=light] .gap-md-3{gap:1rem!important}html .gap-md-4,html[data-netbox-color-mode=dark] .gap-md-4,html[data-netbox-color-mode=light] .gap-md-4{gap:1.5rem!important}html .gap-md-5,html[data-netbox-color-mode=dark] .gap-md-5,html[data-netbox-color-mode=light] .gap-md-5{gap:3rem!important}html .justify-content-md-start,html[data-netbox-color-mode=dark] .justify-content-md-start,html[data-netbox-color-mode=light] .justify-content-md-start{justify-content:flex-start!important}html .justify-content-md-end,html[data-netbox-color-mode=dark] .justify-content-md-end,html[data-netbox-color-mode=light] .justify-content-md-end{justify-content:flex-end!important}html .justify-content-md-center,html[data-netbox-color-mode=dark] .justify-content-md-center,html[data-netbox-color-mode=light] .justify-content-md-center{justify-content:center!important}html .justify-content-md-between,html[data-netbox-color-mode=dark] .justify-content-md-between,html[data-netbox-color-mode=light] .justify-content-md-between{justify-content:space-between!important}html .justify-content-md-around,html[data-netbox-color-mode=dark] .justify-content-md-around,html[data-netbox-color-mode=light] .justify-content-md-around{justify-content:space-around!important}html .justify-content-md-evenly,html[data-netbox-color-mode=dark] .justify-content-md-evenly,html[data-netbox-color-mode=light] .justify-content-md-evenly{justify-content:space-evenly!important}html .align-items-md-start,html[data-netbox-color-mode=dark] .align-items-md-start,html[data-netbox-color-mode=light] .align-items-md-start{align-items:flex-start!important}html .align-items-md-end,html[data-netbox-color-mode=dark] .align-items-md-end,html[data-netbox-color-mode=light] .align-items-md-end{align-items:flex-end!important}html .align-items-md-center,html[data-netbox-color-mode=dark] .align-items-md-center,html[data-netbox-color-mode=light] .align-items-md-center{align-items:center!important}html .align-items-md-baseline,html[data-netbox-color-mode=dark] .align-items-md-baseline,html[data-netbox-color-mode=light] .align-items-md-baseline{align-items:baseline!important}html .align-items-md-stretch,html[data-netbox-color-mode=dark] .align-items-md-stretch,html[data-netbox-color-mode=light] .align-items-md-stretch{align-items:stretch!important}html .align-content-md-start,html[data-netbox-color-mode=dark] .align-content-md-start,html[data-netbox-color-mode=light] .align-content-md-start{align-content:flex-start!important}html .align-content-md-end,html[data-netbox-color-mode=dark] .align-content-md-end,html[data-netbox-color-mode=light] .align-content-md-end{align-content:flex-end!important}html .align-content-md-center,html[data-netbox-color-mode=dark] .align-content-md-center,html[data-netbox-color-mode=light] .align-content-md-center{align-content:center!important}html .align-content-md-between,html[data-netbox-color-mode=dark] .align-content-md-between,html[data-netbox-color-mode=light] .align-content-md-between{align-content:space-between!important}html .align-content-md-around,html[data-netbox-color-mode=dark] .align-content-md-around,html[data-netbox-color-mode=light] .align-content-md-around{align-content:space-around!important}html .align-content-md-stretch,html[data-netbox-color-mode=dark] .align-content-md-stretch,html[data-netbox-color-mode=light] .align-content-md-stretch{align-content:stretch!important}html .align-self-md-auto,html[data-netbox-color-mode=dark] .align-self-md-auto,html[data-netbox-color-mode=light] .align-self-md-auto{align-self:auto!important}html .align-self-md-start,html[data-netbox-color-mode=dark] .align-self-md-start,html[data-netbox-color-mode=light] .align-self-md-start{align-self:flex-start!important}html .align-self-md-end,html[data-netbox-color-mode=dark] .align-self-md-end,html[data-netbox-color-mode=light] .align-self-md-end{align-self:flex-end!important}html .align-self-md-center,html[data-netbox-color-mode=dark] .align-self-md-center,html[data-netbox-color-mode=light] .align-self-md-center{align-self:center!important}html .align-self-md-baseline,html[data-netbox-color-mode=dark] .align-self-md-baseline,html[data-netbox-color-mode=light] .align-self-md-baseline{align-self:baseline!important}html .align-self-md-stretch,html[data-netbox-color-mode=dark] .align-self-md-stretch,html[data-netbox-color-mode=light] .align-self-md-stretch{align-self:stretch!important}html .order-md-first,html[data-netbox-color-mode=dark] .order-md-first,html[data-netbox-color-mode=light] .order-md-first{order:-1!important}html .order-md-0,html[data-netbox-color-mode=dark] .order-md-0,html[data-netbox-color-mode=light] .order-md-0{order:0!important}html .order-md-1,html[data-netbox-color-mode=dark] .order-md-1,html[data-netbox-color-mode=light] .order-md-1{order:1!important}html .order-md-2,html[data-netbox-color-mode=dark] .order-md-2,html[data-netbox-color-mode=light] .order-md-2{order:2!important}html .order-md-3,html[data-netbox-color-mode=dark] .order-md-3,html[data-netbox-color-mode=light] .order-md-3{order:3!important}html .order-md-4,html[data-netbox-color-mode=dark] .order-md-4,html[data-netbox-color-mode=light] .order-md-4{order:4!important}html .order-md-5,html[data-netbox-color-mode=dark] .order-md-5,html[data-netbox-color-mode=light] .order-md-5{order:5!important}html .order-md-last,html[data-netbox-color-mode=dark] .order-md-last,html[data-netbox-color-mode=light] .order-md-last{order:6!important}html .m-md-0,html[data-netbox-color-mode=dark] .m-md-0,html[data-netbox-color-mode=light] .m-md-0{margin:0!important}html .m-md-1,html[data-netbox-color-mode=dark] .m-md-1,html[data-netbox-color-mode=light] .m-md-1{margin:.25rem!important}html .m-md-2,html[data-netbox-color-mode=dark] .m-md-2,html[data-netbox-color-mode=light] .m-md-2{margin:.5rem!important}html .m-md-3,html[data-netbox-color-mode=dark] .m-md-3,html[data-netbox-color-mode=light] .m-md-3{margin:1rem!important}html .m-md-4,html[data-netbox-color-mode=dark] .m-md-4,html[data-netbox-color-mode=light] .m-md-4{margin:1.5rem!important}html .m-md-5,html[data-netbox-color-mode=dark] .m-md-5,html[data-netbox-color-mode=light] .m-md-5{margin:3rem!important}html .m-md-auto,html[data-netbox-color-mode=dark] .m-md-auto,html[data-netbox-color-mode=light] .m-md-auto{margin:auto!important}html .mx-md-0,html[data-netbox-color-mode=dark] .mx-md-0,html[data-netbox-color-mode=light] .mx-md-0{margin-right:0!important;margin-left:0!important}html .mx-md-1,html[data-netbox-color-mode=dark] .mx-md-1,html[data-netbox-color-mode=light] .mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-md-2,html[data-netbox-color-mode=dark] .mx-md-2,html[data-netbox-color-mode=light] .mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-md-3,html[data-netbox-color-mode=dark] .mx-md-3,html[data-netbox-color-mode=light] .mx-md-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-md-4,html[data-netbox-color-mode=dark] .mx-md-4,html[data-netbox-color-mode=light] .mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-md-5,html[data-netbox-color-mode=dark] .mx-md-5,html[data-netbox-color-mode=light] .mx-md-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-md-auto,html[data-netbox-color-mode=dark] .mx-md-auto,html[data-netbox-color-mode=light] .mx-md-auto{margin-right:auto!important;margin-left:auto!important}html .my-md-0,html[data-netbox-color-mode=dark] .my-md-0,html[data-netbox-color-mode=light] .my-md-0{margin-top:0!important;margin-bottom:0!important}html .my-md-1,html[data-netbox-color-mode=dark] .my-md-1,html[data-netbox-color-mode=light] .my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-md-2,html[data-netbox-color-mode=dark] .my-md-2,html[data-netbox-color-mode=light] .my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-md-3,html[data-netbox-color-mode=dark] .my-md-3,html[data-netbox-color-mode=light] .my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-md-4,html[data-netbox-color-mode=dark] .my-md-4,html[data-netbox-color-mode=light] .my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-md-5,html[data-netbox-color-mode=dark] .my-md-5,html[data-netbox-color-mode=light] .my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-md-auto,html[data-netbox-color-mode=dark] .my-md-auto,html[data-netbox-color-mode=light] .my-md-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-md-0,html[data-netbox-color-mode=dark] .mt-md-0,html[data-netbox-color-mode=light] .mt-md-0{margin-top:0!important}html .mt-md-1,html[data-netbox-color-mode=dark] .mt-md-1,html[data-netbox-color-mode=light] .mt-md-1{margin-top:.25rem!important}html .mt-md-2,html[data-netbox-color-mode=dark] .mt-md-2,html[data-netbox-color-mode=light] .mt-md-2{margin-top:.5rem!important}html .mt-md-3,html[data-netbox-color-mode=dark] .mt-md-3,html[data-netbox-color-mode=light] .mt-md-3{margin-top:1rem!important}html .mt-md-4,html[data-netbox-color-mode=dark] .mt-md-4,html[data-netbox-color-mode=light] .mt-md-4{margin-top:1.5rem!important}html .mt-md-5,html[data-netbox-color-mode=dark] .mt-md-5,html[data-netbox-color-mode=light] .mt-md-5{margin-top:3rem!important}html .mt-md-auto,html[data-netbox-color-mode=dark] .mt-md-auto,html[data-netbox-color-mode=light] .mt-md-auto{margin-top:auto!important}html .me-md-0,html[data-netbox-color-mode=dark] .me-md-0,html[data-netbox-color-mode=light] .me-md-0{margin-right:0!important}html .me-md-1,html[data-netbox-color-mode=dark] .me-md-1,html[data-netbox-color-mode=light] .me-md-1{margin-right:.25rem!important}html .me-md-2,html[data-netbox-color-mode=dark] .me-md-2,html[data-netbox-color-mode=light] .me-md-2{margin-right:.5rem!important}html .me-md-3,html[data-netbox-color-mode=dark] .me-md-3,html[data-netbox-color-mode=light] .me-md-3{margin-right:1rem!important}html .me-md-4,html[data-netbox-color-mode=dark] .me-md-4,html[data-netbox-color-mode=light] .me-md-4{margin-right:1.5rem!important}html .me-md-5,html[data-netbox-color-mode=dark] .me-md-5,html[data-netbox-color-mode=light] .me-md-5{margin-right:3rem!important}html .me-md-auto,html[data-netbox-color-mode=dark] .me-md-auto,html[data-netbox-color-mode=light] .me-md-auto{margin-right:auto!important}html .mb-md-0,html[data-netbox-color-mode=dark] .mb-md-0,html[data-netbox-color-mode=light] .mb-md-0{margin-bottom:0!important}html .mb-md-1,html[data-netbox-color-mode=dark] .mb-md-1,html[data-netbox-color-mode=light] .mb-md-1{margin-bottom:.25rem!important}html .mb-md-2,html[data-netbox-color-mode=dark] .mb-md-2,html[data-netbox-color-mode=light] .mb-md-2{margin-bottom:.5rem!important}html .mb-md-3,html[data-netbox-color-mode=dark] .mb-md-3,html[data-netbox-color-mode=light] .mb-md-3{margin-bottom:1rem!important}html .mb-md-4,html[data-netbox-color-mode=dark] .mb-md-4,html[data-netbox-color-mode=light] .mb-md-4{margin-bottom:1.5rem!important}html .mb-md-5,html[data-netbox-color-mode=dark] .mb-md-5,html[data-netbox-color-mode=light] .mb-md-5{margin-bottom:3rem!important}html .mb-md-auto,html[data-netbox-color-mode=dark] .mb-md-auto,html[data-netbox-color-mode=light] .mb-md-auto{margin-bottom:auto!important}html .ms-md-0,html[data-netbox-color-mode=dark] .ms-md-0,html[data-netbox-color-mode=light] .ms-md-0{margin-left:0!important}html .ms-md-1,html[data-netbox-color-mode=dark] .ms-md-1,html[data-netbox-color-mode=light] .ms-md-1{margin-left:.25rem!important}html .ms-md-2,html[data-netbox-color-mode=dark] .ms-md-2,html[data-netbox-color-mode=light] .ms-md-2{margin-left:.5rem!important}html .ms-md-3,html[data-netbox-color-mode=dark] .ms-md-3,html[data-netbox-color-mode=light] .ms-md-3{margin-left:1rem!important}html .ms-md-4,html[data-netbox-color-mode=dark] .ms-md-4,html[data-netbox-color-mode=light] .ms-md-4{margin-left:1.5rem!important}html .ms-md-5,html[data-netbox-color-mode=dark] .ms-md-5,html[data-netbox-color-mode=light] .ms-md-5{margin-left:3rem!important}html .ms-md-auto,html[data-netbox-color-mode=dark] .ms-md-auto,html[data-netbox-color-mode=light] .ms-md-auto{margin-left:auto!important}html .p-md-0,html[data-netbox-color-mode=dark] .p-md-0,html[data-netbox-color-mode=light] .p-md-0{padding:0!important}html .p-md-1,html[data-netbox-color-mode=dark] .p-md-1,html[data-netbox-color-mode=light] .p-md-1{padding:.25rem!important}html .p-md-2,html[data-netbox-color-mode=dark] .p-md-2,html[data-netbox-color-mode=light] .p-md-2{padding:.5rem!important}html .p-md-3,html[data-netbox-color-mode=dark] .p-md-3,html[data-netbox-color-mode=light] .p-md-3{padding:1rem!important}html .p-md-4,html[data-netbox-color-mode=dark] .p-md-4,html[data-netbox-color-mode=light] .p-md-4{padding:1.5rem!important}html .p-md-5,html[data-netbox-color-mode=dark] .p-md-5,html[data-netbox-color-mode=light] .p-md-5{padding:3rem!important}html .px-md-0,html[data-netbox-color-mode=dark] .px-md-0,html[data-netbox-color-mode=light] .px-md-0{padding-right:0!important;padding-left:0!important}html .px-md-1,html[data-netbox-color-mode=dark] .px-md-1,html[data-netbox-color-mode=light] .px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-md-2,html[data-netbox-color-mode=dark] .px-md-2,html[data-netbox-color-mode=light] .px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-md-3,html[data-netbox-color-mode=dark] .px-md-3,html[data-netbox-color-mode=light] .px-md-3{padding-right:1rem!important;padding-left:1rem!important}html .px-md-4,html[data-netbox-color-mode=dark] .px-md-4,html[data-netbox-color-mode=light] .px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-md-5,html[data-netbox-color-mode=dark] .px-md-5,html[data-netbox-color-mode=light] .px-md-5{padding-right:3rem!important;padding-left:3rem!important}html .py-md-0,html[data-netbox-color-mode=dark] .py-md-0,html[data-netbox-color-mode=light] .py-md-0{padding-top:0!important;padding-bottom:0!important}html .py-md-1,html[data-netbox-color-mode=dark] .py-md-1,html[data-netbox-color-mode=light] .py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-md-2,html[data-netbox-color-mode=dark] .py-md-2,html[data-netbox-color-mode=light] .py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-md-3,html[data-netbox-color-mode=dark] .py-md-3,html[data-netbox-color-mode=light] .py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-md-4,html[data-netbox-color-mode=dark] .py-md-4,html[data-netbox-color-mode=light] .py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-md-5,html[data-netbox-color-mode=dark] .py-md-5,html[data-netbox-color-mode=light] .py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-md-0,html[data-netbox-color-mode=dark] .pt-md-0,html[data-netbox-color-mode=light] .pt-md-0{padding-top:0!important}html .pt-md-1,html[data-netbox-color-mode=dark] .pt-md-1,html[data-netbox-color-mode=light] .pt-md-1{padding-top:.25rem!important}html .pt-md-2,html[data-netbox-color-mode=dark] .pt-md-2,html[data-netbox-color-mode=light] .pt-md-2{padding-top:.5rem!important}html .pt-md-3,html[data-netbox-color-mode=dark] .pt-md-3,html[data-netbox-color-mode=light] .pt-md-3{padding-top:1rem!important}html .pt-md-4,html[data-netbox-color-mode=dark] .pt-md-4,html[data-netbox-color-mode=light] .pt-md-4{padding-top:1.5rem!important}html .pt-md-5,html[data-netbox-color-mode=dark] .pt-md-5,html[data-netbox-color-mode=light] .pt-md-5{padding-top:3rem!important}html .pe-md-0,html[data-netbox-color-mode=dark] .pe-md-0,html[data-netbox-color-mode=light] .pe-md-0{padding-right:0!important}html .pe-md-1,html[data-netbox-color-mode=dark] .pe-md-1,html[data-netbox-color-mode=light] .pe-md-1{padding-right:.25rem!important}html .pe-md-2,html[data-netbox-color-mode=dark] .pe-md-2,html[data-netbox-color-mode=light] .pe-md-2{padding-right:.5rem!important}html .pe-md-3,html[data-netbox-color-mode=dark] .pe-md-3,html[data-netbox-color-mode=light] .pe-md-3{padding-right:1rem!important}html .pe-md-4,html[data-netbox-color-mode=dark] .pe-md-4,html[data-netbox-color-mode=light] .pe-md-4{padding-right:1.5rem!important}html .pe-md-5,html[data-netbox-color-mode=dark] .pe-md-5,html[data-netbox-color-mode=light] .pe-md-5{padding-right:3rem!important}html .pb-md-0,html[data-netbox-color-mode=dark] .pb-md-0,html[data-netbox-color-mode=light] .pb-md-0{padding-bottom:0!important}html .pb-md-1,html[data-netbox-color-mode=dark] .pb-md-1,html[data-netbox-color-mode=light] .pb-md-1{padding-bottom:.25rem!important}html .pb-md-2,html[data-netbox-color-mode=dark] .pb-md-2,html[data-netbox-color-mode=light] .pb-md-2{padding-bottom:.5rem!important}html .pb-md-3,html[data-netbox-color-mode=dark] .pb-md-3,html[data-netbox-color-mode=light] .pb-md-3{padding-bottom:1rem!important}html .pb-md-4,html[data-netbox-color-mode=dark] .pb-md-4,html[data-netbox-color-mode=light] .pb-md-4{padding-bottom:1.5rem!important}html .pb-md-5,html[data-netbox-color-mode=dark] .pb-md-5,html[data-netbox-color-mode=light] .pb-md-5{padding-bottom:3rem!important}html .ps-md-0,html[data-netbox-color-mode=dark] .ps-md-0,html[data-netbox-color-mode=light] .ps-md-0{padding-left:0!important}html .ps-md-1,html[data-netbox-color-mode=dark] .ps-md-1,html[data-netbox-color-mode=light] .ps-md-1{padding-left:.25rem!important}html .ps-md-2,html[data-netbox-color-mode=dark] .ps-md-2,html[data-netbox-color-mode=light] .ps-md-2{padding-left:.5rem!important}html .ps-md-3,html[data-netbox-color-mode=dark] .ps-md-3,html[data-netbox-color-mode=light] .ps-md-3{padding-left:1rem!important}html .ps-md-4,html[data-netbox-color-mode=dark] .ps-md-4,html[data-netbox-color-mode=light] .ps-md-4{padding-left:1.5rem!important}html .ps-md-5,html[data-netbox-color-mode=dark] .ps-md-5,html[data-netbox-color-mode=light] .ps-md-5{padding-left:3rem!important}html .text-md-start,html[data-netbox-color-mode=dark] .text-md-start,html[data-netbox-color-mode=light] .text-md-start{text-align:left!important}html .text-md-end,html[data-netbox-color-mode=dark] .text-md-end,html[data-netbox-color-mode=light] .text-md-end{text-align:right!important}html .text-md-center,html[data-netbox-color-mode=dark] .text-md-center,html[data-netbox-color-mode=light] .text-md-center{text-align:center!important}}@media print and (min-width: 992px){html .float-lg-start,html[data-netbox-color-mode=dark] .float-lg-start,html[data-netbox-color-mode=light] .float-lg-start{float:left!important}html .float-lg-end,html[data-netbox-color-mode=dark] .float-lg-end,html[data-netbox-color-mode=light] .float-lg-end{float:right!important}html .float-lg-none,html[data-netbox-color-mode=dark] .float-lg-none,html[data-netbox-color-mode=light] .float-lg-none{float:none!important}html .d-lg-inline,html[data-netbox-color-mode=dark] .d-lg-inline,html[data-netbox-color-mode=light] .d-lg-inline{display:inline!important}html .d-lg-inline-block,html[data-netbox-color-mode=dark] .d-lg-inline-block,html[data-netbox-color-mode=light] .d-lg-inline-block{display:inline-block!important}html .d-lg-block,html[data-netbox-color-mode=dark] .d-lg-block,html[data-netbox-color-mode=light] .d-lg-block{display:block!important}html .d-lg-grid,html[data-netbox-color-mode=dark] .d-lg-grid,html[data-netbox-color-mode=light] .d-lg-grid{display:grid!important}html .d-lg-table,html[data-netbox-color-mode=dark] .d-lg-table,html[data-netbox-color-mode=light] .d-lg-table{display:table!important}html .d-lg-table-row,html[data-netbox-color-mode=dark] .d-lg-table-row,html[data-netbox-color-mode=light] .d-lg-table-row{display:table-row!important}html .d-lg-table-cell,html[data-netbox-color-mode=dark] .d-lg-table-cell,html[data-netbox-color-mode=light] .d-lg-table-cell{display:table-cell!important}html .d-lg-flex,html[data-netbox-color-mode=dark] .d-lg-flex,html[data-netbox-color-mode=light] .d-lg-flex{display:flex!important}html .d-lg-inline-flex,html[data-netbox-color-mode=dark] .d-lg-inline-flex,html[data-netbox-color-mode=light] .d-lg-inline-flex{display:inline-flex!important}html .d-lg-none,html[data-netbox-color-mode=dark] .d-lg-none,html[data-netbox-color-mode=light] .d-lg-none{display:none!important}html .flex-lg-fill,html[data-netbox-color-mode=dark] .flex-lg-fill,html[data-netbox-color-mode=light] .flex-lg-fill{flex:1 1 auto!important}html .flex-lg-row,html[data-netbox-color-mode=dark] .flex-lg-row,html[data-netbox-color-mode=light] .flex-lg-row{flex-direction:row!important}html .flex-lg-column,html[data-netbox-color-mode=dark] .flex-lg-column,html[data-netbox-color-mode=light] .flex-lg-column{flex-direction:column!important}html .flex-lg-row-reverse,html[data-netbox-color-mode=dark] .flex-lg-row-reverse,html[data-netbox-color-mode=light] .flex-lg-row-reverse{flex-direction:row-reverse!important}html .flex-lg-column-reverse,html[data-netbox-color-mode=dark] .flex-lg-column-reverse,html[data-netbox-color-mode=light] .flex-lg-column-reverse{flex-direction:column-reverse!important}html .flex-lg-grow-0,html[data-netbox-color-mode=dark] .flex-lg-grow-0,html[data-netbox-color-mode=light] .flex-lg-grow-0{flex-grow:0!important}html .flex-lg-grow-1,html[data-netbox-color-mode=dark] .flex-lg-grow-1,html[data-netbox-color-mode=light] .flex-lg-grow-1{flex-grow:1!important}html .flex-lg-shrink-0,html[data-netbox-color-mode=dark] .flex-lg-shrink-0,html[data-netbox-color-mode=light] .flex-lg-shrink-0{flex-shrink:0!important}html .flex-lg-shrink-1,html[data-netbox-color-mode=dark] .flex-lg-shrink-1,html[data-netbox-color-mode=light] .flex-lg-shrink-1{flex-shrink:1!important}html .flex-lg-wrap,html[data-netbox-color-mode=dark] .flex-lg-wrap,html[data-netbox-color-mode=light] .flex-lg-wrap{flex-wrap:wrap!important}html .flex-lg-nowrap,html[data-netbox-color-mode=dark] .flex-lg-nowrap,html[data-netbox-color-mode=light] .flex-lg-nowrap{flex-wrap:nowrap!important}html .flex-lg-wrap-reverse,html[data-netbox-color-mode=dark] .flex-lg-wrap-reverse,html[data-netbox-color-mode=light] .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-lg-0,html[data-netbox-color-mode=dark] .gap-lg-0,html[data-netbox-color-mode=light] .gap-lg-0{gap:0!important}html .gap-lg-1,html[data-netbox-color-mode=dark] .gap-lg-1,html[data-netbox-color-mode=light] .gap-lg-1{gap:.25rem!important}html .gap-lg-2,html[data-netbox-color-mode=dark] .gap-lg-2,html[data-netbox-color-mode=light] .gap-lg-2{gap:.5rem!important}html .gap-lg-3,html[data-netbox-color-mode=dark] .gap-lg-3,html[data-netbox-color-mode=light] .gap-lg-3{gap:1rem!important}html .gap-lg-4,html[data-netbox-color-mode=dark] .gap-lg-4,html[data-netbox-color-mode=light] .gap-lg-4{gap:1.5rem!important}html .gap-lg-5,html[data-netbox-color-mode=dark] .gap-lg-5,html[data-netbox-color-mode=light] .gap-lg-5{gap:3rem!important}html .justify-content-lg-start,html[data-netbox-color-mode=dark] .justify-content-lg-start,html[data-netbox-color-mode=light] .justify-content-lg-start{justify-content:flex-start!important}html .justify-content-lg-end,html[data-netbox-color-mode=dark] .justify-content-lg-end,html[data-netbox-color-mode=light] .justify-content-lg-end{justify-content:flex-end!important}html .justify-content-lg-center,html[data-netbox-color-mode=dark] .justify-content-lg-center,html[data-netbox-color-mode=light] .justify-content-lg-center{justify-content:center!important}html .justify-content-lg-between,html[data-netbox-color-mode=dark] .justify-content-lg-between,html[data-netbox-color-mode=light] .justify-content-lg-between{justify-content:space-between!important}html .justify-content-lg-around,html[data-netbox-color-mode=dark] .justify-content-lg-around,html[data-netbox-color-mode=light] .justify-content-lg-around{justify-content:space-around!important}html .justify-content-lg-evenly,html[data-netbox-color-mode=dark] .justify-content-lg-evenly,html[data-netbox-color-mode=light] .justify-content-lg-evenly{justify-content:space-evenly!important}html .align-items-lg-start,html[data-netbox-color-mode=dark] .align-items-lg-start,html[data-netbox-color-mode=light] .align-items-lg-start{align-items:flex-start!important}html .align-items-lg-end,html[data-netbox-color-mode=dark] .align-items-lg-end,html[data-netbox-color-mode=light] .align-items-lg-end{align-items:flex-end!important}html .align-items-lg-center,html[data-netbox-color-mode=dark] .align-items-lg-center,html[data-netbox-color-mode=light] .align-items-lg-center{align-items:center!important}html .align-items-lg-baseline,html[data-netbox-color-mode=dark] .align-items-lg-baseline,html[data-netbox-color-mode=light] .align-items-lg-baseline{align-items:baseline!important}html .align-items-lg-stretch,html[data-netbox-color-mode=dark] .align-items-lg-stretch,html[data-netbox-color-mode=light] .align-items-lg-stretch{align-items:stretch!important}html .align-content-lg-start,html[data-netbox-color-mode=dark] .align-content-lg-start,html[data-netbox-color-mode=light] .align-content-lg-start{align-content:flex-start!important}html .align-content-lg-end,html[data-netbox-color-mode=dark] .align-content-lg-end,html[data-netbox-color-mode=light] .align-content-lg-end{align-content:flex-end!important}html .align-content-lg-center,html[data-netbox-color-mode=dark] .align-content-lg-center,html[data-netbox-color-mode=light] .align-content-lg-center{align-content:center!important}html .align-content-lg-between,html[data-netbox-color-mode=dark] .align-content-lg-between,html[data-netbox-color-mode=light] .align-content-lg-between{align-content:space-between!important}html .align-content-lg-around,html[data-netbox-color-mode=dark] .align-content-lg-around,html[data-netbox-color-mode=light] .align-content-lg-around{align-content:space-around!important}html .align-content-lg-stretch,html[data-netbox-color-mode=dark] .align-content-lg-stretch,html[data-netbox-color-mode=light] .align-content-lg-stretch{align-content:stretch!important}html .align-self-lg-auto,html[data-netbox-color-mode=dark] .align-self-lg-auto,html[data-netbox-color-mode=light] .align-self-lg-auto{align-self:auto!important}html .align-self-lg-start,html[data-netbox-color-mode=dark] .align-self-lg-start,html[data-netbox-color-mode=light] .align-self-lg-start{align-self:flex-start!important}html .align-self-lg-end,html[data-netbox-color-mode=dark] .align-self-lg-end,html[data-netbox-color-mode=light] .align-self-lg-end{align-self:flex-end!important}html .align-self-lg-center,html[data-netbox-color-mode=dark] .align-self-lg-center,html[data-netbox-color-mode=light] .align-self-lg-center{align-self:center!important}html .align-self-lg-baseline,html[data-netbox-color-mode=dark] .align-self-lg-baseline,html[data-netbox-color-mode=light] .align-self-lg-baseline{align-self:baseline!important}html .align-self-lg-stretch,html[data-netbox-color-mode=dark] .align-self-lg-stretch,html[data-netbox-color-mode=light] .align-self-lg-stretch{align-self:stretch!important}html .order-lg-first,html[data-netbox-color-mode=dark] .order-lg-first,html[data-netbox-color-mode=light] .order-lg-first{order:-1!important}html .order-lg-0,html[data-netbox-color-mode=dark] .order-lg-0,html[data-netbox-color-mode=light] .order-lg-0{order:0!important}html .order-lg-1,html[data-netbox-color-mode=dark] .order-lg-1,html[data-netbox-color-mode=light] .order-lg-1{order:1!important}html .order-lg-2,html[data-netbox-color-mode=dark] .order-lg-2,html[data-netbox-color-mode=light] .order-lg-2{order:2!important}html .order-lg-3,html[data-netbox-color-mode=dark] .order-lg-3,html[data-netbox-color-mode=light] .order-lg-3{order:3!important}html .order-lg-4,html[data-netbox-color-mode=dark] .order-lg-4,html[data-netbox-color-mode=light] .order-lg-4{order:4!important}html .order-lg-5,html[data-netbox-color-mode=dark] .order-lg-5,html[data-netbox-color-mode=light] .order-lg-5{order:5!important}html .order-lg-last,html[data-netbox-color-mode=dark] .order-lg-last,html[data-netbox-color-mode=light] .order-lg-last{order:6!important}html .m-lg-0,html[data-netbox-color-mode=dark] .m-lg-0,html[data-netbox-color-mode=light] .m-lg-0{margin:0!important}html .m-lg-1,html[data-netbox-color-mode=dark] .m-lg-1,html[data-netbox-color-mode=light] .m-lg-1{margin:.25rem!important}html .m-lg-2,html[data-netbox-color-mode=dark] .m-lg-2,html[data-netbox-color-mode=light] .m-lg-2{margin:.5rem!important}html .m-lg-3,html[data-netbox-color-mode=dark] .m-lg-3,html[data-netbox-color-mode=light] .m-lg-3{margin:1rem!important}html .m-lg-4,html[data-netbox-color-mode=dark] .m-lg-4,html[data-netbox-color-mode=light] .m-lg-4{margin:1.5rem!important}html .m-lg-5,html[data-netbox-color-mode=dark] .m-lg-5,html[data-netbox-color-mode=light] .m-lg-5{margin:3rem!important}html .m-lg-auto,html[data-netbox-color-mode=dark] .m-lg-auto,html[data-netbox-color-mode=light] .m-lg-auto{margin:auto!important}html .mx-lg-0,html[data-netbox-color-mode=dark] .mx-lg-0,html[data-netbox-color-mode=light] .mx-lg-0{margin-right:0!important;margin-left:0!important}html .mx-lg-1,html[data-netbox-color-mode=dark] .mx-lg-1,html[data-netbox-color-mode=light] .mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-lg-2,html[data-netbox-color-mode=dark] .mx-lg-2,html[data-netbox-color-mode=light] .mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-lg-3,html[data-netbox-color-mode=dark] .mx-lg-3,html[data-netbox-color-mode=light] .mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-lg-4,html[data-netbox-color-mode=dark] .mx-lg-4,html[data-netbox-color-mode=light] .mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-lg-5,html[data-netbox-color-mode=dark] .mx-lg-5,html[data-netbox-color-mode=light] .mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-lg-auto,html[data-netbox-color-mode=dark] .mx-lg-auto,html[data-netbox-color-mode=light] .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}html .my-lg-0,html[data-netbox-color-mode=dark] .my-lg-0,html[data-netbox-color-mode=light] .my-lg-0{margin-top:0!important;margin-bottom:0!important}html .my-lg-1,html[data-netbox-color-mode=dark] .my-lg-1,html[data-netbox-color-mode=light] .my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-lg-2,html[data-netbox-color-mode=dark] .my-lg-2,html[data-netbox-color-mode=light] .my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-lg-3,html[data-netbox-color-mode=dark] .my-lg-3,html[data-netbox-color-mode=light] .my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-lg-4,html[data-netbox-color-mode=dark] .my-lg-4,html[data-netbox-color-mode=light] .my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-lg-5,html[data-netbox-color-mode=dark] .my-lg-5,html[data-netbox-color-mode=light] .my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-lg-auto,html[data-netbox-color-mode=dark] .my-lg-auto,html[data-netbox-color-mode=light] .my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-lg-0,html[data-netbox-color-mode=dark] .mt-lg-0,html[data-netbox-color-mode=light] .mt-lg-0{margin-top:0!important}html .mt-lg-1,html[data-netbox-color-mode=dark] .mt-lg-1,html[data-netbox-color-mode=light] .mt-lg-1{margin-top:.25rem!important}html .mt-lg-2,html[data-netbox-color-mode=dark] .mt-lg-2,html[data-netbox-color-mode=light] .mt-lg-2{margin-top:.5rem!important}html .mt-lg-3,html[data-netbox-color-mode=dark] .mt-lg-3,html[data-netbox-color-mode=light] .mt-lg-3{margin-top:1rem!important}html .mt-lg-4,html[data-netbox-color-mode=dark] .mt-lg-4,html[data-netbox-color-mode=light] .mt-lg-4{margin-top:1.5rem!important}html .mt-lg-5,html[data-netbox-color-mode=dark] .mt-lg-5,html[data-netbox-color-mode=light] .mt-lg-5{margin-top:3rem!important}html .mt-lg-auto,html[data-netbox-color-mode=dark] .mt-lg-auto,html[data-netbox-color-mode=light] .mt-lg-auto{margin-top:auto!important}html .me-lg-0,html[data-netbox-color-mode=dark] .me-lg-0,html[data-netbox-color-mode=light] .me-lg-0{margin-right:0!important}html .me-lg-1,html[data-netbox-color-mode=dark] .me-lg-1,html[data-netbox-color-mode=light] .me-lg-1{margin-right:.25rem!important}html .me-lg-2,html[data-netbox-color-mode=dark] .me-lg-2,html[data-netbox-color-mode=light] .me-lg-2{margin-right:.5rem!important}html .me-lg-3,html[data-netbox-color-mode=dark] .me-lg-3,html[data-netbox-color-mode=light] .me-lg-3{margin-right:1rem!important}html .me-lg-4,html[data-netbox-color-mode=dark] .me-lg-4,html[data-netbox-color-mode=light] .me-lg-4{margin-right:1.5rem!important}html .me-lg-5,html[data-netbox-color-mode=dark] .me-lg-5,html[data-netbox-color-mode=light] .me-lg-5{margin-right:3rem!important}html .me-lg-auto,html[data-netbox-color-mode=dark] .me-lg-auto,html[data-netbox-color-mode=light] .me-lg-auto{margin-right:auto!important}html .mb-lg-0,html[data-netbox-color-mode=dark] .mb-lg-0,html[data-netbox-color-mode=light] .mb-lg-0{margin-bottom:0!important}html .mb-lg-1,html[data-netbox-color-mode=dark] .mb-lg-1,html[data-netbox-color-mode=light] .mb-lg-1{margin-bottom:.25rem!important}html .mb-lg-2,html[data-netbox-color-mode=dark] .mb-lg-2,html[data-netbox-color-mode=light] .mb-lg-2{margin-bottom:.5rem!important}html .mb-lg-3,html[data-netbox-color-mode=dark] .mb-lg-3,html[data-netbox-color-mode=light] .mb-lg-3{margin-bottom:1rem!important}html .mb-lg-4,html[data-netbox-color-mode=dark] .mb-lg-4,html[data-netbox-color-mode=light] .mb-lg-4{margin-bottom:1.5rem!important}html .mb-lg-5,html[data-netbox-color-mode=dark] .mb-lg-5,html[data-netbox-color-mode=light] .mb-lg-5{margin-bottom:3rem!important}html .mb-lg-auto,html[data-netbox-color-mode=dark] .mb-lg-auto,html[data-netbox-color-mode=light] .mb-lg-auto{margin-bottom:auto!important}html .ms-lg-0,html[data-netbox-color-mode=dark] .ms-lg-0,html[data-netbox-color-mode=light] .ms-lg-0{margin-left:0!important}html .ms-lg-1,html[data-netbox-color-mode=dark] .ms-lg-1,html[data-netbox-color-mode=light] .ms-lg-1{margin-left:.25rem!important}html .ms-lg-2,html[data-netbox-color-mode=dark] .ms-lg-2,html[data-netbox-color-mode=light] .ms-lg-2{margin-left:.5rem!important}html .ms-lg-3,html[data-netbox-color-mode=dark] .ms-lg-3,html[data-netbox-color-mode=light] .ms-lg-3{margin-left:1rem!important}html .ms-lg-4,html[data-netbox-color-mode=dark] .ms-lg-4,html[data-netbox-color-mode=light] .ms-lg-4{margin-left:1.5rem!important}html .ms-lg-5,html[data-netbox-color-mode=dark] .ms-lg-5,html[data-netbox-color-mode=light] .ms-lg-5{margin-left:3rem!important}html .ms-lg-auto,html[data-netbox-color-mode=dark] .ms-lg-auto,html[data-netbox-color-mode=light] .ms-lg-auto{margin-left:auto!important}html .p-lg-0,html[data-netbox-color-mode=dark] .p-lg-0,html[data-netbox-color-mode=light] .p-lg-0{padding:0!important}html .p-lg-1,html[data-netbox-color-mode=dark] .p-lg-1,html[data-netbox-color-mode=light] .p-lg-1{padding:.25rem!important}html .p-lg-2,html[data-netbox-color-mode=dark] .p-lg-2,html[data-netbox-color-mode=light] .p-lg-2{padding:.5rem!important}html .p-lg-3,html[data-netbox-color-mode=dark] .p-lg-3,html[data-netbox-color-mode=light] .p-lg-3{padding:1rem!important}html .p-lg-4,html[data-netbox-color-mode=dark] .p-lg-4,html[data-netbox-color-mode=light] .p-lg-4{padding:1.5rem!important}html .p-lg-5,html[data-netbox-color-mode=dark] .p-lg-5,html[data-netbox-color-mode=light] .p-lg-5{padding:3rem!important}html .px-lg-0,html[data-netbox-color-mode=dark] .px-lg-0,html[data-netbox-color-mode=light] .px-lg-0{padding-right:0!important;padding-left:0!important}html .px-lg-1,html[data-netbox-color-mode=dark] .px-lg-1,html[data-netbox-color-mode=light] .px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-lg-2,html[data-netbox-color-mode=dark] .px-lg-2,html[data-netbox-color-mode=light] .px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-lg-3,html[data-netbox-color-mode=dark] .px-lg-3,html[data-netbox-color-mode=light] .px-lg-3{padding-right:1rem!important;padding-left:1rem!important}html .px-lg-4,html[data-netbox-color-mode=dark] .px-lg-4,html[data-netbox-color-mode=light] .px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-lg-5,html[data-netbox-color-mode=dark] .px-lg-5,html[data-netbox-color-mode=light] .px-lg-5{padding-right:3rem!important;padding-left:3rem!important}html .py-lg-0,html[data-netbox-color-mode=dark] .py-lg-0,html[data-netbox-color-mode=light] .py-lg-0{padding-top:0!important;padding-bottom:0!important}html .py-lg-1,html[data-netbox-color-mode=dark] .py-lg-1,html[data-netbox-color-mode=light] .py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-lg-2,html[data-netbox-color-mode=dark] .py-lg-2,html[data-netbox-color-mode=light] .py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-lg-3,html[data-netbox-color-mode=dark] .py-lg-3,html[data-netbox-color-mode=light] .py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-lg-4,html[data-netbox-color-mode=dark] .py-lg-4,html[data-netbox-color-mode=light] .py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-lg-5,html[data-netbox-color-mode=dark] .py-lg-5,html[data-netbox-color-mode=light] .py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-lg-0,html[data-netbox-color-mode=dark] .pt-lg-0,html[data-netbox-color-mode=light] .pt-lg-0{padding-top:0!important}html .pt-lg-1,html[data-netbox-color-mode=dark] .pt-lg-1,html[data-netbox-color-mode=light] .pt-lg-1{padding-top:.25rem!important}html .pt-lg-2,html[data-netbox-color-mode=dark] .pt-lg-2,html[data-netbox-color-mode=light] .pt-lg-2{padding-top:.5rem!important}html .pt-lg-3,html[data-netbox-color-mode=dark] .pt-lg-3,html[data-netbox-color-mode=light] .pt-lg-3{padding-top:1rem!important}html .pt-lg-4,html[data-netbox-color-mode=dark] .pt-lg-4,html[data-netbox-color-mode=light] .pt-lg-4{padding-top:1.5rem!important}html .pt-lg-5,html[data-netbox-color-mode=dark] .pt-lg-5,html[data-netbox-color-mode=light] .pt-lg-5{padding-top:3rem!important}html .pe-lg-0,html[data-netbox-color-mode=dark] .pe-lg-0,html[data-netbox-color-mode=light] .pe-lg-0{padding-right:0!important}html .pe-lg-1,html[data-netbox-color-mode=dark] .pe-lg-1,html[data-netbox-color-mode=light] .pe-lg-1{padding-right:.25rem!important}html .pe-lg-2,html[data-netbox-color-mode=dark] .pe-lg-2,html[data-netbox-color-mode=light] .pe-lg-2{padding-right:.5rem!important}html .pe-lg-3,html[data-netbox-color-mode=dark] .pe-lg-3,html[data-netbox-color-mode=light] .pe-lg-3{padding-right:1rem!important}html .pe-lg-4,html[data-netbox-color-mode=dark] .pe-lg-4,html[data-netbox-color-mode=light] .pe-lg-4{padding-right:1.5rem!important}html .pe-lg-5,html[data-netbox-color-mode=dark] .pe-lg-5,html[data-netbox-color-mode=light] .pe-lg-5{padding-right:3rem!important}html .pb-lg-0,html[data-netbox-color-mode=dark] .pb-lg-0,html[data-netbox-color-mode=light] .pb-lg-0{padding-bottom:0!important}html .pb-lg-1,html[data-netbox-color-mode=dark] .pb-lg-1,html[data-netbox-color-mode=light] .pb-lg-1{padding-bottom:.25rem!important}html .pb-lg-2,html[data-netbox-color-mode=dark] .pb-lg-2,html[data-netbox-color-mode=light] .pb-lg-2{padding-bottom:.5rem!important}html .pb-lg-3,html[data-netbox-color-mode=dark] .pb-lg-3,html[data-netbox-color-mode=light] .pb-lg-3{padding-bottom:1rem!important}html .pb-lg-4,html[data-netbox-color-mode=dark] .pb-lg-4,html[data-netbox-color-mode=light] .pb-lg-4{padding-bottom:1.5rem!important}html .pb-lg-5,html[data-netbox-color-mode=dark] .pb-lg-5,html[data-netbox-color-mode=light] .pb-lg-5{padding-bottom:3rem!important}html .ps-lg-0,html[data-netbox-color-mode=dark] .ps-lg-0,html[data-netbox-color-mode=light] .ps-lg-0{padding-left:0!important}html .ps-lg-1,html[data-netbox-color-mode=dark] .ps-lg-1,html[data-netbox-color-mode=light] .ps-lg-1{padding-left:.25rem!important}html .ps-lg-2,html[data-netbox-color-mode=dark] .ps-lg-2,html[data-netbox-color-mode=light] .ps-lg-2{padding-left:.5rem!important}html .ps-lg-3,html[data-netbox-color-mode=dark] .ps-lg-3,html[data-netbox-color-mode=light] .ps-lg-3{padding-left:1rem!important}html .ps-lg-4,html[data-netbox-color-mode=dark] .ps-lg-4,html[data-netbox-color-mode=light] .ps-lg-4{padding-left:1.5rem!important}html .ps-lg-5,html[data-netbox-color-mode=dark] .ps-lg-5,html[data-netbox-color-mode=light] .ps-lg-5{padding-left:3rem!important}html .text-lg-start,html[data-netbox-color-mode=dark] .text-lg-start,html[data-netbox-color-mode=light] .text-lg-start{text-align:left!important}html .text-lg-end,html[data-netbox-color-mode=dark] .text-lg-end,html[data-netbox-color-mode=light] .text-lg-end{text-align:right!important}html .text-lg-center,html[data-netbox-color-mode=dark] .text-lg-center,html[data-netbox-color-mode=light] .text-lg-center{text-align:center!important}}@media print and (min-width: 1200px){html .float-xl-start,html[data-netbox-color-mode=dark] .float-xl-start,html[data-netbox-color-mode=light] .float-xl-start{float:left!important}html .float-xl-end,html[data-netbox-color-mode=dark] .float-xl-end,html[data-netbox-color-mode=light] .float-xl-end{float:right!important}html .float-xl-none,html[data-netbox-color-mode=dark] .float-xl-none,html[data-netbox-color-mode=light] .float-xl-none{float:none!important}html .d-xl-inline,html[data-netbox-color-mode=dark] .d-xl-inline,html[data-netbox-color-mode=light] .d-xl-inline{display:inline!important}html .d-xl-inline-block,html[data-netbox-color-mode=dark] .d-xl-inline-block,html[data-netbox-color-mode=light] .d-xl-inline-block{display:inline-block!important}html .d-xl-block,html[data-netbox-color-mode=dark] .d-xl-block,html[data-netbox-color-mode=light] .d-xl-block{display:block!important}html .d-xl-grid,html[data-netbox-color-mode=dark] .d-xl-grid,html[data-netbox-color-mode=light] .d-xl-grid{display:grid!important}html .d-xl-table,html[data-netbox-color-mode=dark] .d-xl-table,html[data-netbox-color-mode=light] .d-xl-table{display:table!important}html .d-xl-table-row,html[data-netbox-color-mode=dark] .d-xl-table-row,html[data-netbox-color-mode=light] .d-xl-table-row{display:table-row!important}html .d-xl-table-cell,html[data-netbox-color-mode=dark] .d-xl-table-cell,html[data-netbox-color-mode=light] .d-xl-table-cell{display:table-cell!important}html .d-xl-flex,html[data-netbox-color-mode=dark] .d-xl-flex,html[data-netbox-color-mode=light] .d-xl-flex{display:flex!important}html .d-xl-inline-flex,html[data-netbox-color-mode=dark] .d-xl-inline-flex,html[data-netbox-color-mode=light] .d-xl-inline-flex{display:inline-flex!important}html .d-xl-none,html[data-netbox-color-mode=dark] .d-xl-none,html[data-netbox-color-mode=light] .d-xl-none{display:none!important}html .flex-xl-fill,html[data-netbox-color-mode=dark] .flex-xl-fill,html[data-netbox-color-mode=light] .flex-xl-fill{flex:1 1 auto!important}html .flex-xl-row,html[data-netbox-color-mode=dark] .flex-xl-row,html[data-netbox-color-mode=light] .flex-xl-row{flex-direction:row!important}html .flex-xl-column,html[data-netbox-color-mode=dark] .flex-xl-column,html[data-netbox-color-mode=light] .flex-xl-column{flex-direction:column!important}html .flex-xl-row-reverse,html[data-netbox-color-mode=dark] .flex-xl-row-reverse,html[data-netbox-color-mode=light] .flex-xl-row-reverse{flex-direction:row-reverse!important}html .flex-xl-column-reverse,html[data-netbox-color-mode=dark] .flex-xl-column-reverse,html[data-netbox-color-mode=light] .flex-xl-column-reverse{flex-direction:column-reverse!important}html .flex-xl-grow-0,html[data-netbox-color-mode=dark] .flex-xl-grow-0,html[data-netbox-color-mode=light] .flex-xl-grow-0{flex-grow:0!important}html .flex-xl-grow-1,html[data-netbox-color-mode=dark] .flex-xl-grow-1,html[data-netbox-color-mode=light] .flex-xl-grow-1{flex-grow:1!important}html .flex-xl-shrink-0,html[data-netbox-color-mode=dark] .flex-xl-shrink-0,html[data-netbox-color-mode=light] .flex-xl-shrink-0{flex-shrink:0!important}html .flex-xl-shrink-1,html[data-netbox-color-mode=dark] .flex-xl-shrink-1,html[data-netbox-color-mode=light] .flex-xl-shrink-1{flex-shrink:1!important}html .flex-xl-wrap,html[data-netbox-color-mode=dark] .flex-xl-wrap,html[data-netbox-color-mode=light] .flex-xl-wrap{flex-wrap:wrap!important}html .flex-xl-nowrap,html[data-netbox-color-mode=dark] .flex-xl-nowrap,html[data-netbox-color-mode=light] .flex-xl-nowrap{flex-wrap:nowrap!important}html .flex-xl-wrap-reverse,html[data-netbox-color-mode=dark] .flex-xl-wrap-reverse,html[data-netbox-color-mode=light] .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-xl-0,html[data-netbox-color-mode=dark] .gap-xl-0,html[data-netbox-color-mode=light] .gap-xl-0{gap:0!important}html .gap-xl-1,html[data-netbox-color-mode=dark] .gap-xl-1,html[data-netbox-color-mode=light] .gap-xl-1{gap:.25rem!important}html .gap-xl-2,html[data-netbox-color-mode=dark] .gap-xl-2,html[data-netbox-color-mode=light] .gap-xl-2{gap:.5rem!important}html .gap-xl-3,html[data-netbox-color-mode=dark] .gap-xl-3,html[data-netbox-color-mode=light] .gap-xl-3{gap:1rem!important}html .gap-xl-4,html[data-netbox-color-mode=dark] .gap-xl-4,html[data-netbox-color-mode=light] .gap-xl-4{gap:1.5rem!important}html .gap-xl-5,html[data-netbox-color-mode=dark] .gap-xl-5,html[data-netbox-color-mode=light] .gap-xl-5{gap:3rem!important}html .justify-content-xl-start,html[data-netbox-color-mode=dark] .justify-content-xl-start,html[data-netbox-color-mode=light] .justify-content-xl-start{justify-content:flex-start!important}html .justify-content-xl-end,html[data-netbox-color-mode=dark] .justify-content-xl-end,html[data-netbox-color-mode=light] .justify-content-xl-end{justify-content:flex-end!important}html .justify-content-xl-center,html[data-netbox-color-mode=dark] .justify-content-xl-center,html[data-netbox-color-mode=light] .justify-content-xl-center{justify-content:center!important}html .justify-content-xl-between,html[data-netbox-color-mode=dark] .justify-content-xl-between,html[data-netbox-color-mode=light] .justify-content-xl-between{justify-content:space-between!important}html .justify-content-xl-around,html[data-netbox-color-mode=dark] .justify-content-xl-around,html[data-netbox-color-mode=light] .justify-content-xl-around{justify-content:space-around!important}html .justify-content-xl-evenly,html[data-netbox-color-mode=dark] .justify-content-xl-evenly,html[data-netbox-color-mode=light] .justify-content-xl-evenly{justify-content:space-evenly!important}html .align-items-xl-start,html[data-netbox-color-mode=dark] .align-items-xl-start,html[data-netbox-color-mode=light] .align-items-xl-start{align-items:flex-start!important}html .align-items-xl-end,html[data-netbox-color-mode=dark] .align-items-xl-end,html[data-netbox-color-mode=light] .align-items-xl-end{align-items:flex-end!important}html .align-items-xl-center,html[data-netbox-color-mode=dark] .align-items-xl-center,html[data-netbox-color-mode=light] .align-items-xl-center{align-items:center!important}html .align-items-xl-baseline,html[data-netbox-color-mode=dark] .align-items-xl-baseline,html[data-netbox-color-mode=light] .align-items-xl-baseline{align-items:baseline!important}html .align-items-xl-stretch,html[data-netbox-color-mode=dark] .align-items-xl-stretch,html[data-netbox-color-mode=light] .align-items-xl-stretch{align-items:stretch!important}html .align-content-xl-start,html[data-netbox-color-mode=dark] .align-content-xl-start,html[data-netbox-color-mode=light] .align-content-xl-start{align-content:flex-start!important}html .align-content-xl-end,html[data-netbox-color-mode=dark] .align-content-xl-end,html[data-netbox-color-mode=light] .align-content-xl-end{align-content:flex-end!important}html .align-content-xl-center,html[data-netbox-color-mode=dark] .align-content-xl-center,html[data-netbox-color-mode=light] .align-content-xl-center{align-content:center!important}html .align-content-xl-between,html[data-netbox-color-mode=dark] .align-content-xl-between,html[data-netbox-color-mode=light] .align-content-xl-between{align-content:space-between!important}html .align-content-xl-around,html[data-netbox-color-mode=dark] .align-content-xl-around,html[data-netbox-color-mode=light] .align-content-xl-around{align-content:space-around!important}html .align-content-xl-stretch,html[data-netbox-color-mode=dark] .align-content-xl-stretch,html[data-netbox-color-mode=light] .align-content-xl-stretch{align-content:stretch!important}html .align-self-xl-auto,html[data-netbox-color-mode=dark] .align-self-xl-auto,html[data-netbox-color-mode=light] .align-self-xl-auto{align-self:auto!important}html .align-self-xl-start,html[data-netbox-color-mode=dark] .align-self-xl-start,html[data-netbox-color-mode=light] .align-self-xl-start{align-self:flex-start!important}html .align-self-xl-end,html[data-netbox-color-mode=dark] .align-self-xl-end,html[data-netbox-color-mode=light] .align-self-xl-end{align-self:flex-end!important}html .align-self-xl-center,html[data-netbox-color-mode=dark] .align-self-xl-center,html[data-netbox-color-mode=light] .align-self-xl-center{align-self:center!important}html .align-self-xl-baseline,html[data-netbox-color-mode=dark] .align-self-xl-baseline,html[data-netbox-color-mode=light] .align-self-xl-baseline{align-self:baseline!important}html .align-self-xl-stretch,html[data-netbox-color-mode=dark] .align-self-xl-stretch,html[data-netbox-color-mode=light] .align-self-xl-stretch{align-self:stretch!important}html .order-xl-first,html[data-netbox-color-mode=dark] .order-xl-first,html[data-netbox-color-mode=light] .order-xl-first{order:-1!important}html .order-xl-0,html[data-netbox-color-mode=dark] .order-xl-0,html[data-netbox-color-mode=light] .order-xl-0{order:0!important}html .order-xl-1,html[data-netbox-color-mode=dark] .order-xl-1,html[data-netbox-color-mode=light] .order-xl-1{order:1!important}html .order-xl-2,html[data-netbox-color-mode=dark] .order-xl-2,html[data-netbox-color-mode=light] .order-xl-2{order:2!important}html .order-xl-3,html[data-netbox-color-mode=dark] .order-xl-3,html[data-netbox-color-mode=light] .order-xl-3{order:3!important}html .order-xl-4,html[data-netbox-color-mode=dark] .order-xl-4,html[data-netbox-color-mode=light] .order-xl-4{order:4!important}html .order-xl-5,html[data-netbox-color-mode=dark] .order-xl-5,html[data-netbox-color-mode=light] .order-xl-5{order:5!important}html .order-xl-last,html[data-netbox-color-mode=dark] .order-xl-last,html[data-netbox-color-mode=light] .order-xl-last{order:6!important}html .m-xl-0,html[data-netbox-color-mode=dark] .m-xl-0,html[data-netbox-color-mode=light] .m-xl-0{margin:0!important}html .m-xl-1,html[data-netbox-color-mode=dark] .m-xl-1,html[data-netbox-color-mode=light] .m-xl-1{margin:.25rem!important}html .m-xl-2,html[data-netbox-color-mode=dark] .m-xl-2,html[data-netbox-color-mode=light] .m-xl-2{margin:.5rem!important}html .m-xl-3,html[data-netbox-color-mode=dark] .m-xl-3,html[data-netbox-color-mode=light] .m-xl-3{margin:1rem!important}html .m-xl-4,html[data-netbox-color-mode=dark] .m-xl-4,html[data-netbox-color-mode=light] .m-xl-4{margin:1.5rem!important}html .m-xl-5,html[data-netbox-color-mode=dark] .m-xl-5,html[data-netbox-color-mode=light] .m-xl-5{margin:3rem!important}html .m-xl-auto,html[data-netbox-color-mode=dark] .m-xl-auto,html[data-netbox-color-mode=light] .m-xl-auto{margin:auto!important}html .mx-xl-0,html[data-netbox-color-mode=dark] .mx-xl-0,html[data-netbox-color-mode=light] .mx-xl-0{margin-right:0!important;margin-left:0!important}html .mx-xl-1,html[data-netbox-color-mode=dark] .mx-xl-1,html[data-netbox-color-mode=light] .mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-xl-2,html[data-netbox-color-mode=dark] .mx-xl-2,html[data-netbox-color-mode=light] .mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-xl-3,html[data-netbox-color-mode=dark] .mx-xl-3,html[data-netbox-color-mode=light] .mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-xl-4,html[data-netbox-color-mode=dark] .mx-xl-4,html[data-netbox-color-mode=light] .mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-xl-5,html[data-netbox-color-mode=dark] .mx-xl-5,html[data-netbox-color-mode=light] .mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-xl-auto,html[data-netbox-color-mode=dark] .mx-xl-auto,html[data-netbox-color-mode=light] .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}html .my-xl-0,html[data-netbox-color-mode=dark] .my-xl-0,html[data-netbox-color-mode=light] .my-xl-0{margin-top:0!important;margin-bottom:0!important}html .my-xl-1,html[data-netbox-color-mode=dark] .my-xl-1,html[data-netbox-color-mode=light] .my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-xl-2,html[data-netbox-color-mode=dark] .my-xl-2,html[data-netbox-color-mode=light] .my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-xl-3,html[data-netbox-color-mode=dark] .my-xl-3,html[data-netbox-color-mode=light] .my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-xl-4,html[data-netbox-color-mode=dark] .my-xl-4,html[data-netbox-color-mode=light] .my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-xl-5,html[data-netbox-color-mode=dark] .my-xl-5,html[data-netbox-color-mode=light] .my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-xl-auto,html[data-netbox-color-mode=dark] .my-xl-auto,html[data-netbox-color-mode=light] .my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-xl-0,html[data-netbox-color-mode=dark] .mt-xl-0,html[data-netbox-color-mode=light] .mt-xl-0{margin-top:0!important}html .mt-xl-1,html[data-netbox-color-mode=dark] .mt-xl-1,html[data-netbox-color-mode=light] .mt-xl-1{margin-top:.25rem!important}html .mt-xl-2,html[data-netbox-color-mode=dark] .mt-xl-2,html[data-netbox-color-mode=light] .mt-xl-2{margin-top:.5rem!important}html .mt-xl-3,html[data-netbox-color-mode=dark] .mt-xl-3,html[data-netbox-color-mode=light] .mt-xl-3{margin-top:1rem!important}html .mt-xl-4,html[data-netbox-color-mode=dark] .mt-xl-4,html[data-netbox-color-mode=light] .mt-xl-4{margin-top:1.5rem!important}html .mt-xl-5,html[data-netbox-color-mode=dark] .mt-xl-5,html[data-netbox-color-mode=light] .mt-xl-5{margin-top:3rem!important}html .mt-xl-auto,html[data-netbox-color-mode=dark] .mt-xl-auto,html[data-netbox-color-mode=light] .mt-xl-auto{margin-top:auto!important}html .me-xl-0,html[data-netbox-color-mode=dark] .me-xl-0,html[data-netbox-color-mode=light] .me-xl-0{margin-right:0!important}html .me-xl-1,html[data-netbox-color-mode=dark] .me-xl-1,html[data-netbox-color-mode=light] .me-xl-1{margin-right:.25rem!important}html .me-xl-2,html[data-netbox-color-mode=dark] .me-xl-2,html[data-netbox-color-mode=light] .me-xl-2{margin-right:.5rem!important}html .me-xl-3,html[data-netbox-color-mode=dark] .me-xl-3,html[data-netbox-color-mode=light] .me-xl-3{margin-right:1rem!important}html .me-xl-4,html[data-netbox-color-mode=dark] .me-xl-4,html[data-netbox-color-mode=light] .me-xl-4{margin-right:1.5rem!important}html .me-xl-5,html[data-netbox-color-mode=dark] .me-xl-5,html[data-netbox-color-mode=light] .me-xl-5{margin-right:3rem!important}html .me-xl-auto,html[data-netbox-color-mode=dark] .me-xl-auto,html[data-netbox-color-mode=light] .me-xl-auto{margin-right:auto!important}html .mb-xl-0,html[data-netbox-color-mode=dark] .mb-xl-0,html[data-netbox-color-mode=light] .mb-xl-0{margin-bottom:0!important}html .mb-xl-1,html[data-netbox-color-mode=dark] .mb-xl-1,html[data-netbox-color-mode=light] .mb-xl-1{margin-bottom:.25rem!important}html .mb-xl-2,html[data-netbox-color-mode=dark] .mb-xl-2,html[data-netbox-color-mode=light] .mb-xl-2{margin-bottom:.5rem!important}html .mb-xl-3,html[data-netbox-color-mode=dark] .mb-xl-3,html[data-netbox-color-mode=light] .mb-xl-3{margin-bottom:1rem!important}html .mb-xl-4,html[data-netbox-color-mode=dark] .mb-xl-4,html[data-netbox-color-mode=light] .mb-xl-4{margin-bottom:1.5rem!important}html .mb-xl-5,html[data-netbox-color-mode=dark] .mb-xl-5,html[data-netbox-color-mode=light] .mb-xl-5{margin-bottom:3rem!important}html .mb-xl-auto,html[data-netbox-color-mode=dark] .mb-xl-auto,html[data-netbox-color-mode=light] .mb-xl-auto{margin-bottom:auto!important}html .ms-xl-0,html[data-netbox-color-mode=dark] .ms-xl-0,html[data-netbox-color-mode=light] .ms-xl-0{margin-left:0!important}html .ms-xl-1,html[data-netbox-color-mode=dark] .ms-xl-1,html[data-netbox-color-mode=light] .ms-xl-1{margin-left:.25rem!important}html .ms-xl-2,html[data-netbox-color-mode=dark] .ms-xl-2,html[data-netbox-color-mode=light] .ms-xl-2{margin-left:.5rem!important}html .ms-xl-3,html[data-netbox-color-mode=dark] .ms-xl-3,html[data-netbox-color-mode=light] .ms-xl-3{margin-left:1rem!important}html .ms-xl-4,html[data-netbox-color-mode=dark] .ms-xl-4,html[data-netbox-color-mode=light] .ms-xl-4{margin-left:1.5rem!important}html .ms-xl-5,html[data-netbox-color-mode=dark] .ms-xl-5,html[data-netbox-color-mode=light] .ms-xl-5{margin-left:3rem!important}html .ms-xl-auto,html[data-netbox-color-mode=dark] .ms-xl-auto,html[data-netbox-color-mode=light] .ms-xl-auto{margin-left:auto!important}html .p-xl-0,html[data-netbox-color-mode=dark] .p-xl-0,html[data-netbox-color-mode=light] .p-xl-0{padding:0!important}html .p-xl-1,html[data-netbox-color-mode=dark] .p-xl-1,html[data-netbox-color-mode=light] .p-xl-1{padding:.25rem!important}html .p-xl-2,html[data-netbox-color-mode=dark] .p-xl-2,html[data-netbox-color-mode=light] .p-xl-2{padding:.5rem!important}html .p-xl-3,html[data-netbox-color-mode=dark] .p-xl-3,html[data-netbox-color-mode=light] .p-xl-3{padding:1rem!important}html .p-xl-4,html[data-netbox-color-mode=dark] .p-xl-4,html[data-netbox-color-mode=light] .p-xl-4{padding:1.5rem!important}html .p-xl-5,html[data-netbox-color-mode=dark] .p-xl-5,html[data-netbox-color-mode=light] .p-xl-5{padding:3rem!important}html .px-xl-0,html[data-netbox-color-mode=dark] .px-xl-0,html[data-netbox-color-mode=light] .px-xl-0{padding-right:0!important;padding-left:0!important}html .px-xl-1,html[data-netbox-color-mode=dark] .px-xl-1,html[data-netbox-color-mode=light] .px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-xl-2,html[data-netbox-color-mode=dark] .px-xl-2,html[data-netbox-color-mode=light] .px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-xl-3,html[data-netbox-color-mode=dark] .px-xl-3,html[data-netbox-color-mode=light] .px-xl-3{padding-right:1rem!important;padding-left:1rem!important}html .px-xl-4,html[data-netbox-color-mode=dark] .px-xl-4,html[data-netbox-color-mode=light] .px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-xl-5,html[data-netbox-color-mode=dark] .px-xl-5,html[data-netbox-color-mode=light] .px-xl-5{padding-right:3rem!important;padding-left:3rem!important}html .py-xl-0,html[data-netbox-color-mode=dark] .py-xl-0,html[data-netbox-color-mode=light] .py-xl-0{padding-top:0!important;padding-bottom:0!important}html .py-xl-1,html[data-netbox-color-mode=dark] .py-xl-1,html[data-netbox-color-mode=light] .py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-xl-2,html[data-netbox-color-mode=dark] .py-xl-2,html[data-netbox-color-mode=light] .py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-xl-3,html[data-netbox-color-mode=dark] .py-xl-3,html[data-netbox-color-mode=light] .py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-xl-4,html[data-netbox-color-mode=dark] .py-xl-4,html[data-netbox-color-mode=light] .py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-xl-5,html[data-netbox-color-mode=dark] .py-xl-5,html[data-netbox-color-mode=light] .py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-xl-0,html[data-netbox-color-mode=dark] .pt-xl-0,html[data-netbox-color-mode=light] .pt-xl-0{padding-top:0!important}html .pt-xl-1,html[data-netbox-color-mode=dark] .pt-xl-1,html[data-netbox-color-mode=light] .pt-xl-1{padding-top:.25rem!important}html .pt-xl-2,html[data-netbox-color-mode=dark] .pt-xl-2,html[data-netbox-color-mode=light] .pt-xl-2{padding-top:.5rem!important}html .pt-xl-3,html[data-netbox-color-mode=dark] .pt-xl-3,html[data-netbox-color-mode=light] .pt-xl-3{padding-top:1rem!important}html .pt-xl-4,html[data-netbox-color-mode=dark] .pt-xl-4,html[data-netbox-color-mode=light] .pt-xl-4{padding-top:1.5rem!important}html .pt-xl-5,html[data-netbox-color-mode=dark] .pt-xl-5,html[data-netbox-color-mode=light] .pt-xl-5{padding-top:3rem!important}html .pe-xl-0,html[data-netbox-color-mode=dark] .pe-xl-0,html[data-netbox-color-mode=light] .pe-xl-0{padding-right:0!important}html .pe-xl-1,html[data-netbox-color-mode=dark] .pe-xl-1,html[data-netbox-color-mode=light] .pe-xl-1{padding-right:.25rem!important}html .pe-xl-2,html[data-netbox-color-mode=dark] .pe-xl-2,html[data-netbox-color-mode=light] .pe-xl-2{padding-right:.5rem!important}html .pe-xl-3,html[data-netbox-color-mode=dark] .pe-xl-3,html[data-netbox-color-mode=light] .pe-xl-3{padding-right:1rem!important}html .pe-xl-4,html[data-netbox-color-mode=dark] .pe-xl-4,html[data-netbox-color-mode=light] .pe-xl-4{padding-right:1.5rem!important}html .pe-xl-5,html[data-netbox-color-mode=dark] .pe-xl-5,html[data-netbox-color-mode=light] .pe-xl-5{padding-right:3rem!important}html .pb-xl-0,html[data-netbox-color-mode=dark] .pb-xl-0,html[data-netbox-color-mode=light] .pb-xl-0{padding-bottom:0!important}html .pb-xl-1,html[data-netbox-color-mode=dark] .pb-xl-1,html[data-netbox-color-mode=light] .pb-xl-1{padding-bottom:.25rem!important}html .pb-xl-2,html[data-netbox-color-mode=dark] .pb-xl-2,html[data-netbox-color-mode=light] .pb-xl-2{padding-bottom:.5rem!important}html .pb-xl-3,html[data-netbox-color-mode=dark] .pb-xl-3,html[data-netbox-color-mode=light] .pb-xl-3{padding-bottom:1rem!important}html .pb-xl-4,html[data-netbox-color-mode=dark] .pb-xl-4,html[data-netbox-color-mode=light] .pb-xl-4{padding-bottom:1.5rem!important}html .pb-xl-5,html[data-netbox-color-mode=dark] .pb-xl-5,html[data-netbox-color-mode=light] .pb-xl-5{padding-bottom:3rem!important}html .ps-xl-0,html[data-netbox-color-mode=dark] .ps-xl-0,html[data-netbox-color-mode=light] .ps-xl-0{padding-left:0!important}html .ps-xl-1,html[data-netbox-color-mode=dark] .ps-xl-1,html[data-netbox-color-mode=light] .ps-xl-1{padding-left:.25rem!important}html .ps-xl-2,html[data-netbox-color-mode=dark] .ps-xl-2,html[data-netbox-color-mode=light] .ps-xl-2{padding-left:.5rem!important}html .ps-xl-3,html[data-netbox-color-mode=dark] .ps-xl-3,html[data-netbox-color-mode=light] .ps-xl-3{padding-left:1rem!important}html .ps-xl-4,html[data-netbox-color-mode=dark] .ps-xl-4,html[data-netbox-color-mode=light] .ps-xl-4{padding-left:1.5rem!important}html .ps-xl-5,html[data-netbox-color-mode=dark] .ps-xl-5,html[data-netbox-color-mode=light] .ps-xl-5{padding-left:3rem!important}html .text-xl-start,html[data-netbox-color-mode=dark] .text-xl-start,html[data-netbox-color-mode=light] .text-xl-start{text-align:left!important}html .text-xl-end,html[data-netbox-color-mode=dark] .text-xl-end,html[data-netbox-color-mode=light] .text-xl-end{text-align:right!important}html .text-xl-center,html[data-netbox-color-mode=dark] .text-xl-center,html[data-netbox-color-mode=light] .text-xl-center{text-align:center!important}}@media print and (min-width: 1400px){html .float-xxl-start,html[data-netbox-color-mode=dark] .float-xxl-start,html[data-netbox-color-mode=light] .float-xxl-start{float:left!important}html .float-xxl-end,html[data-netbox-color-mode=dark] .float-xxl-end,html[data-netbox-color-mode=light] .float-xxl-end{float:right!important}html .float-xxl-none,html[data-netbox-color-mode=dark] .float-xxl-none,html[data-netbox-color-mode=light] .float-xxl-none{float:none!important}html .d-xxl-inline,html[data-netbox-color-mode=dark] .d-xxl-inline,html[data-netbox-color-mode=light] .d-xxl-inline{display:inline!important}html .d-xxl-inline-block,html[data-netbox-color-mode=dark] .d-xxl-inline-block,html[data-netbox-color-mode=light] .d-xxl-inline-block{display:inline-block!important}html .d-xxl-block,html[data-netbox-color-mode=dark] .d-xxl-block,html[data-netbox-color-mode=light] .d-xxl-block{display:block!important}html .d-xxl-grid,html[data-netbox-color-mode=dark] .d-xxl-grid,html[data-netbox-color-mode=light] .d-xxl-grid{display:grid!important}html .d-xxl-table,html[data-netbox-color-mode=dark] .d-xxl-table,html[data-netbox-color-mode=light] .d-xxl-table{display:table!important}html .d-xxl-table-row,html[data-netbox-color-mode=dark] .d-xxl-table-row,html[data-netbox-color-mode=light] .d-xxl-table-row{display:table-row!important}html .d-xxl-table-cell,html[data-netbox-color-mode=dark] .d-xxl-table-cell,html[data-netbox-color-mode=light] .d-xxl-table-cell{display:table-cell!important}html .d-xxl-flex,html[data-netbox-color-mode=dark] .d-xxl-flex,html[data-netbox-color-mode=light] .d-xxl-flex{display:flex!important}html .d-xxl-inline-flex,html[data-netbox-color-mode=dark] .d-xxl-inline-flex,html[data-netbox-color-mode=light] .d-xxl-inline-flex{display:inline-flex!important}html .d-xxl-none,html[data-netbox-color-mode=dark] .d-xxl-none,html[data-netbox-color-mode=light] .d-xxl-none{display:none!important}html .flex-xxl-fill,html[data-netbox-color-mode=dark] .flex-xxl-fill,html[data-netbox-color-mode=light] .flex-xxl-fill{flex:1 1 auto!important}html .flex-xxl-row,html[data-netbox-color-mode=dark] .flex-xxl-row,html[data-netbox-color-mode=light] .flex-xxl-row{flex-direction:row!important}html .flex-xxl-column,html[data-netbox-color-mode=dark] .flex-xxl-column,html[data-netbox-color-mode=light] .flex-xxl-column{flex-direction:column!important}html .flex-xxl-row-reverse,html[data-netbox-color-mode=dark] .flex-xxl-row-reverse,html[data-netbox-color-mode=light] .flex-xxl-row-reverse{flex-direction:row-reverse!important}html .flex-xxl-column-reverse,html[data-netbox-color-mode=dark] .flex-xxl-column-reverse,html[data-netbox-color-mode=light] .flex-xxl-column-reverse{flex-direction:column-reverse!important}html .flex-xxl-grow-0,html[data-netbox-color-mode=dark] .flex-xxl-grow-0,html[data-netbox-color-mode=light] .flex-xxl-grow-0{flex-grow:0!important}html .flex-xxl-grow-1,html[data-netbox-color-mode=dark] .flex-xxl-grow-1,html[data-netbox-color-mode=light] .flex-xxl-grow-1{flex-grow:1!important}html .flex-xxl-shrink-0,html[data-netbox-color-mode=dark] .flex-xxl-shrink-0,html[data-netbox-color-mode=light] .flex-xxl-shrink-0{flex-shrink:0!important}html .flex-xxl-shrink-1,html[data-netbox-color-mode=dark] .flex-xxl-shrink-1,html[data-netbox-color-mode=light] .flex-xxl-shrink-1{flex-shrink:1!important}html .flex-xxl-wrap,html[data-netbox-color-mode=dark] .flex-xxl-wrap,html[data-netbox-color-mode=light] .flex-xxl-wrap{flex-wrap:wrap!important}html .flex-xxl-nowrap,html[data-netbox-color-mode=dark] .flex-xxl-nowrap,html[data-netbox-color-mode=light] .flex-xxl-nowrap{flex-wrap:nowrap!important}html .flex-xxl-wrap-reverse,html[data-netbox-color-mode=dark] .flex-xxl-wrap-reverse,html[data-netbox-color-mode=light] .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-xxl-0,html[data-netbox-color-mode=dark] .gap-xxl-0,html[data-netbox-color-mode=light] .gap-xxl-0{gap:0!important}html .gap-xxl-1,html[data-netbox-color-mode=dark] .gap-xxl-1,html[data-netbox-color-mode=light] .gap-xxl-1{gap:.25rem!important}html .gap-xxl-2,html[data-netbox-color-mode=dark] .gap-xxl-2,html[data-netbox-color-mode=light] .gap-xxl-2{gap:.5rem!important}html .gap-xxl-3,html[data-netbox-color-mode=dark] .gap-xxl-3,html[data-netbox-color-mode=light] .gap-xxl-3{gap:1rem!important}html .gap-xxl-4,html[data-netbox-color-mode=dark] .gap-xxl-4,html[data-netbox-color-mode=light] .gap-xxl-4{gap:1.5rem!important}html .gap-xxl-5,html[data-netbox-color-mode=dark] .gap-xxl-5,html[data-netbox-color-mode=light] .gap-xxl-5{gap:3rem!important}html .justify-content-xxl-start,html[data-netbox-color-mode=dark] .justify-content-xxl-start,html[data-netbox-color-mode=light] .justify-content-xxl-start{justify-content:flex-start!important}html .justify-content-xxl-end,html[data-netbox-color-mode=dark] .justify-content-xxl-end,html[data-netbox-color-mode=light] .justify-content-xxl-end{justify-content:flex-end!important}html .justify-content-xxl-center,html[data-netbox-color-mode=dark] .justify-content-xxl-center,html[data-netbox-color-mode=light] .justify-content-xxl-center{justify-content:center!important}html .justify-content-xxl-between,html[data-netbox-color-mode=dark] .justify-content-xxl-between,html[data-netbox-color-mode=light] .justify-content-xxl-between{justify-content:space-between!important}html .justify-content-xxl-around,html[data-netbox-color-mode=dark] .justify-content-xxl-around,html[data-netbox-color-mode=light] .justify-content-xxl-around{justify-content:space-around!important}html .justify-content-xxl-evenly,html[data-netbox-color-mode=dark] .justify-content-xxl-evenly,html[data-netbox-color-mode=light] .justify-content-xxl-evenly{justify-content:space-evenly!important}html .align-items-xxl-start,html[data-netbox-color-mode=dark] .align-items-xxl-start,html[data-netbox-color-mode=light] .align-items-xxl-start{align-items:flex-start!important}html .align-items-xxl-end,html[data-netbox-color-mode=dark] .align-items-xxl-end,html[data-netbox-color-mode=light] .align-items-xxl-end{align-items:flex-end!important}html .align-items-xxl-center,html[data-netbox-color-mode=dark] .align-items-xxl-center,html[data-netbox-color-mode=light] .align-items-xxl-center{align-items:center!important}html .align-items-xxl-baseline,html[data-netbox-color-mode=dark] .align-items-xxl-baseline,html[data-netbox-color-mode=light] .align-items-xxl-baseline{align-items:baseline!important}html .align-items-xxl-stretch,html[data-netbox-color-mode=dark] .align-items-xxl-stretch,html[data-netbox-color-mode=light] .align-items-xxl-stretch{align-items:stretch!important}html .align-content-xxl-start,html[data-netbox-color-mode=dark] .align-content-xxl-start,html[data-netbox-color-mode=light] .align-content-xxl-start{align-content:flex-start!important}html .align-content-xxl-end,html[data-netbox-color-mode=dark] .align-content-xxl-end,html[data-netbox-color-mode=light] .align-content-xxl-end{align-content:flex-end!important}html .align-content-xxl-center,html[data-netbox-color-mode=dark] .align-content-xxl-center,html[data-netbox-color-mode=light] .align-content-xxl-center{align-content:center!important}html .align-content-xxl-between,html[data-netbox-color-mode=dark] .align-content-xxl-between,html[data-netbox-color-mode=light] .align-content-xxl-between{align-content:space-between!important}html .align-content-xxl-around,html[data-netbox-color-mode=dark] .align-content-xxl-around,html[data-netbox-color-mode=light] .align-content-xxl-around{align-content:space-around!important}html .align-content-xxl-stretch,html[data-netbox-color-mode=dark] .align-content-xxl-stretch,html[data-netbox-color-mode=light] .align-content-xxl-stretch{align-content:stretch!important}html .align-self-xxl-auto,html[data-netbox-color-mode=dark] .align-self-xxl-auto,html[data-netbox-color-mode=light] .align-self-xxl-auto{align-self:auto!important}html .align-self-xxl-start,html[data-netbox-color-mode=dark] .align-self-xxl-start,html[data-netbox-color-mode=light] .align-self-xxl-start{align-self:flex-start!important}html .align-self-xxl-end,html[data-netbox-color-mode=dark] .align-self-xxl-end,html[data-netbox-color-mode=light] .align-self-xxl-end{align-self:flex-end!important}html .align-self-xxl-center,html[data-netbox-color-mode=dark] .align-self-xxl-center,html[data-netbox-color-mode=light] .align-self-xxl-center{align-self:center!important}html .align-self-xxl-baseline,html[data-netbox-color-mode=dark] .align-self-xxl-baseline,html[data-netbox-color-mode=light] .align-self-xxl-baseline{align-self:baseline!important}html .align-self-xxl-stretch,html[data-netbox-color-mode=dark] .align-self-xxl-stretch,html[data-netbox-color-mode=light] .align-self-xxl-stretch{align-self:stretch!important}html .order-xxl-first,html[data-netbox-color-mode=dark] .order-xxl-first,html[data-netbox-color-mode=light] .order-xxl-first{order:-1!important}html .order-xxl-0,html[data-netbox-color-mode=dark] .order-xxl-0,html[data-netbox-color-mode=light] .order-xxl-0{order:0!important}html .order-xxl-1,html[data-netbox-color-mode=dark] .order-xxl-1,html[data-netbox-color-mode=light] .order-xxl-1{order:1!important}html .order-xxl-2,html[data-netbox-color-mode=dark] .order-xxl-2,html[data-netbox-color-mode=light] .order-xxl-2{order:2!important}html .order-xxl-3,html[data-netbox-color-mode=dark] .order-xxl-3,html[data-netbox-color-mode=light] .order-xxl-3{order:3!important}html .order-xxl-4,html[data-netbox-color-mode=dark] .order-xxl-4,html[data-netbox-color-mode=light] .order-xxl-4{order:4!important}html .order-xxl-5,html[data-netbox-color-mode=dark] .order-xxl-5,html[data-netbox-color-mode=light] .order-xxl-5{order:5!important}html .order-xxl-last,html[data-netbox-color-mode=dark] .order-xxl-last,html[data-netbox-color-mode=light] .order-xxl-last{order:6!important}html .m-xxl-0,html[data-netbox-color-mode=dark] .m-xxl-0,html[data-netbox-color-mode=light] .m-xxl-0{margin:0!important}html .m-xxl-1,html[data-netbox-color-mode=dark] .m-xxl-1,html[data-netbox-color-mode=light] .m-xxl-1{margin:.25rem!important}html .m-xxl-2,html[data-netbox-color-mode=dark] .m-xxl-2,html[data-netbox-color-mode=light] .m-xxl-2{margin:.5rem!important}html .m-xxl-3,html[data-netbox-color-mode=dark] .m-xxl-3,html[data-netbox-color-mode=light] .m-xxl-3{margin:1rem!important}html .m-xxl-4,html[data-netbox-color-mode=dark] .m-xxl-4,html[data-netbox-color-mode=light] .m-xxl-4{margin:1.5rem!important}html .m-xxl-5,html[data-netbox-color-mode=dark] .m-xxl-5,html[data-netbox-color-mode=light] .m-xxl-5{margin:3rem!important}html .m-xxl-auto,html[data-netbox-color-mode=dark] .m-xxl-auto,html[data-netbox-color-mode=light] .m-xxl-auto{margin:auto!important}html .mx-xxl-0,html[data-netbox-color-mode=dark] .mx-xxl-0,html[data-netbox-color-mode=light] .mx-xxl-0{margin-right:0!important;margin-left:0!important}html .mx-xxl-1,html[data-netbox-color-mode=dark] .mx-xxl-1,html[data-netbox-color-mode=light] .mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-xxl-2,html[data-netbox-color-mode=dark] .mx-xxl-2,html[data-netbox-color-mode=light] .mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-xxl-3,html[data-netbox-color-mode=dark] .mx-xxl-3,html[data-netbox-color-mode=light] .mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-xxl-4,html[data-netbox-color-mode=dark] .mx-xxl-4,html[data-netbox-color-mode=light] .mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-xxl-5,html[data-netbox-color-mode=dark] .mx-xxl-5,html[data-netbox-color-mode=light] .mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-xxl-auto,html[data-netbox-color-mode=dark] .mx-xxl-auto,html[data-netbox-color-mode=light] .mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}html .my-xxl-0,html[data-netbox-color-mode=dark] .my-xxl-0,html[data-netbox-color-mode=light] .my-xxl-0{margin-top:0!important;margin-bottom:0!important}html .my-xxl-1,html[data-netbox-color-mode=dark] .my-xxl-1,html[data-netbox-color-mode=light] .my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-xxl-2,html[data-netbox-color-mode=dark] .my-xxl-2,html[data-netbox-color-mode=light] .my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-xxl-3,html[data-netbox-color-mode=dark] .my-xxl-3,html[data-netbox-color-mode=light] .my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-xxl-4,html[data-netbox-color-mode=dark] .my-xxl-4,html[data-netbox-color-mode=light] .my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-xxl-5,html[data-netbox-color-mode=dark] .my-xxl-5,html[data-netbox-color-mode=light] .my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-xxl-auto,html[data-netbox-color-mode=dark] .my-xxl-auto,html[data-netbox-color-mode=light] .my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-xxl-0,html[data-netbox-color-mode=dark] .mt-xxl-0,html[data-netbox-color-mode=light] .mt-xxl-0{margin-top:0!important}html .mt-xxl-1,html[data-netbox-color-mode=dark] .mt-xxl-1,html[data-netbox-color-mode=light] .mt-xxl-1{margin-top:.25rem!important}html .mt-xxl-2,html[data-netbox-color-mode=dark] .mt-xxl-2,html[data-netbox-color-mode=light] .mt-xxl-2{margin-top:.5rem!important}html .mt-xxl-3,html[data-netbox-color-mode=dark] .mt-xxl-3,html[data-netbox-color-mode=light] .mt-xxl-3{margin-top:1rem!important}html .mt-xxl-4,html[data-netbox-color-mode=dark] .mt-xxl-4,html[data-netbox-color-mode=light] .mt-xxl-4{margin-top:1.5rem!important}html .mt-xxl-5,html[data-netbox-color-mode=dark] .mt-xxl-5,html[data-netbox-color-mode=light] .mt-xxl-5{margin-top:3rem!important}html .mt-xxl-auto,html[data-netbox-color-mode=dark] .mt-xxl-auto,html[data-netbox-color-mode=light] .mt-xxl-auto{margin-top:auto!important}html .me-xxl-0,html[data-netbox-color-mode=dark] .me-xxl-0,html[data-netbox-color-mode=light] .me-xxl-0{margin-right:0!important}html .me-xxl-1,html[data-netbox-color-mode=dark] .me-xxl-1,html[data-netbox-color-mode=light] .me-xxl-1{margin-right:.25rem!important}html .me-xxl-2,html[data-netbox-color-mode=dark] .me-xxl-2,html[data-netbox-color-mode=light] .me-xxl-2{margin-right:.5rem!important}html .me-xxl-3,html[data-netbox-color-mode=dark] .me-xxl-3,html[data-netbox-color-mode=light] .me-xxl-3{margin-right:1rem!important}html .me-xxl-4,html[data-netbox-color-mode=dark] .me-xxl-4,html[data-netbox-color-mode=light] .me-xxl-4{margin-right:1.5rem!important}html .me-xxl-5,html[data-netbox-color-mode=dark] .me-xxl-5,html[data-netbox-color-mode=light] .me-xxl-5{margin-right:3rem!important}html .me-xxl-auto,html[data-netbox-color-mode=dark] .me-xxl-auto,html[data-netbox-color-mode=light] .me-xxl-auto{margin-right:auto!important}html .mb-xxl-0,html[data-netbox-color-mode=dark] .mb-xxl-0,html[data-netbox-color-mode=light] .mb-xxl-0{margin-bottom:0!important}html .mb-xxl-1,html[data-netbox-color-mode=dark] .mb-xxl-1,html[data-netbox-color-mode=light] .mb-xxl-1{margin-bottom:.25rem!important}html .mb-xxl-2,html[data-netbox-color-mode=dark] .mb-xxl-2,html[data-netbox-color-mode=light] .mb-xxl-2{margin-bottom:.5rem!important}html .mb-xxl-3,html[data-netbox-color-mode=dark] .mb-xxl-3,html[data-netbox-color-mode=light] .mb-xxl-3{margin-bottom:1rem!important}html .mb-xxl-4,html[data-netbox-color-mode=dark] .mb-xxl-4,html[data-netbox-color-mode=light] .mb-xxl-4{margin-bottom:1.5rem!important}html .mb-xxl-5,html[data-netbox-color-mode=dark] .mb-xxl-5,html[data-netbox-color-mode=light] .mb-xxl-5{margin-bottom:3rem!important}html .mb-xxl-auto,html[data-netbox-color-mode=dark] .mb-xxl-auto,html[data-netbox-color-mode=light] .mb-xxl-auto{margin-bottom:auto!important}html .ms-xxl-0,html[data-netbox-color-mode=dark] .ms-xxl-0,html[data-netbox-color-mode=light] .ms-xxl-0{margin-left:0!important}html .ms-xxl-1,html[data-netbox-color-mode=dark] .ms-xxl-1,html[data-netbox-color-mode=light] .ms-xxl-1{margin-left:.25rem!important}html .ms-xxl-2,html[data-netbox-color-mode=dark] .ms-xxl-2,html[data-netbox-color-mode=light] .ms-xxl-2{margin-left:.5rem!important}html .ms-xxl-3,html[data-netbox-color-mode=dark] .ms-xxl-3,html[data-netbox-color-mode=light] .ms-xxl-3{margin-left:1rem!important}html .ms-xxl-4,html[data-netbox-color-mode=dark] .ms-xxl-4,html[data-netbox-color-mode=light] .ms-xxl-4{margin-left:1.5rem!important}html .ms-xxl-5,html[data-netbox-color-mode=dark] .ms-xxl-5,html[data-netbox-color-mode=light] .ms-xxl-5{margin-left:3rem!important}html .ms-xxl-auto,html[data-netbox-color-mode=dark] .ms-xxl-auto,html[data-netbox-color-mode=light] .ms-xxl-auto{margin-left:auto!important}html .p-xxl-0,html[data-netbox-color-mode=dark] .p-xxl-0,html[data-netbox-color-mode=light] .p-xxl-0{padding:0!important}html .p-xxl-1,html[data-netbox-color-mode=dark] .p-xxl-1,html[data-netbox-color-mode=light] .p-xxl-1{padding:.25rem!important}html .p-xxl-2,html[data-netbox-color-mode=dark] .p-xxl-2,html[data-netbox-color-mode=light] .p-xxl-2{padding:.5rem!important}html .p-xxl-3,html[data-netbox-color-mode=dark] .p-xxl-3,html[data-netbox-color-mode=light] .p-xxl-3{padding:1rem!important}html .p-xxl-4,html[data-netbox-color-mode=dark] .p-xxl-4,html[data-netbox-color-mode=light] .p-xxl-4{padding:1.5rem!important}html .p-xxl-5,html[data-netbox-color-mode=dark] .p-xxl-5,html[data-netbox-color-mode=light] .p-xxl-5{padding:3rem!important}html .px-xxl-0,html[data-netbox-color-mode=dark] .px-xxl-0,html[data-netbox-color-mode=light] .px-xxl-0{padding-right:0!important;padding-left:0!important}html .px-xxl-1,html[data-netbox-color-mode=dark] .px-xxl-1,html[data-netbox-color-mode=light] .px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-xxl-2,html[data-netbox-color-mode=dark] .px-xxl-2,html[data-netbox-color-mode=light] .px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-xxl-3,html[data-netbox-color-mode=dark] .px-xxl-3,html[data-netbox-color-mode=light] .px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}html .px-xxl-4,html[data-netbox-color-mode=dark] .px-xxl-4,html[data-netbox-color-mode=light] .px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-xxl-5,html[data-netbox-color-mode=dark] .px-xxl-5,html[data-netbox-color-mode=light] .px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}html .py-xxl-0,html[data-netbox-color-mode=dark] .py-xxl-0,html[data-netbox-color-mode=light] .py-xxl-0{padding-top:0!important;padding-bottom:0!important}html .py-xxl-1,html[data-netbox-color-mode=dark] .py-xxl-1,html[data-netbox-color-mode=light] .py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-xxl-2,html[data-netbox-color-mode=dark] .py-xxl-2,html[data-netbox-color-mode=light] .py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-xxl-3,html[data-netbox-color-mode=dark] .py-xxl-3,html[data-netbox-color-mode=light] .py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-xxl-4,html[data-netbox-color-mode=dark] .py-xxl-4,html[data-netbox-color-mode=light] .py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-xxl-5,html[data-netbox-color-mode=dark] .py-xxl-5,html[data-netbox-color-mode=light] .py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-xxl-0,html[data-netbox-color-mode=dark] .pt-xxl-0,html[data-netbox-color-mode=light] .pt-xxl-0{padding-top:0!important}html .pt-xxl-1,html[data-netbox-color-mode=dark] .pt-xxl-1,html[data-netbox-color-mode=light] .pt-xxl-1{padding-top:.25rem!important}html .pt-xxl-2,html[data-netbox-color-mode=dark] .pt-xxl-2,html[data-netbox-color-mode=light] .pt-xxl-2{padding-top:.5rem!important}html .pt-xxl-3,html[data-netbox-color-mode=dark] .pt-xxl-3,html[data-netbox-color-mode=light] .pt-xxl-3{padding-top:1rem!important}html .pt-xxl-4,html[data-netbox-color-mode=dark] .pt-xxl-4,html[data-netbox-color-mode=light] .pt-xxl-4{padding-top:1.5rem!important}html .pt-xxl-5,html[data-netbox-color-mode=dark] .pt-xxl-5,html[data-netbox-color-mode=light] .pt-xxl-5{padding-top:3rem!important}html .pe-xxl-0,html[data-netbox-color-mode=dark] .pe-xxl-0,html[data-netbox-color-mode=light] .pe-xxl-0{padding-right:0!important}html .pe-xxl-1,html[data-netbox-color-mode=dark] .pe-xxl-1,html[data-netbox-color-mode=light] .pe-xxl-1{padding-right:.25rem!important}html .pe-xxl-2,html[data-netbox-color-mode=dark] .pe-xxl-2,html[data-netbox-color-mode=light] .pe-xxl-2{padding-right:.5rem!important}html .pe-xxl-3,html[data-netbox-color-mode=dark] .pe-xxl-3,html[data-netbox-color-mode=light] .pe-xxl-3{padding-right:1rem!important}html .pe-xxl-4,html[data-netbox-color-mode=dark] .pe-xxl-4,html[data-netbox-color-mode=light] .pe-xxl-4{padding-right:1.5rem!important}html .pe-xxl-5,html[data-netbox-color-mode=dark] .pe-xxl-5,html[data-netbox-color-mode=light] .pe-xxl-5{padding-right:3rem!important}html .pb-xxl-0,html[data-netbox-color-mode=dark] .pb-xxl-0,html[data-netbox-color-mode=light] .pb-xxl-0{padding-bottom:0!important}html .pb-xxl-1,html[data-netbox-color-mode=dark] .pb-xxl-1,html[data-netbox-color-mode=light] .pb-xxl-1{padding-bottom:.25rem!important}html .pb-xxl-2,html[data-netbox-color-mode=dark] .pb-xxl-2,html[data-netbox-color-mode=light] .pb-xxl-2{padding-bottom:.5rem!important}html .pb-xxl-3,html[data-netbox-color-mode=dark] .pb-xxl-3,html[data-netbox-color-mode=light] .pb-xxl-3{padding-bottom:1rem!important}html .pb-xxl-4,html[data-netbox-color-mode=dark] .pb-xxl-4,html[data-netbox-color-mode=light] .pb-xxl-4{padding-bottom:1.5rem!important}html .pb-xxl-5,html[data-netbox-color-mode=dark] .pb-xxl-5,html[data-netbox-color-mode=light] .pb-xxl-5{padding-bottom:3rem!important}html .ps-xxl-0,html[data-netbox-color-mode=dark] .ps-xxl-0,html[data-netbox-color-mode=light] .ps-xxl-0{padding-left:0!important}html .ps-xxl-1,html[data-netbox-color-mode=dark] .ps-xxl-1,html[data-netbox-color-mode=light] .ps-xxl-1{padding-left:.25rem!important}html .ps-xxl-2,html[data-netbox-color-mode=dark] .ps-xxl-2,html[data-netbox-color-mode=light] .ps-xxl-2{padding-left:.5rem!important}html .ps-xxl-3,html[data-netbox-color-mode=dark] .ps-xxl-3,html[data-netbox-color-mode=light] .ps-xxl-3{padding-left:1rem!important}html .ps-xxl-4,html[data-netbox-color-mode=dark] .ps-xxl-4,html[data-netbox-color-mode=light] .ps-xxl-4{padding-left:1.5rem!important}html .ps-xxl-5,html[data-netbox-color-mode=dark] .ps-xxl-5,html[data-netbox-color-mode=light] .ps-xxl-5{padding-left:3rem!important}html .text-xxl-start,html[data-netbox-color-mode=dark] .text-xxl-start,html[data-netbox-color-mode=light] .text-xxl-start{text-align:left!important}html .text-xxl-end,html[data-netbox-color-mode=dark] .text-xxl-end,html[data-netbox-color-mode=light] .text-xxl-end{text-align:right!important}html .text-xxl-center,html[data-netbox-color-mode=dark] .text-xxl-center,html[data-netbox-color-mode=light] .text-xxl-center{text-align:center!important}}@media print and (min-width: 1200px){html .fs-1,html[data-netbox-color-mode=dark] .fs-1,html[data-netbox-color-mode=light] .fs-1{font-size:2.5rem!important}html .fs-2,html[data-netbox-color-mode=dark] .fs-2,html[data-netbox-color-mode=light] .fs-2{font-size:2rem!important}html .fs-3,html[data-netbox-color-mode=dark] .fs-3,html[data-netbox-color-mode=light] .fs-3{font-size:1.75rem!important}html .fs-4,html[data-netbox-color-mode=dark] .fs-4,html[data-netbox-color-mode=light] .fs-4{font-size:1.5rem!important}}@media print{html .d-print-inline,html[data-netbox-color-mode=dark] .d-print-inline,html[data-netbox-color-mode=light] .d-print-inline{display:inline!important}html .d-print-inline-block,html[data-netbox-color-mode=dark] .d-print-inline-block,html[data-netbox-color-mode=light] .d-print-inline-block{display:inline-block!important}html .d-print-block,html[data-netbox-color-mode=dark] .d-print-block,html[data-netbox-color-mode=light] .d-print-block{display:block!important}html .d-print-grid,html[data-netbox-color-mode=dark] .d-print-grid,html[data-netbox-color-mode=light] .d-print-grid{display:grid!important}html .d-print-table,html[data-netbox-color-mode=dark] .d-print-table,html[data-netbox-color-mode=light] .d-print-table{display:table!important}html .d-print-table-row,html[data-netbox-color-mode=dark] .d-print-table-row,html[data-netbox-color-mode=light] .d-print-table-row{display:table-row!important}html .d-print-table-cell,html[data-netbox-color-mode=dark] .d-print-table-cell,html[data-netbox-color-mode=light] .d-print-table-cell{display:table-cell!important}html .d-print-flex,html[data-netbox-color-mode=dark] .d-print-flex,html[data-netbox-color-mode=light] .d-print-flex{display:flex!important}html .d-print-inline-flex,html[data-netbox-color-mode=dark] .d-print-inline-flex,html[data-netbox-color-mode=light] .d-print-inline-flex{display:inline-flex!important}html .d-print-none,html[data-netbox-color-mode=dark] .d-print-none,html[data-netbox-color-mode=light] .d-print-none{display:none!important}}@media print{html :root,html[data-netbox-color-mode=dark] :root,html[data-netbox-color-mode=light] :root{--nbx-select-content-bg: #fff;--nbx-select-option-selected-bg: #dee2e6;--nbx-select-option-hover-bg: #0d6efd;--nbx-select-option-hover-color: #fff;--nbx-select-placeholder-color: #adb5bd;--nbx-select-value-color: #fff}html :root[data-netbox-color-mode=dark],html[data-netbox-color-mode=dark] :root[data-netbox-color-mode=dark],html[data-netbox-color-mode=light] :root[data-netbox-color-mode=dark]{--nbx-select-content-bg: #212529;--nbx-select-option-selected-bg: #adb5bd;--nbx-select-option-hover-bg: #9ec5fe;--nbx-select-option-hover-color: #000;--nbx-select-placeholder-color: #495057;--nbx-select-value-color: #000}}@media print{html .ss-main,html[data-netbox-color-mode=dark] .ss-main,html[data-netbox-color-mode=light] .ss-main{position:relative;display:inline-block;user-select:none;color:#212529;width:100%}html .ss-main .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected,html[data-netbox-color-mode=light] .ss-main .ss-single-selected{display:flex;cursor:pointer;width:100%;height:calc(1.5em + (.75rem + 2px));padding:.75rem;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}html .ss-main .ss-single-selected.ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-single-selected.ss-disabled{background-color:#ced4da;cursor:not-allowed}html .ss-main .ss-single-selected.ss-open-above,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-open-above,html[data-netbox-color-mode=light] .ss-main .ss-single-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}html .ss-main .ss-single-selected.ss-open-below,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-open-below,html[data-netbox-color-mode=light] .ss-main .ss-single-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}html .ss-main .ss-single-selected .placeholder,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .placeholder{display:flex;flex:1 1 100%;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;width:calc(100% - 30px);line-height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html .ss-main .ss-single-selected .placeholder *,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder *,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .placeholder *{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}html .ss-main .ss-single-selected .placeholder .ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder .ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .placeholder .ss-disabled{color:#6c757d}html .ss-main .ss-single-selected .ss-deselect,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-deselect,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-deselect{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem;font-weight:bold}html .ss-main .ss-single-selected .ss-deselect.ss-hide,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-deselect.ss-hide,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-deselect.ss-hide{display:none}html .ss-main .ss-single-selected .ss-arrow,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-arrow{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem}html .ss-main .ss-single-selected .ss-arrow span,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-arrow span{border:solid #212529;border-width:0 2px 2px 0;display:inline-block;padding:3px;transition:transform .2s,margin .2s}html .ss-main .ss-single-selected .ss-arrow span.arrow-up,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span.arrow-up,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-arrow span.arrow-up{transform:rotate(-135deg);margin:3px 0 0}html .ss-main .ss-single-selected .ss-arrow span.arrow-down,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span.arrow-down,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-arrow span.arrow-down{transform:rotate(45deg);margin:-3px 0 0}html .ss-main .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected{display:flex;flex-direction:row;cursor:pointer;min-height:calc(1.5em + (.75rem + 2px));width:100%;padding:0 0 0 3px;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}html .ss-main .ss-multi-selected.ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-disabled{background-color:#ced4da;cursor:not-allowed}html .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled{color:#212529}html .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}html .ss-main .ss-multi-selected.ss-open-above,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-open-above,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}html .ss-main .ss-multi-selected.ss-open-below,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-open-below,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}html .ss-main .ss-multi-selected .ss-values,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values{display:flex;flex-wrap:wrap;justify-content:flex-start;flex:1 1 100%;width:calc(100% - 30px)}html .ss-main .ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-disabled{display:flex;padding:4px 5px;margin:2px 0;line-height:1em;align-items:center;width:100%;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}html .ss-main .ss-multi-selected .ss-values .ss-value,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value{display:flex;user-select:none;align-items:center;font-size:12px;padding:3px 5px;margin:3px 5px 3px 0;color:#fff;background-color:#337ab7;border-radius:.375rem;animation-name:scaleIn;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}html .ss-main .ss-multi-selected .ss-values .ss-value.ss-out,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value.ss-out,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value.ss-out{animation-name:scaleOut;animation-duration:.2s;animation-timing-function:ease-out}html .ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete{margin:0 0 0 5px;cursor:pointer}html .ss-main .ss-multi-selected .ss-add,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add{display:flex;flex:0 1 3px;margin:9px 12px 0 5px}html .ss-main .ss-multi-selected .ss-add .ss-plus,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add .ss-plus{display:flex;justify-content:center;align-items:center;background:#212529;position:relative;height:10px;width:2px;transition:transform .2s}html .ss-main .ss-multi-selected .ss-add .ss-plus:after,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus:after,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add .ss-plus:after{background:#212529;content:"";position:absolute;height:2px;width:10px;left:-4px;top:4px}html .ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross{transform:rotate(45deg)}}@media print{html .ss-content,html[data-netbox-color-mode=dark] .ss-content,html[data-netbox-color-mode=light] .ss-content{position:absolute;width:100%;margin:-1px 0 0;box-sizing:border-box;border:solid 1px #ced4da;z-index:1010;background-color:#fff;transform-origin:center top;transition:transform .2s,opacity .2s;opacity:0;transform:scaleY(0)}html .ss-content.ss-open,html[data-netbox-color-mode=dark] .ss-content.ss-open,html[data-netbox-color-mode=light] .ss-content.ss-open{display:block;opacity:1;transform:scaleY(1)}html .ss-content .ss-search,html[data-netbox-color-mode=dark] .ss-content .ss-search,html[data-netbox-color-mode=light] .ss-content .ss-search{display:flex;flex-direction:row;padding:.75rem}html .ss-content .ss-search.ss-hide,html[data-netbox-color-mode=dark] .ss-content .ss-search.ss-hide,html[data-netbox-color-mode=light] .ss-content .ss-search.ss-hide{height:0px;opacity:0;padding:0;margin:0}html .ss-content .ss-search.ss-hide input,html[data-netbox-color-mode=dark] .ss-content .ss-search.ss-hide input,html[data-netbox-color-mode=light] .ss-content .ss-search.ss-hide input{height:0px;opacity:0;padding:0;margin:0}html .ss-content .ss-search input,html[data-netbox-color-mode=dark] .ss-content .ss-search input,html[data-netbox-color-mode=light] .ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;height:30px;padding:.75rem;margin:0;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;text-align:left;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-appearance:textfield}html .ss-content .ss-search input::placeholder,html[data-netbox-color-mode=dark] .ss-content .ss-search input::placeholder,html[data-netbox-color-mode=light] .ss-content .ss-search input::placeholder{color:#adb5bd;vertical-align:middle}html .ss-content .ss-search input:focus,html[data-netbox-color-mode=dark] .ss-content .ss-search input:focus,html[data-netbox-color-mode=light] .ss-content .ss-search input:focus{box-shadow:0 0 5px #337ab7}html .ss-content .ss-search .ss-addable,html[data-netbox-color-mode=dark] .ss-content .ss-search .ss-addable,html[data-netbox-color-mode=light] .ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;font-size:22px;font-weight:bold;flex:0 0 30px;height:30px;margin:0 0 0 8px;border:1px solid #ced4da;border-radius:.375rem;box-sizing:border-box}html .ss-content .ss-addable,html[data-netbox-color-mode=dark] .ss-content .ss-addable,html[data-netbox-color-mode=light] .ss-content .ss-addable{padding-top:0}html .ss-content .ss-list,html[data-netbox-color-mode=dark] .ss-content .ss-list,html[data-netbox-color-mode=light] .ss-content .ss-list{max-height:200px;overflow-x:hidden;overflow-y:auto;text-align:left}html .ss-content .ss-list .ss-optgroup .ss-optgroup-label,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup .ss-optgroup-label,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:6px 10px;font-weight:bold}html .ss-content .ss-list .ss-optgroup .ss-option,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup .ss-option,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-optgroup .ss-option{padding:6px 6px 6px 25px}html .ss-content .ss-list .ss-optgroup-label-selectable,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup-label-selectable,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-optgroup-label-selectable{cursor:pointer}html .ss-content .ss-list .ss-optgroup-label-selectable:hover,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup-label-selectable:hover,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-optgroup-label-selectable:hover{color:#fff;background-color:#337ab7}html .ss-content .ss-list .ss-option,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option{padding:6px 10px;cursor:pointer;user-select:none}html .ss-content .ss-list .ss-option *,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option *,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option *{display:inline-block}html .ss-content .ss-list .ss-option:hover,html .ss-content .ss-list .ss-option.ss-highlighted,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-highlighted,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option.ss-highlighted{color:#fff;background-color:#337ab7}html .ss-content .ss-list .ss-option.ss-disabled,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-disabled,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;color:#6c757d;background-color:#fff}html .ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected{color:#212529;background-color:#337ab71a}html .ss-content .ss-list .ss-option.ss-hide,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-hide,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option.ss-hide{display:none}html .ss-content .ss-list .ss-option .ss-search-highlight,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option .ss-search-highlight,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option .ss-search-highlight{background-color:#ffc107}}@media print{html .ss-main,html[data-netbox-color-mode=dark] .ss-main,html[data-netbox-color-mode=light] .ss-main{color:#212529}html .ss-main.is-invalid .ss-single-selected,html .ss-main.is-invalid .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main.is-invalid .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main.is-invalid .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main.is-invalid .ss-single-selected,html[data-netbox-color-mode=light] .ss-main.is-invalid .ss-multi-selected{border-color:#dc3545}html .ss-main.is-valid .ss-single-selected,html .ss-main.is-valid .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main.is-valid .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main.is-valid .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main.is-valid .ss-single-selected,html[data-netbox-color-mode=light] .ss-main.is-valid .ss-multi-selected{border-color:#198754}html .ss-main .ss-single-selected,html .ss-main .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main .ss-single-selected,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected{padding:.375rem .75rem;background-color:#fff;border:1px solid #e9ecef}html .ss-main .ss-single-selected[disabled],html .ss-main .ss-multi-selected[disabled],html[data-netbox-color-mode=dark] .ss-main .ss-single-selected[disabled],html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected[disabled],html[data-netbox-color-mode=light] .ss-main .ss-single-selected[disabled],html[data-netbox-color-mode=light] .ss-main .ss-multi-selected[disabled]{color:#6c757d;background-color:#e9ecef}html .ss-main div.ss-multi-selected .ss-values .ss-disabled,html .ss-main div.ss-single-selected span.placeholder .ss-disabled,html[data-netbox-color-mode=dark] .ss-main div.ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main div.ss-single-selected span.placeholder .ss-disabled,html[data-netbox-color-mode=light] .ss-main div.ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=light] .ss-main div.ss-single-selected span.placeholder .ss-disabled{color:var(--nbx-select-placeholder-color)}html .ss-main .ss-single-selected span.ss-arrow span.arrow-down,html .ss-main .ss-single-selected span.ss-arrow span.arrow-up,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.ss-arrow span.arrow-down,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.ss-arrow span.arrow-up,html[data-netbox-color-mode=light] .ss-main .ss-single-selected span.ss-arrow span.arrow-down,html[data-netbox-color-mode=light] .ss-main .ss-single-selected span.ss-arrow span.arrow-up{border-color:currentColor;color:#6c757d}html .ss-main .ss-single-selected .placeholder .depth,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder .depth,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .placeholder .depth{display:none}html .ss-main .ss-single-selected span.placeholder>*,html .ss-main .ss-single-selected span.placeholder,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.placeholder>*,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.placeholder,html[data-netbox-color-mode=light] .ss-main .ss-single-selected span.placeholder>*,html[data-netbox-color-mode=light] .ss-main .ss-single-selected span.placeholder{line-height:1.5}html .ss-main .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected{align-items:center;padding-right:.75rem;padding-left:.75rem}html .ss-main .ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-disabled{padding:4px 0}html .ss-main .ss-multi-selected .ss-values .ss-value,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value{color:var(--nbx-select-value-color);border-radius:.375rem}html .ss-main .ss-multi-selected .ss-values .ss-value .depth,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value .depth,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value .depth{display:none}html .ss-main .ss-multi-selected .ss-add,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add{margin:0 .75rem}html .ss-main .ss-content,html[data-netbox-color-mode=dark] .ss-main .ss-content,html[data-netbox-color-mode=light] .ss-main .ss-content{background-color:var(--nbx-select-content-bg);border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html .ss-main .ss-content .ss-list .ss-option.ss-option-selected,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-option-selected,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option.ss-option-selected{color:#212529;background-color:var(--nbx-select-option-selected-bg)}html .ss-main .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option:hover{color:var(--nbx-select-option-hover-color);background-color:var(--nbx-select-option-hover-bg)}html .ss-main .ss-content .ss-list .ss-option:last-child,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option:last-child,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html .ss-main .ss-content .ss-list .ss-option.ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option.ss-disabled{background-color:unset}html .ss-main .ss-content .ss-list .ss-option.ss-disabled:hover,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-disabled:hover,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option.ss-disabled:hover{color:#6c757d}html .ss-main .ss-content .ss-list .ss-option .depth,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option .depth,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option .depth{opacity:.3}html .ss-main .ss-content .ss-list::-webkit-scrollbar,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list::-webkit-scrollbar{right:0;width:4px}html .ss-main .ss-content .ss-list::-webkit-scrollbar:hover,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar:hover,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list::-webkit-scrollbar:hover{opacity:.8}html .ss-main .ss-content .ss-list::-webkit-scrollbar-track,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar-track,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list::-webkit-scrollbar-track{background:transparent}html .ss-main .ss-content .ss-list::-webkit-scrollbar-thumb,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar-thumb,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list::-webkit-scrollbar-thumb{right:0;width:2px;background-color:var(--nbx-sidebar-scroll)}html .ss-main .ss-content .ss-search,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-search{padding-right:.5rem}html .ss-main .ss-content .ss-search button,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search button,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-search button{margin-left:.75rem}html .ss-main .ss-content .ss-search input[type=search],html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search input[type=search],html[data-netbox-color-mode=light] .ss-main .ss-content .ss-search input[type=search]{color:#212529;background-color:#fff;border:1px solid #e9ecef}html .ss-main .ss-content .ss-search input[type=search]:focus,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search input[type=search]:focus,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-search input[type=search]:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .sidenav,html[data-netbox-color-mode=dark] .sidenav,html[data-netbox-color-mode=light] .sidenav{position:fixed;top:0;bottom:0;left:0;z-index:1050;display:block;width:100%;max-width:3rem;padding-top:0;padding-right:0;padding-left:0;background-color:var(--nbx-sidebar-bg);border-right:1px solid #ced4da;transition:all .1s ease-in-out}}@media print and (max-width: 991.98px){html .sidenav,html[data-netbox-color-mode=dark] .sidenav,html[data-netbox-color-mode=light] .sidenav{transform:translate(-3rem)}html .sidenav+.content-container[class],html[data-netbox-color-mode=dark] .sidenav+.content-container[class],html[data-netbox-color-mode=light] .sidenav+.content-container[class]{margin-left:0}html .sidenav .profile-button-container[class],html[data-netbox-color-mode=dark] .sidenav .profile-button-container[class],html[data-netbox-color-mode=light] .sidenav .profile-button-container[class]{display:block}}@media print{html .sidenav .profile-button-container,html[data-netbox-color-mode=dark] .sidenav .profile-button-container,html[data-netbox-color-mode=light] .sidenav .profile-button-container{display:none;padding:.5rem 1rem}}@media print{html .sidenav+.content-container,html[data-netbox-color-mode=dark] .sidenav+.content-container,html[data-netbox-color-mode=light] .sidenav+.content-container{margin-left:3rem;transition:all .1s ease-in-out}}@media print{html .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] .sidenav .sidenav-brand{margin-right:0;transition:opacity .1s ease-in-out}}@media print{html .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] .sidenav .sidenav-brand-icon{transition:opacity .1s ease-in-out}}@media print{html .sidenav .sidenav-inner,html[data-netbox-color-mode=dark] .sidenav .sidenav-inner,html[data-netbox-color-mode=light] .sidenav .sidenav-inner{padding-right:1.5rem;padding-left:1.5rem}}@media print and (min-width: 768px){html .sidenav .sidenav-inner,html[data-netbox-color-mode=dark] .sidenav .sidenav-inner,html[data-netbox-color-mode=light] .sidenav .sidenav-inner{padding-right:0;padding-left:0}}@media print{html .sidenav .sidenav-brand-img,html .sidenav .sidenav-brand>img,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand-img,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand>img,html[data-netbox-color-mode=light] .sidenav .sidenav-brand-img,html[data-netbox-color-mode=light] .sidenav .sidenav-brand>img{max-width:100%;max-height:calc(16rem - 1rem)}}@media print{html .sidenav .navbar-heading,html[data-netbox-color-mode=dark] .sidenav .navbar-heading,html[data-netbox-color-mode=light] .sidenav .navbar-heading{padding-top:.5rem;padding-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}}@media print{html .sidenav .sidenav-header,html[data-netbox-color-mode=dark] .sidenav .sidenav-header,html[data-netbox-color-mode=light] .sidenav .sidenav-header{position:relative;display:flex;align-items:center;justify-content:space-between;height:78px;padding:1rem;transition:all .1s ease-in-out}}@media print{html .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] .sidenav .sidenav-toggle,html[data-netbox-color-mode=light] .sidenav .sidenav-toggle{position:absolute;display:inline-block;opacity:0;transition:opacity 10ms ease-in-out;transition-delay:.1s}}@media print{html .sidenav .sidenav-collapse,html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse,html[data-netbox-color-mode=light] .sidenav .sidenav-collapse{display:flex;flex:1;flex-direction:column;align-items:stretch;padding-right:1.5rem;padding-left:1.5rem;margin-right:-1.5rem;margin-left:-1.5rem}}@media print{html .sidenav .sidenav-collapse>*,html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse>*,html[data-netbox-color-mode=light] .sidenav .sidenav-collapse>*{min-width:100%}}@media print and (min-width: 768px){html .sidenav .sidenav-collapse,html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse,html[data-netbox-color-mode=light] .sidenav .sidenav-collapse{margin-right:0;margin-left:0}}@media print{html .sidenav .nav-group-header,html[data-netbox-color-mode=dark] .sidenav .nav-group-header,html[data-netbox-color-mode=light] .sidenav .nav-group-header{padding:.25rem 1rem;margin-top:.5rem;margin-bottom:0}}@media print{html .sidenav .nav .nav-item,html[data-netbox-color-mode=dark] .sidenav .nav .nav-item,html[data-netbox-color-mode=light] .sidenav .nav .nav-item{display:flex;align-items:center;justify-content:space-between;width:100%}}@media print{html .sidenav .nav .nav-item.no-buttons,html[data-netbox-color-mode=dark] .sidenav .nav .nav-item.no-buttons,html[data-netbox-color-mode=light] .sidenav .nav .nav-item.no-buttons{padding-right:5rem}}@media print{html .sidenav .collapse .nav .nav-item .nav-link,html[data-netbox-color-mode=dark] .sidenav .collapse .nav .nav-item .nav-link,html[data-netbox-color-mode=light] .sidenav .collapse .nav .nav-item .nav-link{width:100%;padding:.25rem .25rem .25rem 1rem;margin-top:0;margin-bottom:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}}@media print{html .sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon,html[data-netbox-color-mode=dark] .sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon,html[data-netbox-color-mode=light] .sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon{width:1rem;text-align:center;transition:all .1s ease-in-out}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle],html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle],html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]{width:unset;height:100%;padding-left:.5rem;font-weight:700;color:var(--nbx-sidenav-parent-color)}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{color:#343a40;background:#cfe2ff}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after{display:inline-block;margin-left:auto;font-family:"Material Design Icons";font-style:normal;font-weight:700;font-variant:normal;color:#6c757d;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\f0142";transition:all .1s ease-in-out}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after{color:#343a40}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after{color:#337ab7;transform:rotate(90deg)}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text{padding-left:.25rem;transition:all .1s ease-in-out}}@media print{html .sidenav .navbar-nav,html[data-netbox-color-mode=dark] .sidenav .navbar-nav,html[data-netbox-color-mode=light] .sidenav .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}}@media print{html .sidenav .navbar-nav .nav-item,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item{margin-top:2px}}@media print{html .sidenav .navbar-nav .nav-item.disabled,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item.disabled,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item.disabled{cursor:not-allowed;opacity:.8}}@media print{html .sidenav .navbar-nav .nav-item .nav-link,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link{position:relative;display:flex;align-items:center;width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--nbx-sidenav-link-color);white-space:nowrap;transition:all .1s ease-in-out}}@media print{html .sidenav .navbar-nav .nav-item .nav-link.active,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link.active,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link.active{background-color:var(--nbx-sidebar-link-active-bg)}}@media print{html .sidenav .navbar-nav .nav-item .nav-link:hover:not(.active),html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link:hover:not(.active),html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link:hover:not(.active){color:var(--nbx-body-color);background-color:var(--nbx-sidebar-link-hover-bg)}}@media print{html .sidenav .navbar-nav .nav-item .nav-link>i,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link>i,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link>i{min-width:2rem;font-size:calc(45px / 2);text-align:center}}@media print{html .sidenav .navbar-nav .nav-group-label,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-group-label,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-group-label{display:block;font-size:.75rem;font-weight:700;color:var(--nbx-sidenav-group-color);text-transform:uppercase;white-space:nowrap}}@media print{html body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon{color:var(--nbx-sidenav-pin-color);transform:rotate(90deg)}}@media print and (min-width: 1200px){html body[data-sidenav-pinned] .sidenav+.content-container,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav+.content-container,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav+.content-container{margin-left:16rem}}@media print{html .g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon,html[data-netbox-color-mode=dark] .g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon,html[data-netbox-color-mode=light] .g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon{transform:rotate(0)}}@media print{html body[data-sidenav-show] .sidenav,html body[data-sidenav-pinned] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav{max-width:16rem}}@media print{html body[data-sidenav-show] .sidenav .sidenav-brand,html body[data-sidenav-show] .sidenav .navbar-heading,html body[data-sidenav-pinned] .sidenav .sidenav-brand,html body[data-sidenav-pinned] .sidenav .navbar-heading,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .navbar-heading,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .navbar-heading,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .navbar-heading,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .navbar-heading{display:block}}@media print{html body[data-sidenav-show] .sidenav .sidenav-brand,html body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .sidenav-brand{opacity:1;transform:translate(0)}}@media print{html body[data-sidenav-show] .sidenav .sidenav-brand-icon,html body[data-sidenav-pinned] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .sidenav-brand-icon{position:absolute;opacity:0}}@media print and (max-width: 991.98px){html body[data-sidenav-show] .sidenav,html body[data-sidenav-pinned] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav{transform:translate(0)}}@media print{html body[data-sidenav-hide] .sidenav .sidenav-header,html body[data-sidenav-hidden] .sidenav .sidenav-header,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-header,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-header,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .sidenav-header,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .sidenav-header{padding:.5rem}}@media print{html body[data-sidenav-hide] .sidenav .sidenav-brand,html body[data-sidenav-hidden] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .sidenav-brand{position:absolute;opacity:0}}@media print{html body[data-sidenav-hide] .sidenav .sidenav-brand-icon,html body[data-sidenav-hidden] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .sidenav-brand-icon{opacity:1}}@media print{html body[data-sidenav-hide] .sidenav .sidenav-toggle,html body[data-sidenav-hidden] .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-toggle,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .sidenav-toggle,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .sidenav-toggle{opacity:0;position:absolute;transition:unset;transition-delay:0ms}}@media print{html body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,html body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after{content:""}}@media print{html body[data-sidenav-hide] .sidenav .nav-item .collapse,html body[data-sidenav-hidden] .sidenav .nav-item .collapse,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .nav-item .collapse,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .nav-item .collapse,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .nav-item .collapse,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .nav-item .collapse{display:none}}@media print{html body[data-sidenav-hide] .sidenav .nav-link-text,html body[data-sidenav-hidden] .sidenav .nav-link-text,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .nav-link-text,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .nav-link-text,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .nav-link-text,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .nav-link-text{opacity:0}}@media print{html body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{margin-right:0;margin-left:0;border-radius:unset}}@media print{html body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-brand{display:block}}@media print{html body[data-sidenav-show] .sidenav .nav-item .collapse,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .collapse,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .nav-item .collapse{height:auto;transition:all .1s ease-in-out}}@media print{html body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text{opacity:1}}@media print{html body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon{opacity:0}}@media print and (min-width: 992px){html body[data-sidenav-show] .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-toggle,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-toggle{position:relative;opacity:1}}@media print{html .simplebar-track.simplebar-vertical,html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical,html[data-netbox-color-mode=light] .simplebar-track.simplebar-vertical{right:0;width:6px;background-color:transparent}}@media print{html .simplebar-track.simplebar-vertical .simplebar-scrollbar,html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical .simplebar-scrollbar,html[data-netbox-color-mode=light] .simplebar-track.simplebar-vertical .simplebar-scrollbar{transition:none}}@media print{html .simplebar-track.simplebar-vertical .simplebar-scrollbar:before,html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical .simplebar-scrollbar:before,html[data-netbox-color-mode=light] .simplebar-track.simplebar-vertical .simplebar-scrollbar:before{right:0;width:3px;background:var(--nbx-sidebar-scroll);border-radius:.375rem}}@media print{html .simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before,html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before,html[data-netbox-color-mode=light] .simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before{width:5px}}@media print{html body,html[data-netbox-color-mode=dark] body,html[data-netbox-color-mode=light] body{color:var(--nbx-body-color);background-color:var(--nbx-body-bg);font-size:.875rem}}@media print{html pre,html[data-netbox-color-mode=dark] pre,html[data-netbox-color-mode=light] pre{white-space:pre}}@media print{html small,html .small,html[data-netbox-color-mode=dark] .small,html[data-netbox-color-mode=light] .small,html[data-netbox-color-mode=dark] small,html[data-netbox-color-mode=light] small{font-size:smaller!important}}@media print{html a[type=button],html[data-netbox-color-mode=dark] a[type=button],html[data-netbox-color-mode=light] a[type=button]{-webkit-appearance:unset!important}}@media print{html *[data-href],html[data-netbox-color-mode=dark] *[data-href],html[data-netbox-color-mode=light] *[data-href]{cursor:pointer}}@media print{html .form-control:not([type=file]),html[data-netbox-color-mode=dark] .form-control:not([type=file]),html[data-netbox-color-mode=light] .form-control:not([type=file]){font-size:inherit}}@media print{html .badge,html[data-netbox-color-mode=dark] .badge,html[data-netbox-color-mode=light] .badge{font-size:.75rem}}@media print{html .text-xs,html[data-netbox-color-mode=dark] .text-xs,html[data-netbox-color-mode=light] .text-xs{font-size:.75rem!important;line-height:1.25!important}}@media print{html .border-input,html[data-netbox-color-mode=dark] .border-input,html[data-netbox-color-mode=light] .border-input{border:1px solid #e9ecef!important}}@media print{html .ws-nowrap,html[data-netbox-color-mode=dark] .ws-nowrap,html[data-netbox-color-mode=light] .ws-nowrap{white-space:nowrap!important}}@media print{html table tr .vertical-align,html table td .vertical-align,html[data-netbox-color-mode=dark] table tr .vertical-align,html[data-netbox-color-mode=dark] table td .vertical-align,html[data-netbox-color-mode=light] table tr .vertical-align,html[data-netbox-color-mode=light] table td .vertical-align{vertical-align:middle}}@media print{html .noprint,html[data-netbox-color-mode=dark] .noprint,html[data-netbox-color-mode=light] .noprint{display:none!important;visibility:hidden!important}}@media print{html .printonly,html[data-netbox-color-mode=dark] .printonly,html[data-netbox-color-mode=light] .printonly{display:none!important;visibility:hidden!important}}@media print{html .printonly,html[data-netbox-color-mode=dark] .printonly,html[data-netbox-color-mode=light] .printonly{display:block!important;visibility:visible!important}}@media print{html :root,html[data-netbox-color-mode=dark] :root,html[data-netbox-color-mode=light] :root{--nbx-sidebar-bg: #e9ecef;--nbx-sidebar-scroll: #adb5bd;--nbx-sidebar-link-hover-bg: rgba(108, 117, 125, .15);--nbx-sidebar-link-active-bg: #cfe2ff;--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(0, 0, 0, .25);--nbx-breadcrumb-bg: #e9ecef;--nbx-body-bg: #fff;--nbx-body-color: #343a40;--nbx-pre-bg: #f8f9fa;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(25, 135, 84, .4);--nbx-change-removed: rgba(220, 53, 69, .4);--nbx-cable-node-bg: #f8f9fa;--nbx-cable-node-border-color: #e9ecef;--nbx-cable-termination-bg: #e9ecef;--nbx-cable-termination-border-color: #dee2e6;--nbx-search-filter-border-left-color: #dee2e6;--nbx-color-mode-toggle-color: #337ab7;--nbx-sidenav-link-color: #343a40;--nbx-sidenav-pin-color: #fd7e14;--nbx-sidenav-parent-color: #343a40;--nbx-sidenav-group-color: #343a40}}@media print{html :root[data-netbox-color-mode=dark],html[data-netbox-color-mode=dark] :root[data-netbox-color-mode=dark],html[data-netbox-color-mode=light] :root[data-netbox-color-mode=dark]{--nbx-sidebar-bg: #212529;--nbx-sidebar-scroll: #495057;--nbx-sidebar-link-active-bg: rgba(110, 168, 254, .25);--nbx-sidebar-link-hover-bg: rgba(173, 181, 189, .15);--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(255, 255, 255, .05);--nbx-breadcrumb-bg: #343a40;--nbx-body-bg: #1b1f22;--nbx-body-color: #f8f9fa;--nbx-pre-bg: #495057;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(117, 183, 152, .4);--nbx-change-removed: rgba(234, 134, 143, .4);--nbx-cable-node-bg: #495057;--nbx-cable-node-border-color: #6c757d;--nbx-cable-termination-bg: #343a40;--nbx-cable-termination-border-color: #495057;--nbx-search-filter-border-left-color: #6c757d;--nbx-color-mode-toggle-color: #ffda6a;--nbx-sidenav-link-color: #e9ecef;--nbx-sidenav-pin-color: #ffc107;--nbx-sidenav-parent-color: #e9ecef;--nbx-sidenav-group-color: #6c757d}}@media print{html .bg-primary button.btn-close,html[data-netbox-color-mode=dark] .bg-primary button.btn-close,html[data-netbox-color-mode=light] .bg-primary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f496e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-primary,html[data-netbox-color-mode=dark] .btn.btn-ghost-primary,html[data-netbox-color-mode=light] .btn.btn-ghost-primary{color:#337ab7}}@media print{html .btn.btn-ghost-primary:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-primary:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-primary:hover{background-color:#337ab71f}}@media print{html .alert.alert-primary a:not(.btn),html .table-primary a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-primary a:not(.btn),html[data-netbox-color-mode=dark] .table-primary a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-primary a:not(.btn),html[data-netbox-color-mode=light] .table-primary a:not(.btn){font-weight:700;color:#1f496e}}@media print{html .alert.alert-primary .btn:not([class*=btn-outline]),html .table-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-primary .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-primary a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-primary a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-primary a:not(.btn){font-weight:700;color:#adcae2}}@media print{html .badge.bg-primary,html .toast.bg-primary,html .toast-header.bg-primary,html .progress-bar.bg-primary,html[data-netbox-color-mode=dark] .badge.bg-primary,html[data-netbox-color-mode=dark] .toast.bg-primary,html[data-netbox-color-mode=dark] .toast-header.bg-primary,html[data-netbox-color-mode=dark] .progress-bar.bg-primary,html[data-netbox-color-mode=light] .badge.bg-primary,html[data-netbox-color-mode=light] .toast.bg-primary,html[data-netbox-color-mode=light] .toast-header.bg-primary,html[data-netbox-color-mode=light] .progress-bar.bg-primary{color:#fff}}@media print{html .bg-secondary button.btn-close,html[data-netbox-color-mode=dark] .bg-secondary button.btn-close,html[data-netbox-color-mode=light] .bg-secondary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2341464b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-secondary,html[data-netbox-color-mode=dark] .btn.btn-ghost-secondary,html[data-netbox-color-mode=light] .btn.btn-ghost-secondary{color:#6c757d}}@media print{html .btn.btn-ghost-secondary:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-secondary:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-secondary:hover{background-color:#6c757d1f}}@media print{html .alert.alert-secondary a:not(.btn),html .table-secondary a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-secondary a:not(.btn),html[data-netbox-color-mode=dark] .table-secondary a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-secondary a:not(.btn),html[data-netbox-color-mode=light] .table-secondary a:not(.btn){font-weight:700;color:#41464b}}@media print{html .alert.alert-secondary .btn:not([class*=btn-outline]),html .table-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-secondary .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-secondary a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-secondary a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-secondary a:not(.btn){font-weight:700;color:#c4c8cb}}@media print{html .badge.bg-secondary,html .toast.bg-secondary,html .toast-header.bg-secondary,html .progress-bar.bg-secondary,html[data-netbox-color-mode=dark] .badge.bg-secondary,html[data-netbox-color-mode=dark] .toast.bg-secondary,html[data-netbox-color-mode=dark] .toast-header.bg-secondary,html[data-netbox-color-mode=dark] .progress-bar.bg-secondary,html[data-netbox-color-mode=light] .badge.bg-secondary,html[data-netbox-color-mode=light] .toast.bg-secondary,html[data-netbox-color-mode=light] .toast-header.bg-secondary,html[data-netbox-color-mode=light] .progress-bar.bg-secondary{color:#fff}}@media print{html .bg-success button.btn-close,html[data-netbox-color-mode=dark] .bg-success button.btn-close,html[data-netbox-color-mode=light] .bg-success button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f5132'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-success,html[data-netbox-color-mode=dark] .btn.btn-ghost-success,html[data-netbox-color-mode=light] .btn.btn-ghost-success{color:#198754}}@media print{html .btn.btn-ghost-success:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-success:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-success:hover{background-color:#1987541f}}@media print{html .alert.alert-success a:not(.btn),html .table-success a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-success a:not(.btn),html[data-netbox-color-mode=dark] .table-success a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-success a:not(.btn),html[data-netbox-color-mode=light] .table-success a:not(.btn){font-weight:700;color:#0f5132}}@media print{html .alert.alert-success .btn:not([class*=btn-outline]),html .table-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-success .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-success a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-success a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-success a:not(.btn){font-weight:700;color:#a3cfbb}}@media print{html .badge.bg-success,html .toast.bg-success,html .toast-header.bg-success,html .progress-bar.bg-success,html[data-netbox-color-mode=dark] .badge.bg-success,html[data-netbox-color-mode=dark] .toast.bg-success,html[data-netbox-color-mode=dark] .toast-header.bg-success,html[data-netbox-color-mode=dark] .progress-bar.bg-success,html[data-netbox-color-mode=light] .badge.bg-success,html[data-netbox-color-mode=light] .toast.bg-success,html[data-netbox-color-mode=light] .toast-header.bg-success,html[data-netbox-color-mode=light] .progress-bar.bg-success{color:#fff}}@media print{html .bg-info button.btn-close,html[data-netbox-color-mode=dark] .bg-info button.btn-close,html[data-netbox-color-mode=light] .bg-info button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23225660'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-info,html[data-netbox-color-mode=dark] .btn.btn-ghost-info,html[data-netbox-color-mode=light] .btn.btn-ghost-info{color:#54d6f0}}@media print{html .btn.btn-ghost-info:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-info:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-info:hover{background-color:#54d6f01f}}@media print{html .alert.alert-info a:not(.btn),html .table-info a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-info a:not(.btn),html[data-netbox-color-mode=dark] .table-info a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-info a:not(.btn),html[data-netbox-color-mode=light] .table-info a:not(.btn){font-weight:700;color:#225660}}@media print{html .alert.alert-info .btn:not([class*=btn-outline]),html .table-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-info .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-info a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-info a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-info a:not(.btn){font-weight:700;color:#225660}}@media print{html .badge.bg-info,html .toast.bg-info,html .toast-header.bg-info,html .progress-bar.bg-info,html[data-netbox-color-mode=dark] .badge.bg-info,html[data-netbox-color-mode=dark] .toast.bg-info,html[data-netbox-color-mode=dark] .toast-header.bg-info,html[data-netbox-color-mode=dark] .progress-bar.bg-info,html[data-netbox-color-mode=light] .badge.bg-info,html[data-netbox-color-mode=light] .toast.bg-info,html[data-netbox-color-mode=light] .toast-header.bg-info,html[data-netbox-color-mode=light] .progress-bar.bg-info{color:#000}}@media print{html .bg-warning button.btn-close,html[data-netbox-color-mode=dark] .bg-warning button.btn-close,html[data-netbox-color-mode=light] .bg-warning button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23664d03'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-warning,html[data-netbox-color-mode=dark] .btn.btn-ghost-warning,html[data-netbox-color-mode=light] .btn.btn-ghost-warning{color:#ffc107}}@media print{html .btn.btn-ghost-warning:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-warning:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-warning:hover{background-color:#ffc1071f}}@media print{html .alert.alert-warning a:not(.btn),html .table-warning a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-warning a:not(.btn),html[data-netbox-color-mode=dark] .table-warning a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-warning a:not(.btn),html[data-netbox-color-mode=light] .table-warning a:not(.btn){font-weight:700;color:#664d03}}@media print{html .alert.alert-warning .btn:not([class*=btn-outline]),html .table-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-warning .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-warning a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-warning a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-warning a:not(.btn){font-weight:700;color:#664d03}}@media print{html .badge.bg-warning,html .toast.bg-warning,html .toast-header.bg-warning,html .progress-bar.bg-warning,html[data-netbox-color-mode=dark] .badge.bg-warning,html[data-netbox-color-mode=dark] .toast.bg-warning,html[data-netbox-color-mode=dark] .toast-header.bg-warning,html[data-netbox-color-mode=dark] .progress-bar.bg-warning,html[data-netbox-color-mode=light] .badge.bg-warning,html[data-netbox-color-mode=light] .toast.bg-warning,html[data-netbox-color-mode=light] .toast-header.bg-warning,html[data-netbox-color-mode=light] .progress-bar.bg-warning{color:#000}}@media print{html .bg-danger button.btn-close,html[data-netbox-color-mode=dark] .bg-danger button.btn-close,html[data-netbox-color-mode=light] .bg-danger button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23842029'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-danger,html[data-netbox-color-mode=dark] .btn.btn-ghost-danger,html[data-netbox-color-mode=light] .btn.btn-ghost-danger{color:#dc3545}}@media print{html .btn.btn-ghost-danger:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-danger:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-danger:hover{background-color:#dc35451f}}@media print{html .alert.alert-danger a:not(.btn),html .table-danger a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-danger a:not(.btn),html[data-netbox-color-mode=dark] .table-danger a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-danger a:not(.btn),html[data-netbox-color-mode=light] .table-danger a:not(.btn){font-weight:700;color:#842029}}@media print{html .alert.alert-danger .btn:not([class*=btn-outline]),html .table-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-danger .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-danger a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-danger a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-danger a:not(.btn){font-weight:700;color:#f1aeb5}}@media print{html .badge.bg-danger,html .toast.bg-danger,html .toast-header.bg-danger,html .progress-bar.bg-danger,html[data-netbox-color-mode=dark] .badge.bg-danger,html[data-netbox-color-mode=dark] .toast.bg-danger,html[data-netbox-color-mode=dark] .toast-header.bg-danger,html[data-netbox-color-mode=dark] .progress-bar.bg-danger,html[data-netbox-color-mode=light] .badge.bg-danger,html[data-netbox-color-mode=light] .toast.bg-danger,html[data-netbox-color-mode=light] .toast-header.bg-danger,html[data-netbox-color-mode=light] .progress-bar.bg-danger{color:#fff}}@media print{html .bg-light button.btn-close,html[data-netbox-color-mode=dark] .bg-light button.btn-close,html[data-netbox-color-mode=light] .bg-light button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235d5e60'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-light,html[data-netbox-color-mode=dark] .btn.btn-ghost-light,html[data-netbox-color-mode=light] .btn.btn-ghost-light{color:#e9ecef}}@media print{html .btn.btn-ghost-light:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-light:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-light:hover{background-color:#e9ecef1f}}@media print{html .alert.alert-light a:not(.btn),html .table-light a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-light a:not(.btn),html[data-netbox-color-mode=dark] .table-light a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-light a:not(.btn),html[data-netbox-color-mode=light] .table-light a:not(.btn){font-weight:700;color:#5d5e60}}@media print{html .alert.alert-light .btn:not([class*=btn-outline]),html .table-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-light .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-light a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-light a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-light a:not(.btn){font-weight:700;color:#5d5e60}}@media print{html .badge.bg-light,html .toast.bg-light,html .toast-header.bg-light,html .progress-bar.bg-light,html[data-netbox-color-mode=dark] .badge.bg-light,html[data-netbox-color-mode=dark] .toast.bg-light,html[data-netbox-color-mode=dark] .toast-header.bg-light,html[data-netbox-color-mode=dark] .progress-bar.bg-light,html[data-netbox-color-mode=light] .badge.bg-light,html[data-netbox-color-mode=light] .toast.bg-light,html[data-netbox-color-mode=light] .toast-header.bg-light,html[data-netbox-color-mode=light] .progress-bar.bg-light{color:#000}}@media print{html .bg-dark button.btn-close,html[data-netbox-color-mode=dark] .bg-dark button.btn-close,html[data-netbox-color-mode=light] .bg-dark button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f2326'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-dark,html[data-netbox-color-mode=dark] .btn.btn-ghost-dark,html[data-netbox-color-mode=light] .btn.btn-ghost-dark{color:#343a40}}@media print{html .btn.btn-ghost-dark:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-dark:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-dark:hover{background-color:#343a401f}}@media print{html .alert.alert-dark a:not(.btn),html .table-dark a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-dark a:not(.btn),html[data-netbox-color-mode=dark] .table-dark a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-dark a:not(.btn),html[data-netbox-color-mode=light] .table-dark a:not(.btn){font-weight:700;color:#1f2326}}@media print{html .alert.alert-dark .btn:not([class*=btn-outline]),html .table-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-dark .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-dark a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-dark a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-dark a:not(.btn){font-weight:700;color:#aeb0b3}}@media print{html .badge.bg-dark,html .toast.bg-dark,html .toast-header.bg-dark,html .progress-bar.bg-dark,html[data-netbox-color-mode=dark] .badge.bg-dark,html[data-netbox-color-mode=dark] .toast.bg-dark,html[data-netbox-color-mode=dark] .toast-header.bg-dark,html[data-netbox-color-mode=dark] .progress-bar.bg-dark,html[data-netbox-color-mode=light] .badge.bg-dark,html[data-netbox-color-mode=light] .toast.bg-dark,html[data-netbox-color-mode=light] .toast-header.bg-dark,html[data-netbox-color-mode=light] .progress-bar.bg-dark{color:#fff}}@media print{html .bg-blue button.btn-close,html[data-netbox-color-mode=dark] .bg-blue button.btn-close,html[data-netbox-color-mode=light] .bg-blue button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23084298'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-blue,html[data-netbox-color-mode=dark] .btn.btn-ghost-blue,html[data-netbox-color-mode=light] .btn.btn-ghost-blue{color:#0d6efd}}@media print{html .btn.btn-ghost-blue:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-blue:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-blue:hover{background-color:#0d6efd1f}}@media print{html .alert.alert-blue a:not(.btn),html .table-blue a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-blue a:not(.btn),html[data-netbox-color-mode=dark] .table-blue a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-blue a:not(.btn),html[data-netbox-color-mode=light] .table-blue a:not(.btn){font-weight:700;color:#084298}}@media print{html .alert.alert-blue .btn:not([class*=btn-outline]),html .table-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-blue .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-blue a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-blue a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-blue a:not(.btn){font-weight:700;color:#9ec5fe}}@media print{html .badge.bg-blue,html .toast.bg-blue,html .toast-header.bg-blue,html .progress-bar.bg-blue,html[data-netbox-color-mode=dark] .badge.bg-blue,html[data-netbox-color-mode=dark] .toast.bg-blue,html[data-netbox-color-mode=dark] .toast-header.bg-blue,html[data-netbox-color-mode=dark] .progress-bar.bg-blue,html[data-netbox-color-mode=light] .badge.bg-blue,html[data-netbox-color-mode=light] .toast.bg-blue,html[data-netbox-color-mode=light] .toast-header.bg-blue,html[data-netbox-color-mode=light] .progress-bar.bg-blue{color:#fff}}@media print{html .bg-indigo button.btn-close,html[data-netbox-color-mode=dark] .bg-indigo button.btn-close,html[data-netbox-color-mode=light] .bg-indigo button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233d0a91'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-indigo,html[data-netbox-color-mode=dark] .btn.btn-ghost-indigo,html[data-netbox-color-mode=light] .btn.btn-ghost-indigo{color:#6610f2}}@media print{html .btn.btn-ghost-indigo:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-indigo:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-indigo:hover{background-color:#6610f21f}}@media print{html .alert.alert-indigo a:not(.btn),html .table-indigo a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-indigo a:not(.btn),html[data-netbox-color-mode=dark] .table-indigo a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-indigo a:not(.btn),html[data-netbox-color-mode=light] .table-indigo a:not(.btn){font-weight:700;color:#3d0a91}}@media print{html .alert.alert-indigo .btn:not([class*=btn-outline]),html .table-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-indigo .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-indigo a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-indigo a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-indigo a:not(.btn){font-weight:700;color:#c29ffa}}@media print{html .badge.bg-indigo,html .toast.bg-indigo,html .toast-header.bg-indigo,html .progress-bar.bg-indigo,html[data-netbox-color-mode=dark] .badge.bg-indigo,html[data-netbox-color-mode=dark] .toast.bg-indigo,html[data-netbox-color-mode=dark] .toast-header.bg-indigo,html[data-netbox-color-mode=dark] .progress-bar.bg-indigo,html[data-netbox-color-mode=light] .badge.bg-indigo,html[data-netbox-color-mode=light] .toast.bg-indigo,html[data-netbox-color-mode=light] .toast-header.bg-indigo,html[data-netbox-color-mode=light] .progress-bar.bg-indigo{color:#fff}}@media print{html .bg-purple button.btn-close,html[data-netbox-color-mode=dark] .bg-purple button.btn-close,html[data-netbox-color-mode=light] .bg-purple button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23432874'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-purple,html[data-netbox-color-mode=dark] .btn.btn-ghost-purple,html[data-netbox-color-mode=light] .btn.btn-ghost-purple{color:#6f42c1}}@media print{html .btn.btn-ghost-purple:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-purple:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-purple:hover{background-color:#6f42c11f}}@media print{html .alert.alert-purple a:not(.btn),html .table-purple a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-purple a:not(.btn),html[data-netbox-color-mode=dark] .table-purple a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-purple a:not(.btn),html[data-netbox-color-mode=light] .table-purple a:not(.btn){font-weight:700;color:#432874}}@media print{html .alert.alert-purple .btn:not([class*=btn-outline]),html .table-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-purple .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-purple a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-purple a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-purple a:not(.btn){font-weight:700;color:#c5b3e6}}@media print{html .badge.bg-purple,html .toast.bg-purple,html .toast-header.bg-purple,html .progress-bar.bg-purple,html[data-netbox-color-mode=dark] .badge.bg-purple,html[data-netbox-color-mode=dark] .toast.bg-purple,html[data-netbox-color-mode=dark] .toast-header.bg-purple,html[data-netbox-color-mode=dark] .progress-bar.bg-purple,html[data-netbox-color-mode=light] .badge.bg-purple,html[data-netbox-color-mode=light] .toast.bg-purple,html[data-netbox-color-mode=light] .toast-header.bg-purple,html[data-netbox-color-mode=light] .progress-bar.bg-purple{color:#fff}}@media print{html .bg-pink button.btn-close,html[data-netbox-color-mode=dark] .bg-pink button.btn-close,html[data-netbox-color-mode=light] .bg-pink button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23801f4f'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-pink,html[data-netbox-color-mode=dark] .btn.btn-ghost-pink,html[data-netbox-color-mode=light] .btn.btn-ghost-pink{color:#d63384}}@media print{html .btn.btn-ghost-pink:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-pink:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-pink:hover{background-color:#d633841f}}@media print{html .alert.alert-pink a:not(.btn),html .table-pink a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-pink a:not(.btn),html[data-netbox-color-mode=dark] .table-pink a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-pink a:not(.btn),html[data-netbox-color-mode=light] .table-pink a:not(.btn){font-weight:700;color:#801f4f}}@media print{html .alert.alert-pink .btn:not([class*=btn-outline]),html .table-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-pink .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-pink a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-pink a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-pink a:not(.btn){font-weight:700;color:#efadce}}@media print{html .badge.bg-pink,html .toast.bg-pink,html .toast-header.bg-pink,html .progress-bar.bg-pink,html[data-netbox-color-mode=dark] .badge.bg-pink,html[data-netbox-color-mode=dark] .toast.bg-pink,html[data-netbox-color-mode=dark] .toast-header.bg-pink,html[data-netbox-color-mode=dark] .progress-bar.bg-pink,html[data-netbox-color-mode=light] .badge.bg-pink,html[data-netbox-color-mode=light] .toast.bg-pink,html[data-netbox-color-mode=light] .toast-header.bg-pink,html[data-netbox-color-mode=light] .progress-bar.bg-pink{color:#fff}}@media print{html .bg-red button.btn-close,html[data-netbox-color-mode=dark] .bg-red button.btn-close,html[data-netbox-color-mode=light] .bg-red button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23842029'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-red,html[data-netbox-color-mode=dark] .btn.btn-ghost-red,html[data-netbox-color-mode=light] .btn.btn-ghost-red{color:#dc3545}}@media print{html .btn.btn-ghost-red:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-red:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-red:hover{background-color:#dc35451f}}@media print{html .alert.alert-red a:not(.btn),html .table-red a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-red a:not(.btn),html[data-netbox-color-mode=dark] .table-red a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-red a:not(.btn),html[data-netbox-color-mode=light] .table-red a:not(.btn){font-weight:700;color:#842029}}@media print{html .alert.alert-red .btn:not([class*=btn-outline]),html .table-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-red .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-red a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-red a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-red a:not(.btn){font-weight:700;color:#f1aeb5}}@media print{html .badge.bg-red,html .toast.bg-red,html .toast-header.bg-red,html .progress-bar.bg-red,html[data-netbox-color-mode=dark] .badge.bg-red,html[data-netbox-color-mode=dark] .toast.bg-red,html[data-netbox-color-mode=dark] .toast-header.bg-red,html[data-netbox-color-mode=dark] .progress-bar.bg-red,html[data-netbox-color-mode=light] .badge.bg-red,html[data-netbox-color-mode=light] .toast.bg-red,html[data-netbox-color-mode=light] .toast-header.bg-red,html[data-netbox-color-mode=light] .progress-bar.bg-red{color:#fff}}@media print{html .bg-orange button.btn-close,html[data-netbox-color-mode=dark] .bg-orange button.btn-close,html[data-netbox-color-mode=light] .bg-orange button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23984c0c'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-orange,html[data-netbox-color-mode=dark] .btn.btn-ghost-orange,html[data-netbox-color-mode=light] .btn.btn-ghost-orange{color:#fd7e14}}@media print{html .btn.btn-ghost-orange:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-orange:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-orange:hover{background-color:#fd7e141f}}@media print{html .alert.alert-orange a:not(.btn),html .table-orange a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-orange a:not(.btn),html[data-netbox-color-mode=dark] .table-orange a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-orange a:not(.btn),html[data-netbox-color-mode=light] .table-orange a:not(.btn){font-weight:700;color:#984c0c}}@media print{html .alert.alert-orange .btn:not([class*=btn-outline]),html .table-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-orange .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-orange a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-orange a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-orange a:not(.btn){font-weight:700;color:#653208}}@media print{html .badge.bg-orange,html .toast.bg-orange,html .toast-header.bg-orange,html .progress-bar.bg-orange,html[data-netbox-color-mode=dark] .badge.bg-orange,html[data-netbox-color-mode=dark] .toast.bg-orange,html[data-netbox-color-mode=dark] .toast-header.bg-orange,html[data-netbox-color-mode=dark] .progress-bar.bg-orange,html[data-netbox-color-mode=light] .badge.bg-orange,html[data-netbox-color-mode=light] .toast.bg-orange,html[data-netbox-color-mode=light] .toast-header.bg-orange,html[data-netbox-color-mode=light] .progress-bar.bg-orange{color:#000}}@media print{html .bg-yellow button.btn-close,html[data-netbox-color-mode=dark] .bg-yellow button.btn-close,html[data-netbox-color-mode=light] .bg-yellow button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23664d03'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-yellow,html[data-netbox-color-mode=dark] .btn.btn-ghost-yellow,html[data-netbox-color-mode=light] .btn.btn-ghost-yellow{color:#ffc107}}@media print{html .btn.btn-ghost-yellow:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-yellow:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-yellow:hover{background-color:#ffc1071f}}@media print{html .alert.alert-yellow a:not(.btn),html .table-yellow a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-yellow a:not(.btn),html[data-netbox-color-mode=dark] .table-yellow a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-yellow a:not(.btn),html[data-netbox-color-mode=light] .table-yellow a:not(.btn){font-weight:700;color:#664d03}}@media print{html .alert.alert-yellow .btn:not([class*=btn-outline]),html .table-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-yellow .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-yellow a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-yellow a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-yellow a:not(.btn){font-weight:700;color:#664d03}}@media print{html .badge.bg-yellow,html .toast.bg-yellow,html .toast-header.bg-yellow,html .progress-bar.bg-yellow,html[data-netbox-color-mode=dark] .badge.bg-yellow,html[data-netbox-color-mode=dark] .toast.bg-yellow,html[data-netbox-color-mode=dark] .toast-header.bg-yellow,html[data-netbox-color-mode=dark] .progress-bar.bg-yellow,html[data-netbox-color-mode=light] .badge.bg-yellow,html[data-netbox-color-mode=light] .toast.bg-yellow,html[data-netbox-color-mode=light] .toast-header.bg-yellow,html[data-netbox-color-mode=light] .progress-bar.bg-yellow{color:#000}}@media print{html .bg-green button.btn-close,html[data-netbox-color-mode=dark] .bg-green button.btn-close,html[data-netbox-color-mode=light] .bg-green button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f5132'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-green,html[data-netbox-color-mode=dark] .btn.btn-ghost-green,html[data-netbox-color-mode=light] .btn.btn-ghost-green{color:#198754}}@media print{html .btn.btn-ghost-green:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-green:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-green:hover{background-color:#1987541f}}@media print{html .alert.alert-green a:not(.btn),html .table-green a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-green a:not(.btn),html[data-netbox-color-mode=dark] .table-green a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-green a:not(.btn),html[data-netbox-color-mode=light] .table-green a:not(.btn){font-weight:700;color:#0f5132}}@media print{html .alert.alert-green .btn:not([class*=btn-outline]),html .table-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-green .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-green a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-green a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-green a:not(.btn){font-weight:700;color:#a3cfbb}}@media print{html .badge.bg-green,html .toast.bg-green,html .toast-header.bg-green,html .progress-bar.bg-green,html[data-netbox-color-mode=dark] .badge.bg-green,html[data-netbox-color-mode=dark] .toast.bg-green,html[data-netbox-color-mode=dark] .toast-header.bg-green,html[data-netbox-color-mode=dark] .progress-bar.bg-green,html[data-netbox-color-mode=light] .badge.bg-green,html[data-netbox-color-mode=light] .toast.bg-green,html[data-netbox-color-mode=light] .toast-header.bg-green,html[data-netbox-color-mode=light] .progress-bar.bg-green{color:#fff}}@media print{html .bg-teal button.btn-close,html[data-netbox-color-mode=dark] .bg-teal button.btn-close,html[data-netbox-color-mode=light] .bg-teal button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2313795b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-teal,html[data-netbox-color-mode=dark] .btn.btn-ghost-teal,html[data-netbox-color-mode=light] .btn.btn-ghost-teal{color:#20c997}}@media print{html .btn.btn-ghost-teal:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-teal:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-teal:hover{background-color:#20c9971f}}@media print{html .alert.alert-teal a:not(.btn),html .table-teal a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-teal a:not(.btn),html[data-netbox-color-mode=dark] .table-teal a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-teal a:not(.btn),html[data-netbox-color-mode=light] .table-teal a:not(.btn){font-weight:700;color:#13795b}}@media print{html .alert.alert-teal .btn:not([class*=btn-outline]),html .table-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-teal .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-teal a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-teal a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-teal a:not(.btn){font-weight:700;color:#0d503c}}@media print{html .badge.bg-teal,html .toast.bg-teal,html .toast-header.bg-teal,html .progress-bar.bg-teal,html[data-netbox-color-mode=dark] .badge.bg-teal,html[data-netbox-color-mode=dark] .toast.bg-teal,html[data-netbox-color-mode=dark] .toast-header.bg-teal,html[data-netbox-color-mode=dark] .progress-bar.bg-teal,html[data-netbox-color-mode=light] .badge.bg-teal,html[data-netbox-color-mode=light] .toast.bg-teal,html[data-netbox-color-mode=light] .toast-header.bg-teal,html[data-netbox-color-mode=light] .progress-bar.bg-teal{color:#000}}@media print{html .bg-cyan button.btn-close,html[data-netbox-color-mode=dark] .bg-cyan button.btn-close,html[data-netbox-color-mode=light] .bg-cyan button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23055160'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-cyan,html[data-netbox-color-mode=dark] .btn.btn-ghost-cyan,html[data-netbox-color-mode=light] .btn.btn-ghost-cyan{color:#0dcaf0}}@media print{html .btn.btn-ghost-cyan:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-cyan:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-cyan:hover{background-color:#0dcaf01f}}@media print{html .alert.alert-cyan a:not(.btn),html .table-cyan a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-cyan a:not(.btn),html[data-netbox-color-mode=dark] .table-cyan a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-cyan a:not(.btn),html[data-netbox-color-mode=light] .table-cyan a:not(.btn){font-weight:700;color:#055160}}@media print{html .alert.alert-cyan .btn:not([class*=btn-outline]),html .table-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-cyan .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-cyan a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-cyan a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-cyan a:not(.btn){font-weight:700;color:#055160}}@media print{html .badge.bg-cyan,html .toast.bg-cyan,html .toast-header.bg-cyan,html .progress-bar.bg-cyan,html[data-netbox-color-mode=dark] .badge.bg-cyan,html[data-netbox-color-mode=dark] .toast.bg-cyan,html[data-netbox-color-mode=dark] .toast-header.bg-cyan,html[data-netbox-color-mode=dark] .progress-bar.bg-cyan,html[data-netbox-color-mode=light] .badge.bg-cyan,html[data-netbox-color-mode=light] .toast.bg-cyan,html[data-netbox-color-mode=light] .toast-header.bg-cyan,html[data-netbox-color-mode=light] .progress-bar.bg-cyan{color:#000}}@media print{html .bg-gray button.btn-close,html[data-netbox-color-mode=dark] .bg-gray button.btn-close,html[data-netbox-color-mode=light] .bg-gray button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23686d71'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-gray,html[data-netbox-color-mode=dark] .btn.btn-ghost-gray,html[data-netbox-color-mode=light] .btn.btn-ghost-gray{color:#adb5bd}}@media print{html .btn.btn-ghost-gray:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-gray:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-gray:hover{background-color:#adb5bd1f}}@media print{html .alert.alert-gray a:not(.btn),html .table-gray a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-gray a:not(.btn),html[data-netbox-color-mode=dark] .table-gray a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-gray a:not(.btn),html[data-netbox-color-mode=light] .table-gray a:not(.btn){font-weight:700;color:#686d71}}@media print{html .alert.alert-gray .btn:not([class*=btn-outline]),html .table-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-gray .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-gray a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-gray a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-gray a:not(.btn){font-weight:700;color:#45484c}}@media print{html .badge.bg-gray,html .toast.bg-gray,html .toast-header.bg-gray,html .progress-bar.bg-gray,html[data-netbox-color-mode=dark] .badge.bg-gray,html[data-netbox-color-mode=dark] .toast.bg-gray,html[data-netbox-color-mode=dark] .toast-header.bg-gray,html[data-netbox-color-mode=dark] .progress-bar.bg-gray,html[data-netbox-color-mode=light] .badge.bg-gray,html[data-netbox-color-mode=light] .toast.bg-gray,html[data-netbox-color-mode=light] .toast-header.bg-gray,html[data-netbox-color-mode=light] .progress-bar.bg-gray{color:#000}}@media print{html .bg-black button.btn-close,html[data-netbox-color-mode=dark] .bg-black button.btn-close,html[data-netbox-color-mode=light] .bg-black button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-black,html[data-netbox-color-mode=dark] .btn.btn-ghost-black,html[data-netbox-color-mode=light] .btn.btn-ghost-black{color:#000}}@media print{html .btn.btn-ghost-black:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-black:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-black:hover{background-color:#0000001f}}@media print{html .alert.alert-black a:not(.btn),html .table-black a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-black a:not(.btn),html[data-netbox-color-mode=dark] .table-black a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-black a:not(.btn),html[data-netbox-color-mode=light] .table-black a:not(.btn){font-weight:700;color:#000}}@media print{html .alert.alert-black .btn:not([class*=btn-outline]),html .table-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-black .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-black a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-black a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-black a:not(.btn){font-weight:700;color:#999}}@media print{html .badge.bg-black,html .toast.bg-black,html .toast-header.bg-black,html .progress-bar.bg-black,html[data-netbox-color-mode=dark] .badge.bg-black,html[data-netbox-color-mode=dark] .toast.bg-black,html[data-netbox-color-mode=dark] .toast-header.bg-black,html[data-netbox-color-mode=dark] .progress-bar.bg-black,html[data-netbox-color-mode=light] .badge.bg-black,html[data-netbox-color-mode=light] .toast.bg-black,html[data-netbox-color-mode=light] .toast-header.bg-black,html[data-netbox-color-mode=light] .progress-bar.bg-black{color:#fff}}@media print{html .bg-white button.btn-close,html[data-netbox-color-mode=dark] .bg-white button.btn-close,html[data-netbox-color-mode=light] .bg-white button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23666666'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-white,html[data-netbox-color-mode=dark] .btn.btn-ghost-white,html[data-netbox-color-mode=light] .btn.btn-ghost-white{color:#fff}}@media print{html .btn.btn-ghost-white:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-white:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-white:hover{background-color:#ffffff1f}}@media print{html .alert.alert-white a:not(.btn),html .table-white a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-white a:not(.btn),html[data-netbox-color-mode=dark] .table-white a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-white a:not(.btn),html[data-netbox-color-mode=light] .table-white a:not(.btn){font-weight:700;color:#666}}@media print{html .alert.alert-white .btn:not([class*=btn-outline]),html .table-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-white .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-white a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-white a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-white a:not(.btn){font-weight:700;color:#666}}@media print{html .badge.bg-white,html .toast.bg-white,html .toast-header.bg-white,html .progress-bar.bg-white,html[data-netbox-color-mode=dark] .badge.bg-white,html[data-netbox-color-mode=dark] .toast.bg-white,html[data-netbox-color-mode=dark] .toast-header.bg-white,html[data-netbox-color-mode=dark] .progress-bar.bg-white,html[data-netbox-color-mode=light] .badge.bg-white,html[data-netbox-color-mode=light] .toast.bg-white,html[data-netbox-color-mode=light] .toast-header.bg-white,html[data-netbox-color-mode=light] .progress-bar.bg-white{color:#000}}@media print{html table td>.progress,html[data-netbox-color-mode=dark] table td>.progress,html[data-netbox-color-mode=light] table td>.progress{min-width:6rem}}@media print{html .small .form-control,html[data-netbox-color-mode=dark] .small .form-control,html[data-netbox-color-mode=light] .small .form-control{font-size:.875rem}}@media print{html :not(.card-body)>.col:not(:last-child):not(:only-child),html[data-netbox-color-mode=dark] :not(.card-body)>.col:not(:last-child):not(:only-child),html[data-netbox-color-mode=light] :not(.card-body)>.col:not(:last-child):not(:only-child){margin-bottom:1rem}}@media print{html .nav-mobile,html[data-netbox-color-mode=dark] .nav-mobile,html[data-netbox-color-mode=light] .nav-mobile{display:none;flex-direction:column;align-items:center;justify-content:space-between;width:100%}}@media print and (max-width: 991.98px){html .nav-mobile,html[data-netbox-color-mode=dark] .nav-mobile,html[data-netbox-color-mode=light] .nav-mobile{display:flex}}@media print{html .nav-mobile .nav-mobile-top,html[data-netbox-color-mode=dark] .nav-mobile .nav-mobile-top,html[data-netbox-color-mode=light] .nav-mobile .nav-mobile-top{display:flex;align-items:center;justify-content:space-between;width:100%}}@media print{html .card>.table.table-flush,html[data-netbox-color-mode=dark] .card>.table.table-flush,html[data-netbox-color-mode=light] .card>.table.table-flush{margin-bottom:0;overflow:hidden;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}}@media print{html .card>.table.table-flush thead th[scope=col],html[data-netbox-color-mode=dark] .card>.table.table-flush thead th[scope=col],html[data-netbox-color-mode=light] .card>.table.table-flush thead th[scope=col]{padding-top:1rem;padding-bottom:1rem;text-transform:uppercase;vertical-align:middle;background-color:#f8f9fa;border-top:1px solid rgba(0,0,0,.125);border-bottom-color:#00000020}}@media print{html .card>.table.table-flush th,html .card>.table.table-flush td,html[data-netbox-color-mode=dark] .card>.table.table-flush th,html[data-netbox-color-mode=dark] .card>.table.table-flush td,html[data-netbox-color-mode=light] .card>.table.table-flush th,html[data-netbox-color-mode=light] .card>.table.table-flush td{padding-right:1.5rem!important;padding-left:1.5rem!important;border-right:0;border-left:0}}@media print{html .card>.table.table-flush tr[class],html[data-netbox-color-mode=dark] .card>.table.table-flush tr[class],html[data-netbox-color-mode=light] .card>.table.table-flush tr[class]{border-color:#00000020!important}}@media print{html .card>.table.table-flush tr[class]:last-of-type,html[data-netbox-color-mode=dark] .card>.table.table-flush tr[class]:last-of-type,html[data-netbox-color-mode=light] .card>.table.table-flush tr[class]:last-of-type{border-bottom-color:transparent!important;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}}@media print{html .header-alert-container,html[data-netbox-color-mode=dark] .header-alert-container,html[data-netbox-color-mode=light] .header-alert-container{display:flex;align-items:center;justify-content:center;padding:0 1rem}}@media print{html .header-alert-container .alert,html[data-netbox-color-mode=dark] .header-alert-container .alert,html[data-netbox-color-mode=light] .header-alert-container .alert{width:100%}}@media print and (min-width: 768px){html .header-alert-container .alert,html[data-netbox-color-mode=dark] .header-alert-container .alert,html[data-netbox-color-mode=light] .header-alert-container .alert{max-width:75%}}@media print and (min-width: 992px){html .header-alert-container .alert,html[data-netbox-color-mode=dark] .header-alert-container .alert,html[data-netbox-color-mode=light] .header-alert-container .alert{max-width:50%}}@media print{html span.profile-button .dropdown-menu,html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu,html[data-netbox-color-mode=light] span.profile-button .dropdown-menu{right:0;left:auto;display:block!important;margin-top:.5rem;box-shadow:0 .5rem 1rem #00000026;transition:opacity .2s ease-in-out}}@media print{html span.profile-button .dropdown-menu:not(.show),html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu:not(.show),html[data-netbox-color-mode=light] span.profile-button .dropdown-menu:not(.show){pointer-events:none;opacity:0}}@media print{html span.profile-button .dropdown-menu.show,html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu.show,html[data-netbox-color-mode=light] span.profile-button .dropdown-menu.show{pointer-events:auto;opacity:1}}@media print{html div#advanced-search-content div.card div.card-body div.col:not(:last-child),html[data-netbox-color-mode=dark] div#advanced-search-content div.card div.card-body div.col:not(:last-child),html[data-netbox-color-mode=light] div#advanced-search-content div.card div.card-body div.col:not(:last-child){margin-right:1rem}}@media print{html table td a,html[data-netbox-color-mode=dark] table td a,html[data-netbox-color-mode=light] table td a{text-decoration:none}}@media print{html table td a:hover,html[data-netbox-color-mode=dark] table td a:hover,html[data-netbox-color-mode=light] table td a:hover{text-decoration:underline}}@media print{html table td .dropdown,html[data-netbox-color-mode=dark] table td .dropdown,html[data-netbox-color-mode=light] table td .dropdown{position:static}}@media print{html table th a,html table th a:hover,html[data-netbox-color-mode=dark] table th a,html[data-netbox-color-mode=dark] table th a:hover,html[data-netbox-color-mode=light] table th a,html[data-netbox-color-mode=light] table th a:hover{color:#212529;text-decoration:none}}@media print{html table td,html table th,html[data-netbox-color-mode=dark] table td,html[data-netbox-color-mode=dark] table th,html[data-netbox-color-mode=light] table td,html[data-netbox-color-mode=light] table th{font-size:.875rem;line-height:1.25;vertical-align:middle}}@media print{html table td.min-width,html table th.min-width,html[data-netbox-color-mode=dark] table td.min-width,html[data-netbox-color-mode=dark] table th.min-width,html[data-netbox-color-mode=light] table td.min-width,html[data-netbox-color-mode=light] table th.min-width{width:1%}}@media print{html table td .form-check-input,html table th .form-check-input,html[data-netbox-color-mode=dark] table td .form-check-input,html[data-netbox-color-mode=dark] table th .form-check-input,html[data-netbox-color-mode=light] table td .form-check-input,html[data-netbox-color-mode=light] table th .form-check-input{margin-top:.125em;font-size:1rem}}@media print{html table td .btn-sm,html table td .btn-group-sm>.btn,html table th .btn-sm,html table th .btn-group-sm>.btn,html[data-netbox-color-mode=dark] table td .btn-sm,html[data-netbox-color-mode=dark] table td html[data-netbox-color-mode=light] .btn-group-sm>.btn,html[data-netbox-color-mode=dark] table th .btn-sm,html[data-netbox-color-mode=dark] table th html[data-netbox-color-mode=light] .btn-group-sm>.btn,html[data-netbox-color-mode=light] table td .btn-sm,html[data-netbox-color-mode=light] table td html[data-netbox-color-mode=dark] .btn-group-sm>.btn,html[data-netbox-color-mode=light] table th .btn-sm,html[data-netbox-color-mode=light] table th html[data-netbox-color-mode=dark] .btn-group-sm>.btn{line-height:1}}@media print{html table td p,html table th p,html[data-netbox-color-mode=dark] table td p,html[data-netbox-color-mode=dark] table th p,html[data-netbox-color-mode=light] table td p,html[data-netbox-color-mode=light] table th p{margin-bottom:0}}@media print{html table th.asc a:after,html[data-netbox-color-mode=dark] table th.asc a:after,html[data-netbox-color-mode=light] table th.asc a:after{content:"\f0140";font-family:"Material Design Icons"}}@media print{html table th.desc a:after,html[data-netbox-color-mode=dark] table th.desc a:after,html[data-netbox-color-mode=light] table th.desc a:after{content:"\f0143";font-family:"Material Design Icons"}}@media print{html table.table>:not(caption)>*>*,html[data-netbox-color-mode=dark] table.table>:not(caption)>*>*,html[data-netbox-color-mode=light] table.table>:not(caption)>*>*{padding-right:.25rem!important;padding-left:.25rem!important}}@media print{html table.object-list th,html[data-netbox-color-mode=dark] table.object-list th,html[data-netbox-color-mode=light] table.object-list th{font-size:.75rem;line-height:1;vertical-align:bottom}}@media print{html table.attr-table th,html[data-netbox-color-mode=dark] table.attr-table th,html[data-netbox-color-mode=light] table.attr-table th{font-weight:normal;width:25%}}@media print{html div.title-container,html[data-netbox-color-mode=dark] div.title-container,html[data-netbox-color-mode=light] div.title-container{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between}}@media print and (min-width: 992px){html div.title-container,html[data-netbox-color-mode=dark] div.title-container,html[data-netbox-color-mode=light] div.title-container{flex-direction:row}}@media print{html div.title-container #content-title,html[data-netbox-color-mode=dark] div.title-container #content-title,html[data-netbox-color-mode=light] div.title-container #content-title{display:flex;flex:1 0;flex-direction:column;padding-bottom:.5rem}}@media print{html .controls,html[data-netbox-color-mode=dark] .controls,html[data-netbox-color-mode=light] .controls{margin-bottom:.5rem}}@media print{html .controls,html[data-netbox-color-mode=dark] .controls,html[data-netbox-color-mode=light] .controls{display:none!important}}@media print{html .controls .control-group,html[data-netbox-color-mode=dark] .controls .control-group,html[data-netbox-color-mode=light] .controls .control-group{display:flex;flex-wrap:wrap;justify-content:flex-start}}@media print and (min-width: 992px){html .controls .control-group,html[data-netbox-color-mode=dark] .controls .control-group,html[data-netbox-color-mode=light] .controls .control-group{justify-content:flex-end}}@media print{html .controls .control-group>*,html[data-netbox-color-mode=dark] .controls .control-group>*,html[data-netbox-color-mode=light] .controls .control-group>*{margin:.25rem}}@media print{html .controls .control-group>*:first-child,html[data-netbox-color-mode=dark] .controls .control-group>*:first-child,html[data-netbox-color-mode=light] .controls .control-group>*:first-child{margin-left:0}}@media print{html .controls .control-group>*:last-child,html[data-netbox-color-mode=dark] .controls .control-group>*:last-child,html[data-netbox-color-mode=light] .controls .control-group>*:last-child{margin-right:0}}@media print{html .object-subtitle,html[data-netbox-color-mode=dark] .object-subtitle,html[data-netbox-color-mode=light] .object-subtitle{display:block;font-size:.875rem;color:#6c757d}}@media print and (min-width: 768px){html .object-subtitle,html[data-netbox-color-mode=dark] .object-subtitle,html[data-netbox-color-mode=light] .object-subtitle{display:inline-block}}@media print{html .object-subtitle>span,html[data-netbox-color-mode=dark] .object-subtitle>span,html[data-netbox-color-mode=light] .object-subtitle>span{display:block}}@media print{html .object-subtitle>span.separator,html[data-netbox-color-mode=dark] .object-subtitle>span.separator,html[data-netbox-color-mode=light] .object-subtitle>span.separator{display:none}}@media print and (min-width: 768px){html .object-subtitle>span,html .object-subtitle>span.separator,html[data-netbox-color-mode=dark] .object-subtitle>span,html[data-netbox-color-mode=dark] .object-subtitle>span.separator,html[data-netbox-color-mode=light] .object-subtitle>span,html[data-netbox-color-mode=light] .object-subtitle>span.separator{display:inline-block}}@media print{html nav.search,html[data-netbox-color-mode=dark] nav.search,html[data-netbox-color-mode=light] nav.search{z-index:999;justify-content:center;background-color:var(--nbx-body-bg)}}@media print{html nav.search .search-container,html[data-netbox-color-mode=dark] nav.search .search-container,html[data-netbox-color-mode=light] nav.search .search-container{display:flex;width:100%}}@media print and (max-width: 991.98px){html nav.search .search-container,html[data-netbox-color-mode=dark] nav.search .search-container,html[data-netbox-color-mode=light] nav.search .search-container{display:none}}@media print{html nav.search .input-group .search-obj-selected,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selected,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selected{border-color:#e9ecef}}@media print{html nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle{color:#000;border-color:#e9ecef;margin-left:0;font-weight:400;line-height:1.5;color:#212529;background-color:#e9ecef;border:1px solid #e9ecef;border-radius:.375rem;border-left:1px solid var(--nbx-search-filter-border-left-color)}}@media print{html nav.search .input-group .dropdown-toggle:hover,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:hover,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:hover{color:#000;background-color:#eceff1;border-color:#ebeef1}}@media print{.btn-check:focus+html nav.search .input-group .dropdown-toggle,html nav.search .input-group .dropdown-toggle:focus,.btn-check:focus+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,.btn-check:focus+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:focus{color:#000;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem #c6c9cb80}}@media print{.btn-check:checked+html nav.search .input-group .dropdown-toggle,.btn-check:active+html nav.search .input-group .dropdown-toggle,html nav.search .input-group .dropdown-toggle:active,html nav.search .input-group .dropdown-toggle.active,.show>html nav.search .input-group .dropdown-toggle.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,.btn-check:active+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:active,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.active,.show>html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle,.btn-check:active+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:active,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.active,.show>html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}}@media print{.btn-check:checked+html nav.search .input-group .dropdown-toggle:focus,.btn-check:active+html nav.search .input-group .dropdown-toggle:focus,html nav.search .input-group .dropdown-toggle:active:focus,html nav.search .input-group .dropdown-toggle.active:focus,.show>html nav.search .input-group .dropdown-toggle.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,.btn-check:active+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:active:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.active:focus,.show>html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:focus,.btn-check:active+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:active:focus,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.active:focus,.show>html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c6c9cb80}}@media print{html nav.search .input-group .dropdown-toggle:disabled,html nav.search .input-group .dropdown-toggle.disabled,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:disabled,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.disabled,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:disabled,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}}@media print{html nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:focus{box-shadow:unset!important}}@media print{html nav.search .input-group .dropdown-toggle:after,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:after,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:after{display:none}}@media print{html nav.search .input-group .search-obj-selector,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selector{max-height:70vh;overflow-y:auto}}@media print{html nav.search .input-group .search-obj-selector .dropdown-item,html nav.search .input-group .search-obj-selector .dropdown-header,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-item,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-header,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selector .dropdown-item,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selector .dropdown-header{font-size:.875rem}}@media print{html nav.search .input-group .search-obj-selector .dropdown-header,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-header,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selector .dropdown-header{text-transform:uppercase}}@media print{html main.layout,html[data-netbox-color-mode=dark] main.layout,html[data-netbox-color-mode=light] main.layout{display:flex;flex-wrap:nowrap;height:100vh;height:-webkit-fill-available;max-height:100vh;overflow-x:auto;overflow-y:hidden}}@media print{html main.layout,html[data-netbox-color-mode=dark] main.layout,html[data-netbox-color-mode=light] main.layout{position:static!important;display:block!important;height:100%;overflow-x:visible!important;overflow-y:visible!important}}@media print{html main.login-container,html[data-netbox-color-mode=dark] main.login-container,html[data-netbox-color-mode=light] main.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100vw;height:calc(100vh - 4rem);padding-top:40px;padding-bottom:40px}}@media print{html main.login-container+footer.footer button.color-mode-toggle,html[data-netbox-color-mode=dark] main.login-container+footer.footer button.color-mode-toggle,html[data-netbox-color-mode=light] main.login-container+footer.footer button.color-mode-toggle{color:var(--nbx-color-mode-toggle-color)}}@media print{html .footer,html[data-netbox-color-mode=dark] .footer,html[data-netbox-color-mode=light] .footer{padding:0}}@media print{html .footer .nav-link,html[data-netbox-color-mode=dark] .footer .nav-link,html[data-netbox-color-mode=light] .footer .nav-link{padding:.5rem}}@media print and (max-width: 767.98px){html .footer,html[data-netbox-color-mode=dark] .footer,html[data-netbox-color-mode=light] .footer{margin-bottom:8rem}}@media print{html footer.login-footer,html[data-netbox-color-mode=dark] footer.login-footer,html[data-netbox-color-mode=light] footer.login-footer{height:4rem;margin-top:auto}}@media print{html footer.login-footer .container-fluid,html footer.login-footer .container-sm,html footer.login-footer .container-md,html footer.login-footer .container-lg,html footer.login-footer .container-xl,html footer.login-footer .container-xxl,html[data-netbox-color-mode=dark] footer.login-footer .container-fluid,html[data-netbox-color-mode=light] footer.login-footer .container-fluid{display:flex;justify-content:flex-end;padding:.75rem 1.5rem}}@media print{html h1.accordion-item-title,html .accordion-item-title.h1,html h2.accordion-item-title,html .accordion-item-title.h2,html h3.accordion-item-title,html .accordion-item-title.h3,html h4.accordion-item-title,html .accordion-item-title.h4,html h5.accordion-item-title,html .accordion-item-title.h5,html h6.accordion-item-title,html .accordion-item-title.h6,html[data-netbox-color-mode=dark] h1.accordion-item-title,html[data-netbox-color-mode=dark] h2.accordion-item-title,html[data-netbox-color-mode=dark] h3.accordion-item-title,html[data-netbox-color-mode=dark] h4.accordion-item-title,html[data-netbox-color-mode=dark] h5.accordion-item-title,html[data-netbox-color-mode=dark] h6.accordion-item-title,html[data-netbox-color-mode=light] h1.accordion-item-title,html[data-netbox-color-mode=light] h2.accordion-item-title,html[data-netbox-color-mode=light] h3.accordion-item-title,html[data-netbox-color-mode=light] h4.accordion-item-title,html[data-netbox-color-mode=light] h5.accordion-item-title,html[data-netbox-color-mode=light] h6.accordion-item-title{padding:.25rem .5rem;font-size:.875rem;font-weight:700;color:var(--nbx-sidebar-title-color);text-transform:uppercase}}@media print{html .form-login,html[data-netbox-color-mode=dark] .form-login,html[data-netbox-color-mode=light] .form-login{width:100%;max-width:330px;padding:15px}}@media print{html .form-login input:focus,html[data-netbox-color-mode=dark] .form-login input:focus,html[data-netbox-color-mode=light] .form-login input:focus{z-index:1}}@media print{html .form-login input[type=text],html[data-netbox-color-mode=dark] .form-login input[type=text],html[data-netbox-color-mode=light] .form-login input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}}@media print{html .form-login input[type=password],html[data-netbox-color-mode=dark] .form-login input[type=password],html[data-netbox-color-mode=light] .form-login input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}}@media print{html .form-login .form-control,html[data-netbox-color-mode=dark] .form-login .form-control,html[data-netbox-color-mode=light] .form-login .form-control{position:relative;box-sizing:border-box;height:auto;padding:10px;font-size:16px}}@media print{html .navbar-brand,html[data-netbox-color-mode=dark] .navbar-brand,html[data-netbox-color-mode=light] .navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}}@media print{html nav.nav.nav-pills .nav-item.nav-link,html[data-netbox-color-mode=dark] nav.nav.nav-pills .nav-item.nav-link,html[data-netbox-color-mode=light] nav.nav.nav-pills .nav-item.nav-link{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}}@media print{html nav.nav.nav-pills .nav-item.nav-link:hover,html[data-netbox-color-mode=dark] nav.nav.nav-pills .nav-item.nav-link:hover,html[data-netbox-color-mode=light] nav.nav.nav-pills .nav-item.nav-link:hover{color:#343a40;background-color:#cfe2ff}}@media print{html div.content-container,html[data-netbox-color-mode=dark] div.content-container,html[data-netbox-color-mode=light] div.content-container{position:relative;display:flex;flex-direction:column;width:calc(100% - 3rem);min-height:100vh;overflow-x:hidden;overflow-y:auto}}@media print{html div.content-container:focus,html div.content-container:focus-visible,html[data-netbox-color-mode=dark] div.content-container:focus,html[data-netbox-color-mode=dark] div.content-container:focus-visible,html[data-netbox-color-mode=light] div.content-container:focus,html[data-netbox-color-mode=light] div.content-container:focus-visible{outline:0}}@media print{html div.content-container div.content,html[data-netbox-color-mode=dark] div.content-container div.content,html[data-netbox-color-mode=light] div.content-container div.content{flex:1}}@media print and (max-width: 991.98px){html div.content-container,html[data-netbox-color-mode=dark] div.content-container,html[data-netbox-color-mode=light] div.content-container{width:100%}}@media print{html div.content-container,html[data-netbox-color-mode=dark] div.content-container,html[data-netbox-color-mode=light] div.content-container{width:100%!important;margin-left:0!important}}@media print and (max-width: 768px){html .sidebar.collapse.show~.content-container>.content,html[data-netbox-color-mode=dark] .sidebar.collapse.show~.content-container>.content,html[data-netbox-color-mode=light] .sidebar.collapse.show~.content-container>.content{position:fixed;top:0;left:0;overflow-y:hidden}}@media print{html .tooltip,html[data-netbox-color-mode=dark] .tooltip,html[data-netbox-color-mode=light] .tooltip{pointer-events:none}}@media print{html span.color-label,html[data-netbox-color-mode=dark] span.color-label,html[data-netbox-color-mode=light] span.color-label{display:block;width:5rem;height:1rem;padding:.35em .65em;border:1px solid #303030;border-radius:.375rem;box-shadow:0 .125rem .25rem #00000013}}@media print{html .btn,html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=light] .btn{white-space:nowrap}}@media print{html .card,html[data-netbox-color-mode=dark] .card,html[data-netbox-color-mode=light] .card{box-shadow:0 .125rem .25rem #00000013}}@media print{html .card .card-header,html[data-netbox-color-mode=dark] .card .card-header,html[data-netbox-color-mode=light] .card .card-header{padding:1rem;color:var(--nbx-body-color);border-bottom:none}}@media print{html .card .card-header+.card-body,html[data-netbox-color-mode=dark] .card .card-header+.card-body,html[data-netbox-color-mode=light] .card .card-header+.card-body{padding-top:0}}@media print{html .card .card-body.small .form-control,html .card .card-body.small .form-select,html[data-netbox-color-mode=dark] .card .card-body.small .form-control,html[data-netbox-color-mode=dark] .card .card-body.small .form-select,html[data-netbox-color-mode=light] .card .card-body.small .form-control,html[data-netbox-color-mode=light] .card .card-body.small .form-select{font-size:.875rem}}@media print{html .card .card-divider,html[data-netbox-color-mode=dark] .card .card-divider,html[data-netbox-color-mode=light] .card .card-divider{width:100%;height:1px;margin:1rem 0;border-top:1px solid rgba(0,0,0,.125);opacity:.25}}@media print{html .card,html[data-netbox-color-mode=dark] .card,html[data-netbox-color-mode=light] .card{box-shadow:unset!important}}@media print{html .form-floating,html[data-netbox-color-mode=dark] .form-floating,html[data-netbox-color-mode=light] .form-floating{position:relative}}@media print{html .form-floating>.input-group>.form-control,html .form-floating>.input-group>.form-select,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}}@media print{html .form-floating>.input-group>label,html[data-netbox-color-mode=dark] .form-floating>.input-group>label,html[data-netbox-color-mode=light] .form-floating>.input-group>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .form-floating>.input-group>label,html[data-netbox-color-mode=dark] .form-floating>.input-group>label,html[data-netbox-color-mode=light] .form-floating>.input-group>label{transition:none}}@media print{html .form-floating>.input-group>.form-control::placeholder,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control::placeholder,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control::placeholder{color:transparent}}@media print{html .form-floating>.input-group>.form-control:focus,html .form-floating>.input-group>.form-control:not(:placeholder-shown),html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:focus,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:not(:placeholder-shown),html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:focus,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.input-group>.form-control:-webkit-autofill,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:-webkit-autofill,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.input-group>.form-select,html .form-floating>.choices>.choices__inner,html .form-floating>.ss-main span.placeholder,html .form-floating>.ss-main div.ss-values,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select,html[data-netbox-color-mode=dark] .form-floating>.choices>.choices__inner,html[data-netbox-color-mode=dark] .form-floating>.ss-main span.placeholder,html[data-netbox-color-mode=dark] .form-floating>.ss-main div.ss-values,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-select,html[data-netbox-color-mode=light] .form-floating>.choices>.choices__inner,html[data-netbox-color-mode=light] .form-floating>.ss-main span.placeholder,html[data-netbox-color-mode=light] .form-floating>.ss-main div.ss-values{padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.input-group>.form-control:focus~label,html .form-floating>.input-group>.form-control:not(:placeholder-shown)~label,html .form-floating>.input-group>.form-select~label,html .form-floating>.choices~label,html .form-floating>.ss-main~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:focus~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select~label,html[data-netbox-color-mode=dark] .form-floating>.choices~label,html[data-netbox-color-mode=dark] .form-floating>.ss-main~label,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:focus~label,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-select~label,html[data-netbox-color-mode=light] .form-floating>.choices~label,html[data-netbox-color-mode=light] .form-floating>.ss-main~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem);z-index:4}}@media print{html .form-floating>.input-group>.form-control:-webkit-autofill~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:-webkit-autofill~label,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:-webkit-autofill~label{z-index:4;opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}}@media print{html .form-object-edit,html[data-netbox-color-mode=dark] .form-object-edit,html[data-netbox-color-mode=light] .form-object-edit{margin:0 auto;max-width:800px}}@media print{html textarea.form-control[rows="10"],html[data-netbox-color-mode=dark] textarea.form-control[rows="10"],html[data-netbox-color-mode=light] textarea.form-control[rows="10"]{height:18rem}}@media print{html textarea#id_local_context_data,html textarea.markdown,html textarea#id_public_key,html textarea.form-control[name=csv],html textarea.form-control[name=data],html[data-netbox-color-mode=dark] textarea#id_local_context_data,html[data-netbox-color-mode=dark] textarea.markdown,html[data-netbox-color-mode=dark] textarea#id_public_key,html[data-netbox-color-mode=dark] textarea.form-control[name=csv],html[data-netbox-color-mode=dark] textarea.form-control[name=data],html[data-netbox-color-mode=light] textarea#id_local_context_data,html[data-netbox-color-mode=light] textarea.markdown,html[data-netbox-color-mode=light] textarea#id_public_key,html[data-netbox-color-mode=light] textarea.form-control[name=csv],html[data-netbox-color-mode=light] textarea.form-control[name=data]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}}@media print{html .card:not(:only-of-type),html[data-netbox-color-mode=dark] .card:not(:only-of-type),html[data-netbox-color-mode=light] .card:not(:only-of-type){margin-bottom:1rem}}@media print{html .stat-btn,html[data-netbox-color-mode=dark] .stat-btn,html[data-netbox-color-mode=light] .stat-btn{min-width:3rem}}@media print{html nav.breadcrumb-container,html[data-netbox-color-mode=dark] nav.breadcrumb-container,html[data-netbox-color-mode=light] nav.breadcrumb-container{width:fit-content;padding:.35em .65em;font-size:.875rem}}@media print{html nav.breadcrumb-container ol.breadcrumb,html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb,html[data-netbox-color-mode=light] nav.breadcrumb-container ol.breadcrumb{margin-bottom:0}}@media print{html nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a,html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a,html[data-netbox-color-mode=light] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a{text-decoration:none}}@media print{html nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover,html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover,html[data-netbox-color-mode=light] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover{text-decoration:underline}}@media print{html label.required,html[data-netbox-color-mode=dark] label.required,html[data-netbox-color-mode=light] label.required{font-weight:700}}@media print{html label.required:after,html[data-netbox-color-mode=dark] label.required:after,html[data-netbox-color-mode=light] label.required:after{position:absolute;display:inline-block;margin:0 0 0 2px;font-family:"Material Design Icons";font-size:8px;font-style:normal;font-weight:600;text-decoration:none;content:"\f06c4"}}@media print{html div.bulk-buttons,html[data-netbox-color-mode=dark] div.bulk-buttons,html[data-netbox-color-mode=light] div.bulk-buttons{display:flex;justify-content:space-between;margin:.5rem 0}}@media print{html div.bulk-buttons>div.bulk-button-group,html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group,html[data-netbox-color-mode=light] div.bulk-buttons>div.bulk-button-group{display:flex;flex-wrap:wrap;align-items:flex-start}}@media print{html div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child,html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child,html[data-netbox-color-mode=light] div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child{margin-left:0}}@media print{html div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child,html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child,html[data-netbox-color-mode=light] div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child{margin-right:0}}@media print{html div.bulk-buttons>div.bulk-button-group>*,html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group>*,html[data-netbox-color-mode=light] div.bulk-buttons>div.bulk-button-group>*{margin:.25rem}}@media print{html table tbody tr.primary,html[data-netbox-color-mode=dark] table tbody tr.primary,html[data-netbox-color-mode=light] table tbody tr.primary{background-color:#337ab726;border-color:#adb5bd}}@media print{html table tbody tr.secondary,html[data-netbox-color-mode=dark] table tbody tr.secondary,html[data-netbox-color-mode=light] table tbody tr.secondary{background-color:#6c757d26;border-color:#adb5bd}}@media print{html table tbody tr.success,html[data-netbox-color-mode=dark] table tbody tr.success,html[data-netbox-color-mode=light] table tbody tr.success{background-color:#19875426;border-color:#adb5bd}}@media print{html table tbody tr.info,html[data-netbox-color-mode=dark] table tbody tr.info,html[data-netbox-color-mode=light] table tbody tr.info{background-color:#54d6f026;border-color:#adb5bd}}@media print{html table tbody tr.warning,html[data-netbox-color-mode=dark] table tbody tr.warning,html[data-netbox-color-mode=light] table tbody tr.warning{background-color:#ffc10726;border-color:#adb5bd}}@media print{html table tbody tr.danger,html[data-netbox-color-mode=dark] table tbody tr.danger,html[data-netbox-color-mode=light] table tbody tr.danger{background-color:#dc354526;border-color:#adb5bd}}@media print{html table tbody tr.light,html[data-netbox-color-mode=dark] table tbody tr.light,html[data-netbox-color-mode=light] table tbody tr.light{background-color:#e9ecef26;border-color:#adb5bd}}@media print{html table tbody tr.dark,html[data-netbox-color-mode=dark] table tbody tr.dark,html[data-netbox-color-mode=light] table tbody tr.dark{background-color:#343a4026;border-color:#adb5bd}}@media print{html table tbody tr.blue,html[data-netbox-color-mode=dark] table tbody tr.blue,html[data-netbox-color-mode=light] table tbody tr.blue{background-color:#0d6efd26;border-color:#adb5bd}}@media print{html table tbody tr.indigo,html[data-netbox-color-mode=dark] table tbody tr.indigo,html[data-netbox-color-mode=light] table tbody tr.indigo{background-color:#6610f226;border-color:#adb5bd}}@media print{html table tbody tr.purple,html[data-netbox-color-mode=dark] table tbody tr.purple,html[data-netbox-color-mode=light] table tbody tr.purple{background-color:#6f42c126;border-color:#adb5bd}}@media print{html table tbody tr.pink,html[data-netbox-color-mode=dark] table tbody tr.pink,html[data-netbox-color-mode=light] table tbody tr.pink{background-color:#d6338426;border-color:#adb5bd}}@media print{html table tbody tr.red,html[data-netbox-color-mode=dark] table tbody tr.red,html[data-netbox-color-mode=light] table tbody tr.red{background-color:#dc354526;border-color:#adb5bd}}@media print{html table tbody tr.orange,html[data-netbox-color-mode=dark] table tbody tr.orange,html[data-netbox-color-mode=light] table tbody tr.orange{background-color:#fd7e1426;border-color:#adb5bd}}@media print{html table tbody tr.yellow,html[data-netbox-color-mode=dark] table tbody tr.yellow,html[data-netbox-color-mode=light] table tbody tr.yellow{background-color:#ffc10726;border-color:#adb5bd}}@media print{html table tbody tr.green,html[data-netbox-color-mode=dark] table tbody tr.green,html[data-netbox-color-mode=light] table tbody tr.green{background-color:#19875426;border-color:#adb5bd}}@media print{html table tbody tr.teal,html[data-netbox-color-mode=dark] table tbody tr.teal,html[data-netbox-color-mode=light] table tbody tr.teal{background-color:#20c99726;border-color:#adb5bd}}@media print{html table tbody tr.cyan,html[data-netbox-color-mode=dark] table tbody tr.cyan,html[data-netbox-color-mode=light] table tbody tr.cyan{background-color:#0dcaf026;border-color:#adb5bd}}@media print{html table tbody tr.gray,html[data-netbox-color-mode=dark] table tbody tr.gray,html[data-netbox-color-mode=light] table tbody tr.gray{background-color:#adb5bd26;border-color:#adb5bd}}@media print{html table tbody tr.black,html[data-netbox-color-mode=dark] table tbody tr.black,html[data-netbox-color-mode=light] table tbody tr.black{background-color:#00000026;border-color:#adb5bd}}@media print{html table tbody tr.white,html[data-netbox-color-mode=dark] table tbody tr.white,html[data-netbox-color-mode=light] table tbody tr.white{background-color:#ffffff26;border-color:#adb5bd}}@media print{html table .table-badge-group .table-badge,html[data-netbox-color-mode=dark] table .table-badge-group .table-badge,html[data-netbox-color-mode=light] table .table-badge-group .table-badge{display:block;width:min-content;font-size:.875rem;font-weight:400}}@media print{html table .table-badge-group .table-badge:not(.badge),html[data-netbox-color-mode=dark] table .table-badge-group .table-badge:not(.badge),html[data-netbox-color-mode=light] table .table-badge-group .table-badge:not(.badge){padding:0 .65em}}@media print{html table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child),html[data-netbox-color-mode=dark] table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child),html[data-netbox-color-mode=light] table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child){margin-bottom:.25rem}}@media print{html pre.change-data,html[data-netbox-color-mode=dark] pre.change-data,html[data-netbox-color-mode=light] pre.change-data{padding-right:0;padding-left:0}}@media print{html pre.change-data>span,html[data-netbox-color-mode=dark] pre.change-data>span,html[data-netbox-color-mode=light] pre.change-data>span{display:block;padding-right:1rem;padding-left:1rem}}@media print{html pre.change-data>span.added,html[data-netbox-color-mode=dark] pre.change-data>span.added,html[data-netbox-color-mode=light] pre.change-data>span.added{background-color:var(--nbx-change-added)}}@media print{html pre.change-data>span.removed,html[data-netbox-color-mode=dark] pre.change-data>span.removed,html[data-netbox-color-mode=light] pre.change-data>span.removed{background-color:var(--nbx-change-removed)}}@media print{html pre.change-diff,html[data-netbox-color-mode=dark] pre.change-diff,html[data-netbox-color-mode=light] pre.change-diff{border-color:transparent}}@media print{html pre.change-diff.change-removed,html[data-netbox-color-mode=dark] pre.change-diff.change-removed,html[data-netbox-color-mode=light] pre.change-diff.change-removed{background-color:var(--nbx-change-removed)}}@media print{html pre.change-diff.change-added,html[data-netbox-color-mode=dark] pre.change-diff.change-added,html[data-netbox-color-mode=light] pre.change-diff.change-added{background-color:var(--nbx-change-added)}}@media print{html div.card-overlay,html[data-netbox-color-mode=dark] div.card-overlay,html[data-netbox-color-mode=light] div.card-overlay{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#ffffffbf;border-radius:.375rem}}@media print{html div.card-overlay>div.spinner-border,html[data-netbox-color-mode=dark] div.card-overlay>div.spinner-border,html[data-netbox-color-mode=light] div.card-overlay>div.spinner-border{width:6rem;height:6rem;color:#6c757d}}@media print{html .table-controls,html[data-netbox-color-mode=dark] .table-controls,html[data-netbox-color-mode=light] .table-controls{display:flex}}@media print and (min-width: 768px){html .table-controls,html[data-netbox-color-mode=dark] .table-controls,html[data-netbox-color-mode=light] .table-controls{margin-top:0!important;margin-bottom:0!important}}@media print{html .table-controls .table-configure,html[data-netbox-color-mode=dark] .table-controls .table-configure,html[data-netbox-color-mode=light] .table-controls .table-configure{justify-content:flex-start}}@media print and (min-width: 768px){html .table-controls .table-configure,html[data-netbox-color-mode=dark] .table-controls .table-configure,html[data-netbox-color-mode=light] .table-controls .table-configure{justify-content:flex-end}}@media print{html .table-controls .form-switch.form-check-inline,html[data-netbox-color-mode=dark] .table-controls .form-switch.form-check-inline,html[data-netbox-color-mode=light] .table-controls .form-switch.form-check-inline{flex:1 0 auto;font-size:.875rem}}@media print{html .nav-tabs .nav-link:hover,html[data-netbox-color-mode=dark] .nav-tabs .nav-link:hover,html[data-netbox-color-mode=light] .nav-tabs .nav-link:hover{border-bottom-color:transparent}}@media print{html .nav-tabs .nav-link.active,html[data-netbox-color-mode=dark] .nav-tabs .nav-link.active,html[data-netbox-color-mode=light] .nav-tabs .nav-link.active{background-color:#f8f9fa;border-bottom-color:#f8f9fa;transform:translateY(1px)}}@media print{html .tab-content,html[data-netbox-color-mode=dark] .tab-content,html[data-netbox-color-mode=light] .tab-content{display:flex;flex-direction:column;padding:1rem;background-color:#f8f9fa;border-bottom:1px solid #dee2e6}}@media print{html .tab-content,html[data-netbox-color-mode=dark] .tab-content,html[data-netbox-color-mode=light] .tab-content{background-color:var(--nbx-body-bg)!important;border-bottom:none!important}}@media print{html .masonry,html[data-netbox-color-mode=dark] .masonry,html[data-netbox-color-mode=light] .masonry{position:static!important;display:block!important;height:unset!important}}@media print{html .masonry .masonry-item,html[data-netbox-color-mode=dark] .masonry .masonry-item,html[data-netbox-color-mode=light] .masonry .masonry-item{position:static!important;top:unset!important;left:unset!important;display:block!important}}@media print{html .record-depth,html[data-netbox-color-mode=dark] .record-depth,html[data-netbox-color-mode=light] .record-depth{display:inline;font-size:1rem;user-select:none;opacity:.33}}@media print{html .record-depth span:only-of-type,html .record-depth span:last-of-type,html[data-netbox-color-mode=dark] .record-depth span:only-of-type,html[data-netbox-color-mode=dark] .record-depth span:last-of-type,html[data-netbox-color-mode=light] .record-depth span:only-of-type,html[data-netbox-color-mode=light] .record-depth span:last-of-type{margin-right:.25rem}}@media print{html .popover.image-preview-popover,html[data-netbox-color-mode=dark] .popover.image-preview-popover,html[data-netbox-color-mode=light] .popover.image-preview-popover{max-width:unset}}@media print{html .rendered-markdown table,html[data-netbox-color-mode=dark] .rendered-markdown table,html[data-netbox-color-mode=light] .rendered-markdown table{width:100%}}@media print{html .rendered-markdown th,html[data-netbox-color-mode=dark] .rendered-markdown th,html[data-netbox-color-mode=light] .rendered-markdown th{border-bottom:2px solid #ddd;padding:8px}}@media print{html .rendered-markdown td,html[data-netbox-color-mode=dark] .rendered-markdown td,html[data-netbox-color-mode=light] .rendered-markdown td{border-top:1px solid #ddd;padding:8px}}@media print{html td pre,html[data-netbox-color-mode=dark] td pre,html[data-netbox-color-mode=light] td pre{margin-bottom:0}}@media print{html pre.block,html[data-netbox-color-mode=dark] pre.block,html[data-netbox-color-mode=light] pre.block{padding:1rem;background-color:var(--nbx-pre-bg);border:1px solid var(--nbx-pre-border-color);border-radius:.375rem}}@media print{html #django-messages,html[data-netbox-color-mode=dark] #django-messages,html[data-netbox-color-mode=light] #django-messages{position:fixed;right:1rem;bottom:0;margin:1rem}}@media print{html html[data-netbox-url-name=home] .content-container,html html[data-netbox-url-name=home] .search,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home] .content-container,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home] .search,html[data-netbox-color-mode=light] html[data-netbox-url-name=home] .content-container,html[data-netbox-color-mode=light] html[data-netbox-url-name=home] .search{background-color:#f8f9fa!important}}@media print{html html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search,html[data-netbox-color-mode=light] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html[data-netbox-color-mode=light] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search{background-color:#171b1d!important}}@media print{html html[data-netbox-url-name=login] #django-messages,html[data-netbox-color-mode=dark] html[data-netbox-url-name=login] #django-messages,html[data-netbox-color-mode=light] html[data-netbox-url-name=login] #django-messages{display:none}} +@media print{:root{--nbx-body-bg: #fff !important;--nbx-body-color: #000 !important}html :root,html[data-netbox-color-mode=dark] :root,html[data-netbox-color-mode=light] :root{--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #337ab7;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #54d6f0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #e9ecef;--bs-dark: #343a40;--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-gray: #adb5bd;--bs-black: #000;--bs-white: #fff;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0))}html *,html *:before,html *:after,html[data-netbox-color-mode=dark] *,html[data-netbox-color-mode=dark] *:before,html[data-netbox-color-mode=dark] *:after,html[data-netbox-color-mode=light] *,html[data-netbox-color-mode=light] *:before,html[data-netbox-color-mode=light] *:after{box-sizing:border-box}}@media print and (prefers-reduced-motion: no-preference){html :root,html[data-netbox-color-mode=dark] :root,html[data-netbox-color-mode=light] :root{scroll-behavior:smooth}}@media print{html body,html[data-netbox-color-mode=dark] body,html[data-netbox-color-mode=light] body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}}@media print{html hr,html[data-netbox-color-mode=dark] hr,html[data-netbox-color-mode=light] hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}}@media print{html hr:not([size]),html[data-netbox-color-mode=dark] hr:not([size]),html[data-netbox-color-mode=light] hr:not([size]){height:1px}}@media print{html h6,html .h6,html[data-netbox-color-mode=dark] .h6,html[data-netbox-color-mode=light] .h6,html[data-netbox-color-mode=dark] h6,html[data-netbox-color-mode=light] h6,html h5,html .h5,html[data-netbox-color-mode=dark] .h5,html[data-netbox-color-mode=light] .h5,html[data-netbox-color-mode=dark] h5,html[data-netbox-color-mode=light] h5,html h4,html .h4,html[data-netbox-color-mode=dark] .h4,html[data-netbox-color-mode=light] .h4,html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=light] h4,html h3,html .h3,html[data-netbox-color-mode=dark] .h3,html[data-netbox-color-mode=light] .h3,html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=light] h3,html h2,html .h2,html[data-netbox-color-mode=dark] .h2,html[data-netbox-color-mode=light] .h2,html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=light] h2,html h1,html .h1,html[data-netbox-color-mode=dark] .h1,html[data-netbox-color-mode=light] .h1,html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=light] h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}}@media print{html h1,html .h1,html[data-netbox-color-mode=dark] .h1,html[data-netbox-color-mode=light] .h1,html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=light] h1{font-size:calc(1.375rem + 1.5vw)}}@media print and (min-width: 1200px){html h1,html .h1,html[data-netbox-color-mode=dark] .h1,html[data-netbox-color-mode=light] .h1,html[data-netbox-color-mode=dark] h1,html[data-netbox-color-mode=light] h1{font-size:2.5rem}}@media print{html h2,html .h2,html[data-netbox-color-mode=dark] .h2,html[data-netbox-color-mode=light] .h2,html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=light] h2{font-size:calc(1.325rem + .9vw)}}@media print and (min-width: 1200px){html h2,html .h2,html[data-netbox-color-mode=dark] .h2,html[data-netbox-color-mode=light] .h2,html[data-netbox-color-mode=dark] h2,html[data-netbox-color-mode=light] h2{font-size:2rem}}@media print{html h3,html .h3,html[data-netbox-color-mode=dark] .h3,html[data-netbox-color-mode=light] .h3,html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=light] h3{font-size:calc(1.3rem + .6vw)}}@media print and (min-width: 1200px){html h3,html .h3,html[data-netbox-color-mode=dark] .h3,html[data-netbox-color-mode=light] .h3,html[data-netbox-color-mode=dark] h3,html[data-netbox-color-mode=light] h3{font-size:1.75rem}}@media print{html h4,html .h4,html[data-netbox-color-mode=dark] .h4,html[data-netbox-color-mode=light] .h4,html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=light] h4{font-size:calc(1.275rem + .3vw)}}@media print and (min-width: 1200px){html h4,html .h4,html[data-netbox-color-mode=dark] .h4,html[data-netbox-color-mode=light] .h4,html[data-netbox-color-mode=dark] h4,html[data-netbox-color-mode=light] h4{font-size:1.5rem}}@media print{html h5,html .h5,html[data-netbox-color-mode=dark] .h5,html[data-netbox-color-mode=light] .h5,html[data-netbox-color-mode=dark] h5,html[data-netbox-color-mode=light] h5{font-size:1.25rem}}@media print{html h6,html .h6,html[data-netbox-color-mode=dark] .h6,html[data-netbox-color-mode=light] .h6,html[data-netbox-color-mode=dark] h6,html[data-netbox-color-mode=light] h6{font-size:1rem}}@media print{html p,html[data-netbox-color-mode=dark] p,html[data-netbox-color-mode=light] p{margin-top:0;margin-bottom:1rem}}@media print{html abbr[title],html abbr[data-bs-original-title],html[data-netbox-color-mode=dark] abbr[title],html[data-netbox-color-mode=dark] abbr[data-bs-original-title],html[data-netbox-color-mode=light] abbr[title],html[data-netbox-color-mode=light] abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}}@media print{html address,html[data-netbox-color-mode=dark] address,html[data-netbox-color-mode=light] address{margin-bottom:1rem;font-style:normal;line-height:inherit}}@media print{html ol,html ul,html[data-netbox-color-mode=dark] ol,html[data-netbox-color-mode=dark] ul,html[data-netbox-color-mode=light] ol,html[data-netbox-color-mode=light] ul{padding-left:2rem}}@media print{html ol,html ul,html dl,html[data-netbox-color-mode=dark] ol,html[data-netbox-color-mode=dark] ul,html[data-netbox-color-mode=dark] dl,html[data-netbox-color-mode=light] ol,html[data-netbox-color-mode=light] ul,html[data-netbox-color-mode=light] dl{margin-top:0;margin-bottom:1rem}}@media print{html ol ol,html ul ul,html ol ul,html ul ol,html[data-netbox-color-mode=dark] ol ol,html[data-netbox-color-mode=dark] ul ul,html[data-netbox-color-mode=dark] ol ul,html[data-netbox-color-mode=dark] ul ol,html[data-netbox-color-mode=light] ol ol,html[data-netbox-color-mode=light] ul ul,html[data-netbox-color-mode=light] ol ul,html[data-netbox-color-mode=light] ul ol{margin-bottom:0}}@media print{html dt,html[data-netbox-color-mode=dark] dt,html[data-netbox-color-mode=light] dt{font-weight:700}}@media print{html dd,html[data-netbox-color-mode=dark] dd,html[data-netbox-color-mode=light] dd{margin-bottom:.5rem;margin-left:0}}@media print{html blockquote,html[data-netbox-color-mode=dark] blockquote,html[data-netbox-color-mode=light] blockquote{margin:0 0 1rem}}@media print{html b,html strong,html[data-netbox-color-mode=dark] b,html[data-netbox-color-mode=dark] strong,html[data-netbox-color-mode=light] b,html[data-netbox-color-mode=light] strong{font-weight:800}}@media print{html small,html .small,html[data-netbox-color-mode=dark] .small,html[data-netbox-color-mode=light] .small,html[data-netbox-color-mode=dark] small,html[data-netbox-color-mode=light] small{font-size:.875em}}@media print{html mark,html .mark,html[data-netbox-color-mode=dark] .mark,html[data-netbox-color-mode=light] .mark,html[data-netbox-color-mode=dark] mark,html[data-netbox-color-mode=light] mark{padding:.2em;background-color:#fcf8e3}}@media print{html sub,html sup,html[data-netbox-color-mode=dark] sub,html[data-netbox-color-mode=dark] sup,html[data-netbox-color-mode=light] sub,html[data-netbox-color-mode=light] sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}}@media print{html sub,html[data-netbox-color-mode=dark] sub,html[data-netbox-color-mode=light] sub{bottom:-.25em}}@media print{html sup,html[data-netbox-color-mode=dark] sup,html[data-netbox-color-mode=light] sup{top:-.5em}}@media print{html a,html[data-netbox-color-mode=dark] a,html[data-netbox-color-mode=light] a{color:#0d6efd;text-decoration:underline}html a:hover,html[data-netbox-color-mode=dark] a:hover,html[data-netbox-color-mode=light] a:hover{color:#0a58ca}}@media print{html a:not([href]):not([class]),html a:not([href]):not([class]):hover,html[data-netbox-color-mode=dark] a:not([href]):not([class]),html[data-netbox-color-mode=dark] a:not([href]):not([class]):hover,html[data-netbox-color-mode=light] a:not([href]):not([class]),html[data-netbox-color-mode=light] a:not([href]):not([class]):hover{color:inherit;text-decoration:none}}@media print{html pre,html code,html kbd,html samp,html[data-netbox-color-mode=dark] pre,html[data-netbox-color-mode=dark] code,html[data-netbox-color-mode=dark] kbd,html[data-netbox-color-mode=dark] samp,html[data-netbox-color-mode=light] pre,html[data-netbox-color-mode=light] code,html[data-netbox-color-mode=light] kbd,html[data-netbox-color-mode=light] samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}}@media print{html pre,html[data-netbox-color-mode=dark] pre,html[data-netbox-color-mode=light] pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}html pre code,html[data-netbox-color-mode=dark] pre code,html[data-netbox-color-mode=light] pre code{font-size:inherit;color:inherit;word-break:normal}}@media print{html code,html[data-netbox-color-mode=dark] code,html[data-netbox-color-mode=light] code{font-size:.875em;color:#212529;word-wrap:break-word}a>html code,a>html[data-netbox-color-mode=dark] code,a>html[data-netbox-color-mode=light] code{color:inherit}}@media print{html kbd,html[data-netbox-color-mode=dark] kbd,html[data-netbox-color-mode=light] kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.375rem}html kbd kbd,html[data-netbox-color-mode=dark] kbd kbd,html[data-netbox-color-mode=light] kbd kbd{padding:0;font-size:1em;font-weight:700}}@media print{html figure,html[data-netbox-color-mode=dark] figure,html[data-netbox-color-mode=light] figure{margin:0 0 1rem}}@media print{html img,html svg,html[data-netbox-color-mode=dark] img,html[data-netbox-color-mode=dark] svg,html[data-netbox-color-mode=light] img,html[data-netbox-color-mode=light] svg{vertical-align:middle}}@media print{html table,html[data-netbox-color-mode=dark] table,html[data-netbox-color-mode=light] table{caption-side:bottom;border-collapse:collapse}}@media print{html caption,html[data-netbox-color-mode=dark] caption,html[data-netbox-color-mode=light] caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}}@media print{html th,html[data-netbox-color-mode=dark] th,html[data-netbox-color-mode=light] th{text-align:inherit;text-align:-webkit-match-parent}}@media print{html thead,html tbody,html tfoot,html tr,html td,html th,html[data-netbox-color-mode=dark] thead,html[data-netbox-color-mode=dark] tbody,html[data-netbox-color-mode=dark] tfoot,html[data-netbox-color-mode=dark] tr,html[data-netbox-color-mode=dark] td,html[data-netbox-color-mode=dark] th,html[data-netbox-color-mode=light] thead,html[data-netbox-color-mode=light] tbody,html[data-netbox-color-mode=light] tfoot,html[data-netbox-color-mode=light] tr,html[data-netbox-color-mode=light] td,html[data-netbox-color-mode=light] th{border-color:inherit;border-style:solid;border-width:0}}@media print{html label,html[data-netbox-color-mode=dark] label,html[data-netbox-color-mode=light] label{display:inline-block}}@media print{html button,html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=light] button{border-radius:0}}@media print{html button:focus:not(:focus-visible),html[data-netbox-color-mode=dark] button:focus:not(:focus-visible),html[data-netbox-color-mode=light] button:focus:not(:focus-visible){outline:0}}@media print{html input,html button,html select,html optgroup,html textarea,html[data-netbox-color-mode=dark] input,html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] select,html[data-netbox-color-mode=dark] optgroup,html[data-netbox-color-mode=dark] textarea,html[data-netbox-color-mode=light] input,html[data-netbox-color-mode=light] button,html[data-netbox-color-mode=light] select,html[data-netbox-color-mode=light] optgroup,html[data-netbox-color-mode=light] textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}}@media print{html button,html select,html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] select,html[data-netbox-color-mode=light] button,html[data-netbox-color-mode=light] select{text-transform:none}}@media print{html [role=button],html[data-netbox-color-mode=dark] [role=button],html[data-netbox-color-mode=light] [role=button]{cursor:pointer}}@media print{html select,html[data-netbox-color-mode=dark] select,html[data-netbox-color-mode=light] select{word-wrap:normal}html select:disabled,html[data-netbox-color-mode=dark] select:disabled,html[data-netbox-color-mode=light] select:disabled{opacity:1}}@media print{html [list]::-webkit-calendar-picker-indicator,html[data-netbox-color-mode=dark] [list]::-webkit-calendar-picker-indicator,html[data-netbox-color-mode=light] [list]::-webkit-calendar-picker-indicator{display:none}}@media print{html button,html [type=button],html [type=reset],html [type=submit],html[data-netbox-color-mode=dark] button,html[data-netbox-color-mode=dark] [type=button],html[data-netbox-color-mode=dark] [type=reset],html[data-netbox-color-mode=dark] [type=submit],html[data-netbox-color-mode=light] button,html[data-netbox-color-mode=light] [type=button],html[data-netbox-color-mode=light] [type=reset],html[data-netbox-color-mode=light] [type=submit]{-webkit-appearance:button}html button:not(:disabled),html [type=button]:not(:disabled),html [type=reset]:not(:disabled),html [type=submit]:not(:disabled),html[data-netbox-color-mode=dark] button:not(:disabled),html[data-netbox-color-mode=dark] [type=button]:not(:disabled),html[data-netbox-color-mode=dark] [type=reset]:not(:disabled),html[data-netbox-color-mode=dark] [type=submit]:not(:disabled),html[data-netbox-color-mode=light] button:not(:disabled),html[data-netbox-color-mode=light] [type=button]:not(:disabled),html[data-netbox-color-mode=light] [type=reset]:not(:disabled),html[data-netbox-color-mode=light] [type=submit]:not(:disabled){cursor:pointer}}@media print{html ::-moz-focus-inner,html[data-netbox-color-mode=dark] ::-moz-focus-inner,html[data-netbox-color-mode=light] ::-moz-focus-inner{padding:0;border-style:none}}@media print{html textarea,html[data-netbox-color-mode=dark] textarea,html[data-netbox-color-mode=light] textarea{resize:vertical}}@media print{html fieldset,html[data-netbox-color-mode=dark] fieldset,html[data-netbox-color-mode=light] fieldset{min-width:0;padding:0;margin:0;border:0}}@media print{html legend,html[data-netbox-color-mode=dark] legend,html[data-netbox-color-mode=light] legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}}@media print and (min-width: 1200px){html legend,html[data-netbox-color-mode=dark] legend,html[data-netbox-color-mode=light] legend{font-size:1.5rem}}@media print{html legend+*,html[data-netbox-color-mode=dark] legend+*,html[data-netbox-color-mode=light] legend+*{clear:left}}@media print{html ::-webkit-datetime-edit-fields-wrapper,html ::-webkit-datetime-edit-text,html ::-webkit-datetime-edit-minute,html ::-webkit-datetime-edit-hour-field,html ::-webkit-datetime-edit-day-field,html ::-webkit-datetime-edit-month-field,html ::-webkit-datetime-edit-year-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-fields-wrapper,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-text,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-minute,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-hour-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-day-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-month-field,html[data-netbox-color-mode=dark] ::-webkit-datetime-edit-year-field,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-fields-wrapper,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-text,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-minute,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-hour-field,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-day-field,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-month-field,html[data-netbox-color-mode=light] ::-webkit-datetime-edit-year-field{padding:0}}@media print{html ::-webkit-inner-spin-button,html[data-netbox-color-mode=dark] ::-webkit-inner-spin-button,html[data-netbox-color-mode=light] ::-webkit-inner-spin-button{height:auto}}@media print{html [type=search],html[data-netbox-color-mode=dark] [type=search],html[data-netbox-color-mode=light] [type=search]{outline-offset:-2px;-webkit-appearance:textfield}}@media print{html ::-webkit-search-decoration,html[data-netbox-color-mode=dark] ::-webkit-search-decoration,html[data-netbox-color-mode=light] ::-webkit-search-decoration{-webkit-appearance:none}}@media print{html ::-webkit-color-swatch-wrapper,html[data-netbox-color-mode=dark] ::-webkit-color-swatch-wrapper,html[data-netbox-color-mode=light] ::-webkit-color-swatch-wrapper{padding:0}}@media print{html ::file-selector-button,html[data-netbox-color-mode=dark] ::file-selector-button,html[data-netbox-color-mode=light] ::file-selector-button{font:inherit}}@media print{html ::-webkit-file-upload-button,html[data-netbox-color-mode=dark] ::-webkit-file-upload-button,html[data-netbox-color-mode=light] ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}}@media print{html output,html[data-netbox-color-mode=dark] output,html[data-netbox-color-mode=light] output{display:inline-block}}@media print{html iframe,html[data-netbox-color-mode=dark] iframe,html[data-netbox-color-mode=light] iframe{border:0}}@media print{html summary,html[data-netbox-color-mode=dark] summary,html[data-netbox-color-mode=light] summary{display:list-item;cursor:pointer}}@media print{html progress,html[data-netbox-color-mode=dark] progress,html[data-netbox-color-mode=light] progress{vertical-align:baseline}}@media print{html [hidden],html[data-netbox-color-mode=dark] [hidden],html[data-netbox-color-mode=light] [hidden]{display:none!important}}@media print{html .lead,html[data-netbox-color-mode=dark] .lead,html[data-netbox-color-mode=light] .lead{font-size:1.25rem;font-weight:300}}@media print{html .display-1,html[data-netbox-color-mode=dark] .display-1,html[data-netbox-color-mode=light] .display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-1,html[data-netbox-color-mode=dark] .display-1,html[data-netbox-color-mode=light] .display-1{font-size:5rem}}@media print{html .display-2,html[data-netbox-color-mode=dark] .display-2,html[data-netbox-color-mode=light] .display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-2,html[data-netbox-color-mode=dark] .display-2,html[data-netbox-color-mode=light] .display-2{font-size:4.5rem}}@media print{html .display-3,html[data-netbox-color-mode=dark] .display-3,html[data-netbox-color-mode=light] .display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-3,html[data-netbox-color-mode=dark] .display-3,html[data-netbox-color-mode=light] .display-3{font-size:4rem}}@media print{html .display-4,html[data-netbox-color-mode=dark] .display-4,html[data-netbox-color-mode=light] .display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-4,html[data-netbox-color-mode=dark] .display-4,html[data-netbox-color-mode=light] .display-4{font-size:3.5rem}}@media print{html .display-5,html[data-netbox-color-mode=dark] .display-5,html[data-netbox-color-mode=light] .display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-5,html[data-netbox-color-mode=dark] .display-5,html[data-netbox-color-mode=light] .display-5{font-size:3rem}}@media print{html .display-6,html[data-netbox-color-mode=dark] .display-6,html[data-netbox-color-mode=light] .display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}}@media print and (min-width: 1200px){html .display-6,html[data-netbox-color-mode=dark] .display-6,html[data-netbox-color-mode=light] .display-6{font-size:2.5rem}}@media print{html .list-unstyled,html[data-netbox-color-mode=dark] .list-unstyled,html[data-netbox-color-mode=light] .list-unstyled{padding-left:0;list-style:none}}@media print{html .list-inline,html[data-netbox-color-mode=dark] .list-inline,html[data-netbox-color-mode=light] .list-inline{padding-left:0;list-style:none}}@media print{html .list-inline-item,html[data-netbox-color-mode=dark] .list-inline-item,html[data-netbox-color-mode=light] .list-inline-item{display:inline-block}html .list-inline-item:not(:last-child),html[data-netbox-color-mode=dark] .list-inline-item:not(:last-child),html[data-netbox-color-mode=light] .list-inline-item:not(:last-child){margin-right:.5rem}}@media print{html .initialism,html[data-netbox-color-mode=dark] .initialism,html[data-netbox-color-mode=light] .initialism{font-size:.875em;text-transform:uppercase}}@media print{html .blockquote,html[data-netbox-color-mode=dark] .blockquote,html[data-netbox-color-mode=light] .blockquote{margin-bottom:1rem;font-size:1.25rem}html .blockquote>:last-child,html[data-netbox-color-mode=dark] .blockquote>:last-child,html[data-netbox-color-mode=light] .blockquote>:last-child{margin-bottom:0}}@media print{html .blockquote-footer,html[data-netbox-color-mode=dark] .blockquote-footer,html[data-netbox-color-mode=light] .blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}html .blockquote-footer:before,html[data-netbox-color-mode=dark] .blockquote-footer:before,html[data-netbox-color-mode=light] .blockquote-footer:before{content:"\2014\a0"}}@media print{html .img-fluid,html[data-netbox-color-mode=dark] .img-fluid,html[data-netbox-color-mode=light] .img-fluid{max-width:100%;height:auto}}@media print{html .img-thumbnail,html[data-netbox-color-mode=dark] .img-thumbnail,html[data-netbox-color-mode=light] .img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.375rem;max-width:100%;height:auto}}@media print{html .figure,html[data-netbox-color-mode=dark] .figure,html[data-netbox-color-mode=light] .figure{display:inline-block}}@media print{html .figure-img,html[data-netbox-color-mode=dark] .figure-img,html[data-netbox-color-mode=light] .figure-img{margin-bottom:.5rem;line-height:1}}@media print{html .figure-caption,html[data-netbox-color-mode=dark] .figure-caption,html[data-netbox-color-mode=light] .figure-caption{font-size:.875em;color:#6c757d}}@media print{html .container,html .container-fluid,html .container-xxl,html[data-netbox-color-mode=dark] .container-xxl,html[data-netbox-color-mode=light] .container-xxl,html .container-xl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=light] .container-xl,html .container-lg,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=light] .container-lg,html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=dark] .container-fluid,html[data-netbox-color-mode=light] .container,html[data-netbox-color-mode=light] .container-fluid{width:100%;padding-right:var(--bs-gutter-x, .75rem);padding-left:var(--bs-gutter-x, .75rem);margin-right:auto;margin-left:auto}}@media print and (min-width: 576px){html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:540px}}@media print and (min-width: 768px){html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:720px}}@media print and (min-width: 992px){html .container-lg,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=light] .container-lg,html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:960px}}@media print and (min-width: 1200px){html .container-xl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=light] .container-xl,html .container-lg,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=light] .container-lg,html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:1140px}}@media print and (min-width: 1400px){html .container-xxl,html[data-netbox-color-mode=dark] .container-xxl,html[data-netbox-color-mode=light] .container-xxl,html .container-xl,html[data-netbox-color-mode=dark] .container-xl,html[data-netbox-color-mode=light] .container-xl,html .container-lg,html[data-netbox-color-mode=dark] .container-lg,html[data-netbox-color-mode=light] .container-lg,html .container-md,html[data-netbox-color-mode=dark] .container-md,html[data-netbox-color-mode=light] .container-md,html .container-sm,html[data-netbox-color-mode=dark] .container-sm,html[data-netbox-color-mode=light] .container-sm,html .container,html[data-netbox-color-mode=dark] .container,html[data-netbox-color-mode=light] .container{max-width:1320px}}@media print{html .row,html[data-netbox-color-mode=dark] .row,html[data-netbox-color-mode=light] .row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}html .row>*,html[data-netbox-color-mode=dark] .row>*,html[data-netbox-color-mode=light] .row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}}@media print{html .col,html[data-netbox-color-mode=dark] .col,html[data-netbox-color-mode=light] .col{flex:1 0 0%}}@media print{html .row-cols-auto>*,html[data-netbox-color-mode=dark] .row-cols-auto>*,html[data-netbox-color-mode=light] .row-cols-auto>*{flex:0 0 auto;width:auto}}@media print{html .row-cols-1>*,html[data-netbox-color-mode=dark] .row-cols-1>*,html[data-netbox-color-mode=light] .row-cols-1>*{flex:0 0 auto;width:100%}}@media print{html .row-cols-2>*,html[data-netbox-color-mode=dark] .row-cols-2>*,html[data-netbox-color-mode=light] .row-cols-2>*{flex:0 0 auto;width:50%}}@media print{html .row-cols-3>*,html[data-netbox-color-mode=dark] .row-cols-3>*,html[data-netbox-color-mode=light] .row-cols-3>*{flex:0 0 auto;width:33.3333333333%}}@media print{html .row-cols-4>*,html[data-netbox-color-mode=dark] .row-cols-4>*,html[data-netbox-color-mode=light] .row-cols-4>*{flex:0 0 auto;width:25%}}@media print{html .row-cols-5>*,html[data-netbox-color-mode=dark] .row-cols-5>*,html[data-netbox-color-mode=light] .row-cols-5>*{flex:0 0 auto;width:20%}}@media print{html .row-cols-6>*,html[data-netbox-color-mode=dark] .row-cols-6>*,html[data-netbox-color-mode=light] .row-cols-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 576px){html .col-sm,html[data-netbox-color-mode=dark] .col-sm,html[data-netbox-color-mode=light] .col-sm{flex:1 0 0%}html .row-cols-sm-auto>*,html[data-netbox-color-mode=dark] .row-cols-sm-auto>*,html[data-netbox-color-mode=light] .row-cols-sm-auto>*{flex:0 0 auto;width:auto}html .row-cols-sm-1>*,html[data-netbox-color-mode=dark] .row-cols-sm-1>*,html[data-netbox-color-mode=light] .row-cols-sm-1>*{flex:0 0 auto;width:100%}html .row-cols-sm-2>*,html[data-netbox-color-mode=dark] .row-cols-sm-2>*,html[data-netbox-color-mode=light] .row-cols-sm-2>*{flex:0 0 auto;width:50%}html .row-cols-sm-3>*,html[data-netbox-color-mode=dark] .row-cols-sm-3>*,html[data-netbox-color-mode=light] .row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-sm-4>*,html[data-netbox-color-mode=dark] .row-cols-sm-4>*,html[data-netbox-color-mode=light] .row-cols-sm-4>*{flex:0 0 auto;width:25%}html .row-cols-sm-5>*,html[data-netbox-color-mode=dark] .row-cols-sm-5>*,html[data-netbox-color-mode=light] .row-cols-sm-5>*{flex:0 0 auto;width:20%}html .row-cols-sm-6>*,html[data-netbox-color-mode=dark] .row-cols-sm-6>*,html[data-netbox-color-mode=light] .row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 768px){html .col-md,html[data-netbox-color-mode=dark] .col-md,html[data-netbox-color-mode=light] .col-md{flex:1 0 0%}html .row-cols-md-auto>*,html[data-netbox-color-mode=dark] .row-cols-md-auto>*,html[data-netbox-color-mode=light] .row-cols-md-auto>*{flex:0 0 auto;width:auto}html .row-cols-md-1>*,html[data-netbox-color-mode=dark] .row-cols-md-1>*,html[data-netbox-color-mode=light] .row-cols-md-1>*{flex:0 0 auto;width:100%}html .row-cols-md-2>*,html[data-netbox-color-mode=dark] .row-cols-md-2>*,html[data-netbox-color-mode=light] .row-cols-md-2>*{flex:0 0 auto;width:50%}html .row-cols-md-3>*,html[data-netbox-color-mode=dark] .row-cols-md-3>*,html[data-netbox-color-mode=light] .row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-md-4>*,html[data-netbox-color-mode=dark] .row-cols-md-4>*,html[data-netbox-color-mode=light] .row-cols-md-4>*{flex:0 0 auto;width:25%}html .row-cols-md-5>*,html[data-netbox-color-mode=dark] .row-cols-md-5>*,html[data-netbox-color-mode=light] .row-cols-md-5>*{flex:0 0 auto;width:20%}html .row-cols-md-6>*,html[data-netbox-color-mode=dark] .row-cols-md-6>*,html[data-netbox-color-mode=light] .row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 992px){html .col-lg,html[data-netbox-color-mode=dark] .col-lg,html[data-netbox-color-mode=light] .col-lg{flex:1 0 0%}html .row-cols-lg-auto>*,html[data-netbox-color-mode=dark] .row-cols-lg-auto>*,html[data-netbox-color-mode=light] .row-cols-lg-auto>*{flex:0 0 auto;width:auto}html .row-cols-lg-1>*,html[data-netbox-color-mode=dark] .row-cols-lg-1>*,html[data-netbox-color-mode=light] .row-cols-lg-1>*{flex:0 0 auto;width:100%}html .row-cols-lg-2>*,html[data-netbox-color-mode=dark] .row-cols-lg-2>*,html[data-netbox-color-mode=light] .row-cols-lg-2>*{flex:0 0 auto;width:50%}html .row-cols-lg-3>*,html[data-netbox-color-mode=dark] .row-cols-lg-3>*,html[data-netbox-color-mode=light] .row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-lg-4>*,html[data-netbox-color-mode=dark] .row-cols-lg-4>*,html[data-netbox-color-mode=light] .row-cols-lg-4>*{flex:0 0 auto;width:25%}html .row-cols-lg-5>*,html[data-netbox-color-mode=dark] .row-cols-lg-5>*,html[data-netbox-color-mode=light] .row-cols-lg-5>*{flex:0 0 auto;width:20%}html .row-cols-lg-6>*,html[data-netbox-color-mode=dark] .row-cols-lg-6>*,html[data-netbox-color-mode=light] .row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 1200px){html .col-xl,html[data-netbox-color-mode=dark] .col-xl,html[data-netbox-color-mode=light] .col-xl{flex:1 0 0%}html .row-cols-xl-auto>*,html[data-netbox-color-mode=dark] .row-cols-xl-auto>*,html[data-netbox-color-mode=light] .row-cols-xl-auto>*{flex:0 0 auto;width:auto}html .row-cols-xl-1>*,html[data-netbox-color-mode=dark] .row-cols-xl-1>*,html[data-netbox-color-mode=light] .row-cols-xl-1>*{flex:0 0 auto;width:100%}html .row-cols-xl-2>*,html[data-netbox-color-mode=dark] .row-cols-xl-2>*,html[data-netbox-color-mode=light] .row-cols-xl-2>*{flex:0 0 auto;width:50%}html .row-cols-xl-3>*,html[data-netbox-color-mode=dark] .row-cols-xl-3>*,html[data-netbox-color-mode=light] .row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-xl-4>*,html[data-netbox-color-mode=dark] .row-cols-xl-4>*,html[data-netbox-color-mode=light] .row-cols-xl-4>*{flex:0 0 auto;width:25%}html .row-cols-xl-5>*,html[data-netbox-color-mode=dark] .row-cols-xl-5>*,html[data-netbox-color-mode=light] .row-cols-xl-5>*{flex:0 0 auto;width:20%}html .row-cols-xl-6>*,html[data-netbox-color-mode=dark] .row-cols-xl-6>*,html[data-netbox-color-mode=light] .row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media print and (min-width: 1400px){html .col-xxl,html[data-netbox-color-mode=dark] .col-xxl,html[data-netbox-color-mode=light] .col-xxl{flex:1 0 0%}html .row-cols-xxl-auto>*,html[data-netbox-color-mode=dark] .row-cols-xxl-auto>*,html[data-netbox-color-mode=light] .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}html .row-cols-xxl-1>*,html[data-netbox-color-mode=dark] .row-cols-xxl-1>*,html[data-netbox-color-mode=light] .row-cols-xxl-1>*{flex:0 0 auto;width:100%}html .row-cols-xxl-2>*,html[data-netbox-color-mode=dark] .row-cols-xxl-2>*,html[data-netbox-color-mode=light] .row-cols-xxl-2>*{flex:0 0 auto;width:50%}html .row-cols-xxl-3>*,html[data-netbox-color-mode=dark] .row-cols-xxl-3>*,html[data-netbox-color-mode=light] .row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}html .row-cols-xxl-4>*,html[data-netbox-color-mode=dark] .row-cols-xxl-4>*,html[data-netbox-color-mode=light] .row-cols-xxl-4>*{flex:0 0 auto;width:25%}html .row-cols-xxl-5>*,html[data-netbox-color-mode=dark] .row-cols-xxl-5>*,html[data-netbox-color-mode=light] .row-cols-xxl-5>*{flex:0 0 auto;width:20%}html .row-cols-xxl-6>*,html[data-netbox-color-mode=dark] .row-cols-xxl-6>*,html[data-netbox-color-mode=light] .row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}@media print{html .col-auto,html[data-netbox-color-mode=dark] .col-auto,html[data-netbox-color-mode=light] .col-auto{flex:0 0 auto;width:auto}}@media print{html .col-1,html[data-netbox-color-mode=dark] .col-1,html[data-netbox-color-mode=light] .col-1{flex:0 0 auto;width:8.33333333%}}@media print{html .col-2,html[data-netbox-color-mode=dark] .col-2,html[data-netbox-color-mode=light] .col-2{flex:0 0 auto;width:16.66666667%}}@media print{html .col-3,html[data-netbox-color-mode=dark] .col-3,html[data-netbox-color-mode=light] .col-3{flex:0 0 auto;width:25%}}@media print{html .col-4,html[data-netbox-color-mode=dark] .col-4,html[data-netbox-color-mode=light] .col-4{flex:0 0 auto;width:33.33333333%}}@media print{html .col-5,html[data-netbox-color-mode=dark] .col-5,html[data-netbox-color-mode=light] .col-5{flex:0 0 auto;width:41.66666667%}}@media print{html .col-6,html[data-netbox-color-mode=dark] .col-6,html[data-netbox-color-mode=light] .col-6{flex:0 0 auto;width:50%}}@media print{html .col-7,html[data-netbox-color-mode=dark] .col-7,html[data-netbox-color-mode=light] .col-7{flex:0 0 auto;width:58.33333333%}}@media print{html .col-8,html[data-netbox-color-mode=dark] .col-8,html[data-netbox-color-mode=light] .col-8{flex:0 0 auto;width:66.66666667%}}@media print{html .col-9,html[data-netbox-color-mode=dark] .col-9,html[data-netbox-color-mode=light] .col-9{flex:0 0 auto;width:75%}}@media print{html .col-10,html[data-netbox-color-mode=dark] .col-10,html[data-netbox-color-mode=light] .col-10{flex:0 0 auto;width:83.33333333%}}@media print{html .col-11,html[data-netbox-color-mode=dark] .col-11,html[data-netbox-color-mode=light] .col-11{flex:0 0 auto;width:91.66666667%}}@media print{html .col-12,html[data-netbox-color-mode=dark] .col-12,html[data-netbox-color-mode=light] .col-12{flex:0 0 auto;width:100%}}@media print{html .offset-1,html[data-netbox-color-mode=dark] .offset-1,html[data-netbox-color-mode=light] .offset-1{margin-left:8.33333333%}}@media print{html .offset-2,html[data-netbox-color-mode=dark] .offset-2,html[data-netbox-color-mode=light] .offset-2{margin-left:16.66666667%}}@media print{html .offset-3,html[data-netbox-color-mode=dark] .offset-3,html[data-netbox-color-mode=light] .offset-3{margin-left:25%}}@media print{html .offset-4,html[data-netbox-color-mode=dark] .offset-4,html[data-netbox-color-mode=light] .offset-4{margin-left:33.33333333%}}@media print{html .offset-5,html[data-netbox-color-mode=dark] .offset-5,html[data-netbox-color-mode=light] .offset-5{margin-left:41.66666667%}}@media print{html .offset-6,html[data-netbox-color-mode=dark] .offset-6,html[data-netbox-color-mode=light] .offset-6{margin-left:50%}}@media print{html .offset-7,html[data-netbox-color-mode=dark] .offset-7,html[data-netbox-color-mode=light] .offset-7{margin-left:58.33333333%}}@media print{html .offset-8,html[data-netbox-color-mode=dark] .offset-8,html[data-netbox-color-mode=light] .offset-8{margin-left:66.66666667%}}@media print{html .offset-9,html[data-netbox-color-mode=dark] .offset-9,html[data-netbox-color-mode=light] .offset-9{margin-left:75%}}@media print{html .offset-10,html[data-netbox-color-mode=dark] .offset-10,html[data-netbox-color-mode=light] .offset-10{margin-left:83.33333333%}}@media print{html .offset-11,html[data-netbox-color-mode=dark] .offset-11,html[data-netbox-color-mode=light] .offset-11{margin-left:91.66666667%}}@media print{html .g-0,html .gx-0,html[data-netbox-color-mode=dark] .g-0,html[data-netbox-color-mode=dark] .gx-0,html[data-netbox-color-mode=light] .g-0,html[data-netbox-color-mode=light] .gx-0{--bs-gutter-x: 0}}@media print{html .g-0,html .gy-0,html[data-netbox-color-mode=dark] .g-0,html[data-netbox-color-mode=dark] .gy-0,html[data-netbox-color-mode=light] .g-0,html[data-netbox-color-mode=light] .gy-0{--bs-gutter-y: 0}}@media print{html .g-1,html .gx-1,html[data-netbox-color-mode=dark] .g-1,html[data-netbox-color-mode=dark] .gx-1,html[data-netbox-color-mode=light] .g-1,html[data-netbox-color-mode=light] .gx-1{--bs-gutter-x: .25rem}}@media print{html .g-1,html .gy-1,html[data-netbox-color-mode=dark] .g-1,html[data-netbox-color-mode=dark] .gy-1,html[data-netbox-color-mode=light] .g-1,html[data-netbox-color-mode=light] .gy-1{--bs-gutter-y: .25rem}}@media print{html .g-2,html .gx-2,html[data-netbox-color-mode=dark] .g-2,html[data-netbox-color-mode=dark] .gx-2,html[data-netbox-color-mode=light] .g-2,html[data-netbox-color-mode=light] .gx-2{--bs-gutter-x: .5rem}}@media print{html .g-2,html .gy-2,html[data-netbox-color-mode=dark] .g-2,html[data-netbox-color-mode=dark] .gy-2,html[data-netbox-color-mode=light] .g-2,html[data-netbox-color-mode=light] .gy-2{--bs-gutter-y: .5rem}}@media print{html .g-3,html .gx-3,html[data-netbox-color-mode=dark] .g-3,html[data-netbox-color-mode=dark] .gx-3,html[data-netbox-color-mode=light] .g-3,html[data-netbox-color-mode=light] .gx-3{--bs-gutter-x: 1rem}}@media print{html .g-3,html .gy-3,html[data-netbox-color-mode=dark] .g-3,html[data-netbox-color-mode=dark] .gy-3,html[data-netbox-color-mode=light] .g-3,html[data-netbox-color-mode=light] .gy-3{--bs-gutter-y: 1rem}}@media print{html .g-4,html .gx-4,html[data-netbox-color-mode=dark] .g-4,html[data-netbox-color-mode=dark] .gx-4,html[data-netbox-color-mode=light] .g-4,html[data-netbox-color-mode=light] .gx-4{--bs-gutter-x: 1.5rem}}@media print{html .g-4,html .gy-4,html[data-netbox-color-mode=dark] .g-4,html[data-netbox-color-mode=dark] .gy-4,html[data-netbox-color-mode=light] .g-4,html[data-netbox-color-mode=light] .gy-4{--bs-gutter-y: 1.5rem}}@media print{html .g-5,html .gx-5,html[data-netbox-color-mode=dark] .g-5,html[data-netbox-color-mode=dark] .gx-5,html[data-netbox-color-mode=light] .g-5,html[data-netbox-color-mode=light] .gx-5{--bs-gutter-x: 3rem}}@media print{html .g-5,html .gy-5,html[data-netbox-color-mode=dark] .g-5,html[data-netbox-color-mode=dark] .gy-5,html[data-netbox-color-mode=light] .g-5,html[data-netbox-color-mode=light] .gy-5{--bs-gutter-y: 3rem}}@media print and (min-width: 576px){html .col-sm-auto,html[data-netbox-color-mode=dark] .col-sm-auto,html[data-netbox-color-mode=light] .col-sm-auto{flex:0 0 auto;width:auto}html .col-sm-1,html[data-netbox-color-mode=dark] .col-sm-1,html[data-netbox-color-mode=light] .col-sm-1{flex:0 0 auto;width:8.33333333%}html .col-sm-2,html[data-netbox-color-mode=dark] .col-sm-2,html[data-netbox-color-mode=light] .col-sm-2{flex:0 0 auto;width:16.66666667%}html .col-sm-3,html[data-netbox-color-mode=dark] .col-sm-3,html[data-netbox-color-mode=light] .col-sm-3{flex:0 0 auto;width:25%}html .col-sm-4,html[data-netbox-color-mode=dark] .col-sm-4,html[data-netbox-color-mode=light] .col-sm-4{flex:0 0 auto;width:33.33333333%}html .col-sm-5,html[data-netbox-color-mode=dark] .col-sm-5,html[data-netbox-color-mode=light] .col-sm-5{flex:0 0 auto;width:41.66666667%}html .col-sm-6,html[data-netbox-color-mode=dark] .col-sm-6,html[data-netbox-color-mode=light] .col-sm-6{flex:0 0 auto;width:50%}html .col-sm-7,html[data-netbox-color-mode=dark] .col-sm-7,html[data-netbox-color-mode=light] .col-sm-7{flex:0 0 auto;width:58.33333333%}html .col-sm-8,html[data-netbox-color-mode=dark] .col-sm-8,html[data-netbox-color-mode=light] .col-sm-8{flex:0 0 auto;width:66.66666667%}html .col-sm-9,html[data-netbox-color-mode=dark] .col-sm-9,html[data-netbox-color-mode=light] .col-sm-9{flex:0 0 auto;width:75%}html .col-sm-10,html[data-netbox-color-mode=dark] .col-sm-10,html[data-netbox-color-mode=light] .col-sm-10{flex:0 0 auto;width:83.33333333%}html .col-sm-11,html[data-netbox-color-mode=dark] .col-sm-11,html[data-netbox-color-mode=light] .col-sm-11{flex:0 0 auto;width:91.66666667%}html .col-sm-12,html[data-netbox-color-mode=dark] .col-sm-12,html[data-netbox-color-mode=light] .col-sm-12{flex:0 0 auto;width:100%}html .offset-sm-0,html[data-netbox-color-mode=dark] .offset-sm-0,html[data-netbox-color-mode=light] .offset-sm-0{margin-left:0}html .offset-sm-1,html[data-netbox-color-mode=dark] .offset-sm-1,html[data-netbox-color-mode=light] .offset-sm-1{margin-left:8.33333333%}html .offset-sm-2,html[data-netbox-color-mode=dark] .offset-sm-2,html[data-netbox-color-mode=light] .offset-sm-2{margin-left:16.66666667%}html .offset-sm-3,html[data-netbox-color-mode=dark] .offset-sm-3,html[data-netbox-color-mode=light] .offset-sm-3{margin-left:25%}html .offset-sm-4,html[data-netbox-color-mode=dark] .offset-sm-4,html[data-netbox-color-mode=light] .offset-sm-4{margin-left:33.33333333%}html .offset-sm-5,html[data-netbox-color-mode=dark] .offset-sm-5,html[data-netbox-color-mode=light] .offset-sm-5{margin-left:41.66666667%}html .offset-sm-6,html[data-netbox-color-mode=dark] .offset-sm-6,html[data-netbox-color-mode=light] .offset-sm-6{margin-left:50%}html .offset-sm-7,html[data-netbox-color-mode=dark] .offset-sm-7,html[data-netbox-color-mode=light] .offset-sm-7{margin-left:58.33333333%}html .offset-sm-8,html[data-netbox-color-mode=dark] .offset-sm-8,html[data-netbox-color-mode=light] .offset-sm-8{margin-left:66.66666667%}html .offset-sm-9,html[data-netbox-color-mode=dark] .offset-sm-9,html[data-netbox-color-mode=light] .offset-sm-9{margin-left:75%}html .offset-sm-10,html[data-netbox-color-mode=dark] .offset-sm-10,html[data-netbox-color-mode=light] .offset-sm-10{margin-left:83.33333333%}html .offset-sm-11,html[data-netbox-color-mode=dark] .offset-sm-11,html[data-netbox-color-mode=light] .offset-sm-11{margin-left:91.66666667%}html .g-sm-0,html .gx-sm-0,html[data-netbox-color-mode=dark] .g-sm-0,html[data-netbox-color-mode=dark] .gx-sm-0,html[data-netbox-color-mode=light] .g-sm-0,html[data-netbox-color-mode=light] .gx-sm-0{--bs-gutter-x: 0}html .g-sm-0,html .gy-sm-0,html[data-netbox-color-mode=dark] .g-sm-0,html[data-netbox-color-mode=dark] .gy-sm-0,html[data-netbox-color-mode=light] .g-sm-0,html[data-netbox-color-mode=light] .gy-sm-0{--bs-gutter-y: 0}html .g-sm-1,html .gx-sm-1,html[data-netbox-color-mode=dark] .g-sm-1,html[data-netbox-color-mode=dark] .gx-sm-1,html[data-netbox-color-mode=light] .g-sm-1,html[data-netbox-color-mode=light] .gx-sm-1{--bs-gutter-x: .25rem}html .g-sm-1,html .gy-sm-1,html[data-netbox-color-mode=dark] .g-sm-1,html[data-netbox-color-mode=dark] .gy-sm-1,html[data-netbox-color-mode=light] .g-sm-1,html[data-netbox-color-mode=light] .gy-sm-1{--bs-gutter-y: .25rem}html .g-sm-2,html .gx-sm-2,html[data-netbox-color-mode=dark] .g-sm-2,html[data-netbox-color-mode=dark] .gx-sm-2,html[data-netbox-color-mode=light] .g-sm-2,html[data-netbox-color-mode=light] .gx-sm-2{--bs-gutter-x: .5rem}html .g-sm-2,html .gy-sm-2,html[data-netbox-color-mode=dark] .g-sm-2,html[data-netbox-color-mode=dark] .gy-sm-2,html[data-netbox-color-mode=light] .g-sm-2,html[data-netbox-color-mode=light] .gy-sm-2{--bs-gutter-y: .5rem}html .g-sm-3,html .gx-sm-3,html[data-netbox-color-mode=dark] .g-sm-3,html[data-netbox-color-mode=dark] .gx-sm-3,html[data-netbox-color-mode=light] .g-sm-3,html[data-netbox-color-mode=light] .gx-sm-3{--bs-gutter-x: 1rem}html .g-sm-3,html .gy-sm-3,html[data-netbox-color-mode=dark] .g-sm-3,html[data-netbox-color-mode=dark] .gy-sm-3,html[data-netbox-color-mode=light] .g-sm-3,html[data-netbox-color-mode=light] .gy-sm-3{--bs-gutter-y: 1rem}html .g-sm-4,html .gx-sm-4,html[data-netbox-color-mode=dark] .g-sm-4,html[data-netbox-color-mode=dark] .gx-sm-4,html[data-netbox-color-mode=light] .g-sm-4,html[data-netbox-color-mode=light] .gx-sm-4{--bs-gutter-x: 1.5rem}html .g-sm-4,html .gy-sm-4,html[data-netbox-color-mode=dark] .g-sm-4,html[data-netbox-color-mode=dark] .gy-sm-4,html[data-netbox-color-mode=light] .g-sm-4,html[data-netbox-color-mode=light] .gy-sm-4{--bs-gutter-y: 1.5rem}html .g-sm-5,html .gx-sm-5,html[data-netbox-color-mode=dark] .g-sm-5,html[data-netbox-color-mode=dark] .gx-sm-5,html[data-netbox-color-mode=light] .g-sm-5,html[data-netbox-color-mode=light] .gx-sm-5{--bs-gutter-x: 3rem}html .g-sm-5,html .gy-sm-5,html[data-netbox-color-mode=dark] .g-sm-5,html[data-netbox-color-mode=dark] .gy-sm-5,html[data-netbox-color-mode=light] .g-sm-5,html[data-netbox-color-mode=light] .gy-sm-5{--bs-gutter-y: 3rem}}@media print and (min-width: 768px){html .col-md-auto,html[data-netbox-color-mode=dark] .col-md-auto,html[data-netbox-color-mode=light] .col-md-auto{flex:0 0 auto;width:auto}html .col-md-1,html[data-netbox-color-mode=dark] .col-md-1,html[data-netbox-color-mode=light] .col-md-1{flex:0 0 auto;width:8.33333333%}html .col-md-2,html[data-netbox-color-mode=dark] .col-md-2,html[data-netbox-color-mode=light] .col-md-2{flex:0 0 auto;width:16.66666667%}html .col-md-3,html[data-netbox-color-mode=dark] .col-md-3,html[data-netbox-color-mode=light] .col-md-3{flex:0 0 auto;width:25%}html .col-md-4,html[data-netbox-color-mode=dark] .col-md-4,html[data-netbox-color-mode=light] .col-md-4{flex:0 0 auto;width:33.33333333%}html .col-md-5,html[data-netbox-color-mode=dark] .col-md-5,html[data-netbox-color-mode=light] .col-md-5{flex:0 0 auto;width:41.66666667%}html .col-md-6,html[data-netbox-color-mode=dark] .col-md-6,html[data-netbox-color-mode=light] .col-md-6{flex:0 0 auto;width:50%}html .col-md-7,html[data-netbox-color-mode=dark] .col-md-7,html[data-netbox-color-mode=light] .col-md-7{flex:0 0 auto;width:58.33333333%}html .col-md-8,html[data-netbox-color-mode=dark] .col-md-8,html[data-netbox-color-mode=light] .col-md-8{flex:0 0 auto;width:66.66666667%}html .col-md-9,html[data-netbox-color-mode=dark] .col-md-9,html[data-netbox-color-mode=light] .col-md-9{flex:0 0 auto;width:75%}html .col-md-10,html[data-netbox-color-mode=dark] .col-md-10,html[data-netbox-color-mode=light] .col-md-10{flex:0 0 auto;width:83.33333333%}html .col-md-11,html[data-netbox-color-mode=dark] .col-md-11,html[data-netbox-color-mode=light] .col-md-11{flex:0 0 auto;width:91.66666667%}html .col-md-12,html[data-netbox-color-mode=dark] .col-md-12,html[data-netbox-color-mode=light] .col-md-12{flex:0 0 auto;width:100%}html .offset-md-0,html[data-netbox-color-mode=dark] .offset-md-0,html[data-netbox-color-mode=light] .offset-md-0{margin-left:0}html .offset-md-1,html[data-netbox-color-mode=dark] .offset-md-1,html[data-netbox-color-mode=light] .offset-md-1{margin-left:8.33333333%}html .offset-md-2,html[data-netbox-color-mode=dark] .offset-md-2,html[data-netbox-color-mode=light] .offset-md-2{margin-left:16.66666667%}html .offset-md-3,html[data-netbox-color-mode=dark] .offset-md-3,html[data-netbox-color-mode=light] .offset-md-3{margin-left:25%}html .offset-md-4,html[data-netbox-color-mode=dark] .offset-md-4,html[data-netbox-color-mode=light] .offset-md-4{margin-left:33.33333333%}html .offset-md-5,html[data-netbox-color-mode=dark] .offset-md-5,html[data-netbox-color-mode=light] .offset-md-5{margin-left:41.66666667%}html .offset-md-6,html[data-netbox-color-mode=dark] .offset-md-6,html[data-netbox-color-mode=light] .offset-md-6{margin-left:50%}html .offset-md-7,html[data-netbox-color-mode=dark] .offset-md-7,html[data-netbox-color-mode=light] .offset-md-7{margin-left:58.33333333%}html .offset-md-8,html[data-netbox-color-mode=dark] .offset-md-8,html[data-netbox-color-mode=light] .offset-md-8{margin-left:66.66666667%}html .offset-md-9,html[data-netbox-color-mode=dark] .offset-md-9,html[data-netbox-color-mode=light] .offset-md-9{margin-left:75%}html .offset-md-10,html[data-netbox-color-mode=dark] .offset-md-10,html[data-netbox-color-mode=light] .offset-md-10{margin-left:83.33333333%}html .offset-md-11,html[data-netbox-color-mode=dark] .offset-md-11,html[data-netbox-color-mode=light] .offset-md-11{margin-left:91.66666667%}html .g-md-0,html .gx-md-0,html[data-netbox-color-mode=dark] .g-md-0,html[data-netbox-color-mode=dark] .gx-md-0,html[data-netbox-color-mode=light] .g-md-0,html[data-netbox-color-mode=light] .gx-md-0{--bs-gutter-x: 0}html .g-md-0,html .gy-md-0,html[data-netbox-color-mode=dark] .g-md-0,html[data-netbox-color-mode=dark] .gy-md-0,html[data-netbox-color-mode=light] .g-md-0,html[data-netbox-color-mode=light] .gy-md-0{--bs-gutter-y: 0}html .g-md-1,html .gx-md-1,html[data-netbox-color-mode=dark] .g-md-1,html[data-netbox-color-mode=dark] .gx-md-1,html[data-netbox-color-mode=light] .g-md-1,html[data-netbox-color-mode=light] .gx-md-1{--bs-gutter-x: .25rem}html .g-md-1,html .gy-md-1,html[data-netbox-color-mode=dark] .g-md-1,html[data-netbox-color-mode=dark] .gy-md-1,html[data-netbox-color-mode=light] .g-md-1,html[data-netbox-color-mode=light] .gy-md-1{--bs-gutter-y: .25rem}html .g-md-2,html .gx-md-2,html[data-netbox-color-mode=dark] .g-md-2,html[data-netbox-color-mode=dark] .gx-md-2,html[data-netbox-color-mode=light] .g-md-2,html[data-netbox-color-mode=light] .gx-md-2{--bs-gutter-x: .5rem}html .g-md-2,html .gy-md-2,html[data-netbox-color-mode=dark] .g-md-2,html[data-netbox-color-mode=dark] .gy-md-2,html[data-netbox-color-mode=light] .g-md-2,html[data-netbox-color-mode=light] .gy-md-2{--bs-gutter-y: .5rem}html .g-md-3,html .gx-md-3,html[data-netbox-color-mode=dark] .g-md-3,html[data-netbox-color-mode=dark] .gx-md-3,html[data-netbox-color-mode=light] .g-md-3,html[data-netbox-color-mode=light] .gx-md-3{--bs-gutter-x: 1rem}html .g-md-3,html .gy-md-3,html[data-netbox-color-mode=dark] .g-md-3,html[data-netbox-color-mode=dark] .gy-md-3,html[data-netbox-color-mode=light] .g-md-3,html[data-netbox-color-mode=light] .gy-md-3{--bs-gutter-y: 1rem}html .g-md-4,html .gx-md-4,html[data-netbox-color-mode=dark] .g-md-4,html[data-netbox-color-mode=dark] .gx-md-4,html[data-netbox-color-mode=light] .g-md-4,html[data-netbox-color-mode=light] .gx-md-4{--bs-gutter-x: 1.5rem}html .g-md-4,html .gy-md-4,html[data-netbox-color-mode=dark] .g-md-4,html[data-netbox-color-mode=dark] .gy-md-4,html[data-netbox-color-mode=light] .g-md-4,html[data-netbox-color-mode=light] .gy-md-4{--bs-gutter-y: 1.5rem}html .g-md-5,html .gx-md-5,html[data-netbox-color-mode=dark] .g-md-5,html[data-netbox-color-mode=dark] .gx-md-5,html[data-netbox-color-mode=light] .g-md-5,html[data-netbox-color-mode=light] .gx-md-5{--bs-gutter-x: 3rem}html .g-md-5,html .gy-md-5,html[data-netbox-color-mode=dark] .g-md-5,html[data-netbox-color-mode=dark] .gy-md-5,html[data-netbox-color-mode=light] .g-md-5,html[data-netbox-color-mode=light] .gy-md-5{--bs-gutter-y: 3rem}}@media print and (min-width: 992px){html .col-lg-auto,html[data-netbox-color-mode=dark] .col-lg-auto,html[data-netbox-color-mode=light] .col-lg-auto{flex:0 0 auto;width:auto}html .col-lg-1,html[data-netbox-color-mode=dark] .col-lg-1,html[data-netbox-color-mode=light] .col-lg-1{flex:0 0 auto;width:8.33333333%}html .col-lg-2,html[data-netbox-color-mode=dark] .col-lg-2,html[data-netbox-color-mode=light] .col-lg-2{flex:0 0 auto;width:16.66666667%}html .col-lg-3,html[data-netbox-color-mode=dark] .col-lg-3,html[data-netbox-color-mode=light] .col-lg-3{flex:0 0 auto;width:25%}html .col-lg-4,html[data-netbox-color-mode=dark] .col-lg-4,html[data-netbox-color-mode=light] .col-lg-4{flex:0 0 auto;width:33.33333333%}html .col-lg-5,html[data-netbox-color-mode=dark] .col-lg-5,html[data-netbox-color-mode=light] .col-lg-5{flex:0 0 auto;width:41.66666667%}html .col-lg-6,html[data-netbox-color-mode=dark] .col-lg-6,html[data-netbox-color-mode=light] .col-lg-6{flex:0 0 auto;width:50%}html .col-lg-7,html[data-netbox-color-mode=dark] .col-lg-7,html[data-netbox-color-mode=light] .col-lg-7{flex:0 0 auto;width:58.33333333%}html .col-lg-8,html[data-netbox-color-mode=dark] .col-lg-8,html[data-netbox-color-mode=light] .col-lg-8{flex:0 0 auto;width:66.66666667%}html .col-lg-9,html[data-netbox-color-mode=dark] .col-lg-9,html[data-netbox-color-mode=light] .col-lg-9{flex:0 0 auto;width:75%}html .col-lg-10,html[data-netbox-color-mode=dark] .col-lg-10,html[data-netbox-color-mode=light] .col-lg-10{flex:0 0 auto;width:83.33333333%}html .col-lg-11,html[data-netbox-color-mode=dark] .col-lg-11,html[data-netbox-color-mode=light] .col-lg-11{flex:0 0 auto;width:91.66666667%}html .col-lg-12,html[data-netbox-color-mode=dark] .col-lg-12,html[data-netbox-color-mode=light] .col-lg-12{flex:0 0 auto;width:100%}html .offset-lg-0,html[data-netbox-color-mode=dark] .offset-lg-0,html[data-netbox-color-mode=light] .offset-lg-0{margin-left:0}html .offset-lg-1,html[data-netbox-color-mode=dark] .offset-lg-1,html[data-netbox-color-mode=light] .offset-lg-1{margin-left:8.33333333%}html .offset-lg-2,html[data-netbox-color-mode=dark] .offset-lg-2,html[data-netbox-color-mode=light] .offset-lg-2{margin-left:16.66666667%}html .offset-lg-3,html[data-netbox-color-mode=dark] .offset-lg-3,html[data-netbox-color-mode=light] .offset-lg-3{margin-left:25%}html .offset-lg-4,html[data-netbox-color-mode=dark] .offset-lg-4,html[data-netbox-color-mode=light] .offset-lg-4{margin-left:33.33333333%}html .offset-lg-5,html[data-netbox-color-mode=dark] .offset-lg-5,html[data-netbox-color-mode=light] .offset-lg-5{margin-left:41.66666667%}html .offset-lg-6,html[data-netbox-color-mode=dark] .offset-lg-6,html[data-netbox-color-mode=light] .offset-lg-6{margin-left:50%}html .offset-lg-7,html[data-netbox-color-mode=dark] .offset-lg-7,html[data-netbox-color-mode=light] .offset-lg-7{margin-left:58.33333333%}html .offset-lg-8,html[data-netbox-color-mode=dark] .offset-lg-8,html[data-netbox-color-mode=light] .offset-lg-8{margin-left:66.66666667%}html .offset-lg-9,html[data-netbox-color-mode=dark] .offset-lg-9,html[data-netbox-color-mode=light] .offset-lg-9{margin-left:75%}html .offset-lg-10,html[data-netbox-color-mode=dark] .offset-lg-10,html[data-netbox-color-mode=light] .offset-lg-10{margin-left:83.33333333%}html .offset-lg-11,html[data-netbox-color-mode=dark] .offset-lg-11,html[data-netbox-color-mode=light] .offset-lg-11{margin-left:91.66666667%}html .g-lg-0,html .gx-lg-0,html[data-netbox-color-mode=dark] .g-lg-0,html[data-netbox-color-mode=dark] .gx-lg-0,html[data-netbox-color-mode=light] .g-lg-0,html[data-netbox-color-mode=light] .gx-lg-0{--bs-gutter-x: 0}html .g-lg-0,html .gy-lg-0,html[data-netbox-color-mode=dark] .g-lg-0,html[data-netbox-color-mode=dark] .gy-lg-0,html[data-netbox-color-mode=light] .g-lg-0,html[data-netbox-color-mode=light] .gy-lg-0{--bs-gutter-y: 0}html .g-lg-1,html .gx-lg-1,html[data-netbox-color-mode=dark] .g-lg-1,html[data-netbox-color-mode=dark] .gx-lg-1,html[data-netbox-color-mode=light] .g-lg-1,html[data-netbox-color-mode=light] .gx-lg-1{--bs-gutter-x: .25rem}html .g-lg-1,html .gy-lg-1,html[data-netbox-color-mode=dark] .g-lg-1,html[data-netbox-color-mode=dark] .gy-lg-1,html[data-netbox-color-mode=light] .g-lg-1,html[data-netbox-color-mode=light] .gy-lg-1{--bs-gutter-y: .25rem}html .g-lg-2,html .gx-lg-2,html[data-netbox-color-mode=dark] .g-lg-2,html[data-netbox-color-mode=dark] .gx-lg-2,html[data-netbox-color-mode=light] .g-lg-2,html[data-netbox-color-mode=light] .gx-lg-2{--bs-gutter-x: .5rem}html .g-lg-2,html .gy-lg-2,html[data-netbox-color-mode=dark] .g-lg-2,html[data-netbox-color-mode=dark] .gy-lg-2,html[data-netbox-color-mode=light] .g-lg-2,html[data-netbox-color-mode=light] .gy-lg-2{--bs-gutter-y: .5rem}html .g-lg-3,html .gx-lg-3,html[data-netbox-color-mode=dark] .g-lg-3,html[data-netbox-color-mode=dark] .gx-lg-3,html[data-netbox-color-mode=light] .g-lg-3,html[data-netbox-color-mode=light] .gx-lg-3{--bs-gutter-x: 1rem}html .g-lg-3,html .gy-lg-3,html[data-netbox-color-mode=dark] .g-lg-3,html[data-netbox-color-mode=dark] .gy-lg-3,html[data-netbox-color-mode=light] .g-lg-3,html[data-netbox-color-mode=light] .gy-lg-3{--bs-gutter-y: 1rem}html .g-lg-4,html .gx-lg-4,html[data-netbox-color-mode=dark] .g-lg-4,html[data-netbox-color-mode=dark] .gx-lg-4,html[data-netbox-color-mode=light] .g-lg-4,html[data-netbox-color-mode=light] .gx-lg-4{--bs-gutter-x: 1.5rem}html .g-lg-4,html .gy-lg-4,html[data-netbox-color-mode=dark] .g-lg-4,html[data-netbox-color-mode=dark] .gy-lg-4,html[data-netbox-color-mode=light] .g-lg-4,html[data-netbox-color-mode=light] .gy-lg-4{--bs-gutter-y: 1.5rem}html .g-lg-5,html .gx-lg-5,html[data-netbox-color-mode=dark] .g-lg-5,html[data-netbox-color-mode=dark] .gx-lg-5,html[data-netbox-color-mode=light] .g-lg-5,html[data-netbox-color-mode=light] .gx-lg-5{--bs-gutter-x: 3rem}html .g-lg-5,html .gy-lg-5,html[data-netbox-color-mode=dark] .g-lg-5,html[data-netbox-color-mode=dark] .gy-lg-5,html[data-netbox-color-mode=light] .g-lg-5,html[data-netbox-color-mode=light] .gy-lg-5{--bs-gutter-y: 3rem}}@media print and (min-width: 1200px){html .col-xl-auto,html[data-netbox-color-mode=dark] .col-xl-auto,html[data-netbox-color-mode=light] .col-xl-auto{flex:0 0 auto;width:auto}html .col-xl-1,html[data-netbox-color-mode=dark] .col-xl-1,html[data-netbox-color-mode=light] .col-xl-1{flex:0 0 auto;width:8.33333333%}html .col-xl-2,html[data-netbox-color-mode=dark] .col-xl-2,html[data-netbox-color-mode=light] .col-xl-2{flex:0 0 auto;width:16.66666667%}html .col-xl-3,html[data-netbox-color-mode=dark] .col-xl-3,html[data-netbox-color-mode=light] .col-xl-3{flex:0 0 auto;width:25%}html .col-xl-4,html[data-netbox-color-mode=dark] .col-xl-4,html[data-netbox-color-mode=light] .col-xl-4{flex:0 0 auto;width:33.33333333%}html .col-xl-5,html[data-netbox-color-mode=dark] .col-xl-5,html[data-netbox-color-mode=light] .col-xl-5{flex:0 0 auto;width:41.66666667%}html .col-xl-6,html[data-netbox-color-mode=dark] .col-xl-6,html[data-netbox-color-mode=light] .col-xl-6{flex:0 0 auto;width:50%}html .col-xl-7,html[data-netbox-color-mode=dark] .col-xl-7,html[data-netbox-color-mode=light] .col-xl-7{flex:0 0 auto;width:58.33333333%}html .col-xl-8,html[data-netbox-color-mode=dark] .col-xl-8,html[data-netbox-color-mode=light] .col-xl-8{flex:0 0 auto;width:66.66666667%}html .col-xl-9,html[data-netbox-color-mode=dark] .col-xl-9,html[data-netbox-color-mode=light] .col-xl-9{flex:0 0 auto;width:75%}html .col-xl-10,html[data-netbox-color-mode=dark] .col-xl-10,html[data-netbox-color-mode=light] .col-xl-10{flex:0 0 auto;width:83.33333333%}html .col-xl-11,html[data-netbox-color-mode=dark] .col-xl-11,html[data-netbox-color-mode=light] .col-xl-11{flex:0 0 auto;width:91.66666667%}html .col-xl-12,html[data-netbox-color-mode=dark] .col-xl-12,html[data-netbox-color-mode=light] .col-xl-12{flex:0 0 auto;width:100%}html .offset-xl-0,html[data-netbox-color-mode=dark] .offset-xl-0,html[data-netbox-color-mode=light] .offset-xl-0{margin-left:0}html .offset-xl-1,html[data-netbox-color-mode=dark] .offset-xl-1,html[data-netbox-color-mode=light] .offset-xl-1{margin-left:8.33333333%}html .offset-xl-2,html[data-netbox-color-mode=dark] .offset-xl-2,html[data-netbox-color-mode=light] .offset-xl-2{margin-left:16.66666667%}html .offset-xl-3,html[data-netbox-color-mode=dark] .offset-xl-3,html[data-netbox-color-mode=light] .offset-xl-3{margin-left:25%}html .offset-xl-4,html[data-netbox-color-mode=dark] .offset-xl-4,html[data-netbox-color-mode=light] .offset-xl-4{margin-left:33.33333333%}html .offset-xl-5,html[data-netbox-color-mode=dark] .offset-xl-5,html[data-netbox-color-mode=light] .offset-xl-5{margin-left:41.66666667%}html .offset-xl-6,html[data-netbox-color-mode=dark] .offset-xl-6,html[data-netbox-color-mode=light] .offset-xl-6{margin-left:50%}html .offset-xl-7,html[data-netbox-color-mode=dark] .offset-xl-7,html[data-netbox-color-mode=light] .offset-xl-7{margin-left:58.33333333%}html .offset-xl-8,html[data-netbox-color-mode=dark] .offset-xl-8,html[data-netbox-color-mode=light] .offset-xl-8{margin-left:66.66666667%}html .offset-xl-9,html[data-netbox-color-mode=dark] .offset-xl-9,html[data-netbox-color-mode=light] .offset-xl-9{margin-left:75%}html .offset-xl-10,html[data-netbox-color-mode=dark] .offset-xl-10,html[data-netbox-color-mode=light] .offset-xl-10{margin-left:83.33333333%}html .offset-xl-11,html[data-netbox-color-mode=dark] .offset-xl-11,html[data-netbox-color-mode=light] .offset-xl-11{margin-left:91.66666667%}html .g-xl-0,html .gx-xl-0,html[data-netbox-color-mode=dark] .g-xl-0,html[data-netbox-color-mode=dark] .gx-xl-0,html[data-netbox-color-mode=light] .g-xl-0,html[data-netbox-color-mode=light] .gx-xl-0{--bs-gutter-x: 0}html .g-xl-0,html .gy-xl-0,html[data-netbox-color-mode=dark] .g-xl-0,html[data-netbox-color-mode=dark] .gy-xl-0,html[data-netbox-color-mode=light] .g-xl-0,html[data-netbox-color-mode=light] .gy-xl-0{--bs-gutter-y: 0}html .g-xl-1,html .gx-xl-1,html[data-netbox-color-mode=dark] .g-xl-1,html[data-netbox-color-mode=dark] .gx-xl-1,html[data-netbox-color-mode=light] .g-xl-1,html[data-netbox-color-mode=light] .gx-xl-1{--bs-gutter-x: .25rem}html .g-xl-1,html .gy-xl-1,html[data-netbox-color-mode=dark] .g-xl-1,html[data-netbox-color-mode=dark] .gy-xl-1,html[data-netbox-color-mode=light] .g-xl-1,html[data-netbox-color-mode=light] .gy-xl-1{--bs-gutter-y: .25rem}html .g-xl-2,html .gx-xl-2,html[data-netbox-color-mode=dark] .g-xl-2,html[data-netbox-color-mode=dark] .gx-xl-2,html[data-netbox-color-mode=light] .g-xl-2,html[data-netbox-color-mode=light] .gx-xl-2{--bs-gutter-x: .5rem}html .g-xl-2,html .gy-xl-2,html[data-netbox-color-mode=dark] .g-xl-2,html[data-netbox-color-mode=dark] .gy-xl-2,html[data-netbox-color-mode=light] .g-xl-2,html[data-netbox-color-mode=light] .gy-xl-2{--bs-gutter-y: .5rem}html .g-xl-3,html .gx-xl-3,html[data-netbox-color-mode=dark] .g-xl-3,html[data-netbox-color-mode=dark] .gx-xl-3,html[data-netbox-color-mode=light] .g-xl-3,html[data-netbox-color-mode=light] .gx-xl-3{--bs-gutter-x: 1rem}html .g-xl-3,html .gy-xl-3,html[data-netbox-color-mode=dark] .g-xl-3,html[data-netbox-color-mode=dark] .gy-xl-3,html[data-netbox-color-mode=light] .g-xl-3,html[data-netbox-color-mode=light] .gy-xl-3{--bs-gutter-y: 1rem}html .g-xl-4,html .gx-xl-4,html[data-netbox-color-mode=dark] .g-xl-4,html[data-netbox-color-mode=dark] .gx-xl-4,html[data-netbox-color-mode=light] .g-xl-4,html[data-netbox-color-mode=light] .gx-xl-4{--bs-gutter-x: 1.5rem}html .g-xl-4,html .gy-xl-4,html[data-netbox-color-mode=dark] .g-xl-4,html[data-netbox-color-mode=dark] .gy-xl-4,html[data-netbox-color-mode=light] .g-xl-4,html[data-netbox-color-mode=light] .gy-xl-4{--bs-gutter-y: 1.5rem}html .g-xl-5,html .gx-xl-5,html[data-netbox-color-mode=dark] .g-xl-5,html[data-netbox-color-mode=dark] .gx-xl-5,html[data-netbox-color-mode=light] .g-xl-5,html[data-netbox-color-mode=light] .gx-xl-5{--bs-gutter-x: 3rem}html .g-xl-5,html .gy-xl-5,html[data-netbox-color-mode=dark] .g-xl-5,html[data-netbox-color-mode=dark] .gy-xl-5,html[data-netbox-color-mode=light] .g-xl-5,html[data-netbox-color-mode=light] .gy-xl-5{--bs-gutter-y: 3rem}}@media print and (min-width: 1400px){html .col-xxl-auto,html[data-netbox-color-mode=dark] .col-xxl-auto,html[data-netbox-color-mode=light] .col-xxl-auto{flex:0 0 auto;width:auto}html .col-xxl-1,html[data-netbox-color-mode=dark] .col-xxl-1,html[data-netbox-color-mode=light] .col-xxl-1{flex:0 0 auto;width:8.33333333%}html .col-xxl-2,html[data-netbox-color-mode=dark] .col-xxl-2,html[data-netbox-color-mode=light] .col-xxl-2{flex:0 0 auto;width:16.66666667%}html .col-xxl-3,html[data-netbox-color-mode=dark] .col-xxl-3,html[data-netbox-color-mode=light] .col-xxl-3{flex:0 0 auto;width:25%}html .col-xxl-4,html[data-netbox-color-mode=dark] .col-xxl-4,html[data-netbox-color-mode=light] .col-xxl-4{flex:0 0 auto;width:33.33333333%}html .col-xxl-5,html[data-netbox-color-mode=dark] .col-xxl-5,html[data-netbox-color-mode=light] .col-xxl-5{flex:0 0 auto;width:41.66666667%}html .col-xxl-6,html[data-netbox-color-mode=dark] .col-xxl-6,html[data-netbox-color-mode=light] .col-xxl-6{flex:0 0 auto;width:50%}html .col-xxl-7,html[data-netbox-color-mode=dark] .col-xxl-7,html[data-netbox-color-mode=light] .col-xxl-7{flex:0 0 auto;width:58.33333333%}html .col-xxl-8,html[data-netbox-color-mode=dark] .col-xxl-8,html[data-netbox-color-mode=light] .col-xxl-8{flex:0 0 auto;width:66.66666667%}html .col-xxl-9,html[data-netbox-color-mode=dark] .col-xxl-9,html[data-netbox-color-mode=light] .col-xxl-9{flex:0 0 auto;width:75%}html .col-xxl-10,html[data-netbox-color-mode=dark] .col-xxl-10,html[data-netbox-color-mode=light] .col-xxl-10{flex:0 0 auto;width:83.33333333%}html .col-xxl-11,html[data-netbox-color-mode=dark] .col-xxl-11,html[data-netbox-color-mode=light] .col-xxl-11{flex:0 0 auto;width:91.66666667%}html .col-xxl-12,html[data-netbox-color-mode=dark] .col-xxl-12,html[data-netbox-color-mode=light] .col-xxl-12{flex:0 0 auto;width:100%}html .offset-xxl-0,html[data-netbox-color-mode=dark] .offset-xxl-0,html[data-netbox-color-mode=light] .offset-xxl-0{margin-left:0}html .offset-xxl-1,html[data-netbox-color-mode=dark] .offset-xxl-1,html[data-netbox-color-mode=light] .offset-xxl-1{margin-left:8.33333333%}html .offset-xxl-2,html[data-netbox-color-mode=dark] .offset-xxl-2,html[data-netbox-color-mode=light] .offset-xxl-2{margin-left:16.66666667%}html .offset-xxl-3,html[data-netbox-color-mode=dark] .offset-xxl-3,html[data-netbox-color-mode=light] .offset-xxl-3{margin-left:25%}html .offset-xxl-4,html[data-netbox-color-mode=dark] .offset-xxl-4,html[data-netbox-color-mode=light] .offset-xxl-4{margin-left:33.33333333%}html .offset-xxl-5,html[data-netbox-color-mode=dark] .offset-xxl-5,html[data-netbox-color-mode=light] .offset-xxl-5{margin-left:41.66666667%}html .offset-xxl-6,html[data-netbox-color-mode=dark] .offset-xxl-6,html[data-netbox-color-mode=light] .offset-xxl-6{margin-left:50%}html .offset-xxl-7,html[data-netbox-color-mode=dark] .offset-xxl-7,html[data-netbox-color-mode=light] .offset-xxl-7{margin-left:58.33333333%}html .offset-xxl-8,html[data-netbox-color-mode=dark] .offset-xxl-8,html[data-netbox-color-mode=light] .offset-xxl-8{margin-left:66.66666667%}html .offset-xxl-9,html[data-netbox-color-mode=dark] .offset-xxl-9,html[data-netbox-color-mode=light] .offset-xxl-9{margin-left:75%}html .offset-xxl-10,html[data-netbox-color-mode=dark] .offset-xxl-10,html[data-netbox-color-mode=light] .offset-xxl-10{margin-left:83.33333333%}html .offset-xxl-11,html[data-netbox-color-mode=dark] .offset-xxl-11,html[data-netbox-color-mode=light] .offset-xxl-11{margin-left:91.66666667%}html .g-xxl-0,html .gx-xxl-0,html[data-netbox-color-mode=dark] .g-xxl-0,html[data-netbox-color-mode=dark] .gx-xxl-0,html[data-netbox-color-mode=light] .g-xxl-0,html[data-netbox-color-mode=light] .gx-xxl-0{--bs-gutter-x: 0}html .g-xxl-0,html .gy-xxl-0,html[data-netbox-color-mode=dark] .g-xxl-0,html[data-netbox-color-mode=dark] .gy-xxl-0,html[data-netbox-color-mode=light] .g-xxl-0,html[data-netbox-color-mode=light] .gy-xxl-0{--bs-gutter-y: 0}html .g-xxl-1,html .gx-xxl-1,html[data-netbox-color-mode=dark] .g-xxl-1,html[data-netbox-color-mode=dark] .gx-xxl-1,html[data-netbox-color-mode=light] .g-xxl-1,html[data-netbox-color-mode=light] .gx-xxl-1{--bs-gutter-x: .25rem}html .g-xxl-1,html .gy-xxl-1,html[data-netbox-color-mode=dark] .g-xxl-1,html[data-netbox-color-mode=dark] .gy-xxl-1,html[data-netbox-color-mode=light] .g-xxl-1,html[data-netbox-color-mode=light] .gy-xxl-1{--bs-gutter-y: .25rem}html .g-xxl-2,html .gx-xxl-2,html[data-netbox-color-mode=dark] .g-xxl-2,html[data-netbox-color-mode=dark] .gx-xxl-2,html[data-netbox-color-mode=light] .g-xxl-2,html[data-netbox-color-mode=light] .gx-xxl-2{--bs-gutter-x: .5rem}html .g-xxl-2,html .gy-xxl-2,html[data-netbox-color-mode=dark] .g-xxl-2,html[data-netbox-color-mode=dark] .gy-xxl-2,html[data-netbox-color-mode=light] .g-xxl-2,html[data-netbox-color-mode=light] .gy-xxl-2{--bs-gutter-y: .5rem}html .g-xxl-3,html .gx-xxl-3,html[data-netbox-color-mode=dark] .g-xxl-3,html[data-netbox-color-mode=dark] .gx-xxl-3,html[data-netbox-color-mode=light] .g-xxl-3,html[data-netbox-color-mode=light] .gx-xxl-3{--bs-gutter-x: 1rem}html .g-xxl-3,html .gy-xxl-3,html[data-netbox-color-mode=dark] .g-xxl-3,html[data-netbox-color-mode=dark] .gy-xxl-3,html[data-netbox-color-mode=light] .g-xxl-3,html[data-netbox-color-mode=light] .gy-xxl-3{--bs-gutter-y: 1rem}html .g-xxl-4,html .gx-xxl-4,html[data-netbox-color-mode=dark] .g-xxl-4,html[data-netbox-color-mode=dark] .gx-xxl-4,html[data-netbox-color-mode=light] .g-xxl-4,html[data-netbox-color-mode=light] .gx-xxl-4{--bs-gutter-x: 1.5rem}html .g-xxl-4,html .gy-xxl-4,html[data-netbox-color-mode=dark] .g-xxl-4,html[data-netbox-color-mode=dark] .gy-xxl-4,html[data-netbox-color-mode=light] .g-xxl-4,html[data-netbox-color-mode=light] .gy-xxl-4{--bs-gutter-y: 1.5rem}html .g-xxl-5,html .gx-xxl-5,html[data-netbox-color-mode=dark] .g-xxl-5,html[data-netbox-color-mode=dark] .gx-xxl-5,html[data-netbox-color-mode=light] .g-xxl-5,html[data-netbox-color-mode=light] .gx-xxl-5{--bs-gutter-x: 3rem}html .g-xxl-5,html .gy-xxl-5,html[data-netbox-color-mode=dark] .g-xxl-5,html[data-netbox-color-mode=dark] .gy-xxl-5,html[data-netbox-color-mode=light] .g-xxl-5,html[data-netbox-color-mode=light] .gy-xxl-5{--bs-gutter-y: 3rem}}@media print{html .table,html[data-netbox-color-mode=dark] .table,html[data-netbox-color-mode=light] .table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}html .table>:not(caption)>*>*,html[data-netbox-color-mode=dark] .table>:not(caption)>*>*,html[data-netbox-color-mode=light] .table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}html .table>tbody,html[data-netbox-color-mode=dark] .table>tbody,html[data-netbox-color-mode=light] .table>tbody{vertical-align:inherit}html .table>thead,html[data-netbox-color-mode=dark] .table>thead,html[data-netbox-color-mode=light] .table>thead{vertical-align:bottom}html .table>:not(:last-child)>:last-child>*,html[data-netbox-color-mode=dark] .table>:not(:last-child)>:last-child>*,html[data-netbox-color-mode=light] .table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}}@media print{html .caption-top,html[data-netbox-color-mode=dark] .caption-top,html[data-netbox-color-mode=light] .caption-top{caption-side:top}}@media print{html .table-sm>:not(caption)>*>*,html[data-netbox-color-mode=dark] .table-sm>:not(caption)>*>*,html[data-netbox-color-mode=light] .table-sm>:not(caption)>*>*{padding:.25rem}}@media print{html .table-bordered>:not(caption)>*,html[data-netbox-color-mode=dark] .table-bordered>:not(caption)>*,html[data-netbox-color-mode=light] .table-bordered>:not(caption)>*{border-width:1px 0}html .table-bordered>:not(caption)>*>*,html[data-netbox-color-mode=dark] .table-bordered>:not(caption)>*>*,html[data-netbox-color-mode=light] .table-bordered>:not(caption)>*>*{border-width:0 1px}}@media print{html .table-borderless>:not(caption)>*>*,html[data-netbox-color-mode=dark] .table-borderless>:not(caption)>*>*,html[data-netbox-color-mode=light] .table-borderless>:not(caption)>*>*{border-bottom-width:0}}@media print{html .table-striped>tbody>tr:nth-of-type(odd),html[data-netbox-color-mode=dark] .table-striped>tbody>tr:nth-of-type(odd),html[data-netbox-color-mode=light] .table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}}@media print{html .table-active,html[data-netbox-color-mode=dark] .table-active,html[data-netbox-color-mode=light] .table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}}@media print{html .table-hover>tbody>tr:hover,html[data-netbox-color-mode=dark] .table-hover>tbody>tr:hover,html[data-netbox-color-mode=light] .table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}}@media print{html .table-primary,html[data-netbox-color-mode=dark] .table-primary,html[data-netbox-color-mode=light] .table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}}@media print{html .table-secondary,html[data-netbox-color-mode=dark] .table-secondary,html[data-netbox-color-mode=light] .table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}}@media print{html .table-success,html[data-netbox-color-mode=dark] .table-success,html[data-netbox-color-mode=light] .table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}}@media print{html .table-info,html[data-netbox-color-mode=dark] .table-info,html[data-netbox-color-mode=light] .table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}}@media print{html .table-warning,html[data-netbox-color-mode=dark] .table-warning,html[data-netbox-color-mode=light] .table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}}@media print{html .table-danger,html[data-netbox-color-mode=dark] .table-danger,html[data-netbox-color-mode=light] .table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}}@media print{html .table-light,html[data-netbox-color-mode=dark] .table-light,html[data-netbox-color-mode=light] .table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}}@media print{html .table-dark,html[data-netbox-color-mode=dark] .table-dark,html[data-netbox-color-mode=light] .table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:#fff;border-color:#373b3e}}@media print{html .table-responsive,html[data-netbox-color-mode=dark] .table-responsive,html[data-netbox-color-mode=light] .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 575.98px){html .table-responsive-sm,html[data-netbox-color-mode=dark] .table-responsive-sm,html[data-netbox-color-mode=light] .table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 767.98px){html .table-responsive-md,html[data-netbox-color-mode=dark] .table-responsive-md,html[data-netbox-color-mode=light] .table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 991.98px){html .table-responsive-lg,html[data-netbox-color-mode=dark] .table-responsive-lg,html[data-netbox-color-mode=light] .table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 1199.98px){html .table-responsive-xl,html[data-netbox-color-mode=dark] .table-responsive-xl,html[data-netbox-color-mode=light] .table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print and (max-width: 1399.98px){html .table-responsive-xxl,html[data-netbox-color-mode=dark] .table-responsive-xxl,html[data-netbox-color-mode=light] .table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media print{html .form-label,html[data-netbox-color-mode=dark] .form-label,html[data-netbox-color-mode=light] .form-label{margin-bottom:.5rem}}@media print{html .col-form-label,html[data-netbox-color-mode=dark] .col-form-label,html[data-netbox-color-mode=light] .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}}@media print{html .col-form-label-lg,html[data-netbox-color-mode=dark] .col-form-label-lg,html[data-netbox-color-mode=light] .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}}@media print{html .col-form-label-sm,html[data-netbox-color-mode=dark] .col-form-label-sm,html[data-netbox-color-mode=light] .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}}@media print{html .form-text,html[data-netbox-color-mode=dark] .form-text,html[data-netbox-color-mode=light] .form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}}@media print{html .form-control,html[data-netbox-color-mode=dark] .form-control,html[data-netbox-color-mode=light] .form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .form-control,html[data-netbox-color-mode=dark] .form-control,html[data-netbox-color-mode=light] .form-control{transition:none}}@media print{html .form-control[type=file],html[data-netbox-color-mode=dark] .form-control[type=file],html[data-netbox-color-mode=light] .form-control[type=file]{overflow:hidden}html .form-control[type=file]:not(:disabled):not([readonly]),html[data-netbox-color-mode=dark] .form-control[type=file]:not(:disabled):not([readonly]),html[data-netbox-color-mode=light] .form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}}@media print{html .form-control:focus,html[data-netbox-color-mode=dark] .form-control:focus,html[data-netbox-color-mode=light] .form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .form-control::-webkit-date-and-time-value,html[data-netbox-color-mode=dark] .form-control::-webkit-date-and-time-value,html[data-netbox-color-mode=light] .form-control::-webkit-date-and-time-value{height:1.5em}}@media print{html .form-control::placeholder,html[data-netbox-color-mode=dark] .form-control::placeholder,html[data-netbox-color-mode=light] .form-control::placeholder{color:#adb5bd;opacity:1}}@media print{html .form-control:disabled,html .form-control[readonly],html[data-netbox-color-mode=dark] .form-control:disabled,html[data-netbox-color-mode=dark] .form-control[readonly],html[data-netbox-color-mode=light] .form-control:disabled,html[data-netbox-color-mode=light] .form-control[readonly]{background-color:#e9ecef;opacity:1}}@media print{html .form-control::file-selector-button,html[data-netbox-color-mode=dark] .form-control::file-selector-button,html[data-netbox-color-mode=light] .form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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 print and (prefers-reduced-motion: reduce){html .form-control::file-selector-button,html[data-netbox-color-mode=dark] .form-control::file-selector-button,html[data-netbox-color-mode=light] .form-control::file-selector-button{transition:none}}@media print{html .form-control:hover:not(:disabled):not([readonly])::file-selector-button,html[data-netbox-color-mode=dark] .form-control:hover:not(:disabled):not([readonly])::file-selector-button,html[data-netbox-color-mode=light] .form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}}@media print{html .form-control::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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 print and (prefers-reduced-motion: reduce){html .form-control::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control::-webkit-file-upload-button{transition:none}}@media print{html .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}}@media print{html .form-control-plaintext,html[data-netbox-color-mode=dark] .form-control-plaintext,html[data-netbox-color-mode=light] .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}html .form-control-plaintext.form-control-sm,html .form-control-plaintext.form-control-lg,html[data-netbox-color-mode=dark] .form-control-plaintext.form-control-sm,html[data-netbox-color-mode=dark] .form-control-plaintext.form-control-lg,html[data-netbox-color-mode=light] .form-control-plaintext.form-control-sm,html[data-netbox-color-mode=light] .form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}}@media print{html .form-control-sm,html[data-netbox-color-mode=dark] .form-control-sm,html[data-netbox-color-mode=light] .form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}html .form-control-sm::file-selector-button,html[data-netbox-color-mode=dark] .form-control-sm::file-selector-button,html[data-netbox-color-mode=light] .form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}html .form-control-sm::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control-sm::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}}@media print{html .form-control-lg,html[data-netbox-color-mode=dark] .form-control-lg,html[data-netbox-color-mode=light] .form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}html .form-control-lg::file-selector-button,html[data-netbox-color-mode=dark] .form-control-lg::file-selector-button,html[data-netbox-color-mode=light] .form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}html .form-control-lg::-webkit-file-upload-button,html[data-netbox-color-mode=dark] .form-control-lg::-webkit-file-upload-button,html[data-netbox-color-mode=light] .form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}}@media print{html textarea.form-control,html[data-netbox-color-mode=dark] textarea.form-control,html[data-netbox-color-mode=light] textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}html textarea.form-control-sm,html[data-netbox-color-mode=dark] textarea.form-control-sm,html[data-netbox-color-mode=light] textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}html textarea.form-control-lg,html[data-netbox-color-mode=dark] textarea.form-control-lg,html[data-netbox-color-mode=light] textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}}@media print{html .form-control-color,html[data-netbox-color-mode=dark] .form-control-color,html[data-netbox-color-mode=light] .form-control-color{max-width:3rem;height:auto;padding:.375rem}html .form-control-color:not(:disabled):not([readonly]),html[data-netbox-color-mode=dark] .form-control-color:not(:disabled):not([readonly]),html[data-netbox-color-mode=light] .form-control-color:not(:disabled):not([readonly]){cursor:pointer}html .form-control-color::-moz-color-swatch,html[data-netbox-color-mode=dark] .form-control-color::-moz-color-swatch,html[data-netbox-color-mode=light] .form-control-color::-moz-color-swatch{height:1.5em;border-radius:.375rem}html .form-control-color::-webkit-color-swatch,html[data-netbox-color-mode=dark] .form-control-color::-webkit-color-swatch,html[data-netbox-color-mode=light] .form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.375rem}}@media print{html .form-select,html[data-netbox-color-mode=dark] .form-select,html[data-netbox-color-mode=light] .form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}}@media print and (prefers-reduced-motion: reduce){html .form-select,html[data-netbox-color-mode=dark] .form-select,html[data-netbox-color-mode=light] .form-select{transition:none}}@media print{html .form-select:focus,html[data-netbox-color-mode=dark] .form-select:focus,html[data-netbox-color-mode=light] .form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .form-select[multiple],html .form-select[size]:not([size="1"]),html[data-netbox-color-mode=dark] .form-select[multiple],html[data-netbox-color-mode=dark] .form-select[size]:not([size="1"]),html[data-netbox-color-mode=light] .form-select[multiple],html[data-netbox-color-mode=light] .form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}}@media print{html .form-select:disabled,html[data-netbox-color-mode=dark] .form-select:disabled,html[data-netbox-color-mode=light] .form-select:disabled{color:#6c757d;background-color:#e9ecef}}@media print{html .form-select:-moz-focusring,html[data-netbox-color-mode=dark] .form-select:-moz-focusring,html[data-netbox-color-mode=light] .form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}}@media print{html .form-select-sm,html[data-netbox-color-mode=dark] .form-select-sm,html[data-netbox-color-mode=light] .form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}}@media print{html .form-select-lg,html[data-netbox-color-mode=dark] .form-select-lg,html[data-netbox-color-mode=light] .form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}}@media print{html .form-check,html[data-netbox-color-mode=dark] .form-check,html[data-netbox-color-mode=light] .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}html .form-check .form-check-input,html[data-netbox-color-mode=dark] .form-check .form-check-input,html[data-netbox-color-mode=light] .form-check .form-check-input{float:left;margin-left:-1.5em}}@media print{html .form-check-input,html[data-netbox-color-mode=dark] .form-check-input,html[data-netbox-color-mode=light] .form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact}html .form-check-input[type=checkbox],html[data-netbox-color-mode=dark] .form-check-input[type=checkbox],html[data-netbox-color-mode=light] .form-check-input[type=checkbox]{border-radius:.25em}html .form-check-input[type=radio],html[data-netbox-color-mode=dark] .form-check-input[type=radio],html[data-netbox-color-mode=light] .form-check-input[type=radio]{border-radius:50%}html .form-check-input:active,html[data-netbox-color-mode=dark] .form-check-input:active,html[data-netbox-color-mode=light] .form-check-input:active{filter:brightness(90%)}html .form-check-input:focus,html[data-netbox-color-mode=dark] .form-check-input:focus,html[data-netbox-color-mode=light] .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}html .form-check-input:checked,html[data-netbox-color-mode=dark] .form-check-input:checked,html[data-netbox-color-mode=light] .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}html .form-check-input:checked[type=checkbox],html[data-netbox-color-mode=dark] .form-check-input:checked[type=checkbox],html[data-netbox-color-mode=light] .form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}html .form-check-input:checked[type=radio],html[data-netbox-color-mode=dark] .form-check-input:checked[type=radio],html[data-netbox-color-mode=light] .form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}html .form-check-input[type=checkbox]:indeterminate,html[data-netbox-color-mode=dark] .form-check-input[type=checkbox]:indeterminate,html[data-netbox-color-mode=light] .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}html .form-check-input:disabled,html[data-netbox-color-mode=dark] .form-check-input:disabled,html[data-netbox-color-mode=light] .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}html .form-check-input[disabled]~.form-check-label,html .form-check-input:disabled~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input[disabled]~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input:disabled~.form-check-label,html[data-netbox-color-mode=light] .form-check-input[disabled]~.form-check-label,html[data-netbox-color-mode=light] .form-check-input:disabled~.form-check-label{opacity:.5}}@media print{html .form-switch,html[data-netbox-color-mode=dark] .form-switch,html[data-netbox-color-mode=light] .form-switch{padding-left:2.5em}html .form-switch .form-check-input,html[data-netbox-color-mode=dark] .form-switch .form-check-input,html[data-netbox-color-mode=light] .form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .form-switch .form-check-input,html[data-netbox-color-mode=dark] .form-switch .form-check-input,html[data-netbox-color-mode=light] .form-switch .form-check-input{transition:none}}@media print{html .form-switch .form-check-input:focus,html[data-netbox-color-mode=dark] .form-switch .form-check-input:focus,html[data-netbox-color-mode=light] .form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}}@media print{html .form-switch .form-check-input:checked,html[data-netbox-color-mode=dark] .form-switch .form-check-input:checked,html[data-netbox-color-mode=light] .form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}}@media print{html .form-check-inline,html[data-netbox-color-mode=dark] .form-check-inline,html[data-netbox-color-mode=light] .form-check-inline{display:inline-block;margin-right:1rem}}@media print{html .btn-check,html[data-netbox-color-mode=dark] .btn-check,html[data-netbox-color-mode=light] .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}html .btn-check[disabled]+.btn,html .btn-check:disabled+.btn,html[data-netbox-color-mode=dark] .btn-check[disabled]+.btn,html[data-netbox-color-mode=dark] .btn-check:disabled+.btn,html[data-netbox-color-mode=light] .btn-check[disabled]+.btn,html[data-netbox-color-mode=light] .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}}@media print{html .form-range,html[data-netbox-color-mode=dark] .form-range,html[data-netbox-color-mode=light] .form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}html .form-range:focus,html[data-netbox-color-mode=dark] .form-range:focus,html[data-netbox-color-mode=light] .form-range:focus{outline:0}html .form-range:focus::-webkit-slider-thumb,html[data-netbox-color-mode=dark] .form-range:focus::-webkit-slider-thumb,html[data-netbox-color-mode=light] .form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}html .form-range:focus::-moz-range-thumb,html[data-netbox-color-mode=dark] .form-range:focus::-moz-range-thumb,html[data-netbox-color-mode=light] .form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}html .form-range::-moz-focus-outer,html[data-netbox-color-mode=dark] .form-range::-moz-focus-outer,html[data-netbox-color-mode=light] .form-range::-moz-focus-outer{border:0}html .form-range::-webkit-slider-thumb,html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb,html[data-netbox-color-mode=light] .form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}}@media print and (prefers-reduced-motion: reduce){html .form-range::-webkit-slider-thumb,html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb,html[data-netbox-color-mode=light] .form-range::-webkit-slider-thumb{transition:none}}@media print{html .form-range::-webkit-slider-thumb:active,html[data-netbox-color-mode=dark] .form-range::-webkit-slider-thumb:active,html[data-netbox-color-mode=light] .form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}}@media print{html .form-range::-webkit-slider-runnable-track,html[data-netbox-color-mode=dark] .form-range::-webkit-slider-runnable-track,html[data-netbox-color-mode=light] .form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}}@media print{html .form-range::-moz-range-thumb,html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb,html[data-netbox-color-mode=light] .form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}}@media print and (prefers-reduced-motion: reduce){html .form-range::-moz-range-thumb,html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb,html[data-netbox-color-mode=light] .form-range::-moz-range-thumb{transition:none}}@media print{html .form-range::-moz-range-thumb:active,html[data-netbox-color-mode=dark] .form-range::-moz-range-thumb:active,html[data-netbox-color-mode=light] .form-range::-moz-range-thumb:active{background-color:#b6d4fe}}@media print{html .form-range::-moz-range-track,html[data-netbox-color-mode=dark] .form-range::-moz-range-track,html[data-netbox-color-mode=light] .form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}}@media print{html .form-range:disabled,html[data-netbox-color-mode=dark] .form-range:disabled,html[data-netbox-color-mode=light] .form-range:disabled{pointer-events:none}html .form-range:disabled::-webkit-slider-thumb,html[data-netbox-color-mode=dark] .form-range:disabled::-webkit-slider-thumb,html[data-netbox-color-mode=light] .form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}html .form-range:disabled::-moz-range-thumb,html[data-netbox-color-mode=dark] .form-range:disabled::-moz-range-thumb,html[data-netbox-color-mode=light] .form-range:disabled::-moz-range-thumb{background-color:#adb5bd}}@media print{html .form-floating,html[data-netbox-color-mode=dark] .form-floating,html[data-netbox-color-mode=light] .form-floating{position:relative}html .form-floating>.form-control,html .form-floating>.form-select,html[data-netbox-color-mode=dark] .form-floating>.form-control,html[data-netbox-color-mode=dark] .form-floating>.form-select,html[data-netbox-color-mode=light] .form-floating>.form-control,html[data-netbox-color-mode=light] .form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}html .form-floating>label,html[data-netbox-color-mode=dark] .form-floating>label,html[data-netbox-color-mode=light] .form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .form-floating>label,html[data-netbox-color-mode=dark] .form-floating>label,html[data-netbox-color-mode=light] .form-floating>label{transition:none}}@media print{html .form-floating>.form-control,html[data-netbox-color-mode=dark] .form-floating>.form-control,html[data-netbox-color-mode=light] .form-floating>.form-control{padding:1rem .75rem}html .form-floating>.form-control::placeholder,html[data-netbox-color-mode=dark] .form-floating>.form-control::placeholder,html[data-netbox-color-mode=light] .form-floating>.form-control::placeholder{color:transparent}html .form-floating>.form-control:focus,html .form-floating>.form-control:not(:placeholder-shown),html[data-netbox-color-mode=dark] .form-floating>.form-control:focus,html[data-netbox-color-mode=dark] .form-floating>.form-control:not(:placeholder-shown),html[data-netbox-color-mode=light] .form-floating>.form-control:focus,html[data-netbox-color-mode=light] .form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}html .form-floating>.form-control:-webkit-autofill,html[data-netbox-color-mode=dark] .form-floating>.form-control:-webkit-autofill,html[data-netbox-color-mode=light] .form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.form-select,html[data-netbox-color-mode=dark] .form-floating>.form-select,html[data-netbox-color-mode=light] .form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.form-control:focus~label,html .form-floating>.form-control:not(:placeholder-shown)~label,html .form-floating>.form-select~label,html[data-netbox-color-mode=dark] .form-floating>.form-control:focus~label,html[data-netbox-color-mode=dark] .form-floating>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=dark] .form-floating>.form-select~label,html[data-netbox-color-mode=light] .form-floating>.form-control:focus~label,html[data-netbox-color-mode=light] .form-floating>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=light] .form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}}@media print{html .form-floating>.form-control:-webkit-autofill~label,html[data-netbox-color-mode=dark] .form-floating>.form-control:-webkit-autofill~label,html[data-netbox-color-mode=light] .form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}}@media print{html .input-group,html[data-netbox-color-mode=dark] .input-group,html[data-netbox-color-mode=light] .input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}html .input-group>.form-control,html .input-group>.form-select,html[data-netbox-color-mode=dark] .input-group>.form-control,html[data-netbox-color-mode=dark] .input-group>.form-select,html[data-netbox-color-mode=light] .input-group>.form-control,html[data-netbox-color-mode=light] .input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}html .input-group>.form-control:focus,html .input-group>.form-select:focus,html[data-netbox-color-mode=dark] .input-group>.form-control:focus,html[data-netbox-color-mode=dark] .input-group>.form-select:focus,html[data-netbox-color-mode=light] .input-group>.form-control:focus,html[data-netbox-color-mode=light] .input-group>.form-select:focus{z-index:3}html .input-group .btn,html[data-netbox-color-mode=dark] .input-group .btn,html[data-netbox-color-mode=light] .input-group .btn{position:relative;z-index:2}html .input-group .btn:focus,html[data-netbox-color-mode=dark] .input-group .btn:focus,html[data-netbox-color-mode=light] .input-group .btn:focus{z-index:3}}@media print{html .input-group-text,html[data-netbox-color-mode=dark] .input-group-text,html[data-netbox-color-mode=light] .input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}}@media print{html .input-group-lg>.form-control,html .input-group-lg>.form-select,html .input-group-lg>.input-group-text,html .input-group-lg>.btn,html[data-netbox-color-mode=dark] .input-group-lg>.form-control,html[data-netbox-color-mode=dark] .input-group-lg>.form-select,html[data-netbox-color-mode=dark] .input-group-lg>.input-group-text,html[data-netbox-color-mode=dark] .input-group-lg>.btn,html[data-netbox-color-mode=light] .input-group-lg>.form-control,html[data-netbox-color-mode=light] .input-group-lg>.form-select,html[data-netbox-color-mode=light] .input-group-lg>.input-group-text,html[data-netbox-color-mode=light] .input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}}@media print{html .input-group-sm>.form-control,html .input-group-sm>.form-select,html .input-group-sm>.input-group-text,html .input-group-sm>.btn,html[data-netbox-color-mode=dark] .input-group-sm>.form-control,html[data-netbox-color-mode=dark] .input-group-sm>.form-select,html[data-netbox-color-mode=dark] .input-group-sm>.input-group-text,html[data-netbox-color-mode=dark] .input-group-sm>.btn,html[data-netbox-color-mode=light] .input-group-sm>.form-control,html[data-netbox-color-mode=light] .input-group-sm>.form-select,html[data-netbox-color-mode=light] .input-group-sm>.input-group-text,html[data-netbox-color-mode=light] .input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}}@media print{html .input-group-lg>.form-select,html .input-group-sm>.form-select,html[data-netbox-color-mode=dark] .input-group-lg>.form-select,html[data-netbox-color-mode=dark] .input-group-sm>.form-select,html[data-netbox-color-mode=light] .input-group-lg>.form-select,html[data-netbox-color-mode=light] .input-group-sm>.form-select{padding-right:3rem}}@media print{html .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),html .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),html[data-netbox-color-mode=dark] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=dark] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),html[data-netbox-color-mode=light] .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=light] .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}html .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),html .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),html[data-netbox-color-mode=dark] .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=dark] .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),html[data-netbox-color-mode=light] .input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),html[data-netbox-color-mode=light] .input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}html .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),html[data-netbox-color-mode=dark] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),html[data-netbox-color-mode=light] .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}}@media print{html .valid-feedback,html[data-netbox-color-mode=dark] .valid-feedback,html[data-netbox-color-mode=light] .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}}@media print{html .valid-tooltip,html[data-netbox-color-mode=dark] .valid-tooltip,html[data-netbox-color-mode=light] .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754e6;border-radius:.375rem}}@media print{.was-validated html:valid~.valid-feedback,.was-validated html:valid~.valid-tooltip,html.is-valid~.valid-feedback,html.is-valid~.valid-tooltip,.was-validated html[data-netbox-color-mode=dark]:valid~.valid-feedback,.was-validated html[data-netbox-color-mode=dark]:valid~.valid-tooltip,html[data-netbox-color-mode=dark].is-valid~.valid-feedback,html[data-netbox-color-mode=dark].is-valid~.valid-tooltip,.was-validated html[data-netbox-color-mode=light]:valid~.valid-feedback,.was-validated html[data-netbox-color-mode=light]:valid~.valid-tooltip,html[data-netbox-color-mode=light].is-valid~.valid-feedback,html[data-netbox-color-mode=light].is-valid~.valid-tooltip{display:block}}@media print{.was-validated html .form-control:valid,html .form-control.is-valid,.was-validated html[data-netbox-color-mode=dark] .form-control:valid,html[data-netbox-color-mode=dark] .form-control.is-valid,.was-validated html[data-netbox-color-mode=light] .form-control:valid,html[data-netbox-color-mode=light] .form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html .form-control:valid:focus,html .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .form-control:valid:focus,html[data-netbox-color-mode=dark] .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .form-control:valid:focus,html[data-netbox-color-mode=light] .form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}}@media print{.was-validated html textarea.form-control:valid,html textarea.form-control.is-valid,.was-validated html[data-netbox-color-mode=dark] textarea.form-control:valid,html[data-netbox-color-mode=dark] textarea.form-control.is-valid,.was-validated html[data-netbox-color-mode=light] textarea.form-control:valid,html[data-netbox-color-mode=light] textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}}@media print{.was-validated html .form-select:valid,html .form-select.is-valid,.was-validated html[data-netbox-color-mode=dark] .form-select:valid,html[data-netbox-color-mode=dark] .form-select.is-valid,.was-validated html[data-netbox-color-mode=light] .form-select:valid,html[data-netbox-color-mode=light] .form-select.is-valid{border-color:#198754}.was-validated html .form-select:valid:not([multiple]):not([size]),.was-validated html .form-select:valid:not([multiple])[size="1"],html .form-select.is-valid:not([multiple]):not([size]),html .form-select.is-valid:not([multiple])[size="1"],.was-validated html[data-netbox-color-mode=dark] .form-select:valid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=dark] .form-select:valid:not([multiple])[size="1"],html[data-netbox-color-mode=dark] .form-select.is-valid:not([multiple]):not([size]),html[data-netbox-color-mode=dark] .form-select.is-valid:not([multiple])[size="1"],.was-validated html[data-netbox-color-mode=light] .form-select:valid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=light] .form-select:valid:not([multiple])[size="1"],html[data-netbox-color-mode=light] .form-select.is-valid:not([multiple]):not([size]),html[data-netbox-color-mode=light] .form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html .form-select:valid:focus,html .form-select.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .form-select:valid:focus,html[data-netbox-color-mode=dark] .form-select.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .form-select:valid:focus,html[data-netbox-color-mode=light] .form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem #19875440}}@media print{.was-validated html .form-check-input:valid,html .form-check-input.is-valid,.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid,html[data-netbox-color-mode=dark] .form-check-input.is-valid,.was-validated html[data-netbox-color-mode=light] .form-check-input:valid,html[data-netbox-color-mode=light] .form-check-input.is-valid{border-color:#198754}.was-validated html .form-check-input:valid:checked,html .form-check-input.is-valid:checked,.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid:checked,html[data-netbox-color-mode=dark] .form-check-input.is-valid:checked,.was-validated html[data-netbox-color-mode=light] .form-check-input:valid:checked,html[data-netbox-color-mode=light] .form-check-input.is-valid:checked{background-color:#198754}.was-validated html .form-check-input:valid:focus,html .form-check-input.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid:focus,html[data-netbox-color-mode=dark] .form-check-input.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .form-check-input:valid:focus,html[data-netbox-color-mode=light] .form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem #19875440}.was-validated html .form-check-input:valid~.form-check-label,html .form-check-input.is-valid~.form-check-label,.was-validated html[data-netbox-color-mode=dark] .form-check-input:valid~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input.is-valid~.form-check-label,.was-validated html[data-netbox-color-mode=light] .form-check-input:valid~.form-check-label,html[data-netbox-color-mode=light] .form-check-input.is-valid~.form-check-label{color:#198754}}@media print{html .form-check-inline .form-check-input~.valid-feedback,html[data-netbox-color-mode=dark] .form-check-inline .form-check-input~.valid-feedback,html[data-netbox-color-mode=light] .form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}}@media print{.was-validated html .input-group .form-control:valid,html .input-group .form-control.is-valid,.was-validated html .input-group .form-select:valid,html .input-group .form-select.is-valid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:valid,html[data-netbox-color-mode=dark] .input-group .form-control.is-valid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:valid,html[data-netbox-color-mode=dark] .input-group .form-select.is-valid,.was-validated html[data-netbox-color-mode=light] .input-group .form-control:valid,html[data-netbox-color-mode=light] .input-group .form-control.is-valid,.was-validated html[data-netbox-color-mode=light] .input-group .form-select:valid,html[data-netbox-color-mode=light] .input-group .form-select.is-valid{z-index:1}.was-validated html .input-group .form-control:valid:focus,html .input-group .form-control.is-valid:focus,.was-validated html .input-group .form-select:valid:focus,html .input-group .form-select.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:valid:focus,html[data-netbox-color-mode=dark] .input-group .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:valid:focus,html[data-netbox-color-mode=dark] .input-group .form-select.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .input-group .form-control:valid:focus,html[data-netbox-color-mode=light] .input-group .form-control.is-valid:focus,.was-validated html[data-netbox-color-mode=light] .input-group .form-select:valid:focus,html[data-netbox-color-mode=light] .input-group .form-select.is-valid:focus{z-index:3}}@media print{html .invalid-feedback,html[data-netbox-color-mode=dark] .invalid-feedback,html[data-netbox-color-mode=light] .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}}@media print{html .invalid-tooltip,html[data-netbox-color-mode=dark] .invalid-tooltip,html[data-netbox-color-mode=light] .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545e6;border-radius:.375rem}}@media print{.was-validated html:invalid~.invalid-feedback,.was-validated html:invalid~.invalid-tooltip,html.is-invalid~.invalid-feedback,html.is-invalid~.invalid-tooltip,.was-validated html[data-netbox-color-mode=dark]:invalid~.invalid-feedback,.was-validated html[data-netbox-color-mode=dark]:invalid~.invalid-tooltip,html[data-netbox-color-mode=dark].is-invalid~.invalid-feedback,html[data-netbox-color-mode=dark].is-invalid~.invalid-tooltip,.was-validated html[data-netbox-color-mode=light]:invalid~.invalid-feedback,.was-validated html[data-netbox-color-mode=light]:invalid~.invalid-tooltip,html[data-netbox-color-mode=light].is-invalid~.invalid-feedback,html[data-netbox-color-mode=light].is-invalid~.invalid-tooltip{display:block}}@media print{.was-validated html .form-control:invalid,html .form-control.is-invalid,.was-validated html[data-netbox-color-mode=dark] .form-control:invalid,html[data-netbox-color-mode=dark] .form-control.is-invalid,.was-validated html[data-netbox-color-mode=light] .form-control:invalid,html[data-netbox-color-mode=light] .form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html .form-control:invalid:focus,html .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .form-control:invalid:focus,html[data-netbox-color-mode=dark] .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .form-control:invalid:focus,html[data-netbox-color-mode=light] .form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}}@media print{.was-validated html textarea.form-control:invalid,html textarea.form-control.is-invalid,.was-validated html[data-netbox-color-mode=dark] textarea.form-control:invalid,html[data-netbox-color-mode=dark] textarea.form-control.is-invalid,.was-validated html[data-netbox-color-mode=light] textarea.form-control:invalid,html[data-netbox-color-mode=light] textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}}@media print{.was-validated html .form-select:invalid,html .form-select.is-invalid,.was-validated html[data-netbox-color-mode=dark] .form-select:invalid,html[data-netbox-color-mode=dark] .form-select.is-invalid,.was-validated html[data-netbox-color-mode=light] .form-select:invalid,html[data-netbox-color-mode=light] .form-select.is-invalid{border-color:#dc3545}.was-validated html .form-select:invalid:not([multiple]):not([size]),.was-validated html .form-select:invalid:not([multiple])[size="1"],html .form-select.is-invalid:not([multiple]):not([size]),html .form-select.is-invalid:not([multiple])[size="1"],.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:not([multiple])[size="1"],html[data-netbox-color-mode=dark] .form-select.is-invalid:not([multiple]):not([size]),html[data-netbox-color-mode=dark] .form-select.is-invalid:not([multiple])[size="1"],.was-validated html[data-netbox-color-mode=light] .form-select:invalid:not([multiple]):not([size]),.was-validated html[data-netbox-color-mode=light] .form-select:invalid:not([multiple])[size="1"],html[data-netbox-color-mode=light] .form-select.is-invalid:not([multiple]):not([size]),html[data-netbox-color-mode=light] .form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated html .form-select:invalid:focus,html .form-select.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .form-select:invalid:focus,html[data-netbox-color-mode=dark] .form-select.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .form-select:invalid:focus,html[data-netbox-color-mode=light] .form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem #dc354540}}@media print{.was-validated html .form-check-input:invalid,html .form-check-input.is-invalid,.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid,html[data-netbox-color-mode=dark] .form-check-input.is-invalid,.was-validated html[data-netbox-color-mode=light] .form-check-input:invalid,html[data-netbox-color-mode=light] .form-check-input.is-invalid{border-color:#dc3545}.was-validated html .form-check-input:invalid:checked,html .form-check-input.is-invalid:checked,.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid:checked,html[data-netbox-color-mode=dark] .form-check-input.is-invalid:checked,.was-validated html[data-netbox-color-mode=light] .form-check-input:invalid:checked,html[data-netbox-color-mode=light] .form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated html .form-check-input:invalid:focus,html .form-check-input.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid:focus,html[data-netbox-color-mode=dark] .form-check-input.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .form-check-input:invalid:focus,html[data-netbox-color-mode=light] .form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem #dc354540}.was-validated html .form-check-input:invalid~.form-check-label,html .form-check-input.is-invalid~.form-check-label,.was-validated html[data-netbox-color-mode=dark] .form-check-input:invalid~.form-check-label,html[data-netbox-color-mode=dark] .form-check-input.is-invalid~.form-check-label,.was-validated html[data-netbox-color-mode=light] .form-check-input:invalid~.form-check-label,html[data-netbox-color-mode=light] .form-check-input.is-invalid~.form-check-label{color:#dc3545}}@media print{html .form-check-inline .form-check-input~.invalid-feedback,html[data-netbox-color-mode=dark] .form-check-inline .form-check-input~.invalid-feedback,html[data-netbox-color-mode=light] .form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}}@media print{.was-validated html .input-group .form-control:invalid,html .input-group .form-control.is-invalid,.was-validated html .input-group .form-select:invalid,html .input-group .form-select.is-invalid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:invalid,html[data-netbox-color-mode=dark] .input-group .form-control.is-invalid,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:invalid,html[data-netbox-color-mode=dark] .input-group .form-select.is-invalid,.was-validated html[data-netbox-color-mode=light] .input-group .form-control:invalid,html[data-netbox-color-mode=light] .input-group .form-control.is-invalid,.was-validated html[data-netbox-color-mode=light] .input-group .form-select:invalid,html[data-netbox-color-mode=light] .input-group .form-select.is-invalid{z-index:2}.was-validated html .input-group .form-control:invalid:focus,html .input-group .form-control.is-invalid:focus,.was-validated html .input-group .form-select:invalid:focus,html .input-group .form-select.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-control:invalid:focus,html[data-netbox-color-mode=dark] .input-group .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=dark] .input-group .form-select:invalid:focus,html[data-netbox-color-mode=dark] .input-group .form-select.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .input-group .form-control:invalid:focus,html[data-netbox-color-mode=light] .input-group .form-control.is-invalid:focus,.was-validated html[data-netbox-color-mode=light] .input-group .form-select:invalid:focus,html[data-netbox-color-mode=light] .input-group .form-select.is-invalid:focus{z-index:3}}@media print{html .btn,html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=light] .btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;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 print and (prefers-reduced-motion: reduce){html .btn,html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=light] .btn{transition:none}}@media print{html .btn:hover,html[data-netbox-color-mode=dark] .btn:hover,html[data-netbox-color-mode=light] .btn:hover{color:#212529}}@media print{.btn-check:focus+html .btn,html .btn:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=dark] .btn:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn,html[data-netbox-color-mode=light] .btn:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .btn:disabled,html .btn.disabled,fieldset:disabled html .btn,html[data-netbox-color-mode=dark] .btn:disabled,html[data-netbox-color-mode=dark] .btn.disabled,fieldset:disabled html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=light] .btn:disabled,html[data-netbox-color-mode=light] .btn.disabled,fieldset:disabled html[data-netbox-color-mode=light] .btn{pointer-events:none;opacity:.65}}@media print{html .btn-primary,html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=light] .btn-primary{color:#fff;background-color:#337ab7;border-color:#337ab7}html .btn-primary:hover,html[data-netbox-color-mode=dark] .btn-primary:hover,html[data-netbox-color-mode=light] .btn-primary:hover{color:#fff;background-color:#2b689c;border-color:#296292}.btn-check:focus+html .btn-primary,html .btn-primary:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=dark] .btn-primary:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-primary,html[data-netbox-color-mode=light] .btn-primary:focus{color:#fff;background-color:#2b689c;border-color:#296292;box-shadow:0 0 0 .25rem #528ec280}.btn-check:checked+html .btn-primary,.btn-check:active+html .btn-primary,html .btn-primary:active,html .btn-primary.active,.show>html .btn-primary.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-primary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-primary,html[data-netbox-color-mode=dark] .btn-primary:active,html[data-netbox-color-mode=dark] .btn-primary.active,.show>html[data-netbox-color-mode=dark] .btn-primary.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-primary,.btn-check:active+html[data-netbox-color-mode=light] .btn-primary,html[data-netbox-color-mode=light] .btn-primary:active,html[data-netbox-color-mode=light] .btn-primary.active,.show>html[data-netbox-color-mode=light] .btn-primary.dropdown-toggle{color:#fff;background-color:#296292;border-color:#265c89}.btn-check:checked+html .btn-primary:focus,.btn-check:active+html .btn-primary:focus,html .btn-primary:active:focus,html .btn-primary.active:focus,.show>html .btn-primary.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-primary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-primary:focus,html[data-netbox-color-mode=dark] .btn-primary:active:focus,html[data-netbox-color-mode=dark] .btn-primary.active:focus,.show>html[data-netbox-color-mode=dark] .btn-primary.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-primary:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-primary:focus,html[data-netbox-color-mode=light] .btn-primary:active:focus,html[data-netbox-color-mode=light] .btn-primary.active:focus,.show>html[data-netbox-color-mode=light] .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #528ec280}html .btn-primary:disabled,html .btn-primary.disabled,html[data-netbox-color-mode=dark] .btn-primary:disabled,html[data-netbox-color-mode=dark] .btn-primary.disabled,html[data-netbox-color-mode=light] .btn-primary:disabled,html[data-netbox-color-mode=light] .btn-primary.disabled{color:#fff;background-color:#337ab7;border-color:#337ab7}}@media print{html .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=light] .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}html .btn-secondary:hover,html[data-netbox-color-mode=dark] .btn-secondary:hover,html[data-netbox-color-mode=light] .btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+html .btn-secondary,html .btn-secondary:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-secondary,html[data-netbox-color-mode=light] .btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem #828a9180}.btn-check:checked+html .btn-secondary,.btn-check:active+html .btn-secondary,html .btn-secondary:active,html .btn-secondary.active,.show>html .btn-secondary.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-secondary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-secondary,html[data-netbox-color-mode=dark] .btn-secondary:active,html[data-netbox-color-mode=dark] .btn-secondary.active,.show>html[data-netbox-color-mode=dark] .btn-secondary.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-secondary,.btn-check:active+html[data-netbox-color-mode=light] .btn-secondary,html[data-netbox-color-mode=light] .btn-secondary:active,html[data-netbox-color-mode=light] .btn-secondary.active,.show>html[data-netbox-color-mode=light] .btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+html .btn-secondary:focus,.btn-check:active+html .btn-secondary:focus,html .btn-secondary:active:focus,html .btn-secondary.active:focus,.show>html .btn-secondary.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-secondary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-secondary:focus,html[data-netbox-color-mode=dark] .btn-secondary:active:focus,html[data-netbox-color-mode=dark] .btn-secondary.active:focus,.show>html[data-netbox-color-mode=dark] .btn-secondary.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-secondary:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-secondary:focus,html[data-netbox-color-mode=light] .btn-secondary:active:focus,html[data-netbox-color-mode=light] .btn-secondary.active:focus,.show>html[data-netbox-color-mode=light] .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #828a9180}html .btn-secondary:disabled,html .btn-secondary.disabled,html[data-netbox-color-mode=dark] .btn-secondary:disabled,html[data-netbox-color-mode=dark] .btn-secondary.disabled,html[data-netbox-color-mode=light] .btn-secondary:disabled,html[data-netbox-color-mode=light] .btn-secondary.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}}@media print{html .btn-success,html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=light] .btn-success{color:#fff;background-color:#198754;border-color:#198754}html .btn-success:hover,html[data-netbox-color-mode=dark] .btn-success:hover,html[data-netbox-color-mode=light] .btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+html .btn-success,html .btn-success:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=dark] .btn-success:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-success,html[data-netbox-color-mode=light] .btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem #3c996e80}.btn-check:checked+html .btn-success,.btn-check:active+html .btn-success,html .btn-success:active,html .btn-success.active,.show>html .btn-success.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-success,.btn-check:active+html[data-netbox-color-mode=dark] .btn-success,html[data-netbox-color-mode=dark] .btn-success:active,html[data-netbox-color-mode=dark] .btn-success.active,.show>html[data-netbox-color-mode=dark] .btn-success.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-success,.btn-check:active+html[data-netbox-color-mode=light] .btn-success,html[data-netbox-color-mode=light] .btn-success:active,html[data-netbox-color-mode=light] .btn-success.active,.show>html[data-netbox-color-mode=light] .btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+html .btn-success:focus,.btn-check:active+html .btn-success:focus,html .btn-success:active:focus,html .btn-success.active:focus,.show>html .btn-success.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-success:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-success:focus,html[data-netbox-color-mode=dark] .btn-success:active:focus,html[data-netbox-color-mode=dark] .btn-success.active:focus,.show>html[data-netbox-color-mode=dark] .btn-success.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-success:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-success:focus,html[data-netbox-color-mode=light] .btn-success:active:focus,html[data-netbox-color-mode=light] .btn-success.active:focus,.show>html[data-netbox-color-mode=light] .btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3c996e80}html .btn-success:disabled,html .btn-success.disabled,html[data-netbox-color-mode=dark] .btn-success:disabled,html[data-netbox-color-mode=dark] .btn-success.disabled,html[data-netbox-color-mode=light] .btn-success:disabled,html[data-netbox-color-mode=light] .btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}}@media print{html .btn-info,html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=light] .btn-info{color:#000;background-color:#54d6f0;border-color:#54d6f0}html .btn-info:hover,html[data-netbox-color-mode=dark] .btn-info:hover,html[data-netbox-color-mode=light] .btn-info:hover{color:#000;background-color:#6edcf2;border-color:#65daf2}.btn-check:focus+html .btn-info,html .btn-info:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=dark] .btn-info:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-info,html[data-netbox-color-mode=light] .btn-info:focus{color:#000;background-color:#6edcf2;border-color:#65daf2;box-shadow:0 0 0 .25rem #47b6cc80}.btn-check:checked+html .btn-info,.btn-check:active+html .btn-info,html .btn-info:active,html .btn-info.active,.show>html .btn-info.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-info,.btn-check:active+html[data-netbox-color-mode=dark] .btn-info,html[data-netbox-color-mode=dark] .btn-info:active,html[data-netbox-color-mode=dark] .btn-info.active,.show>html[data-netbox-color-mode=dark] .btn-info.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-info,.btn-check:active+html[data-netbox-color-mode=light] .btn-info,html[data-netbox-color-mode=light] .btn-info:active,html[data-netbox-color-mode=light] .btn-info.active,.show>html[data-netbox-color-mode=light] .btn-info.dropdown-toggle{color:#000;background-color:#76def3;border-color:#65daf2}.btn-check:checked+html .btn-info:focus,.btn-check:active+html .btn-info:focus,html .btn-info:active:focus,html .btn-info.active:focus,.show>html .btn-info.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-info:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-info:focus,html[data-netbox-color-mode=dark] .btn-info:active:focus,html[data-netbox-color-mode=dark] .btn-info.active:focus,.show>html[data-netbox-color-mode=dark] .btn-info.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-info:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-info:focus,html[data-netbox-color-mode=light] .btn-info:active:focus,html[data-netbox-color-mode=light] .btn-info.active:focus,.show>html[data-netbox-color-mode=light] .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #47b6cc80}html .btn-info:disabled,html .btn-info.disabled,html[data-netbox-color-mode=dark] .btn-info:disabled,html[data-netbox-color-mode=dark] .btn-info.disabled,html[data-netbox-color-mode=light] .btn-info:disabled,html[data-netbox-color-mode=light] .btn-info.disabled{color:#000;background-color:#54d6f0;border-color:#54d6f0}}@media print{html .btn-warning,html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=light] .btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}html .btn-warning:hover,html[data-netbox-color-mode=dark] .btn-warning:hover,html[data-netbox-color-mode=light] .btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+html .btn-warning,html .btn-warning:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=dark] .btn-warning:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-warning,html[data-netbox-color-mode=light] .btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem #d9a40680}.btn-check:checked+html .btn-warning,.btn-check:active+html .btn-warning,html .btn-warning:active,html .btn-warning.active,.show>html .btn-warning.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-warning,.btn-check:active+html[data-netbox-color-mode=dark] .btn-warning,html[data-netbox-color-mode=dark] .btn-warning:active,html[data-netbox-color-mode=dark] .btn-warning.active,.show>html[data-netbox-color-mode=dark] .btn-warning.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-warning,.btn-check:active+html[data-netbox-color-mode=light] .btn-warning,html[data-netbox-color-mode=light] .btn-warning:active,html[data-netbox-color-mode=light] .btn-warning.active,.show>html[data-netbox-color-mode=light] .btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+html .btn-warning:focus,.btn-check:active+html .btn-warning:focus,html .btn-warning:active:focus,html .btn-warning.active:focus,.show>html .btn-warning.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-warning:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-warning:focus,html[data-netbox-color-mode=dark] .btn-warning:active:focus,html[data-netbox-color-mode=dark] .btn-warning.active:focus,.show>html[data-netbox-color-mode=dark] .btn-warning.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-warning:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-warning:focus,html[data-netbox-color-mode=light] .btn-warning:active:focus,html[data-netbox-color-mode=light] .btn-warning.active:focus,.show>html[data-netbox-color-mode=light] .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9a40680}html .btn-warning:disabled,html .btn-warning.disabled,html[data-netbox-color-mode=dark] .btn-warning:disabled,html[data-netbox-color-mode=dark] .btn-warning.disabled,html[data-netbox-color-mode=light] .btn-warning:disabled,html[data-netbox-color-mode=light] .btn-warning.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}}@media print{html .btn-danger,html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=light] .btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}html .btn-danger:hover,html[data-netbox-color-mode=dark] .btn-danger:hover,html[data-netbox-color-mode=light] .btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+html .btn-danger,html .btn-danger:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=dark] .btn-danger:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-danger,html[data-netbox-color-mode=light] .btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem #e1536180}.btn-check:checked+html .btn-danger,.btn-check:active+html .btn-danger,html .btn-danger:active,html .btn-danger.active,.show>html .btn-danger.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-danger,.btn-check:active+html[data-netbox-color-mode=dark] .btn-danger,html[data-netbox-color-mode=dark] .btn-danger:active,html[data-netbox-color-mode=dark] .btn-danger.active,.show>html[data-netbox-color-mode=dark] .btn-danger.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-danger,.btn-check:active+html[data-netbox-color-mode=light] .btn-danger,html[data-netbox-color-mode=light] .btn-danger:active,html[data-netbox-color-mode=light] .btn-danger.active,.show>html[data-netbox-color-mode=light] .btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+html .btn-danger:focus,.btn-check:active+html .btn-danger:focus,html .btn-danger:active:focus,html .btn-danger.active:focus,.show>html .btn-danger.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-danger:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-danger:focus,html[data-netbox-color-mode=dark] .btn-danger:active:focus,html[data-netbox-color-mode=dark] .btn-danger.active:focus,.show>html[data-netbox-color-mode=dark] .btn-danger.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-danger:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-danger:focus,html[data-netbox-color-mode=light] .btn-danger:active:focus,html[data-netbox-color-mode=light] .btn-danger.active:focus,.show>html[data-netbox-color-mode=light] .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #e1536180}html .btn-danger:disabled,html .btn-danger.disabled,html[data-netbox-color-mode=dark] .btn-danger:disabled,html[data-netbox-color-mode=dark] .btn-danger.disabled,html[data-netbox-color-mode=light] .btn-danger:disabled,html[data-netbox-color-mode=light] .btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}}@media print{html .btn-light,html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=light] .btn-light{color:#000;background-color:#e9ecef;border-color:#e9ecef}html .btn-light:hover,html[data-netbox-color-mode=dark] .btn-light:hover,html[data-netbox-color-mode=light] .btn-light:hover{color:#000;background-color:#eceff1;border-color:#ebeef1}.btn-check:focus+html .btn-light,html .btn-light:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=dark] .btn-light:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-light,html[data-netbox-color-mode=light] .btn-light:focus{color:#000;background-color:#eceff1;border-color:#ebeef1;box-shadow:0 0 0 .25rem #c6c9cb80}.btn-check:checked+html .btn-light,.btn-check:active+html .btn-light,html .btn-light:active,html .btn-light.active,.show>html .btn-light.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-light,.btn-check:active+html[data-netbox-color-mode=dark] .btn-light,html[data-netbox-color-mode=dark] .btn-light:active,html[data-netbox-color-mode=dark] .btn-light.active,.show>html[data-netbox-color-mode=dark] .btn-light.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-light,.btn-check:active+html[data-netbox-color-mode=light] .btn-light,html[data-netbox-color-mode=light] .btn-light:active,html[data-netbox-color-mode=light] .btn-light.active,.show>html[data-netbox-color-mode=light] .btn-light.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#ebeef1}.btn-check:checked+html .btn-light:focus,.btn-check:active+html .btn-light:focus,html .btn-light:active:focus,html .btn-light.active:focus,.show>html .btn-light.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-light:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-light:focus,html[data-netbox-color-mode=dark] .btn-light:active:focus,html[data-netbox-color-mode=dark] .btn-light.active:focus,.show>html[data-netbox-color-mode=dark] .btn-light.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-light:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-light:focus,html[data-netbox-color-mode=light] .btn-light:active:focus,html[data-netbox-color-mode=light] .btn-light.active:focus,.show>html[data-netbox-color-mode=light] .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #c6c9cb80}html .btn-light:disabled,html .btn-light.disabled,html[data-netbox-color-mode=dark] .btn-light:disabled,html[data-netbox-color-mode=dark] .btn-light.disabled,html[data-netbox-color-mode=light] .btn-light:disabled,html[data-netbox-color-mode=light] .btn-light.disabled{color:#000;background-color:#e9ecef;border-color:#e9ecef}}@media print{html .btn-dark,html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=light] .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}html .btn-dark:hover,html[data-netbox-color-mode=dark] .btn-dark:hover,html[data-netbox-color-mode=light] .btn-dark:hover{color:#fff;background-color:#2c3136;border-color:#2a2e33}.btn-check:focus+html .btn-dark,html .btn-dark:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=dark] .btn-dark:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-dark,html[data-netbox-color-mode=light] .btn-dark:focus{color:#fff;background-color:#2c3136;border-color:#2a2e33;box-shadow:0 0 0 .25rem #52585d80}.btn-check:checked+html .btn-dark,.btn-check:active+html .btn-dark,html .btn-dark:active,html .btn-dark.active,.show>html .btn-dark.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-dark,.btn-check:active+html[data-netbox-color-mode=dark] .btn-dark,html[data-netbox-color-mode=dark] .btn-dark:active,html[data-netbox-color-mode=dark] .btn-dark.active,.show>html[data-netbox-color-mode=dark] .btn-dark.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-dark,.btn-check:active+html[data-netbox-color-mode=light] .btn-dark,html[data-netbox-color-mode=light] .btn-dark:active,html[data-netbox-color-mode=light] .btn-dark.active,.show>html[data-netbox-color-mode=light] .btn-dark.dropdown-toggle{color:#fff;background-color:#2a2e33;border-color:#272c30}.btn-check:checked+html .btn-dark:focus,.btn-check:active+html .btn-dark:focus,html .btn-dark:active:focus,html .btn-dark.active:focus,.show>html .btn-dark.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-dark:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-dark:focus,html[data-netbox-color-mode=dark] .btn-dark:active:focus,html[data-netbox-color-mode=dark] .btn-dark.active:focus,.show>html[data-netbox-color-mode=dark] .btn-dark.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-dark:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-dark:focus,html[data-netbox-color-mode=light] .btn-dark:active:focus,html[data-netbox-color-mode=light] .btn-dark.active:focus,.show>html[data-netbox-color-mode=light] .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #52585d80}html .btn-dark:disabled,html .btn-dark.disabled,html[data-netbox-color-mode=dark] .btn-dark:disabled,html[data-netbox-color-mode=dark] .btn-dark.disabled,html[data-netbox-color-mode=light] .btn-dark:disabled,html[data-netbox-color-mode=light] .btn-dark.disabled{color:#fff;background-color:#343a40;border-color:#343a40}}@media print{html .btn-blue,html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=light] .btn-blue{color:#fff;background-color:#0d6efd;border-color:#0d6efd}html .btn-blue:hover,html[data-netbox-color-mode=dark] .btn-blue:hover,html[data-netbox-color-mode=light] .btn-blue:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+html .btn-blue,html .btn-blue:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=dark] .btn-blue:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-blue,html[data-netbox-color-mode=light] .btn-blue:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem #3184fd80}.btn-check:checked+html .btn-blue,.btn-check:active+html .btn-blue,html .btn-blue:active,html .btn-blue.active,.show>html .btn-blue.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-blue,.btn-check:active+html[data-netbox-color-mode=dark] .btn-blue,html[data-netbox-color-mode=dark] .btn-blue:active,html[data-netbox-color-mode=dark] .btn-blue.active,.show>html[data-netbox-color-mode=dark] .btn-blue.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-blue,.btn-check:active+html[data-netbox-color-mode=light] .btn-blue,html[data-netbox-color-mode=light] .btn-blue:active,html[data-netbox-color-mode=light] .btn-blue.active,.show>html[data-netbox-color-mode=light] .btn-blue.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:checked+html .btn-blue:focus,.btn-check:active+html .btn-blue:focus,html .btn-blue:active:focus,html .btn-blue.active:focus,.show>html .btn-blue.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-blue:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-blue:focus,html[data-netbox-color-mode=dark] .btn-blue:active:focus,html[data-netbox-color-mode=dark] .btn-blue.active:focus,.show>html[data-netbox-color-mode=dark] .btn-blue.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-blue:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-blue:focus,html[data-netbox-color-mode=light] .btn-blue:active:focus,html[data-netbox-color-mode=light] .btn-blue.active:focus,.show>html[data-netbox-color-mode=light] .btn-blue.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3184fd80}html .btn-blue:disabled,html .btn-blue.disabled,html[data-netbox-color-mode=dark] .btn-blue:disabled,html[data-netbox-color-mode=dark] .btn-blue.disabled,html[data-netbox-color-mode=light] .btn-blue:disabled,html[data-netbox-color-mode=light] .btn-blue.disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}}@media print{html .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=light] .btn-indigo{color:#fff;background-color:#6610f2;border-color:#6610f2}html .btn-indigo:hover,html[data-netbox-color-mode=dark] .btn-indigo:hover,html[data-netbox-color-mode=light] .btn-indigo:hover{color:#fff;background-color:#570ece;border-color:#520dc2}.btn-check:focus+html .btn-indigo,html .btn-indigo:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-indigo,html[data-netbox-color-mode=light] .btn-indigo:focus{color:#fff;background-color:#570ece;border-color:#520dc2;box-shadow:0 0 0 .25rem #7d34f480}.btn-check:checked+html .btn-indigo,.btn-check:active+html .btn-indigo,html .btn-indigo:active,html .btn-indigo.active,.show>html .btn-indigo.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-indigo,.btn-check:active+html[data-netbox-color-mode=dark] .btn-indigo,html[data-netbox-color-mode=dark] .btn-indigo:active,html[data-netbox-color-mode=dark] .btn-indigo.active,.show>html[data-netbox-color-mode=dark] .btn-indigo.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-indigo,.btn-check:active+html[data-netbox-color-mode=light] .btn-indigo,html[data-netbox-color-mode=light] .btn-indigo:active,html[data-netbox-color-mode=light] .btn-indigo.active,.show>html[data-netbox-color-mode=light] .btn-indigo.dropdown-toggle{color:#fff;background-color:#520dc2;border-color:#4d0cb6}.btn-check:checked+html .btn-indigo:focus,.btn-check:active+html .btn-indigo:focus,html .btn-indigo:active:focus,html .btn-indigo.active:focus,.show>html .btn-indigo.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-indigo:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-indigo:focus,html[data-netbox-color-mode=dark] .btn-indigo:active:focus,html[data-netbox-color-mode=dark] .btn-indigo.active:focus,.show>html[data-netbox-color-mode=dark] .btn-indigo.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-indigo:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-indigo:focus,html[data-netbox-color-mode=light] .btn-indigo:active:focus,html[data-netbox-color-mode=light] .btn-indigo.active:focus,.show>html[data-netbox-color-mode=light] .btn-indigo.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #7d34f480}html .btn-indigo:disabled,html .btn-indigo.disabled,html[data-netbox-color-mode=dark] .btn-indigo:disabled,html[data-netbox-color-mode=dark] .btn-indigo.disabled,html[data-netbox-color-mode=light] .btn-indigo:disabled,html[data-netbox-color-mode=light] .btn-indigo.disabled{color:#fff;background-color:#6610f2;border-color:#6610f2}}@media print{html .btn-purple,html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=light] .btn-purple{color:#fff;background-color:#6f42c1;border-color:#6f42c1}html .btn-purple:hover,html[data-netbox-color-mode=dark] .btn-purple:hover,html[data-netbox-color-mode=light] .btn-purple:hover{color:#fff;background-color:#5e38a4;border-color:#59359a}.btn-check:focus+html .btn-purple,html .btn-purple:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=dark] .btn-purple:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-purple,html[data-netbox-color-mode=light] .btn-purple:focus{color:#fff;background-color:#5e38a4;border-color:#59359a;box-shadow:0 0 0 .25rem #855eca80}.btn-check:checked+html .btn-purple,.btn-check:active+html .btn-purple,html .btn-purple:active,html .btn-purple.active,.show>html .btn-purple.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-purple,.btn-check:active+html[data-netbox-color-mode=dark] .btn-purple,html[data-netbox-color-mode=dark] .btn-purple:active,html[data-netbox-color-mode=dark] .btn-purple.active,.show>html[data-netbox-color-mode=dark] .btn-purple.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-purple,.btn-check:active+html[data-netbox-color-mode=light] .btn-purple,html[data-netbox-color-mode=light] .btn-purple:active,html[data-netbox-color-mode=light] .btn-purple.active,.show>html[data-netbox-color-mode=light] .btn-purple.dropdown-toggle{color:#fff;background-color:#59359a;border-color:#533291}.btn-check:checked+html .btn-purple:focus,.btn-check:active+html .btn-purple:focus,html .btn-purple:active:focus,html .btn-purple.active:focus,.show>html .btn-purple.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-purple:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-purple:focus,html[data-netbox-color-mode=dark] .btn-purple:active:focus,html[data-netbox-color-mode=dark] .btn-purple.active:focus,.show>html[data-netbox-color-mode=dark] .btn-purple.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-purple:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-purple:focus,html[data-netbox-color-mode=light] .btn-purple:active:focus,html[data-netbox-color-mode=light] .btn-purple.active:focus,.show>html[data-netbox-color-mode=light] .btn-purple.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #855eca80}html .btn-purple:disabled,html .btn-purple.disabled,html[data-netbox-color-mode=dark] .btn-purple:disabled,html[data-netbox-color-mode=dark] .btn-purple.disabled,html[data-netbox-color-mode=light] .btn-purple:disabled,html[data-netbox-color-mode=light] .btn-purple.disabled{color:#fff;background-color:#6f42c1;border-color:#6f42c1}}@media print{html .btn-pink,html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=light] .btn-pink{color:#fff;background-color:#d63384;border-color:#d63384}html .btn-pink:hover,html[data-netbox-color-mode=dark] .btn-pink:hover,html[data-netbox-color-mode=light] .btn-pink:hover{color:#fff;background-color:#b62b70;border-color:#ab296a}.btn-check:focus+html .btn-pink,html .btn-pink:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=dark] .btn-pink:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-pink,html[data-netbox-color-mode=light] .btn-pink:focus{color:#fff;background-color:#b62b70;border-color:#ab296a;box-shadow:0 0 0 .25rem #dc529680}.btn-check:checked+html .btn-pink,.btn-check:active+html .btn-pink,html .btn-pink:active,html .btn-pink.active,.show>html .btn-pink.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-pink,.btn-check:active+html[data-netbox-color-mode=dark] .btn-pink,html[data-netbox-color-mode=dark] .btn-pink:active,html[data-netbox-color-mode=dark] .btn-pink.active,.show>html[data-netbox-color-mode=dark] .btn-pink.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-pink,.btn-check:active+html[data-netbox-color-mode=light] .btn-pink,html[data-netbox-color-mode=light] .btn-pink:active,html[data-netbox-color-mode=light] .btn-pink.active,.show>html[data-netbox-color-mode=light] .btn-pink.dropdown-toggle{color:#fff;background-color:#ab296a;border-color:#a12663}.btn-check:checked+html .btn-pink:focus,.btn-check:active+html .btn-pink:focus,html .btn-pink:active:focus,html .btn-pink.active:focus,.show>html .btn-pink.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-pink:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-pink:focus,html[data-netbox-color-mode=dark] .btn-pink:active:focus,html[data-netbox-color-mode=dark] .btn-pink.active:focus,.show>html[data-netbox-color-mode=dark] .btn-pink.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-pink:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-pink:focus,html[data-netbox-color-mode=light] .btn-pink:active:focus,html[data-netbox-color-mode=light] .btn-pink.active:focus,.show>html[data-netbox-color-mode=light] .btn-pink.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #dc529680}html .btn-pink:disabled,html .btn-pink.disabled,html[data-netbox-color-mode=dark] .btn-pink:disabled,html[data-netbox-color-mode=dark] .btn-pink.disabled,html[data-netbox-color-mode=light] .btn-pink:disabled,html[data-netbox-color-mode=light] .btn-pink.disabled{color:#fff;background-color:#d63384;border-color:#d63384}}@media print{html .btn-red,html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=light] .btn-red{color:#fff;background-color:#dc3545;border-color:#dc3545}html .btn-red:hover,html[data-netbox-color-mode=dark] .btn-red:hover,html[data-netbox-color-mode=light] .btn-red:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+html .btn-red,html .btn-red:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=dark] .btn-red:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-red,html[data-netbox-color-mode=light] .btn-red:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem #e1536180}.btn-check:checked+html .btn-red,.btn-check:active+html .btn-red,html .btn-red:active,html .btn-red.active,.show>html .btn-red.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-red,.btn-check:active+html[data-netbox-color-mode=dark] .btn-red,html[data-netbox-color-mode=dark] .btn-red:active,html[data-netbox-color-mode=dark] .btn-red.active,.show>html[data-netbox-color-mode=dark] .btn-red.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-red,.btn-check:active+html[data-netbox-color-mode=light] .btn-red,html[data-netbox-color-mode=light] .btn-red:active,html[data-netbox-color-mode=light] .btn-red.active,.show>html[data-netbox-color-mode=light] .btn-red.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+html .btn-red:focus,.btn-check:active+html .btn-red:focus,html .btn-red:active:focus,html .btn-red.active:focus,.show>html .btn-red.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-red:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-red:focus,html[data-netbox-color-mode=dark] .btn-red:active:focus,html[data-netbox-color-mode=dark] .btn-red.active:focus,.show>html[data-netbox-color-mode=dark] .btn-red.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-red:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-red:focus,html[data-netbox-color-mode=light] .btn-red:active:focus,html[data-netbox-color-mode=light] .btn-red.active:focus,.show>html[data-netbox-color-mode=light] .btn-red.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #e1536180}html .btn-red:disabled,html .btn-red.disabled,html[data-netbox-color-mode=dark] .btn-red:disabled,html[data-netbox-color-mode=dark] .btn-red.disabled,html[data-netbox-color-mode=light] .btn-red:disabled,html[data-netbox-color-mode=light] .btn-red.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}}@media print{html .btn-orange,html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=light] .btn-orange{color:#000;background-color:#fd7e14;border-color:#fd7e14}html .btn-orange:hover,html[data-netbox-color-mode=dark] .btn-orange:hover,html[data-netbox-color-mode=light] .btn-orange:hover{color:#000;background-color:#fd9137;border-color:#fd8b2c}.btn-check:focus+html .btn-orange,html .btn-orange:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=dark] .btn-orange:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-orange,html[data-netbox-color-mode=light] .btn-orange:focus{color:#000;background-color:#fd9137;border-color:#fd8b2c;box-shadow:0 0 0 .25rem #d76b1180}.btn-check:checked+html .btn-orange,.btn-check:active+html .btn-orange,html .btn-orange:active,html .btn-orange.active,.show>html .btn-orange.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-orange,.btn-check:active+html[data-netbox-color-mode=dark] .btn-orange,html[data-netbox-color-mode=dark] .btn-orange:active,html[data-netbox-color-mode=dark] .btn-orange.active,.show>html[data-netbox-color-mode=dark] .btn-orange.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-orange,.btn-check:active+html[data-netbox-color-mode=light] .btn-orange,html[data-netbox-color-mode=light] .btn-orange:active,html[data-netbox-color-mode=light] .btn-orange.active,.show>html[data-netbox-color-mode=light] .btn-orange.dropdown-toggle{color:#000;background-color:#fd9843;border-color:#fd8b2c}.btn-check:checked+html .btn-orange:focus,.btn-check:active+html .btn-orange:focus,html .btn-orange:active:focus,html .btn-orange.active:focus,.show>html .btn-orange.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-orange:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-orange:focus,html[data-netbox-color-mode=dark] .btn-orange:active:focus,html[data-netbox-color-mode=dark] .btn-orange.active:focus,.show>html[data-netbox-color-mode=dark] .btn-orange.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-orange:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-orange:focus,html[data-netbox-color-mode=light] .btn-orange:active:focus,html[data-netbox-color-mode=light] .btn-orange.active:focus,.show>html[data-netbox-color-mode=light] .btn-orange.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d76b1180}html .btn-orange:disabled,html .btn-orange.disabled,html[data-netbox-color-mode=dark] .btn-orange:disabled,html[data-netbox-color-mode=dark] .btn-orange.disabled,html[data-netbox-color-mode=light] .btn-orange:disabled,html[data-netbox-color-mode=light] .btn-orange.disabled{color:#000;background-color:#fd7e14;border-color:#fd7e14}}@media print{html .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=light] .btn-yellow{color:#000;background-color:#ffc107;border-color:#ffc107}html .btn-yellow:hover,html[data-netbox-color-mode=dark] .btn-yellow:hover,html[data-netbox-color-mode=light] .btn-yellow:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+html .btn-yellow,html .btn-yellow:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-yellow,html[data-netbox-color-mode=light] .btn-yellow:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem #d9a40680}.btn-check:checked+html .btn-yellow,.btn-check:active+html .btn-yellow,html .btn-yellow:active,html .btn-yellow.active,.show>html .btn-yellow.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-yellow,.btn-check:active+html[data-netbox-color-mode=dark] .btn-yellow,html[data-netbox-color-mode=dark] .btn-yellow:active,html[data-netbox-color-mode=dark] .btn-yellow.active,.show>html[data-netbox-color-mode=dark] .btn-yellow.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-yellow,.btn-check:active+html[data-netbox-color-mode=light] .btn-yellow,html[data-netbox-color-mode=light] .btn-yellow:active,html[data-netbox-color-mode=light] .btn-yellow.active,.show>html[data-netbox-color-mode=light] .btn-yellow.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+html .btn-yellow:focus,.btn-check:active+html .btn-yellow:focus,html .btn-yellow:active:focus,html .btn-yellow.active:focus,.show>html .btn-yellow.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-yellow:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-yellow:focus,html[data-netbox-color-mode=dark] .btn-yellow:active:focus,html[data-netbox-color-mode=dark] .btn-yellow.active:focus,.show>html[data-netbox-color-mode=dark] .btn-yellow.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-yellow:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-yellow:focus,html[data-netbox-color-mode=light] .btn-yellow:active:focus,html[data-netbox-color-mode=light] .btn-yellow.active:focus,.show>html[data-netbox-color-mode=light] .btn-yellow.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9a40680}html .btn-yellow:disabled,html .btn-yellow.disabled,html[data-netbox-color-mode=dark] .btn-yellow:disabled,html[data-netbox-color-mode=dark] .btn-yellow.disabled,html[data-netbox-color-mode=light] .btn-yellow:disabled,html[data-netbox-color-mode=light] .btn-yellow.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}}@media print{html .btn-green,html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=light] .btn-green{color:#fff;background-color:#198754;border-color:#198754}html .btn-green:hover,html[data-netbox-color-mode=dark] .btn-green:hover,html[data-netbox-color-mode=light] .btn-green:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+html .btn-green,html .btn-green:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=dark] .btn-green:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-green,html[data-netbox-color-mode=light] .btn-green:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem #3c996e80}.btn-check:checked+html .btn-green,.btn-check:active+html .btn-green,html .btn-green:active,html .btn-green.active,.show>html .btn-green.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-green,.btn-check:active+html[data-netbox-color-mode=dark] .btn-green,html[data-netbox-color-mode=dark] .btn-green:active,html[data-netbox-color-mode=dark] .btn-green.active,.show>html[data-netbox-color-mode=dark] .btn-green.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-green,.btn-check:active+html[data-netbox-color-mode=light] .btn-green,html[data-netbox-color-mode=light] .btn-green:active,html[data-netbox-color-mode=light] .btn-green.active,.show>html[data-netbox-color-mode=light] .btn-green.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+html .btn-green:focus,.btn-check:active+html .btn-green:focus,html .btn-green:active:focus,html .btn-green.active:focus,.show>html .btn-green.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-green:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-green:focus,html[data-netbox-color-mode=dark] .btn-green:active:focus,html[data-netbox-color-mode=dark] .btn-green.active:focus,.show>html[data-netbox-color-mode=dark] .btn-green.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-green:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-green:focus,html[data-netbox-color-mode=light] .btn-green:active:focus,html[data-netbox-color-mode=light] .btn-green.active:focus,.show>html[data-netbox-color-mode=light] .btn-green.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #3c996e80}html .btn-green:disabled,html .btn-green.disabled,html[data-netbox-color-mode=dark] .btn-green:disabled,html[data-netbox-color-mode=dark] .btn-green.disabled,html[data-netbox-color-mode=light] .btn-green:disabled,html[data-netbox-color-mode=light] .btn-green.disabled{color:#fff;background-color:#198754;border-color:#198754}}@media print{html .btn-teal,html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=light] .btn-teal{color:#000;background-color:#20c997;border-color:#20c997}html .btn-teal:hover,html[data-netbox-color-mode=dark] .btn-teal:hover,html[data-netbox-color-mode=light] .btn-teal:hover{color:#000;background-color:#41d1a7;border-color:#36cea1}.btn-check:focus+html .btn-teal,html .btn-teal:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=dark] .btn-teal:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-teal,html[data-netbox-color-mode=light] .btn-teal:focus{color:#000;background-color:#41d1a7;border-color:#36cea1;box-shadow:0 0 0 .25rem #1bab8080}.btn-check:checked+html .btn-teal,.btn-check:active+html .btn-teal,html .btn-teal:active,html .btn-teal.active,.show>html .btn-teal.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-teal,.btn-check:active+html[data-netbox-color-mode=dark] .btn-teal,html[data-netbox-color-mode=dark] .btn-teal:active,html[data-netbox-color-mode=dark] .btn-teal.active,.show>html[data-netbox-color-mode=dark] .btn-teal.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-teal,.btn-check:active+html[data-netbox-color-mode=light] .btn-teal,html[data-netbox-color-mode=light] .btn-teal:active,html[data-netbox-color-mode=light] .btn-teal.active,.show>html[data-netbox-color-mode=light] .btn-teal.dropdown-toggle{color:#000;background-color:#4dd4ac;border-color:#36cea1}.btn-check:checked+html .btn-teal:focus,.btn-check:active+html .btn-teal:focus,html .btn-teal:active:focus,html .btn-teal.active:focus,.show>html .btn-teal.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-teal:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-teal:focus,html[data-netbox-color-mode=dark] .btn-teal:active:focus,html[data-netbox-color-mode=dark] .btn-teal.active:focus,.show>html[data-netbox-color-mode=dark] .btn-teal.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-teal:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-teal:focus,html[data-netbox-color-mode=light] .btn-teal:active:focus,html[data-netbox-color-mode=light] .btn-teal.active:focus,.show>html[data-netbox-color-mode=light] .btn-teal.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #1bab8080}html .btn-teal:disabled,html .btn-teal.disabled,html[data-netbox-color-mode=dark] .btn-teal:disabled,html[data-netbox-color-mode=dark] .btn-teal.disabled,html[data-netbox-color-mode=light] .btn-teal:disabled,html[data-netbox-color-mode=light] .btn-teal.disabled{color:#000;background-color:#20c997;border-color:#20c997}}@media print{html .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=light] .btn-cyan{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}html .btn-cyan:hover,html[data-netbox-color-mode=dark] .btn-cyan:hover,html[data-netbox-color-mode=light] .btn-cyan:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+html .btn-cyan,html .btn-cyan:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-cyan,html[data-netbox-color-mode=light] .btn-cyan:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem #0baccc80}.btn-check:checked+html .btn-cyan,.btn-check:active+html .btn-cyan,html .btn-cyan:active,html .btn-cyan.active,.show>html .btn-cyan.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-cyan,.btn-check:active+html[data-netbox-color-mode=dark] .btn-cyan,html[data-netbox-color-mode=dark] .btn-cyan:active,html[data-netbox-color-mode=dark] .btn-cyan.active,.show>html[data-netbox-color-mode=dark] .btn-cyan.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-cyan,.btn-check:active+html[data-netbox-color-mode=light] .btn-cyan,html[data-netbox-color-mode=light] .btn-cyan:active,html[data-netbox-color-mode=light] .btn-cyan.active,.show>html[data-netbox-color-mode=light] .btn-cyan.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+html .btn-cyan:focus,.btn-check:active+html .btn-cyan:focus,html .btn-cyan:active:focus,html .btn-cyan.active:focus,.show>html .btn-cyan.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-cyan:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-cyan:focus,html[data-netbox-color-mode=dark] .btn-cyan:active:focus,html[data-netbox-color-mode=dark] .btn-cyan.active:focus,.show>html[data-netbox-color-mode=dark] .btn-cyan.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-cyan:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-cyan:focus,html[data-netbox-color-mode=light] .btn-cyan:active:focus,html[data-netbox-color-mode=light] .btn-cyan.active:focus,.show>html[data-netbox-color-mode=light] .btn-cyan.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #0baccc80}html .btn-cyan:disabled,html .btn-cyan.disabled,html[data-netbox-color-mode=dark] .btn-cyan:disabled,html[data-netbox-color-mode=dark] .btn-cyan.disabled,html[data-netbox-color-mode=light] .btn-cyan:disabled,html[data-netbox-color-mode=light] .btn-cyan.disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}}@media print{html .btn-gray,html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=light] .btn-gray{color:#000;background-color:#adb5bd;border-color:#adb5bd}html .btn-gray:hover,html[data-netbox-color-mode=dark] .btn-gray:hover,html[data-netbox-color-mode=light] .btn-gray:hover{color:#000;background-color:#b9c0c7;border-color:#b5bcc4}.btn-check:focus+html .btn-gray,html .btn-gray:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=dark] .btn-gray:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-gray,html[data-netbox-color-mode=light] .btn-gray:focus{color:#000;background-color:#b9c0c7;border-color:#b5bcc4;box-shadow:0 0 0 .25rem #939aa180}.btn-check:checked+html .btn-gray,.btn-check:active+html .btn-gray,html .btn-gray:active,html .btn-gray.active,.show>html .btn-gray.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-gray,.btn-check:active+html[data-netbox-color-mode=dark] .btn-gray,html[data-netbox-color-mode=dark] .btn-gray:active,html[data-netbox-color-mode=dark] .btn-gray.active,.show>html[data-netbox-color-mode=dark] .btn-gray.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-gray,.btn-check:active+html[data-netbox-color-mode=light] .btn-gray,html[data-netbox-color-mode=light] .btn-gray:active,html[data-netbox-color-mode=light] .btn-gray.active,.show>html[data-netbox-color-mode=light] .btn-gray.dropdown-toggle{color:#000;background-color:#bdc4ca;border-color:#b5bcc4}.btn-check:checked+html .btn-gray:focus,.btn-check:active+html .btn-gray:focus,html .btn-gray:active:focus,html .btn-gray.active:focus,.show>html .btn-gray.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-gray:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-gray:focus,html[data-netbox-color-mode=dark] .btn-gray:active:focus,html[data-netbox-color-mode=dark] .btn-gray.active:focus,.show>html[data-netbox-color-mode=dark] .btn-gray.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-gray:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-gray:focus,html[data-netbox-color-mode=light] .btn-gray:active:focus,html[data-netbox-color-mode=light] .btn-gray.active:focus,.show>html[data-netbox-color-mode=light] .btn-gray.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #939aa180}html .btn-gray:disabled,html .btn-gray.disabled,html[data-netbox-color-mode=dark] .btn-gray:disabled,html[data-netbox-color-mode=dark] .btn-gray.disabled,html[data-netbox-color-mode=light] .btn-gray:disabled,html[data-netbox-color-mode=light] .btn-gray.disabled{color:#000;background-color:#adb5bd;border-color:#adb5bd}}@media print{html .btn-black,html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=light] .btn-black{color:#fff;background-color:#000;border-color:#000}html .btn-black:hover,html[data-netbox-color-mode=dark] .btn-black:hover,html[data-netbox-color-mode=light] .btn-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+html .btn-black,html .btn-black:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=dark] .btn-black:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-black,html[data-netbox-color-mode=light] .btn-black:focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .25rem #26262680}.btn-check:checked+html .btn-black,.btn-check:active+html .btn-black,html .btn-black:active,html .btn-black.active,.show>html .btn-black.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-black,.btn-check:active+html[data-netbox-color-mode=dark] .btn-black,html[data-netbox-color-mode=dark] .btn-black:active,html[data-netbox-color-mode=dark] .btn-black.active,.show>html[data-netbox-color-mode=dark] .btn-black.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-black,.btn-check:active+html[data-netbox-color-mode=light] .btn-black,html[data-netbox-color-mode=light] .btn-black:active,html[data-netbox-color-mode=light] .btn-black.active,.show>html[data-netbox-color-mode=light] .btn-black.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+html .btn-black:focus,.btn-check:active+html .btn-black:focus,html .btn-black:active:focus,html .btn-black.active:focus,.show>html .btn-black.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-black:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-black:focus,html[data-netbox-color-mode=dark] .btn-black:active:focus,html[data-netbox-color-mode=dark] .btn-black.active:focus,.show>html[data-netbox-color-mode=dark] .btn-black.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-black:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-black:focus,html[data-netbox-color-mode=light] .btn-black:active:focus,html[data-netbox-color-mode=light] .btn-black.active:focus,.show>html[data-netbox-color-mode=light] .btn-black.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #26262680}html .btn-black:disabled,html .btn-black.disabled,html[data-netbox-color-mode=dark] .btn-black:disabled,html[data-netbox-color-mode=dark] .btn-black.disabled,html[data-netbox-color-mode=light] .btn-black:disabled,html[data-netbox-color-mode=light] .btn-black.disabled{color:#fff;background-color:#000;border-color:#000}}@media print{html .btn-white,html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=light] .btn-white{color:#000;background-color:#fff;border-color:#fff}html .btn-white:hover,html[data-netbox-color-mode=dark] .btn-white:hover,html[data-netbox-color-mode=light] .btn-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+html .btn-white,html .btn-white:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=dark] .btn-white:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-white,html[data-netbox-color-mode=light] .btn-white:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 0 0 .25rem #d9d9d980}.btn-check:checked+html .btn-white,.btn-check:active+html .btn-white,html .btn-white:active,html .btn-white.active,.show>html .btn-white.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-white,.btn-check:active+html[data-netbox-color-mode=dark] .btn-white,html[data-netbox-color-mode=dark] .btn-white:active,html[data-netbox-color-mode=dark] .btn-white.active,.show>html[data-netbox-color-mode=dark] .btn-white.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] .btn-white,.btn-check:active+html[data-netbox-color-mode=light] .btn-white,html[data-netbox-color-mode=light] .btn-white:active,html[data-netbox-color-mode=light] .btn-white.active,.show>html[data-netbox-color-mode=light] .btn-white.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+html .btn-white:focus,.btn-check:active+html .btn-white:focus,html .btn-white:active:focus,html .btn-white.active:focus,.show>html .btn-white.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-white:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-white:focus,html[data-netbox-color-mode=dark] .btn-white:active:focus,html[data-netbox-color-mode=dark] .btn-white.active:focus,.show>html[data-netbox-color-mode=dark] .btn-white.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-white:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-white:focus,html[data-netbox-color-mode=light] .btn-white:active:focus,html[data-netbox-color-mode=light] .btn-white.active:focus,.show>html[data-netbox-color-mode=light] .btn-white.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #d9d9d980}html .btn-white:disabled,html .btn-white.disabled,html[data-netbox-color-mode=dark] .btn-white:disabled,html[data-netbox-color-mode=dark] .btn-white.disabled,html[data-netbox-color-mode=light] .btn-white:disabled,html[data-netbox-color-mode=light] .btn-white.disabled{color:#000;background-color:#fff;border-color:#fff}}@media print{html .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=light] .btn-outline-primary{color:#337ab7;border-color:#337ab7}html .btn-outline-primary:hover,html[data-netbox-color-mode=dark] .btn-outline-primary:hover,html[data-netbox-color-mode=light] .btn-outline-primary:hover{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-check:focus+html .btn-outline-primary,html .btn-outline-primary:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-primary,html[data-netbox-color-mode=light] .btn-outline-primary:focus{box-shadow:0 0 0 .25rem #337ab780}.btn-check:checked+html .btn-outline-primary,.btn-check:active+html .btn-outline-primary,html .btn-outline-primary:active,html .btn-outline-primary.active,html .btn-outline-primary.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-primary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-primary,html[data-netbox-color-mode=dark] .btn-outline-primary:active,html[data-netbox-color-mode=dark] .btn-outline-primary.active,html[data-netbox-color-mode=dark] .btn-outline-primary.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-primary,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-primary,html[data-netbox-color-mode=light] .btn-outline-primary:active,html[data-netbox-color-mode=light] .btn-outline-primary.active,html[data-netbox-color-mode=light] .btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#337ab7;border-color:#337ab7}.btn-check:checked+html .btn-outline-primary:focus,.btn-check:active+html .btn-outline-primary:focus,html .btn-outline-primary:active:focus,html .btn-outline-primary.active:focus,html .btn-outline-primary.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-primary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-primary:focus,html[data-netbox-color-mode=dark] .btn-outline-primary:active:focus,html[data-netbox-color-mode=dark] .btn-outline-primary.active:focus,html[data-netbox-color-mode=dark] .btn-outline-primary.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-primary:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-primary:focus,html[data-netbox-color-mode=light] .btn-outline-primary:active:focus,html[data-netbox-color-mode=light] .btn-outline-primary.active:focus,html[data-netbox-color-mode=light] .btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #337ab780}html .btn-outline-primary:disabled,html .btn-outline-primary.disabled,html[data-netbox-color-mode=dark] .btn-outline-primary:disabled,html[data-netbox-color-mode=dark] .btn-outline-primary.disabled,html[data-netbox-color-mode=light] .btn-outline-primary:disabled,html[data-netbox-color-mode=light] .btn-outline-primary.disabled{color:#337ab7;background-color:transparent}}@media print{html .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=light] .btn-outline-secondary{color:#6c757d;border-color:#6c757d}html .btn-outline-secondary:hover,html[data-netbox-color-mode=dark] .btn-outline-secondary:hover,html[data-netbox-color-mode=light] .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+html .btn-outline-secondary,html .btn-outline-secondary:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-secondary,html[data-netbox-color-mode=light] .btn-outline-secondary:focus{box-shadow:0 0 0 .25rem #6c757d80}.btn-check:checked+html .btn-outline-secondary,.btn-check:active+html .btn-outline-secondary,html .btn-outline-secondary:active,html .btn-outline-secondary.active,html .btn-outline-secondary.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-secondary,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-secondary,html[data-netbox-color-mode=dark] .btn-outline-secondary:active,html[data-netbox-color-mode=dark] .btn-outline-secondary.active,html[data-netbox-color-mode=dark] .btn-outline-secondary.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-secondary,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-secondary,html[data-netbox-color-mode=light] .btn-outline-secondary:active,html[data-netbox-color-mode=light] .btn-outline-secondary.active,html[data-netbox-color-mode=light] .btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+html .btn-outline-secondary:focus,.btn-check:active+html .btn-outline-secondary:focus,html .btn-outline-secondary:active:focus,html .btn-outline-secondary.active:focus,html .btn-outline-secondary.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-secondary:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary:active:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary.active:focus,html[data-netbox-color-mode=dark] .btn-outline-secondary.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-secondary:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-secondary:focus,html[data-netbox-color-mode=light] .btn-outline-secondary:active:focus,html[data-netbox-color-mode=light] .btn-outline-secondary.active:focus,html[data-netbox-color-mode=light] .btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6c757d80}html .btn-outline-secondary:disabled,html .btn-outline-secondary.disabled,html[data-netbox-color-mode=dark] .btn-outline-secondary:disabled,html[data-netbox-color-mode=dark] .btn-outline-secondary.disabled,html[data-netbox-color-mode=light] .btn-outline-secondary:disabled,html[data-netbox-color-mode=light] .btn-outline-secondary.disabled{color:#6c757d;background-color:transparent}}@media print{html .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=light] .btn-outline-success{color:#198754;border-color:#198754}html .btn-outline-success:hover,html[data-netbox-color-mode=dark] .btn-outline-success:hover,html[data-netbox-color-mode=light] .btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+html .btn-outline-success,html .btn-outline-success:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-success,html[data-netbox-color-mode=light] .btn-outline-success:focus{box-shadow:0 0 0 .25rem #19875480}.btn-check:checked+html .btn-outline-success,.btn-check:active+html .btn-outline-success,html .btn-outline-success:active,html .btn-outline-success.active,html .btn-outline-success.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-success,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-success,html[data-netbox-color-mode=dark] .btn-outline-success:active,html[data-netbox-color-mode=dark] .btn-outline-success.active,html[data-netbox-color-mode=dark] .btn-outline-success.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-success,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-success,html[data-netbox-color-mode=light] .btn-outline-success:active,html[data-netbox-color-mode=light] .btn-outline-success.active,html[data-netbox-color-mode=light] .btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+html .btn-outline-success:focus,.btn-check:active+html .btn-outline-success:focus,html .btn-outline-success:active:focus,html .btn-outline-success.active:focus,html .btn-outline-success.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-success:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-success:focus,html[data-netbox-color-mode=dark] .btn-outline-success:active:focus,html[data-netbox-color-mode=dark] .btn-outline-success.active:focus,html[data-netbox-color-mode=dark] .btn-outline-success.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-success:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-success:focus,html[data-netbox-color-mode=light] .btn-outline-success:active:focus,html[data-netbox-color-mode=light] .btn-outline-success.active:focus,html[data-netbox-color-mode=light] .btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #19875480}html .btn-outline-success:disabled,html .btn-outline-success.disabled,html[data-netbox-color-mode=dark] .btn-outline-success:disabled,html[data-netbox-color-mode=dark] .btn-outline-success.disabled,html[data-netbox-color-mode=light] .btn-outline-success:disabled,html[data-netbox-color-mode=light] .btn-outline-success.disabled{color:#198754;background-color:transparent}}@media print{html .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=light] .btn-outline-info{color:#54d6f0;border-color:#54d6f0}html .btn-outline-info:hover,html[data-netbox-color-mode=dark] .btn-outline-info:hover,html[data-netbox-color-mode=light] .btn-outline-info:hover{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-check:focus+html .btn-outline-info,html .btn-outline-info:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-info,html[data-netbox-color-mode=light] .btn-outline-info:focus{box-shadow:0 0 0 .25rem #54d6f080}.btn-check:checked+html .btn-outline-info,.btn-check:active+html .btn-outline-info,html .btn-outline-info:active,html .btn-outline-info.active,html .btn-outline-info.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-info,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-info,html[data-netbox-color-mode=dark] .btn-outline-info:active,html[data-netbox-color-mode=dark] .btn-outline-info.active,html[data-netbox-color-mode=dark] .btn-outline-info.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-info,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-info,html[data-netbox-color-mode=light] .btn-outline-info:active,html[data-netbox-color-mode=light] .btn-outline-info.active,html[data-netbox-color-mode=light] .btn-outline-info.dropdown-toggle.show{color:#000;background-color:#54d6f0;border-color:#54d6f0}.btn-check:checked+html .btn-outline-info:focus,.btn-check:active+html .btn-outline-info:focus,html .btn-outline-info:active:focus,html .btn-outline-info.active:focus,html .btn-outline-info.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-info:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-info:focus,html[data-netbox-color-mode=dark] .btn-outline-info:active:focus,html[data-netbox-color-mode=dark] .btn-outline-info.active:focus,html[data-netbox-color-mode=dark] .btn-outline-info.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-info:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-info:focus,html[data-netbox-color-mode=light] .btn-outline-info:active:focus,html[data-netbox-color-mode=light] .btn-outline-info.active:focus,html[data-netbox-color-mode=light] .btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #54d6f080}html .btn-outline-info:disabled,html .btn-outline-info.disabled,html[data-netbox-color-mode=dark] .btn-outline-info:disabled,html[data-netbox-color-mode=dark] .btn-outline-info.disabled,html[data-netbox-color-mode=light] .btn-outline-info:disabled,html[data-netbox-color-mode=light] .btn-outline-info.disabled{color:#54d6f0;background-color:transparent}}@media print{html .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=light] .btn-outline-warning{color:#ffc107;border-color:#ffc107}html .btn-outline-warning:hover,html[data-netbox-color-mode=dark] .btn-outline-warning:hover,html[data-netbox-color-mode=light] .btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+html .btn-outline-warning,html .btn-outline-warning:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-warning,html[data-netbox-color-mode=light] .btn-outline-warning:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-check:checked+html .btn-outline-warning,.btn-check:active+html .btn-outline-warning,html .btn-outline-warning:active,html .btn-outline-warning.active,html .btn-outline-warning.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-warning,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-warning,html[data-netbox-color-mode=dark] .btn-outline-warning:active,html[data-netbox-color-mode=dark] .btn-outline-warning.active,html[data-netbox-color-mode=dark] .btn-outline-warning.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-warning,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-warning,html[data-netbox-color-mode=light] .btn-outline-warning:active,html[data-netbox-color-mode=light] .btn-outline-warning.active,html[data-netbox-color-mode=light] .btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+html .btn-outline-warning:focus,.btn-check:active+html .btn-outline-warning:focus,html .btn-outline-warning:active:focus,html .btn-outline-warning.active:focus,html .btn-outline-warning.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-warning:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-warning:focus,html[data-netbox-color-mode=dark] .btn-outline-warning:active:focus,html[data-netbox-color-mode=dark] .btn-outline-warning.active:focus,html[data-netbox-color-mode=dark] .btn-outline-warning.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-warning:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-warning:focus,html[data-netbox-color-mode=light] .btn-outline-warning:active:focus,html[data-netbox-color-mode=light] .btn-outline-warning.active:focus,html[data-netbox-color-mode=light] .btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffc10780}html .btn-outline-warning:disabled,html .btn-outline-warning.disabled,html[data-netbox-color-mode=dark] .btn-outline-warning:disabled,html[data-netbox-color-mode=dark] .btn-outline-warning.disabled,html[data-netbox-color-mode=light] .btn-outline-warning:disabled,html[data-netbox-color-mode=light] .btn-outline-warning.disabled{color:#ffc107;background-color:transparent}}@media print{html .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=light] .btn-outline-danger{color:#dc3545;border-color:#dc3545}html .btn-outline-danger:hover,html[data-netbox-color-mode=dark] .btn-outline-danger:hover,html[data-netbox-color-mode=light] .btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+html .btn-outline-danger,html .btn-outline-danger:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-danger,html[data-netbox-color-mode=light] .btn-outline-danger:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-check:checked+html .btn-outline-danger,.btn-check:active+html .btn-outline-danger,html .btn-outline-danger:active,html .btn-outline-danger.active,html .btn-outline-danger.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-danger,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-danger,html[data-netbox-color-mode=dark] .btn-outline-danger:active,html[data-netbox-color-mode=dark] .btn-outline-danger.active,html[data-netbox-color-mode=dark] .btn-outline-danger.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-danger,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-danger,html[data-netbox-color-mode=light] .btn-outline-danger:active,html[data-netbox-color-mode=light] .btn-outline-danger.active,html[data-netbox-color-mode=light] .btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+html .btn-outline-danger:focus,.btn-check:active+html .btn-outline-danger:focus,html .btn-outline-danger:active:focus,html .btn-outline-danger.active:focus,html .btn-outline-danger.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-danger:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-danger:focus,html[data-netbox-color-mode=dark] .btn-outline-danger:active:focus,html[data-netbox-color-mode=dark] .btn-outline-danger.active:focus,html[data-netbox-color-mode=dark] .btn-outline-danger.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-danger:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-danger:focus,html[data-netbox-color-mode=light] .btn-outline-danger:active:focus,html[data-netbox-color-mode=light] .btn-outline-danger.active:focus,html[data-netbox-color-mode=light] .btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dc354580}html .btn-outline-danger:disabled,html .btn-outline-danger.disabled,html[data-netbox-color-mode=dark] .btn-outline-danger:disabled,html[data-netbox-color-mode=dark] .btn-outline-danger.disabled,html[data-netbox-color-mode=light] .btn-outline-danger:disabled,html[data-netbox-color-mode=light] .btn-outline-danger.disabled{color:#dc3545;background-color:transparent}}@media print{html .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=light] .btn-outline-light{color:#e9ecef;border-color:#e9ecef}html .btn-outline-light:hover,html[data-netbox-color-mode=dark] .btn-outline-light:hover,html[data-netbox-color-mode=light] .btn-outline-light:hover{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:focus+html .btn-outline-light,html .btn-outline-light:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-light,html[data-netbox-color-mode=light] .btn-outline-light:focus{box-shadow:0 0 0 .25rem #e9ecef80}.btn-check:checked+html .btn-outline-light,.btn-check:active+html .btn-outline-light,html .btn-outline-light:active,html .btn-outline-light.active,html .btn-outline-light.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-light,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-light,html[data-netbox-color-mode=dark] .btn-outline-light:active,html[data-netbox-color-mode=dark] .btn-outline-light.active,html[data-netbox-color-mode=dark] .btn-outline-light.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-light,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-light,html[data-netbox-color-mode=light] .btn-outline-light:active,html[data-netbox-color-mode=light] .btn-outline-light.active,html[data-netbox-color-mode=light] .btn-outline-light.dropdown-toggle.show{color:#000;background-color:#e9ecef;border-color:#e9ecef}.btn-check:checked+html .btn-outline-light:focus,.btn-check:active+html .btn-outline-light:focus,html .btn-outline-light:active:focus,html .btn-outline-light.active:focus,html .btn-outline-light.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-light:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-light:focus,html[data-netbox-color-mode=dark] .btn-outline-light:active:focus,html[data-netbox-color-mode=dark] .btn-outline-light.active:focus,html[data-netbox-color-mode=dark] .btn-outline-light.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-light:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-light:focus,html[data-netbox-color-mode=light] .btn-outline-light:active:focus,html[data-netbox-color-mode=light] .btn-outline-light.active:focus,html[data-netbox-color-mode=light] .btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #e9ecef80}html .btn-outline-light:disabled,html .btn-outline-light.disabled,html[data-netbox-color-mode=dark] .btn-outline-light:disabled,html[data-netbox-color-mode=dark] .btn-outline-light.disabled,html[data-netbox-color-mode=light] .btn-outline-light:disabled,html[data-netbox-color-mode=light] .btn-outline-light.disabled{color:#e9ecef;background-color:transparent}}@media print{html .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=light] .btn-outline-dark{color:#343a40;border-color:#343a40}html .btn-outline-dark:hover,html[data-netbox-color-mode=dark] .btn-outline-dark:hover,html[data-netbox-color-mode=light] .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+html .btn-outline-dark,html .btn-outline-dark:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-dark,html[data-netbox-color-mode=light] .btn-outline-dark:focus{box-shadow:0 0 0 .25rem #343a4080}.btn-check:checked+html .btn-outline-dark,.btn-check:active+html .btn-outline-dark,html .btn-outline-dark:active,html .btn-outline-dark.active,html .btn-outline-dark.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-dark,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-dark,html[data-netbox-color-mode=dark] .btn-outline-dark:active,html[data-netbox-color-mode=dark] .btn-outline-dark.active,html[data-netbox-color-mode=dark] .btn-outline-dark.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-dark,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-dark,html[data-netbox-color-mode=light] .btn-outline-dark:active,html[data-netbox-color-mode=light] .btn-outline-dark.active,html[data-netbox-color-mode=light] .btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:checked+html .btn-outline-dark:focus,.btn-check:active+html .btn-outline-dark:focus,html .btn-outline-dark:active:focus,html .btn-outline-dark.active:focus,html .btn-outline-dark.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-dark:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-dark:focus,html[data-netbox-color-mode=dark] .btn-outline-dark:active:focus,html[data-netbox-color-mode=dark] .btn-outline-dark.active:focus,html[data-netbox-color-mode=dark] .btn-outline-dark.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-dark:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-dark:focus,html[data-netbox-color-mode=light] .btn-outline-dark:active:focus,html[data-netbox-color-mode=light] .btn-outline-dark.active:focus,html[data-netbox-color-mode=light] .btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #343a4080}html .btn-outline-dark:disabled,html .btn-outline-dark.disabled,html[data-netbox-color-mode=dark] .btn-outline-dark:disabled,html[data-netbox-color-mode=dark] .btn-outline-dark.disabled,html[data-netbox-color-mode=light] .btn-outline-dark:disabled,html[data-netbox-color-mode=light] .btn-outline-dark.disabled{color:#343a40;background-color:transparent}}@media print{html .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=light] .btn-outline-blue{color:#0d6efd;border-color:#0d6efd}html .btn-outline-blue:hover,html[data-netbox-color-mode=dark] .btn-outline-blue:hover,html[data-netbox-color-mode=light] .btn-outline-blue:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+html .btn-outline-blue,html .btn-outline-blue:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-blue,html[data-netbox-color-mode=light] .btn-outline-blue:focus{box-shadow:0 0 0 .25rem #0d6efd80}.btn-check:checked+html .btn-outline-blue,.btn-check:active+html .btn-outline-blue,html .btn-outline-blue:active,html .btn-outline-blue.active,html .btn-outline-blue.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-blue,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-blue,html[data-netbox-color-mode=dark] .btn-outline-blue:active,html[data-netbox-color-mode=dark] .btn-outline-blue.active,html[data-netbox-color-mode=dark] .btn-outline-blue.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-blue,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-blue,html[data-netbox-color-mode=light] .btn-outline-blue:active,html[data-netbox-color-mode=light] .btn-outline-blue.active,html[data-netbox-color-mode=light] .btn-outline-blue.dropdown-toggle.show{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:checked+html .btn-outline-blue:focus,.btn-check:active+html .btn-outline-blue:focus,html .btn-outline-blue:active:focus,html .btn-outline-blue.active:focus,html .btn-outline-blue.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-blue:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-blue:focus,html[data-netbox-color-mode=dark] .btn-outline-blue:active:focus,html[data-netbox-color-mode=dark] .btn-outline-blue.active:focus,html[data-netbox-color-mode=dark] .btn-outline-blue.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-blue:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-blue:focus,html[data-netbox-color-mode=light] .btn-outline-blue:active:focus,html[data-netbox-color-mode=light] .btn-outline-blue.active:focus,html[data-netbox-color-mode=light] .btn-outline-blue.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #0d6efd80}html .btn-outline-blue:disabled,html .btn-outline-blue.disabled,html[data-netbox-color-mode=dark] .btn-outline-blue:disabled,html[data-netbox-color-mode=dark] .btn-outline-blue.disabled,html[data-netbox-color-mode=light] .btn-outline-blue:disabled,html[data-netbox-color-mode=light] .btn-outline-blue.disabled{color:#0d6efd;background-color:transparent}}@media print{html .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=light] .btn-outline-indigo{color:#6610f2;border-color:#6610f2}html .btn-outline-indigo:hover,html[data-netbox-color-mode=dark] .btn-outline-indigo:hover,html[data-netbox-color-mode=light] .btn-outline-indigo:hover{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-check:focus+html .btn-outline-indigo,html .btn-outline-indigo:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-indigo,html[data-netbox-color-mode=light] .btn-outline-indigo:focus{box-shadow:0 0 0 .25rem #6610f280}.btn-check:checked+html .btn-outline-indigo,.btn-check:active+html .btn-outline-indigo,html .btn-outline-indigo:active,html .btn-outline-indigo.active,html .btn-outline-indigo.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-indigo,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-indigo,html[data-netbox-color-mode=dark] .btn-outline-indigo:active,html[data-netbox-color-mode=dark] .btn-outline-indigo.active,html[data-netbox-color-mode=dark] .btn-outline-indigo.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-indigo,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-indigo,html[data-netbox-color-mode=light] .btn-outline-indigo:active,html[data-netbox-color-mode=light] .btn-outline-indigo.active,html[data-netbox-color-mode=light] .btn-outline-indigo.dropdown-toggle.show{color:#fff;background-color:#6610f2;border-color:#6610f2}.btn-check:checked+html .btn-outline-indigo:focus,.btn-check:active+html .btn-outline-indigo:focus,html .btn-outline-indigo:active:focus,html .btn-outline-indigo.active:focus,html .btn-outline-indigo.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-indigo:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo:active:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo.active:focus,html[data-netbox-color-mode=dark] .btn-outline-indigo.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-indigo:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-indigo:focus,html[data-netbox-color-mode=light] .btn-outline-indigo:active:focus,html[data-netbox-color-mode=light] .btn-outline-indigo.active:focus,html[data-netbox-color-mode=light] .btn-outline-indigo.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6610f280}html .btn-outline-indigo:disabled,html .btn-outline-indigo.disabled,html[data-netbox-color-mode=dark] .btn-outline-indigo:disabled,html[data-netbox-color-mode=dark] .btn-outline-indigo.disabled,html[data-netbox-color-mode=light] .btn-outline-indigo:disabled,html[data-netbox-color-mode=light] .btn-outline-indigo.disabled{color:#6610f2;background-color:transparent}}@media print{html .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=light] .btn-outline-purple{color:#6f42c1;border-color:#6f42c1}html .btn-outline-purple:hover,html[data-netbox-color-mode=dark] .btn-outline-purple:hover,html[data-netbox-color-mode=light] .btn-outline-purple:hover{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-check:focus+html .btn-outline-purple,html .btn-outline-purple:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-purple,html[data-netbox-color-mode=light] .btn-outline-purple:focus{box-shadow:0 0 0 .25rem #6f42c180}.btn-check:checked+html .btn-outline-purple,.btn-check:active+html .btn-outline-purple,html .btn-outline-purple:active,html .btn-outline-purple.active,html .btn-outline-purple.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-purple,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-purple,html[data-netbox-color-mode=dark] .btn-outline-purple:active,html[data-netbox-color-mode=dark] .btn-outline-purple.active,html[data-netbox-color-mode=dark] .btn-outline-purple.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-purple,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-purple,html[data-netbox-color-mode=light] .btn-outline-purple:active,html[data-netbox-color-mode=light] .btn-outline-purple.active,html[data-netbox-color-mode=light] .btn-outline-purple.dropdown-toggle.show{color:#fff;background-color:#6f42c1;border-color:#6f42c1}.btn-check:checked+html .btn-outline-purple:focus,.btn-check:active+html .btn-outline-purple:focus,html .btn-outline-purple:active:focus,html .btn-outline-purple.active:focus,html .btn-outline-purple.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-purple:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-purple:focus,html[data-netbox-color-mode=dark] .btn-outline-purple:active:focus,html[data-netbox-color-mode=dark] .btn-outline-purple.active:focus,html[data-netbox-color-mode=dark] .btn-outline-purple.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-purple:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-purple:focus,html[data-netbox-color-mode=light] .btn-outline-purple:active:focus,html[data-netbox-color-mode=light] .btn-outline-purple.active:focus,html[data-netbox-color-mode=light] .btn-outline-purple.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #6f42c180}html .btn-outline-purple:disabled,html .btn-outline-purple.disabled,html[data-netbox-color-mode=dark] .btn-outline-purple:disabled,html[data-netbox-color-mode=dark] .btn-outline-purple.disabled,html[data-netbox-color-mode=light] .btn-outline-purple:disabled,html[data-netbox-color-mode=light] .btn-outline-purple.disabled{color:#6f42c1;background-color:transparent}}@media print{html .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=light] .btn-outline-pink{color:#d63384;border-color:#d63384}html .btn-outline-pink:hover,html[data-netbox-color-mode=dark] .btn-outline-pink:hover,html[data-netbox-color-mode=light] .btn-outline-pink:hover{color:#fff;background-color:#d63384;border-color:#d63384}.btn-check:focus+html .btn-outline-pink,html .btn-outline-pink:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-pink,html[data-netbox-color-mode=light] .btn-outline-pink:focus{box-shadow:0 0 0 .25rem #d6338480}.btn-check:checked+html .btn-outline-pink,.btn-check:active+html .btn-outline-pink,html .btn-outline-pink:active,html .btn-outline-pink.active,html .btn-outline-pink.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-pink,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-pink,html[data-netbox-color-mode=dark] .btn-outline-pink:active,html[data-netbox-color-mode=dark] .btn-outline-pink.active,html[data-netbox-color-mode=dark] .btn-outline-pink.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-pink,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-pink,html[data-netbox-color-mode=light] .btn-outline-pink:active,html[data-netbox-color-mode=light] .btn-outline-pink.active,html[data-netbox-color-mode=light] .btn-outline-pink.dropdown-toggle.show{color:#fff;background-color:#d63384;border-color:#d63384}.btn-check:checked+html .btn-outline-pink:focus,.btn-check:active+html .btn-outline-pink:focus,html .btn-outline-pink:active:focus,html .btn-outline-pink.active:focus,html .btn-outline-pink.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-pink:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-pink:focus,html[data-netbox-color-mode=dark] .btn-outline-pink:active:focus,html[data-netbox-color-mode=dark] .btn-outline-pink.active:focus,html[data-netbox-color-mode=dark] .btn-outline-pink.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-pink:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-pink:focus,html[data-netbox-color-mode=light] .btn-outline-pink:active:focus,html[data-netbox-color-mode=light] .btn-outline-pink.active:focus,html[data-netbox-color-mode=light] .btn-outline-pink.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #d6338480}html .btn-outline-pink:disabled,html .btn-outline-pink.disabled,html[data-netbox-color-mode=dark] .btn-outline-pink:disabled,html[data-netbox-color-mode=dark] .btn-outline-pink.disabled,html[data-netbox-color-mode=light] .btn-outline-pink:disabled,html[data-netbox-color-mode=light] .btn-outline-pink.disabled{color:#d63384;background-color:transparent}}@media print{html .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=light] .btn-outline-red{color:#dc3545;border-color:#dc3545}html .btn-outline-red:hover,html[data-netbox-color-mode=dark] .btn-outline-red:hover,html[data-netbox-color-mode=light] .btn-outline-red:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+html .btn-outline-red,html .btn-outline-red:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-red,html[data-netbox-color-mode=light] .btn-outline-red:focus{box-shadow:0 0 0 .25rem #dc354580}.btn-check:checked+html .btn-outline-red,.btn-check:active+html .btn-outline-red,html .btn-outline-red:active,html .btn-outline-red.active,html .btn-outline-red.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-red,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-red,html[data-netbox-color-mode=dark] .btn-outline-red:active,html[data-netbox-color-mode=dark] .btn-outline-red.active,html[data-netbox-color-mode=dark] .btn-outline-red.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-red,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-red,html[data-netbox-color-mode=light] .btn-outline-red:active,html[data-netbox-color-mode=light] .btn-outline-red.active,html[data-netbox-color-mode=light] .btn-outline-red.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+html .btn-outline-red:focus,.btn-check:active+html .btn-outline-red:focus,html .btn-outline-red:active:focus,html .btn-outline-red.active:focus,html .btn-outline-red.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-red:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-red:focus,html[data-netbox-color-mode=dark] .btn-outline-red:active:focus,html[data-netbox-color-mode=dark] .btn-outline-red.active:focus,html[data-netbox-color-mode=dark] .btn-outline-red.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-red:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-red:focus,html[data-netbox-color-mode=light] .btn-outline-red:active:focus,html[data-netbox-color-mode=light] .btn-outline-red.active:focus,html[data-netbox-color-mode=light] .btn-outline-red.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #dc354580}html .btn-outline-red:disabled,html .btn-outline-red.disabled,html[data-netbox-color-mode=dark] .btn-outline-red:disabled,html[data-netbox-color-mode=dark] .btn-outline-red.disabled,html[data-netbox-color-mode=light] .btn-outline-red:disabled,html[data-netbox-color-mode=light] .btn-outline-red.disabled{color:#dc3545;background-color:transparent}}@media print{html .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=light] .btn-outline-orange{color:#fd7e14;border-color:#fd7e14}html .btn-outline-orange:hover,html[data-netbox-color-mode=dark] .btn-outline-orange:hover,html[data-netbox-color-mode=light] .btn-outline-orange:hover{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-check:focus+html .btn-outline-orange,html .btn-outline-orange:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-orange,html[data-netbox-color-mode=light] .btn-outline-orange:focus{box-shadow:0 0 0 .25rem #fd7e1480}.btn-check:checked+html .btn-outline-orange,.btn-check:active+html .btn-outline-orange,html .btn-outline-orange:active,html .btn-outline-orange.active,html .btn-outline-orange.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-orange,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-orange,html[data-netbox-color-mode=dark] .btn-outline-orange:active,html[data-netbox-color-mode=dark] .btn-outline-orange.active,html[data-netbox-color-mode=dark] .btn-outline-orange.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-orange,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-orange,html[data-netbox-color-mode=light] .btn-outline-orange:active,html[data-netbox-color-mode=light] .btn-outline-orange.active,html[data-netbox-color-mode=light] .btn-outline-orange.dropdown-toggle.show{color:#000;background-color:#fd7e14;border-color:#fd7e14}.btn-check:checked+html .btn-outline-orange:focus,.btn-check:active+html .btn-outline-orange:focus,html .btn-outline-orange:active:focus,html .btn-outline-orange.active:focus,html .btn-outline-orange.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-orange:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-orange:focus,html[data-netbox-color-mode=dark] .btn-outline-orange:active:focus,html[data-netbox-color-mode=dark] .btn-outline-orange.active:focus,html[data-netbox-color-mode=dark] .btn-outline-orange.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-orange:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-orange:focus,html[data-netbox-color-mode=light] .btn-outline-orange:active:focus,html[data-netbox-color-mode=light] .btn-outline-orange.active:focus,html[data-netbox-color-mode=light] .btn-outline-orange.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #fd7e1480}html .btn-outline-orange:disabled,html .btn-outline-orange.disabled,html[data-netbox-color-mode=dark] .btn-outline-orange:disabled,html[data-netbox-color-mode=dark] .btn-outline-orange.disabled,html[data-netbox-color-mode=light] .btn-outline-orange:disabled,html[data-netbox-color-mode=light] .btn-outline-orange.disabled{color:#fd7e14;background-color:transparent}}@media print{html .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=light] .btn-outline-yellow{color:#ffc107;border-color:#ffc107}html .btn-outline-yellow:hover,html[data-netbox-color-mode=dark] .btn-outline-yellow:hover,html[data-netbox-color-mode=light] .btn-outline-yellow:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+html .btn-outline-yellow,html .btn-outline-yellow:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-yellow,html[data-netbox-color-mode=light] .btn-outline-yellow:focus{box-shadow:0 0 0 .25rem #ffc10780}.btn-check:checked+html .btn-outline-yellow,.btn-check:active+html .btn-outline-yellow,html .btn-outline-yellow:active,html .btn-outline-yellow.active,html .btn-outline-yellow.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-yellow,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-yellow,html[data-netbox-color-mode=dark] .btn-outline-yellow:active,html[data-netbox-color-mode=dark] .btn-outline-yellow.active,html[data-netbox-color-mode=dark] .btn-outline-yellow.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-yellow,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-yellow,html[data-netbox-color-mode=light] .btn-outline-yellow:active,html[data-netbox-color-mode=light] .btn-outline-yellow.active,html[data-netbox-color-mode=light] .btn-outline-yellow.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+html .btn-outline-yellow:focus,.btn-check:active+html .btn-outline-yellow:focus,html .btn-outline-yellow:active:focus,html .btn-outline-yellow.active:focus,html .btn-outline-yellow.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-yellow:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow:active:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow.active:focus,html[data-netbox-color-mode=dark] .btn-outline-yellow.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-yellow:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-yellow:focus,html[data-netbox-color-mode=light] .btn-outline-yellow:active:focus,html[data-netbox-color-mode=light] .btn-outline-yellow.active:focus,html[data-netbox-color-mode=light] .btn-outline-yellow.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffc10780}html .btn-outline-yellow:disabled,html .btn-outline-yellow.disabled,html[data-netbox-color-mode=dark] .btn-outline-yellow:disabled,html[data-netbox-color-mode=dark] .btn-outline-yellow.disabled,html[data-netbox-color-mode=light] .btn-outline-yellow:disabled,html[data-netbox-color-mode=light] .btn-outline-yellow.disabled{color:#ffc107;background-color:transparent}}@media print{html .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=light] .btn-outline-green{color:#198754;border-color:#198754}html .btn-outline-green:hover,html[data-netbox-color-mode=dark] .btn-outline-green:hover,html[data-netbox-color-mode=light] .btn-outline-green:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+html .btn-outline-green,html .btn-outline-green:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-green,html[data-netbox-color-mode=light] .btn-outline-green:focus{box-shadow:0 0 0 .25rem #19875480}.btn-check:checked+html .btn-outline-green,.btn-check:active+html .btn-outline-green,html .btn-outline-green:active,html .btn-outline-green.active,html .btn-outline-green.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-green,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-green,html[data-netbox-color-mode=dark] .btn-outline-green:active,html[data-netbox-color-mode=dark] .btn-outline-green.active,html[data-netbox-color-mode=dark] .btn-outline-green.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-green,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-green,html[data-netbox-color-mode=light] .btn-outline-green:active,html[data-netbox-color-mode=light] .btn-outline-green.active,html[data-netbox-color-mode=light] .btn-outline-green.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+html .btn-outline-green:focus,.btn-check:active+html .btn-outline-green:focus,html .btn-outline-green:active:focus,html .btn-outline-green.active:focus,html .btn-outline-green.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-green:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-green:focus,html[data-netbox-color-mode=dark] .btn-outline-green:active:focus,html[data-netbox-color-mode=dark] .btn-outline-green.active:focus,html[data-netbox-color-mode=dark] .btn-outline-green.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-green:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-green:focus,html[data-netbox-color-mode=light] .btn-outline-green:active:focus,html[data-netbox-color-mode=light] .btn-outline-green.active:focus,html[data-netbox-color-mode=light] .btn-outline-green.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #19875480}html .btn-outline-green:disabled,html .btn-outline-green.disabled,html[data-netbox-color-mode=dark] .btn-outline-green:disabled,html[data-netbox-color-mode=dark] .btn-outline-green.disabled,html[data-netbox-color-mode=light] .btn-outline-green:disabled,html[data-netbox-color-mode=light] .btn-outline-green.disabled{color:#198754;background-color:transparent}}@media print{html .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=light] .btn-outline-teal{color:#20c997;border-color:#20c997}html .btn-outline-teal:hover,html[data-netbox-color-mode=dark] .btn-outline-teal:hover,html[data-netbox-color-mode=light] .btn-outline-teal:hover{color:#000;background-color:#20c997;border-color:#20c997}.btn-check:focus+html .btn-outline-teal,html .btn-outline-teal:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-teal,html[data-netbox-color-mode=light] .btn-outline-teal:focus{box-shadow:0 0 0 .25rem #20c99780}.btn-check:checked+html .btn-outline-teal,.btn-check:active+html .btn-outline-teal,html .btn-outline-teal:active,html .btn-outline-teal.active,html .btn-outline-teal.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-teal,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-teal,html[data-netbox-color-mode=dark] .btn-outline-teal:active,html[data-netbox-color-mode=dark] .btn-outline-teal.active,html[data-netbox-color-mode=dark] .btn-outline-teal.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-teal,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-teal,html[data-netbox-color-mode=light] .btn-outline-teal:active,html[data-netbox-color-mode=light] .btn-outline-teal.active,html[data-netbox-color-mode=light] .btn-outline-teal.dropdown-toggle.show{color:#000;background-color:#20c997;border-color:#20c997}.btn-check:checked+html .btn-outline-teal:focus,.btn-check:active+html .btn-outline-teal:focus,html .btn-outline-teal:active:focus,html .btn-outline-teal.active:focus,html .btn-outline-teal.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-teal:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-teal:focus,html[data-netbox-color-mode=dark] .btn-outline-teal:active:focus,html[data-netbox-color-mode=dark] .btn-outline-teal.active:focus,html[data-netbox-color-mode=dark] .btn-outline-teal.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-teal:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-teal:focus,html[data-netbox-color-mode=light] .btn-outline-teal:active:focus,html[data-netbox-color-mode=light] .btn-outline-teal.active:focus,html[data-netbox-color-mode=light] .btn-outline-teal.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #20c99780}html .btn-outline-teal:disabled,html .btn-outline-teal.disabled,html[data-netbox-color-mode=dark] .btn-outline-teal:disabled,html[data-netbox-color-mode=dark] .btn-outline-teal.disabled,html[data-netbox-color-mode=light] .btn-outline-teal:disabled,html[data-netbox-color-mode=light] .btn-outline-teal.disabled{color:#20c997;background-color:transparent}}@media print{html .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=light] .btn-outline-cyan{color:#0dcaf0;border-color:#0dcaf0}html .btn-outline-cyan:hover,html[data-netbox-color-mode=dark] .btn-outline-cyan:hover,html[data-netbox-color-mode=light] .btn-outline-cyan:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+html .btn-outline-cyan,html .btn-outline-cyan:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-cyan,html[data-netbox-color-mode=light] .btn-outline-cyan:focus{box-shadow:0 0 0 .25rem #0dcaf080}.btn-check:checked+html .btn-outline-cyan,.btn-check:active+html .btn-outline-cyan,html .btn-outline-cyan:active,html .btn-outline-cyan.active,html .btn-outline-cyan.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-cyan,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-cyan,html[data-netbox-color-mode=dark] .btn-outline-cyan:active,html[data-netbox-color-mode=dark] .btn-outline-cyan.active,html[data-netbox-color-mode=dark] .btn-outline-cyan.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-cyan,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-cyan,html[data-netbox-color-mode=light] .btn-outline-cyan:active,html[data-netbox-color-mode=light] .btn-outline-cyan.active,html[data-netbox-color-mode=light] .btn-outline-cyan.dropdown-toggle.show{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+html .btn-outline-cyan:focus,.btn-check:active+html .btn-outline-cyan:focus,html .btn-outline-cyan:active:focus,html .btn-outline-cyan.active:focus,html .btn-outline-cyan.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-cyan:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan:active:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan.active:focus,html[data-netbox-color-mode=dark] .btn-outline-cyan.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-cyan:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-cyan:focus,html[data-netbox-color-mode=light] .btn-outline-cyan:active:focus,html[data-netbox-color-mode=light] .btn-outline-cyan.active:focus,html[data-netbox-color-mode=light] .btn-outline-cyan.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #0dcaf080}html .btn-outline-cyan:disabled,html .btn-outline-cyan.disabled,html[data-netbox-color-mode=dark] .btn-outline-cyan:disabled,html[data-netbox-color-mode=dark] .btn-outline-cyan.disabled,html[data-netbox-color-mode=light] .btn-outline-cyan:disabled,html[data-netbox-color-mode=light] .btn-outline-cyan.disabled{color:#0dcaf0;background-color:transparent}}@media print{html .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=light] .btn-outline-gray{color:#adb5bd;border-color:#adb5bd}html .btn-outline-gray:hover,html[data-netbox-color-mode=dark] .btn-outline-gray:hover,html[data-netbox-color-mode=light] .btn-outline-gray:hover{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:focus+html .btn-outline-gray,html .btn-outline-gray:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-gray,html[data-netbox-color-mode=light] .btn-outline-gray:focus{box-shadow:0 0 0 .25rem #adb5bd80}.btn-check:checked+html .btn-outline-gray,.btn-check:active+html .btn-outline-gray,html .btn-outline-gray:active,html .btn-outline-gray.active,html .btn-outline-gray.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-gray,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-gray,html[data-netbox-color-mode=dark] .btn-outline-gray:active,html[data-netbox-color-mode=dark] .btn-outline-gray.active,html[data-netbox-color-mode=dark] .btn-outline-gray.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-gray,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-gray,html[data-netbox-color-mode=light] .btn-outline-gray:active,html[data-netbox-color-mode=light] .btn-outline-gray.active,html[data-netbox-color-mode=light] .btn-outline-gray.dropdown-toggle.show{color:#000;background-color:#adb5bd;border-color:#adb5bd}.btn-check:checked+html .btn-outline-gray:focus,.btn-check:active+html .btn-outline-gray:focus,html .btn-outline-gray:active:focus,html .btn-outline-gray.active:focus,html .btn-outline-gray.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-gray:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-gray:focus,html[data-netbox-color-mode=dark] .btn-outline-gray:active:focus,html[data-netbox-color-mode=dark] .btn-outline-gray.active:focus,html[data-netbox-color-mode=dark] .btn-outline-gray.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-gray:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-gray:focus,html[data-netbox-color-mode=light] .btn-outline-gray:active:focus,html[data-netbox-color-mode=light] .btn-outline-gray.active:focus,html[data-netbox-color-mode=light] .btn-outline-gray.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #adb5bd80}html .btn-outline-gray:disabled,html .btn-outline-gray.disabled,html[data-netbox-color-mode=dark] .btn-outline-gray:disabled,html[data-netbox-color-mode=dark] .btn-outline-gray.disabled,html[data-netbox-color-mode=light] .btn-outline-gray:disabled,html[data-netbox-color-mode=light] .btn-outline-gray.disabled{color:#adb5bd;background-color:transparent}}@media print{html .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=light] .btn-outline-black{color:#000;border-color:#000}html .btn-outline-black:hover,html[data-netbox-color-mode=dark] .btn-outline-black:hover,html[data-netbox-color-mode=light] .btn-outline-black:hover{color:#fff;background-color:#000;border-color:#000}.btn-check:focus+html .btn-outline-black,html .btn-outline-black:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-black,html[data-netbox-color-mode=light] .btn-outline-black:focus{box-shadow:0 0 0 .25rem #00000080}.btn-check:checked+html .btn-outline-black,.btn-check:active+html .btn-outline-black,html .btn-outline-black:active,html .btn-outline-black.active,html .btn-outline-black.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-black,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-black,html[data-netbox-color-mode=dark] .btn-outline-black:active,html[data-netbox-color-mode=dark] .btn-outline-black.active,html[data-netbox-color-mode=dark] .btn-outline-black.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-black,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-black,html[data-netbox-color-mode=light] .btn-outline-black:active,html[data-netbox-color-mode=light] .btn-outline-black.active,html[data-netbox-color-mode=light] .btn-outline-black.dropdown-toggle.show{color:#fff;background-color:#000;border-color:#000}.btn-check:checked+html .btn-outline-black:focus,.btn-check:active+html .btn-outline-black:focus,html .btn-outline-black:active:focus,html .btn-outline-black.active:focus,html .btn-outline-black.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-black:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-black:focus,html[data-netbox-color-mode=dark] .btn-outline-black:active:focus,html[data-netbox-color-mode=dark] .btn-outline-black.active:focus,html[data-netbox-color-mode=dark] .btn-outline-black.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-black:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-black:focus,html[data-netbox-color-mode=light] .btn-outline-black:active:focus,html[data-netbox-color-mode=light] .btn-outline-black.active:focus,html[data-netbox-color-mode=light] .btn-outline-black.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #00000080}html .btn-outline-black:disabled,html .btn-outline-black.disabled,html[data-netbox-color-mode=dark] .btn-outline-black:disabled,html[data-netbox-color-mode=dark] .btn-outline-black.disabled,html[data-netbox-color-mode=light] .btn-outline-black:disabled,html[data-netbox-color-mode=light] .btn-outline-black.disabled{color:#000;background-color:transparent}}@media print{html .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=light] .btn-outline-white{color:#fff;border-color:#fff}html .btn-outline-white:hover,html[data-netbox-color-mode=dark] .btn-outline-white:hover,html[data-netbox-color-mode=light] .btn-outline-white:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+html .btn-outline-white,html .btn-outline-white:focus,.btn-check:focus+html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white:focus,.btn-check:focus+html[data-netbox-color-mode=light] .btn-outline-white,html[data-netbox-color-mode=light] .btn-outline-white:focus{box-shadow:0 0 0 .25rem #ffffff80}.btn-check:checked+html .btn-outline-white,.btn-check:active+html .btn-outline-white,html .btn-outline-white:active,html .btn-outline-white.active,html .btn-outline-white.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-white,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-white,html[data-netbox-color-mode=dark] .btn-outline-white:active,html[data-netbox-color-mode=dark] .btn-outline-white.active,html[data-netbox-color-mode=dark] .btn-outline-white.dropdown-toggle.show,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-white,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-white,html[data-netbox-color-mode=light] .btn-outline-white:active,html[data-netbox-color-mode=light] .btn-outline-white.active,html[data-netbox-color-mode=light] .btn-outline-white.dropdown-toggle.show{color:#000;background-color:#fff;border-color:#fff}.btn-check:checked+html .btn-outline-white:focus,.btn-check:active+html .btn-outline-white:focus,html .btn-outline-white:active:focus,html .btn-outline-white.active:focus,html .btn-outline-white.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=dark] .btn-outline-white:focus,.btn-check:active+html[data-netbox-color-mode=dark] .btn-outline-white:focus,html[data-netbox-color-mode=dark] .btn-outline-white:active:focus,html[data-netbox-color-mode=dark] .btn-outline-white.active:focus,html[data-netbox-color-mode=dark] .btn-outline-white.dropdown-toggle.show:focus,.btn-check:checked+html[data-netbox-color-mode=light] .btn-outline-white:focus,.btn-check:active+html[data-netbox-color-mode=light] .btn-outline-white:focus,html[data-netbox-color-mode=light] .btn-outline-white:active:focus,html[data-netbox-color-mode=light] .btn-outline-white.active:focus,html[data-netbox-color-mode=light] .btn-outline-white.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem #ffffff80}html .btn-outline-white:disabled,html .btn-outline-white.disabled,html[data-netbox-color-mode=dark] .btn-outline-white:disabled,html[data-netbox-color-mode=dark] .btn-outline-white.disabled,html[data-netbox-color-mode=light] .btn-outline-white:disabled,html[data-netbox-color-mode=light] .btn-outline-white.disabled{color:#fff;background-color:transparent}}@media print{html .btn-link,html[data-netbox-color-mode=dark] .btn-link,html[data-netbox-color-mode=light] .btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}html .btn-link:hover,html[data-netbox-color-mode=dark] .btn-link:hover,html[data-netbox-color-mode=light] .btn-link:hover{color:#0a58ca}html .btn-link:disabled,html .btn-link.disabled,html[data-netbox-color-mode=dark] .btn-link:disabled,html[data-netbox-color-mode=dark] .btn-link.disabled,html[data-netbox-color-mode=light] .btn-link:disabled,html[data-netbox-color-mode=light] .btn-link.disabled{color:#6c757d}}@media print{html .btn-lg,html .btn-group-lg>.btn,html[data-netbox-color-mode=dark] .btn-lg,html[data-netbox-color-mode=light] .btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.75rem}}@media print{html .btn-sm,html .btn-group-sm>.btn,html[data-netbox-color-mode=dark] .btn-sm,html[data-netbox-color-mode=light] .btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}}@media print{html .fade,html[data-netbox-color-mode=dark] .fade,html[data-netbox-color-mode=light] .fade{transition:opacity .15s linear}}@media print and (prefers-reduced-motion: reduce){html .fade,html[data-netbox-color-mode=dark] .fade,html[data-netbox-color-mode=light] .fade{transition:none}}@media print{html .fade:not(.show),html[data-netbox-color-mode=dark] .fade:not(.show),html[data-netbox-color-mode=light] .fade:not(.show){opacity:0}}@media print{html .collapse:not(.show),html[data-netbox-color-mode=dark] .collapse:not(.show),html[data-netbox-color-mode=light] .collapse:not(.show){display:none}}@media print{html .collapsing,html[data-netbox-color-mode=dark] .collapsing,html[data-netbox-color-mode=light] .collapsing{height:0;overflow:hidden;transition:height .35s ease}}@media print and (prefers-reduced-motion: reduce){html .collapsing,html[data-netbox-color-mode=dark] .collapsing,html[data-netbox-color-mode=light] .collapsing{transition:none}}@media print{html .dropup,html .dropend,html .dropdown,html .dropstart,html[data-netbox-color-mode=dark] .dropup,html[data-netbox-color-mode=dark] .dropend,html[data-netbox-color-mode=dark] .dropdown,html[data-netbox-color-mode=dark] .dropstart,html[data-netbox-color-mode=light] .dropup,html[data-netbox-color-mode=light] .dropend,html[data-netbox-color-mode=light] .dropdown,html[data-netbox-color-mode=light] .dropstart{position:relative}}@media print{html .dropdown-toggle,html[data-netbox-color-mode=dark] .dropdown-toggle,html[data-netbox-color-mode=light] .dropdown-toggle{white-space:nowrap}html .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}html .dropdown-toggle:empty:after,html[data-netbox-color-mode=dark] .dropdown-toggle:empty:after,html[data-netbox-color-mode=light] .dropdown-toggle:empty:after{margin-left:0}}@media print{html .dropdown-menu,html[data-netbox-color-mode=dark] .dropdown-menu,html[data-netbox-color-mode=light] .dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.375rem}html .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}}@media print{html .dropdown-menu-start,html[data-netbox-color-mode=dark] .dropdown-menu-start,html[data-netbox-color-mode=light] .dropdown-menu-start{--bs-position: start}html .dropdown-menu-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-start[data-bs-popper]{right:auto;left:0}}@media print{html .dropdown-menu-end,html[data-netbox-color-mode=dark] .dropdown-menu-end,html[data-netbox-color-mode=light] .dropdown-menu-end{--bs-position: end}html .dropdown-menu-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 576px){html .dropdown-menu-sm-start,html[data-netbox-color-mode=dark] .dropdown-menu-sm-start,html[data-netbox-color-mode=light] .dropdown-menu-sm-start{--bs-position: start}html .dropdown-menu-sm-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-sm-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-sm-end,html[data-netbox-color-mode=dark] .dropdown-menu-sm-end,html[data-netbox-color-mode=light] .dropdown-menu-sm-end{--bs-position: end}html .dropdown-menu-sm-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-sm-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 768px){html .dropdown-menu-md-start,html[data-netbox-color-mode=dark] .dropdown-menu-md-start,html[data-netbox-color-mode=light] .dropdown-menu-md-start{--bs-position: start}html .dropdown-menu-md-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-md-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-md-end,html[data-netbox-color-mode=dark] .dropdown-menu-md-end,html[data-netbox-color-mode=light] .dropdown-menu-md-end{--bs-position: end}html .dropdown-menu-md-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-md-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 992px){html .dropdown-menu-lg-start,html[data-netbox-color-mode=dark] .dropdown-menu-lg-start,html[data-netbox-color-mode=light] .dropdown-menu-lg-start{--bs-position: start}html .dropdown-menu-lg-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-lg-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-lg-end,html[data-netbox-color-mode=dark] .dropdown-menu-lg-end,html[data-netbox-color-mode=light] .dropdown-menu-lg-end{--bs-position: end}html .dropdown-menu-lg-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-lg-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 1200px){html .dropdown-menu-xl-start,html[data-netbox-color-mode=dark] .dropdown-menu-xl-start,html[data-netbox-color-mode=light] .dropdown-menu-xl-start{--bs-position: start}html .dropdown-menu-xl-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-xl-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-xl-end,html[data-netbox-color-mode=dark] .dropdown-menu-xl-end,html[data-netbox-color-mode=light] .dropdown-menu-xl-end{--bs-position: end}html .dropdown-menu-xl-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-xl-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media print and (min-width: 1400px){html .dropdown-menu-xxl-start,html[data-netbox-color-mode=dark] .dropdown-menu-xxl-start,html[data-netbox-color-mode=light] .dropdown-menu-xxl-start{--bs-position: start}html .dropdown-menu-xxl-start[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-xxl-start[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}html .dropdown-menu-xxl-end,html[data-netbox-color-mode=dark] .dropdown-menu-xxl-end,html[data-netbox-color-mode=light] .dropdown-menu-xxl-end{--bs-position: end}html .dropdown-menu-xxl-end[data-bs-popper],html[data-netbox-color-mode=dark] .dropdown-menu-xxl-end[data-bs-popper],html[data-netbox-color-mode=light] .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}@media print{html .dropup .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=dark] .dropup .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=light] .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}html .dropup .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropup .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}html .dropup .dropdown-toggle:empty:after,html[data-netbox-color-mode=dark] .dropup .dropdown-toggle:empty:after,html[data-netbox-color-mode=light] .dropup .dropdown-toggle:empty:after{margin-left:0}}@media print{html .dropend .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=dark] .dropend .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=light] .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}html .dropend .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}html .dropend .dropdown-toggle:empty:after,html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:empty:after,html[data-netbox-color-mode=light] .dropend .dropdown-toggle:empty:after{margin-left:0}html .dropend .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropend .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropend .dropdown-toggle:after{vertical-align:0}}@media print{html .dropstart .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=dark] .dropstart .dropdown-menu[data-bs-popper],html[data-netbox-color-mode=light] .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}html .dropstart .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}html .dropstart .dropdown-toggle:after,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:after,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:after{display:none}html .dropstart .dropdown-toggle:before,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:before,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}html .dropstart .dropdown-toggle:empty:after,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:empty:after,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:empty:after{margin-left:0}html .dropstart .dropdown-toggle:before,html[data-netbox-color-mode=dark] .dropstart .dropdown-toggle:before,html[data-netbox-color-mode=light] .dropstart .dropdown-toggle:before{vertical-align:0}}@media print{html .dropdown-divider,html[data-netbox-color-mode=dark] .dropdown-divider,html[data-netbox-color-mode=light] .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}}@media print{html .dropdown-item,html[data-netbox-color-mode=dark] .dropdown-item,html[data-netbox-color-mode=light] .dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}html .dropdown-item:hover,html .dropdown-item:focus,html[data-netbox-color-mode=dark] .dropdown-item:hover,html[data-netbox-color-mode=dark] .dropdown-item:focus,html[data-netbox-color-mode=light] .dropdown-item:hover,html[data-netbox-color-mode=light] .dropdown-item:focus{color:#1e2125;background-color:#e9ecef}html .dropdown-item.active,html .dropdown-item:active,html[data-netbox-color-mode=dark] .dropdown-item.active,html[data-netbox-color-mode=dark] .dropdown-item:active,html[data-netbox-color-mode=light] .dropdown-item.active,html[data-netbox-color-mode=light] .dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}html .dropdown-item.disabled,html .dropdown-item:disabled,html[data-netbox-color-mode=dark] .dropdown-item.disabled,html[data-netbox-color-mode=dark] .dropdown-item:disabled,html[data-netbox-color-mode=light] .dropdown-item.disabled,html[data-netbox-color-mode=light] .dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}}@media print{html .dropdown-menu.show,html[data-netbox-color-mode=dark] .dropdown-menu.show,html[data-netbox-color-mode=light] .dropdown-menu.show{display:block}}@media print{html .dropdown-header,html[data-netbox-color-mode=dark] .dropdown-header,html[data-netbox-color-mode=light] .dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}}@media print{html .dropdown-item-text,html[data-netbox-color-mode=dark] .dropdown-item-text,html[data-netbox-color-mode=light] .dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}}@media print{html .dropdown-menu-dark,html[data-netbox-color-mode=dark] .dropdown-menu-dark,html[data-netbox-color-mode=light] .dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:#00000026}html .dropdown-menu-dark .dropdown-item,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item{color:#dee2e6}html .dropdown-menu-dark .dropdown-item:hover,html .dropdown-menu-dark .dropdown-item:focus,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:hover,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:focus,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item:hover,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:#ffffff26}html .dropdown-menu-dark .dropdown-item.active,html .dropdown-menu-dark .dropdown-item:active,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item.active,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:active,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item.active,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}html .dropdown-menu-dark .dropdown-item.disabled,html .dropdown-menu-dark .dropdown-item:disabled,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item.disabled,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item:disabled,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item.disabled,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}html .dropdown-menu-dark .dropdown-divider,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-divider,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-divider{border-color:#00000026}html .dropdown-menu-dark .dropdown-item-text,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-item-text,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-item-text{color:#dee2e6}html .dropdown-menu-dark .dropdown-header,html[data-netbox-color-mode=dark] .dropdown-menu-dark .dropdown-header,html[data-netbox-color-mode=light] .dropdown-menu-dark .dropdown-header{color:#adb5bd}}@media print{html .btn-group,html .btn-group-vertical,html[data-netbox-color-mode=dark] .btn-group,html[data-netbox-color-mode=dark] .btn-group-vertical,html[data-netbox-color-mode=light] .btn-group,html[data-netbox-color-mode=light] .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}html .btn-group>.btn,html .btn-group-vertical>.btn,html[data-netbox-color-mode=dark] .btn-group>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn,html[data-netbox-color-mode=light] .btn-group>.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn{position:relative;flex:1 1 auto}html .btn-group>.btn-check:checked+.btn,html .btn-group>.btn-check:focus+.btn,html .btn-group>.btn:hover,html .btn-group>.btn:focus,html .btn-group>.btn:active,html .btn-group>.btn.active,html .btn-group-vertical>.btn-check:checked+.btn,html .btn-group-vertical>.btn-check:focus+.btn,html .btn-group-vertical>.btn:hover,html .btn-group-vertical>.btn:focus,html .btn-group-vertical>.btn:active,html .btn-group-vertical>.btn.active,html[data-netbox-color-mode=dark] .btn-group>.btn-check:checked+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn-check:focus+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn:hover,html[data-netbox-color-mode=dark] .btn-group>.btn:focus,html[data-netbox-color-mode=dark] .btn-group>.btn:active,html[data-netbox-color-mode=dark] .btn-group>.btn.active,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-check:checked+.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-check:focus+.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:hover,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:focus,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:active,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn.active,html[data-netbox-color-mode=light] .btn-group>.btn-check:checked+.btn,html[data-netbox-color-mode=light] .btn-group>.btn-check:focus+.btn,html[data-netbox-color-mode=light] .btn-group>.btn:hover,html[data-netbox-color-mode=light] .btn-group>.btn:focus,html[data-netbox-color-mode=light] .btn-group>.btn:active,html[data-netbox-color-mode=light] .btn-group>.btn.active,html[data-netbox-color-mode=light] .btn-group-vertical>.btn-check:checked+.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn-check:focus+.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn:hover,html[data-netbox-color-mode=light] .btn-group-vertical>.btn:focus,html[data-netbox-color-mode=light] .btn-group-vertical>.btn:active,html[data-netbox-color-mode=light] .btn-group-vertical>.btn.active{z-index:1}}@media print{html .btn-toolbar,html[data-netbox-color-mode=dark] .btn-toolbar,html[data-netbox-color-mode=light] .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}html .btn-toolbar .input-group,html[data-netbox-color-mode=dark] .btn-toolbar .input-group,html[data-netbox-color-mode=light] .btn-toolbar .input-group{width:auto}}@media print{html .btn-group>.btn:not(:first-child),html .btn-group>.btn-group:not(:first-child),html[data-netbox-color-mode=dark] .btn-group>.btn:not(:first-child),html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:first-child),html[data-netbox-color-mode=light] .btn-group>.btn:not(:first-child),html[data-netbox-color-mode=light] .btn-group>.btn-group:not(:first-child){margin-left:-1px}html .btn-group>.btn:not(:last-child):not(.dropdown-toggle),html .btn-group>.btn-group:not(:last-child)>.btn,html[data-netbox-color-mode=dark] .btn-group>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:last-child)>.btn,html[data-netbox-color-mode=light] .btn-group>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=light] .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}html .btn-group>.btn:nth-child(n+3),html .btn-group>:not(.btn-check)+.btn,html .btn-group>.btn-group:not(:first-child)>.btn,html[data-netbox-color-mode=dark] .btn-group>.btn:nth-child(n+3),html[data-netbox-color-mode=dark] .btn-group>:not(.btn-check)+.btn,html[data-netbox-color-mode=dark] .btn-group>.btn-group:not(:first-child)>.btn,html[data-netbox-color-mode=light] .btn-group>.btn:nth-child(n+3),html[data-netbox-color-mode=light] .btn-group>:not(.btn-check)+.btn,html[data-netbox-color-mode=light] .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}}@media print{html .dropdown-toggle-split,html[data-netbox-color-mode=dark] .dropdown-toggle-split,html[data-netbox-color-mode=light] .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}html .dropdown-toggle-split:after,.dropup html .dropdown-toggle-split:after,.dropend html .dropdown-toggle-split:after,html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,.dropup html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,.dropend html[data-netbox-color-mode=dark] .dropdown-toggle-split:after,html[data-netbox-color-mode=light] .dropdown-toggle-split:after,.dropup html[data-netbox-color-mode=light] .dropdown-toggle-split:after,.dropend html[data-netbox-color-mode=light] .dropdown-toggle-split:after{margin-left:0}.dropstart html .dropdown-toggle-split:before,.dropstart html[data-netbox-color-mode=dark] .dropdown-toggle-split:before,.dropstart html[data-netbox-color-mode=light] .dropdown-toggle-split:before{margin-right:0}}@media print{html .btn-sm+.dropdown-toggle-split,html .btn-group-sm>.btn+.dropdown-toggle-split,html[data-netbox-color-mode=dark] .btn-sm+.dropdown-toggle-split,html[data-netbox-color-mode=light] .btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}}@media print{html .btn-lg+.dropdown-toggle-split,html .btn-group-lg>.btn+.dropdown-toggle-split,html[data-netbox-color-mode=dark] .btn-lg+.dropdown-toggle-split,html[data-netbox-color-mode=light] .btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}}@media print{html .btn-group-vertical,html[data-netbox-color-mode=dark] .btn-group-vertical,html[data-netbox-color-mode=light] .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}html .btn-group-vertical>.btn,html .btn-group-vertical>.btn-group,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group,html[data-netbox-color-mode=light] .btn-group-vertical>.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn-group{width:100%}html .btn-group-vertical>.btn:not(:first-child),html .btn-group-vertical>.btn-group:not(:first-child),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:not(:first-child),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:first-child),html[data-netbox-color-mode=light] .btn-group-vertical>.btn:not(:first-child),html[data-netbox-color-mode=light] .btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}html .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),html .btn-group-vertical>.btn-group:not(:last-child)>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:last-child)>.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),html[data-netbox-color-mode=light] .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}html .btn-group-vertical>.btn~.btn,html .btn-group-vertical>.btn-group:not(:first-child)>.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn~.btn,html[data-netbox-color-mode=dark] .btn-group-vertical>.btn-group:not(:first-child)>.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn~.btn,html[data-netbox-color-mode=light] .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}}@media print{html .nav,html[data-netbox-color-mode=dark] .nav,html[data-netbox-color-mode=light] .nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}}@media print{html .nav-link,html[data-netbox-color-mode=dark] .nav-link,html[data-netbox-color-mode=light] .nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .nav-link,html[data-netbox-color-mode=dark] .nav-link,html[data-netbox-color-mode=light] .nav-link{transition:none}}@media print{html .nav-link:hover,html .nav-link:focus,html[data-netbox-color-mode=dark] .nav-link:hover,html[data-netbox-color-mode=dark] .nav-link:focus,html[data-netbox-color-mode=light] .nav-link:hover,html[data-netbox-color-mode=light] .nav-link:focus{color:#0a58ca}}@media print{html .nav-link.disabled,html[data-netbox-color-mode=dark] .nav-link.disabled,html[data-netbox-color-mode=light] .nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}}@media print{html .nav-tabs,html[data-netbox-color-mode=dark] .nav-tabs,html[data-netbox-color-mode=light] .nav-tabs{border-bottom:1px solid #dee2e6}html .nav-tabs .nav-link,html[data-netbox-color-mode=dark] .nav-tabs .nav-link,html[data-netbox-color-mode=light] .nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.375rem;border-top-right-radius:.375rem}html .nav-tabs .nav-link:hover,html .nav-tabs .nav-link:focus,html[data-netbox-color-mode=dark] .nav-tabs .nav-link:hover,html[data-netbox-color-mode=dark] .nav-tabs .nav-link:focus,html[data-netbox-color-mode=light] .nav-tabs .nav-link:hover,html[data-netbox-color-mode=light] .nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}html .nav-tabs .nav-link.disabled,html[data-netbox-color-mode=dark] .nav-tabs .nav-link.disabled,html[data-netbox-color-mode=light] .nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}html .nav-tabs .nav-link.active,html .nav-tabs .nav-item.show .nav-link,html[data-netbox-color-mode=dark] .nav-tabs .nav-link.active,html[data-netbox-color-mode=dark] .nav-tabs .nav-item.show .nav-link,html[data-netbox-color-mode=light] .nav-tabs .nav-link.active,html[data-netbox-color-mode=light] .nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}html .nav-tabs .dropdown-menu,html[data-netbox-color-mode=dark] .nav-tabs .dropdown-menu,html[data-netbox-color-mode=light] .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}}@media print{html .nav-pills .nav-link,html[data-netbox-color-mode=dark] .nav-pills .nav-link,html[data-netbox-color-mode=light] .nav-pills .nav-link{background:none;border:0;border-radius:.375rem}html .nav-pills .nav-link.active,html .nav-pills .show>.nav-link,html[data-netbox-color-mode=dark] .nav-pills .nav-link.active,html[data-netbox-color-mode=dark] .nav-pills .show>.nav-link,html[data-netbox-color-mode=light] .nav-pills .nav-link.active,html[data-netbox-color-mode=light] .nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}}@media print{html .nav-fill>.nav-link,html .nav-fill .nav-item,html[data-netbox-color-mode=dark] .nav-fill>.nav-link,html[data-netbox-color-mode=dark] .nav-fill .nav-item,html[data-netbox-color-mode=light] .nav-fill>.nav-link,html[data-netbox-color-mode=light] .nav-fill .nav-item{flex:1 1 auto;text-align:center}}@media print{html .nav-justified>.nav-link,html .nav-justified .nav-item,html[data-netbox-color-mode=dark] .nav-justified>.nav-link,html[data-netbox-color-mode=dark] .nav-justified .nav-item,html[data-netbox-color-mode=light] .nav-justified>.nav-link,html[data-netbox-color-mode=light] .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}}@media print{html .nav-fill .nav-item .nav-link,html .nav-justified .nav-item .nav-link,html[data-netbox-color-mode=dark] .nav-fill .nav-item .nav-link,html[data-netbox-color-mode=dark] .nav-justified .nav-item .nav-link,html[data-netbox-color-mode=light] .nav-fill .nav-item .nav-link,html[data-netbox-color-mode=light] .nav-justified .nav-item .nav-link{width:100%}}@media print{html .tab-content>.tab-pane,html[data-netbox-color-mode=dark] .tab-content>.tab-pane,html[data-netbox-color-mode=light] .tab-content>.tab-pane{display:none}html .tab-content>.active,html[data-netbox-color-mode=dark] .tab-content>.active,html[data-netbox-color-mode=light] .tab-content>.active{display:block}}@media print{html .navbar,html[data-netbox-color-mode=dark] .navbar,html[data-netbox-color-mode=light] .navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}html[data-netbox-color-mode=dark] .navbar>.container-xxl,html[data-netbox-color-mode=light] .navbar>.container-xxl,html[data-netbox-color-mode=dark] .navbar>.container-xl,html[data-netbox-color-mode=light] .navbar>.container-xl,html[data-netbox-color-mode=dark] .navbar>.container-lg,html[data-netbox-color-mode=light] .navbar>.container-lg,html[data-netbox-color-mode=dark] .navbar>.container-md,html[data-netbox-color-mode=light] .navbar>.container-md,html[data-netbox-color-mode=dark] .navbar>.container-sm,html[data-netbox-color-mode=light] .navbar>.container-sm,html .navbar>.container,html .navbar>.container-fluid,html .navbar>.container-sm,html .navbar>.container-md,html .navbar>.container-lg,html .navbar>.container-xl,html .navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}}@media print{html .navbar-brand,html[data-netbox-color-mode=dark] .navbar-brand,html[data-netbox-color-mode=light] .navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}}@media print{html .navbar-nav,html[data-netbox-color-mode=dark] .navbar-nav,html[data-netbox-color-mode=light] .navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}html .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-nav .nav-link{padding-right:0;padding-left:0}html .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-nav .dropdown-menu{position:static}}@media print{html .navbar-text,html[data-netbox-color-mode=dark] .navbar-text,html[data-netbox-color-mode=light] .navbar-text{padding-top:.5rem;padding-bottom:.5rem}}@media print{html .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-collapse,html[data-netbox-color-mode=light] .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}}@media print{html .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-toggler,html[data-netbox-color-mode=light] .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.375rem;transition:box-shadow .15s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-toggler,html[data-netbox-color-mode=light] .navbar-toggler{transition:none}}@media print{html .navbar-toggler:hover,html[data-netbox-color-mode=dark] .navbar-toggler:hover,html[data-netbox-color-mode=light] .navbar-toggler:hover{text-decoration:none}}@media print{html .navbar-toggler:focus,html[data-netbox-color-mode=dark] .navbar-toggler:focus,html[data-netbox-color-mode=light] .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}}@media print{html .navbar-toggler-icon,html[data-netbox-color-mode=dark] .navbar-toggler-icon,html[data-netbox-color-mode=light] .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}}@media print{html .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}}@media print and (min-width: 576px){html .navbar-expand-sm,html[data-netbox-color-mode=dark] .navbar-expand-sm,html[data-netbox-color-mode=light] .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-sm .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-nav{flex-direction:row}html .navbar-expand-sm .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-sm .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-sm .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-nav-scroll{overflow:visible}html .navbar-expand-sm .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-sm .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-sm .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-sm .navbar-toggler{display:none}}@media print and (min-width: 768px){html .navbar-expand-md,html[data-netbox-color-mode=dark] .navbar-expand-md,html[data-netbox-color-mode=light] .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-md .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-nav{flex-direction:row}html .navbar-expand-md .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-md .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-md .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-nav-scroll{overflow:visible}html .navbar-expand-md .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-md .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-md .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-md .navbar-toggler{display:none}}@media print and (min-width: 992px){html .navbar-expand-lg,html[data-netbox-color-mode=dark] .navbar-expand-lg,html[data-netbox-color-mode=light] .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-lg .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-nav{flex-direction:row}html .navbar-expand-lg .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-lg .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-lg .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-nav-scroll{overflow:visible}html .navbar-expand-lg .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-lg .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-lg .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-lg .navbar-toggler{display:none}}@media print and (min-width: 1200px){html .navbar-expand-xl,html[data-netbox-color-mode=dark] .navbar-expand-xl,html[data-netbox-color-mode=light] .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-xl .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-nav{flex-direction:row}html .navbar-expand-xl .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-xl .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-xl .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-nav-scroll{overflow:visible}html .navbar-expand-xl .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-xl .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-xl .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-xl .navbar-toggler{display:none}}@media print and (min-width: 1400px){html .navbar-expand-xxl,html[data-netbox-color-mode=dark] .navbar-expand-xxl,html[data-netbox-color-mode=light] .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand-xxl .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-nav{flex-direction:row}html .navbar-expand-xxl .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand-xxl .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand-xxl .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}html .navbar-expand-xxl .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand-xxl .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand-xxl .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand-xxl .navbar-toggler{display:none}}@media print{html .navbar-expand,html[data-netbox-color-mode=dark] .navbar-expand,html[data-netbox-color-mode=light] .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}html .navbar-expand .navbar-nav,html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav,html[data-netbox-color-mode=light] .navbar-expand .navbar-nav{flex-direction:row}html .navbar-expand .navbar-nav .dropdown-menu,html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav .dropdown-menu,html[data-netbox-color-mode=light] .navbar-expand .navbar-nav .dropdown-menu{position:absolute}html .navbar-expand .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}html .navbar-expand .navbar-nav-scroll,html[data-netbox-color-mode=dark] .navbar-expand .navbar-nav-scroll,html[data-netbox-color-mode=light] .navbar-expand .navbar-nav-scroll{overflow:visible}html .navbar-expand .navbar-collapse,html[data-netbox-color-mode=dark] .navbar-expand .navbar-collapse,html[data-netbox-color-mode=light] .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}html .navbar-expand .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-expand .navbar-toggler,html[data-netbox-color-mode=light] .navbar-expand .navbar-toggler{display:none}}@media print{html .navbar-light .navbar-brand,html[data-netbox-color-mode=dark] .navbar-light .navbar-brand,html[data-netbox-color-mode=light] .navbar-light .navbar-brand{color:#000000e6}html .navbar-light .navbar-brand:hover,html .navbar-light .navbar-brand:focus,html[data-netbox-color-mode=dark] .navbar-light .navbar-brand:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-brand:focus,html[data-netbox-color-mode=light] .navbar-light .navbar-brand:hover,html[data-netbox-color-mode=light] .navbar-light .navbar-brand:focus{color:#000000e6}html .navbar-light .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link{color:#f8f9fa}html .navbar-light .navbar-nav .nav-link:hover,html .navbar-light .navbar-nav .nav-link:focus,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link:focus,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link:hover,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link:focus{color:#000000b3}html .navbar-light .navbar-nav .nav-link.disabled,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link.disabled,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}html .navbar-light .navbar-nav .show>.nav-link,html .navbar-light .navbar-nav .nav-link.active,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .show>.nav-link,html[data-netbox-color-mode=dark] .navbar-light .navbar-nav .nav-link.active,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .show>.nav-link,html[data-netbox-color-mode=light] .navbar-light .navbar-nav .nav-link.active{color:#000000e6}html .navbar-light .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-light .navbar-toggler,html[data-netbox-color-mode=light] .navbar-light .navbar-toggler{color:#f8f9fa;border-color:#0000001a}html .navbar-light .navbar-toggler-icon,html[data-netbox-color-mode=dark] .navbar-light .navbar-toggler-icon,html[data-netbox-color-mode=light] .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html .navbar-light .navbar-text,html[data-netbox-color-mode=dark] .navbar-light .navbar-text,html[data-netbox-color-mode=light] .navbar-light .navbar-text{color:#f8f9fa}html .navbar-light .navbar-text a,html .navbar-light .navbar-text a:hover,html .navbar-light .navbar-text a:focus,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a:hover,html[data-netbox-color-mode=dark] .navbar-light .navbar-text a:focus,html[data-netbox-color-mode=light] .navbar-light .navbar-text a,html[data-netbox-color-mode=light] .navbar-light .navbar-text a:hover,html[data-netbox-color-mode=light] .navbar-light .navbar-text a:focus{color:#000000e6}}@media print{html .navbar-dark .navbar-brand,html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand,html[data-netbox-color-mode=light] .navbar-dark .navbar-brand{color:#fff}html .navbar-dark .navbar-brand:hover,html .navbar-dark .navbar-brand:focus,html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-brand:focus,html[data-netbox-color-mode=light] .navbar-dark .navbar-brand:hover,html[data-netbox-color-mode=light] .navbar-dark .navbar-brand:focus{color:#fff}html .navbar-dark .navbar-nav .nav-link,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link{color:#ffffff8c}html .navbar-dark .navbar-nav .nav-link:hover,html .navbar-dark .navbar-nav .nav-link:focus,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link:focus,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link:hover,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link:focus{color:#ffffffbf}html .navbar-dark .navbar-nav .nav-link.disabled,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link.disabled,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}html .navbar-dark .navbar-nav .show>.nav-link,html .navbar-dark .navbar-nav .nav-link.active,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .show>.nav-link,html[data-netbox-color-mode=dark] .navbar-dark .navbar-nav .nav-link.active,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .show>.nav-link,html[data-netbox-color-mode=light] .navbar-dark .navbar-nav .nav-link.active{color:#fff}html .navbar-dark .navbar-toggler,html[data-netbox-color-mode=dark] .navbar-dark .navbar-toggler,html[data-netbox-color-mode=light] .navbar-dark .navbar-toggler{color:#ffffff8c;border-color:#ffffff1a}html .navbar-dark .navbar-toggler-icon,html[data-netbox-color-mode=dark] .navbar-dark .navbar-toggler-icon,html[data-netbox-color-mode=light] .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}html .navbar-dark .navbar-text,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text,html[data-netbox-color-mode=light] .navbar-dark .navbar-text{color:#ffffff8c}html .navbar-dark .navbar-text a,html .navbar-dark .navbar-text a:hover,html .navbar-dark .navbar-text a:focus,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a:hover,html[data-netbox-color-mode=dark] .navbar-dark .navbar-text a:focus,html[data-netbox-color-mode=light] .navbar-dark .navbar-text a,html[data-netbox-color-mode=light] .navbar-dark .navbar-text a:hover,html[data-netbox-color-mode=light] .navbar-dark .navbar-text a:focus{color:#fff}}@media print{html .card,html[data-netbox-color-mode=dark] .card,html[data-netbox-color-mode=light] .card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem}html .card>hr,html[data-netbox-color-mode=dark] .card>hr,html[data-netbox-color-mode=light] .card>hr{margin-right:0;margin-left:0}html .card>.list-group,html[data-netbox-color-mode=dark] .card>.list-group,html[data-netbox-color-mode=light] .card>.list-group{border-top:inherit;border-bottom:inherit}html .card>.list-group:first-child,html[data-netbox-color-mode=dark] .card>.list-group:first-child,html[data-netbox-color-mode=light] .card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html .card>.list-group:last-child,html[data-netbox-color-mode=dark] .card>.list-group:last-child,html[data-netbox-color-mode=light] .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html .card>.card-header+.list-group,html .card>.list-group+.card-footer,html[data-netbox-color-mode=dark] .card>.card-header+.list-group,html[data-netbox-color-mode=dark] .card>.list-group+.card-footer,html[data-netbox-color-mode=light] .card>.card-header+.list-group,html[data-netbox-color-mode=light] .card>.list-group+.card-footer{border-top:0}}@media print{html .card-body,html[data-netbox-color-mode=dark] .card-body,html[data-netbox-color-mode=light] .card-body{flex:1 1 auto;padding:1rem}}@media print{html .card-title,html[data-netbox-color-mode=dark] .card-title,html[data-netbox-color-mode=light] .card-title{margin-bottom:.5rem}}@media print{html .card-subtitle,html[data-netbox-color-mode=dark] .card-subtitle,html[data-netbox-color-mode=light] .card-subtitle{margin-top:-.25rem;margin-bottom:0}}@media print{html .card-text:last-child,html[data-netbox-color-mode=dark] .card-text:last-child,html[data-netbox-color-mode=light] .card-text:last-child{margin-bottom:0}}@media print{html .card-link:hover,html[data-netbox-color-mode=dark] .card-link:hover,html[data-netbox-color-mode=light] .card-link:hover{text-decoration:none}html .card-link+.card-link,html[data-netbox-color-mode=dark] .card-link+.card-link,html[data-netbox-color-mode=light] .card-link+.card-link{margin-left:1rem}}@media print{html .card-header,html[data-netbox-color-mode=dark] .card-header,html[data-netbox-color-mode=light] .card-header{padding:.5rem 1rem;margin-bottom:0;color:#343a40;background-color:"unset";border-bottom:1px solid rgba(0,0,0,.125)}html .card-header:first-child,html[data-netbox-color-mode=dark] .card-header:first-child,html[data-netbox-color-mode=light] .card-header:first-child{border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0}}@media print{html .card-footer,html[data-netbox-color-mode=dark] .card-footer,html[data-netbox-color-mode=light] .card-footer{padding:.5rem 1rem;color:#343a40;background-color:"unset";border-top:1px solid rgba(0,0,0,.125)}html .card-footer:last-child,html[data-netbox-color-mode=dark] .card-footer:last-child,html[data-netbox-color-mode=light] .card-footer:last-child{border-radius:0 0 calc(.375rem - 1px) calc(.375rem - 1px)}}@media print{html .card-header-tabs,html[data-netbox-color-mode=dark] .card-header-tabs,html[data-netbox-color-mode=light] .card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}}@media print{html .card-header-pills,html[data-netbox-color-mode=dark] .card-header-pills,html[data-netbox-color-mode=light] .card-header-pills{margin-right:-.5rem;margin-left:-.5rem}}@media print{html .card-img-overlay,html[data-netbox-color-mode=dark] .card-img-overlay,html[data-netbox-color-mode=light] .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.375rem - 1px)}}@media print{html .card-img,html .card-img-top,html .card-img-bottom,html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-top,html[data-netbox-color-mode=dark] .card-img-bottom,html[data-netbox-color-mode=light] .card-img,html[data-netbox-color-mode=light] .card-img-top,html[data-netbox-color-mode=light] .card-img-bottom{width:100%}}@media print{html .card-img,html .card-img-top,html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-top,html[data-netbox-color-mode=light] .card-img,html[data-netbox-color-mode=light] .card-img-top{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}}@media print{html .card-img,html .card-img-bottom,html[data-netbox-color-mode=dark] .card-img,html[data-netbox-color-mode=dark] .card-img-bottom,html[data-netbox-color-mode=light] .card-img,html[data-netbox-color-mode=light] .card-img-bottom{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}}@media print{html .card-group>.card,html[data-netbox-color-mode=dark] .card-group>.card,html[data-netbox-color-mode=light] .card-group>.card{margin-bottom:.75rem}}@media print and (min-width: 576px){html .card-group,html[data-netbox-color-mode=dark] .card-group,html[data-netbox-color-mode=light] .card-group{display:flex;flex-flow:row wrap}html .card-group>.card,html[data-netbox-color-mode=dark] .card-group>.card,html[data-netbox-color-mode=light] .card-group>.card{flex:1 0 0%;margin-bottom:0}html .card-group>.card+.card,html[data-netbox-color-mode=dark] .card-group>.card+.card,html[data-netbox-color-mode=light] .card-group>.card+.card{margin-left:0;border-left:0}html .card-group>.card:not(:last-child),html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child),html[data-netbox-color-mode=light] .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}html .card-group>.card:not(:last-child) .card-img-top,html .card-group>.card:not(:last-child) .card-header,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-img-top,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-header,html[data-netbox-color-mode=light] .card-group>.card:not(:last-child) .card-img-top,html[data-netbox-color-mode=light] .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}html .card-group>.card:not(:last-child) .card-img-bottom,html .card-group>.card:not(:last-child) .card-footer,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-img-bottom,html[data-netbox-color-mode=dark] .card-group>.card:not(:last-child) .card-footer,html[data-netbox-color-mode=light] .card-group>.card:not(:last-child) .card-img-bottom,html[data-netbox-color-mode=light] .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}html .card-group>.card:not(:first-child),html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child),html[data-netbox-color-mode=light] .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}html .card-group>.card:not(:first-child) .card-img-top,html .card-group>.card:not(:first-child) .card-header,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-img-top,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-header,html[data-netbox-color-mode=light] .card-group>.card:not(:first-child) .card-img-top,html[data-netbox-color-mode=light] .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}html .card-group>.card:not(:first-child) .card-img-bottom,html .card-group>.card:not(:first-child) .card-footer,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-img-bottom,html[data-netbox-color-mode=dark] .card-group>.card:not(:first-child) .card-footer,html[data-netbox-color-mode=light] .card-group>.card:not(:first-child) .card-img-bottom,html[data-netbox-color-mode=light] .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}@media print{html .accordion-button,html[data-netbox-color-mode=dark] .accordion-button,html[data-netbox-color-mode=light] .accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:transparent;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}}@media print and (prefers-reduced-motion: reduce){html .accordion-button,html[data-netbox-color-mode=dark] .accordion-button,html[data-netbox-color-mode=light] .accordion-button{transition:none}}@media print{html .accordion-button:not(.collapsed),html[data-netbox-color-mode=dark] .accordion-button:not(.collapsed),html[data-netbox-color-mode=light] .accordion-button:not(.collapsed){color:#343a40;background-color:#cfe2ff;box-shadow:inset 0 -1px #dee2e6}html .accordion-button:not(.collapsed):after,html[data-netbox-color-mode=dark] .accordion-button:not(.collapsed):after,html[data-netbox-color-mode=light] .accordion-button:not(.collapsed):after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}}@media print{html .accordion-button:after,html[data-netbox-color-mode=dark] .accordion-button:after,html[data-netbox-color-mode=light] .accordion-button:after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .accordion-button:after,html[data-netbox-color-mode=dark] .accordion-button:after,html[data-netbox-color-mode=light] .accordion-button:after{transition:none}}@media print{html .accordion-button:hover,html[data-netbox-color-mode=dark] .accordion-button:hover,html[data-netbox-color-mode=light] .accordion-button:hover{z-index:2}}@media print{html .accordion-button:focus,html[data-netbox-color-mode=dark] .accordion-button:focus,html[data-netbox-color-mode=light] .accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .accordion-header,html[data-netbox-color-mode=dark] .accordion-header,html[data-netbox-color-mode=light] .accordion-header{margin-bottom:0}}@media print{html .accordion-item,html[data-netbox-color-mode=dark] .accordion-item,html[data-netbox-color-mode=light] .accordion-item{background-color:transparent;border:1px solid #dee2e6}html .accordion-item:first-of-type,html[data-netbox-color-mode=dark] .accordion-item:first-of-type,html[data-netbox-color-mode=light] .accordion-item:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}html .accordion-item:first-of-type .accordion-button,html[data-netbox-color-mode=dark] .accordion-item:first-of-type .accordion-button,html[data-netbox-color-mode=light] .accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html .accordion-item:not(:first-of-type),html[data-netbox-color-mode=dark] .accordion-item:not(:first-of-type),html[data-netbox-color-mode=light] .accordion-item:not(:first-of-type){border-top:0}html .accordion-item:last-of-type,html[data-netbox-color-mode=dark] .accordion-item:last-of-type,html[data-netbox-color-mode=light] .accordion-item:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html .accordion-item:last-of-type .accordion-button.collapsed,html[data-netbox-color-mode=dark] .accordion-item:last-of-type .accordion-button.collapsed,html[data-netbox-color-mode=light] .accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.375rem - 1px);border-bottom-left-radius:calc(.375rem - 1px)}html .accordion-item:last-of-type .accordion-collapse,html[data-netbox-color-mode=dark] .accordion-item:last-of-type .accordion-collapse,html[data-netbox-color-mode=light] .accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}}@media print{html .accordion-body,html[data-netbox-color-mode=dark] .accordion-body,html[data-netbox-color-mode=light] .accordion-body{padding:1rem 1.25rem}}@media print{html .accordion-flush .accordion-collapse,html[data-netbox-color-mode=dark] .accordion-flush .accordion-collapse,html[data-netbox-color-mode=light] .accordion-flush .accordion-collapse{border-width:0}html .accordion-flush .accordion-item,html[data-netbox-color-mode=dark] .accordion-flush .accordion-item,html[data-netbox-color-mode=light] .accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}html .accordion-flush .accordion-item:first-child,html[data-netbox-color-mode=dark] .accordion-flush .accordion-item:first-child,html[data-netbox-color-mode=light] .accordion-flush .accordion-item:first-child{border-top:0}html .accordion-flush .accordion-item:last-child,html[data-netbox-color-mode=dark] .accordion-flush .accordion-item:last-child,html[data-netbox-color-mode=light] .accordion-flush .accordion-item:last-child{border-bottom:0}html .accordion-flush .accordion-item .accordion-button,html[data-netbox-color-mode=dark] .accordion-flush .accordion-item .accordion-button,html[data-netbox-color-mode=light] .accordion-flush .accordion-item .accordion-button{border-radius:0}}@media print{html .breadcrumb,html[data-netbox-color-mode=dark] .breadcrumb,html[data-netbox-color-mode=light] .breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:1rem;list-style:none}}@media print{html .breadcrumb-item+.breadcrumb-item,html[data-netbox-color-mode=dark] .breadcrumb-item+.breadcrumb-item,html[data-netbox-color-mode=light] .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}html .breadcrumb-item+.breadcrumb-item:before,html[data-netbox-color-mode=dark] .breadcrumb-item+.breadcrumb-item:before,html[data-netbox-color-mode=light] .breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='currentColor'/%3E%3C/svg%3E"))}html .breadcrumb-item.active,html[data-netbox-color-mode=dark] .breadcrumb-item.active,html[data-netbox-color-mode=light] .breadcrumb-item.active{color:#6c757d}}@media print{html .pagination,html[data-netbox-color-mode=dark] .pagination,html[data-netbox-color-mode=light] .pagination{display:flex;padding-left:0;list-style:none}}@media print{html .page-link,html[data-netbox-color-mode=dark] .page-link,html[data-netbox-color-mode=light] .page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;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 print and (prefers-reduced-motion: reduce){html .page-link,html[data-netbox-color-mode=dark] .page-link,html[data-netbox-color-mode=light] .page-link{transition:none}}@media print{html .page-link:hover,html[data-netbox-color-mode=dark] .page-link:hover,html[data-netbox-color-mode=light] .page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}}@media print{html .page-link:focus,html[data-netbox-color-mode=dark] .page-link:focus,html[data-netbox-color-mode=light] .page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .page-item:not(:first-child) .page-link,html[data-netbox-color-mode=dark] .page-item:not(:first-child) .page-link,html[data-netbox-color-mode=light] .page-item:not(:first-child) .page-link{margin-left:-1px}html .page-item.active .page-link,html[data-netbox-color-mode=dark] .page-item.active .page-link,html[data-netbox-color-mode=light] .page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}html .page-item.disabled .page-link,html[data-netbox-color-mode=dark] .page-item.disabled .page-link,html[data-netbox-color-mode=light] .page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}}@media print{html .page-link,html[data-netbox-color-mode=dark] .page-link,html[data-netbox-color-mode=light] .page-link{padding:.375rem .75rem}}@media print{html .page-item:first-child .page-link,html[data-netbox-color-mode=dark] .page-item:first-child .page-link,html[data-netbox-color-mode=light] .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}html .page-item:last-child .page-link,html[data-netbox-color-mode=dark] .page-item:last-child .page-link,html[data-netbox-color-mode=light] .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}}@media print{html .pagination-lg .page-link,html[data-netbox-color-mode=dark] .pagination-lg .page-link,html[data-netbox-color-mode=light] .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}html .pagination-lg .page-item:first-child .page-link,html[data-netbox-color-mode=dark] .pagination-lg .page-item:first-child .page-link,html[data-netbox-color-mode=light] .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}html .pagination-lg .page-item:last-child .page-link,html[data-netbox-color-mode=dark] .pagination-lg .page-item:last-child .page-link,html[data-netbox-color-mode=light] .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}}@media print{html .pagination-sm .page-link,html[data-netbox-color-mode=dark] .pagination-sm .page-link,html[data-netbox-color-mode=light] .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}html .pagination-sm .page-item:first-child .page-link,html[data-netbox-color-mode=dark] .pagination-sm .page-item:first-child .page-link,html[data-netbox-color-mode=light] .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}html .pagination-sm .page-item:last-child .page-link,html[data-netbox-color-mode=dark] .pagination-sm .page-item:last-child .page-link,html[data-netbox-color-mode=light] .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}}@media print{html .badge,html[data-netbox-color-mode=dark] .badge,html[data-netbox-color-mode=light] .badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}html .badge:empty,html[data-netbox-color-mode=dark] .badge:empty,html[data-netbox-color-mode=light] .badge:empty{display:none}}@media print{html .btn .badge,html[data-netbox-color-mode=dark] .btn .badge,html[data-netbox-color-mode=light] .btn .badge{position:relative;top:-1px}}@media print{html .alert,html[data-netbox-color-mode=dark] .alert,html[data-netbox-color-mode=light] .alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}}@media print{html .alert-heading,html[data-netbox-color-mode=dark] .alert-heading,html[data-netbox-color-mode=light] .alert-heading{color:inherit}}@media print{html .alert-link,html[data-netbox-color-mode=dark] .alert-link,html[data-netbox-color-mode=light] .alert-link{font-weight:700}}@media print{html .alert-dismissible,html[data-netbox-color-mode=dark] .alert-dismissible,html[data-netbox-color-mode=light] .alert-dismissible{padding-right:3rem}html .alert-dismissible .btn-close,html[data-netbox-color-mode=dark] .alert-dismissible .btn-close,html[data-netbox-color-mode=light] .alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}}@media print{html .alert-primary,html[data-netbox-color-mode=dark] .alert-primary,html[data-netbox-color-mode=light] .alert-primary{color:#1f496e;background-color:#d6e4f1;border-color:#c2d7e9}html .alert-primary .alert-link,html[data-netbox-color-mode=dark] .alert-primary .alert-link,html[data-netbox-color-mode=light] .alert-primary .alert-link{color:#193a58}}@media print{html .alert-secondary,html[data-netbox-color-mode=dark] .alert-secondary,html[data-netbox-color-mode=light] .alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}html .alert-secondary .alert-link,html[data-netbox-color-mode=dark] .alert-secondary .alert-link,html[data-netbox-color-mode=light] .alert-secondary .alert-link{color:#34383c}}@media print{html .alert-success,html[data-netbox-color-mode=dark] .alert-success,html[data-netbox-color-mode=light] .alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}html .alert-success .alert-link,html[data-netbox-color-mode=dark] .alert-success .alert-link,html[data-netbox-color-mode=light] .alert-success .alert-link{color:#0c4128}}@media print{html .alert-info,html[data-netbox-color-mode=dark] .alert-info,html[data-netbox-color-mode=light] .alert-info{color:#225660;background-color:#ddf7fc;border-color:#ccf3fb}html .alert-info .alert-link,html[data-netbox-color-mode=dark] .alert-info .alert-link,html[data-netbox-color-mode=light] .alert-info .alert-link{color:#1b454d}}@media print{html .alert-warning,html[data-netbox-color-mode=dark] .alert-warning,html[data-netbox-color-mode=light] .alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}html .alert-warning .alert-link,html[data-netbox-color-mode=dark] .alert-warning .alert-link,html[data-netbox-color-mode=light] .alert-warning .alert-link{color:#523e02}}@media print{html .alert-danger,html[data-netbox-color-mode=dark] .alert-danger,html[data-netbox-color-mode=light] .alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}html .alert-danger .alert-link,html[data-netbox-color-mode=dark] .alert-danger .alert-link,html[data-netbox-color-mode=light] .alert-danger .alert-link{color:#6a1a21}}@media print{html .alert-light,html[data-netbox-color-mode=dark] .alert-light,html[data-netbox-color-mode=light] .alert-light{color:#5d5e60;background-color:#fbfbfc;border-color:#f8f9fa}html .alert-light .alert-link,html[data-netbox-color-mode=dark] .alert-light .alert-link,html[data-netbox-color-mode=light] .alert-light .alert-link{color:#4a4b4d}}@media print{html .alert-dark,html[data-netbox-color-mode=dark] .alert-dark,html[data-netbox-color-mode=light] .alert-dark{color:#1f2326;background-color:#d6d8d9;border-color:#c2c4c6}html .alert-dark .alert-link,html[data-netbox-color-mode=dark] .alert-dark .alert-link,html[data-netbox-color-mode=light] .alert-dark .alert-link{color:#191c1e}}@media print{html .alert-blue,html[data-netbox-color-mode=dark] .alert-blue,html[data-netbox-color-mode=light] .alert-blue{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}html .alert-blue .alert-link,html[data-netbox-color-mode=dark] .alert-blue .alert-link,html[data-netbox-color-mode=light] .alert-blue .alert-link{color:#06357a}}@media print{html .alert-indigo,html[data-netbox-color-mode=dark] .alert-indigo,html[data-netbox-color-mode=light] .alert-indigo{color:#3d0a91;background-color:#e0cffc;border-color:#d1b7fb}html .alert-indigo .alert-link,html[data-netbox-color-mode=dark] .alert-indigo .alert-link,html[data-netbox-color-mode=light] .alert-indigo .alert-link{color:#310874}}@media print{html .alert-purple,html[data-netbox-color-mode=dark] .alert-purple,html[data-netbox-color-mode=light] .alert-purple{color:#432874;background-color:#e2d9f3;border-color:#d4c6ec}html .alert-purple .alert-link,html[data-netbox-color-mode=dark] .alert-purple .alert-link,html[data-netbox-color-mode=light] .alert-purple .alert-link{color:#36205d}}@media print{html .alert-pink,html[data-netbox-color-mode=dark] .alert-pink,html[data-netbox-color-mode=light] .alert-pink{color:#801f4f;background-color:#f7d6e6;border-color:#f3c2da}html .alert-pink .alert-link,html[data-netbox-color-mode=dark] .alert-pink .alert-link,html[data-netbox-color-mode=light] .alert-pink .alert-link{color:#66193f}}@media print{html .alert-red,html[data-netbox-color-mode=dark] .alert-red,html[data-netbox-color-mode=light] .alert-red{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}html .alert-red .alert-link,html[data-netbox-color-mode=dark] .alert-red .alert-link,html[data-netbox-color-mode=light] .alert-red .alert-link{color:#6a1a21}}@media print{html .alert-orange,html[data-netbox-color-mode=dark] .alert-orange,html[data-netbox-color-mode=light] .alert-orange{color:#984c0c;background-color:#ffe5d0;border-color:#fed8b9}html .alert-orange .alert-link,html[data-netbox-color-mode=dark] .alert-orange .alert-link,html[data-netbox-color-mode=light] .alert-orange .alert-link{color:#7a3d0a}}@media print{html .alert-yellow,html[data-netbox-color-mode=dark] .alert-yellow,html[data-netbox-color-mode=light] .alert-yellow{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}html .alert-yellow .alert-link,html[data-netbox-color-mode=dark] .alert-yellow .alert-link,html[data-netbox-color-mode=light] .alert-yellow .alert-link{color:#523e02}}@media print{html .alert-green,html[data-netbox-color-mode=dark] .alert-green,html[data-netbox-color-mode=light] .alert-green{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}html .alert-green .alert-link,html[data-netbox-color-mode=dark] .alert-green .alert-link,html[data-netbox-color-mode=light] .alert-green .alert-link{color:#0c4128}}@media print{html .alert-teal,html[data-netbox-color-mode=dark] .alert-teal,html[data-netbox-color-mode=light] .alert-teal{color:#13795b;background-color:#d2f4ea;border-color:#bcefe0}html .alert-teal .alert-link,html[data-netbox-color-mode=dark] .alert-teal .alert-link,html[data-netbox-color-mode=light] .alert-teal .alert-link{color:#0f6149}}@media print{html .alert-cyan,html[data-netbox-color-mode=dark] .alert-cyan,html[data-netbox-color-mode=light] .alert-cyan{color:#055160;background-color:#cff4fc;border-color:#b6effb}html .alert-cyan .alert-link,html[data-netbox-color-mode=dark] .alert-cyan .alert-link,html[data-netbox-color-mode=light] .alert-cyan .alert-link{color:#04414d}}@media print{html .alert-gray,html[data-netbox-color-mode=dark] .alert-gray,html[data-netbox-color-mode=light] .alert-gray{color:#686d71;background-color:#eff0f2;border-color:#e6e9eb}html .alert-gray .alert-link,html[data-netbox-color-mode=dark] .alert-gray .alert-link,html[data-netbox-color-mode=light] .alert-gray .alert-link{color:#53575a}}@media print{html .alert-black,html[data-netbox-color-mode=dark] .alert-black,html[data-netbox-color-mode=light] .alert-black{color:#000;background-color:#ccc;border-color:#b3b3b3}html .alert-black .alert-link,html[data-netbox-color-mode=dark] .alert-black .alert-link,html[data-netbox-color-mode=light] .alert-black .alert-link{color:#000}}@media print{html .alert-white,html[data-netbox-color-mode=dark] .alert-white,html[data-netbox-color-mode=light] .alert-white{color:#666;background-color:#fff;border-color:#fff}html .alert-white .alert-link,html[data-netbox-color-mode=dark] .alert-white .alert-link,html[data-netbox-color-mode=light] .alert-white .alert-link{color:#525252}}@media print{@keyframes progress-bar-stripes{0%{background-position-x:1rem}}}@media print{html .progress,html[data-netbox-color-mode=dark] .progress,html[data-netbox-color-mode=light] .progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.375rem}}@media print{html .progress-bar,html[data-netbox-color-mode=dark] .progress-bar,html[data-netbox-color-mode=light] .progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}}@media print and (prefers-reduced-motion: reduce){html .progress-bar,html[data-netbox-color-mode=dark] .progress-bar,html[data-netbox-color-mode=light] .progress-bar{transition:none}}@media print{html .progress-bar-striped,html[data-netbox-color-mode=dark] .progress-bar-striped,html[data-netbox-color-mode=light] .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:1rem 1rem}}@media print{html .progress-bar-animated,html[data-netbox-color-mode=dark] .progress-bar-animated,html[data-netbox-color-mode=light] .progress-bar-animated{animation:1s linear infinite progress-bar-stripes}}@media print and (prefers-reduced-motion: reduce){html .progress-bar-animated,html[data-netbox-color-mode=dark] .progress-bar-animated,html[data-netbox-color-mode=light] .progress-bar-animated{animation:none}}@media print{html .list-group,html[data-netbox-color-mode=dark] .list-group,html[data-netbox-color-mode=light] .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.375rem}}@media print{html .list-group-numbered,html[data-netbox-color-mode=dark] .list-group-numbered,html[data-netbox-color-mode=light] .list-group-numbered{list-style-type:none;counter-reset:section}html .list-group-numbered>li:before,html[data-netbox-color-mode=dark] .list-group-numbered>li:before,html[data-netbox-color-mode=light] .list-group-numbered>li:before{content:counters(section,".") ". ";counter-increment:section}}@media print{html .list-group-item-action,html[data-netbox-color-mode=dark] .list-group-item-action,html[data-netbox-color-mode=light] .list-group-item-action{width:100%;color:#495057;text-align:inherit}html .list-group-item-action:hover,html .list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}html .list-group-item-action:active,html[data-netbox-color-mode=dark] .list-group-item-action:active,html[data-netbox-color-mode=light] .list-group-item-action:active{color:#212529;background-color:#e9ecef}}@media print{html .list-group-item,html[data-netbox-color-mode=dark] .list-group-item,html[data-netbox-color-mode=light] .list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#495057;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}html .list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}html .list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}html .list-group-item.disabled,html .list-group-item:disabled,html[data-netbox-color-mode=dark] .list-group-item.disabled,html[data-netbox-color-mode=dark] .list-group-item:disabled,html[data-netbox-color-mode=light] .list-group-item.disabled,html[data-netbox-color-mode=light] .list-group-item:disabled{color:#adb5bd;pointer-events:none;background-color:#fff}html .list-group-item.active,html[data-netbox-color-mode=dark] .list-group-item.active,html[data-netbox-color-mode=light] .list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}html .list-group-item+html .list-group-item,html .list-group-item+html[data-netbox-color-mode=dark] .list-group-item,html .list-group-item+html[data-netbox-color-mode=light] .list-group-item,html[data-netbox-color-mode=dark] .list-group-item+html .list-group-item,html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item,html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=light] .list-group-item,html[data-netbox-color-mode=light] .list-group-item+html .list-group-item,html[data-netbox-color-mode=light] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item,html[data-netbox-color-mode=light] .list-group-item+html[data-netbox-color-mode=light] .list-group-item{border-top-width:0}html .list-group-item+html .list-group-item.active,html .list-group-item+html[data-netbox-color-mode=dark] .list-group-item.active,html .list-group-item+html[data-netbox-color-mode=light] .list-group-item.active,html[data-netbox-color-mode=dark] .list-group-item+html .list-group-item.active,html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item.active,html[data-netbox-color-mode=dark] .list-group-item+html[data-netbox-color-mode=light] .list-group-item.active,html[data-netbox-color-mode=light] .list-group-item+html .list-group-item.active,html[data-netbox-color-mode=light] .list-group-item+html[data-netbox-color-mode=dark] .list-group-item.active,html[data-netbox-color-mode=light] .list-group-item+html[data-netbox-color-mode=light] .list-group-item.active{margin-top:-1px;border-top-width:1px}}@media print{html .list-group-horizontal,html[data-netbox-color-mode=dark] .list-group-horizontal,html[data-netbox-color-mode=light] .list-group-horizontal{flex-direction:row}html .list-group-horizontal>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item.active{margin-top:0}html .list-group-horizontal>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 576px){html .list-group-horizontal-sm,html[data-netbox-color-mode=dark] .list-group-horizontal-sm,html[data-netbox-color-mode=light] .list-group-horizontal-sm{flex-direction:row}html .list-group-horizontal-sm>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-sm>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-sm>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item.active{margin-top:0}html .list-group-horizontal-sm>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-sm>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-sm>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 768px){html .list-group-horizontal-md,html[data-netbox-color-mode=dark] .list-group-horizontal-md,html[data-netbox-color-mode=light] .list-group-horizontal-md{flex-direction:row}html .list-group-horizontal-md>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-md>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-md>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item.active{margin-top:0}html .list-group-horizontal-md>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-md>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-md>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 992px){html .list-group-horizontal-lg,html[data-netbox-color-mode=dark] .list-group-horizontal-lg,html[data-netbox-color-mode=light] .list-group-horizontal-lg{flex-direction:row}html .list-group-horizontal-lg>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-lg>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-lg>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item.active{margin-top:0}html .list-group-horizontal-lg>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-lg>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-lg>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 1200px){html .list-group-horizontal-xl,html[data-netbox-color-mode=dark] .list-group-horizontal-xl,html[data-netbox-color-mode=light] .list-group-horizontal-xl{flex-direction:row}html .list-group-horizontal-xl>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-xl>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-xl>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item.active{margin-top:0}html .list-group-horizontal-xl>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-xl>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-xl>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print and (min-width: 1400px){html .list-group-horizontal-xxl,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl,html[data-netbox-color-mode=light] .list-group-horizontal-xxl{flex-direction:row}html .list-group-horizontal-xxl>.list-group-item:first-child,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item:first-child,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.375rem;border-top-right-radius:0}html .list-group-horizontal-xxl>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.375rem;border-bottom-left-radius:0}html .list-group-horizontal-xxl>.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item.active{margin-top:0}html .list-group-horizontal-xxl>.list-group-item+.list-group-item,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item+.list-group-item,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}html .list-group-horizontal-xxl>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=dark] .list-group-horizontal-xxl>.list-group-item+.list-group-item.active,html[data-netbox-color-mode=light] .list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media print{html .list-group-flush,html[data-netbox-color-mode=dark] .list-group-flush,html[data-netbox-color-mode=light] .list-group-flush{border-radius:0}html .list-group-flush>.list-group-item,html[data-netbox-color-mode=dark] .list-group-flush>.list-group-item,html[data-netbox-color-mode=light] .list-group-flush>.list-group-item{border-width:0 0 1px}html .list-group-flush>.list-group-item:last-child,html[data-netbox-color-mode=dark] .list-group-flush>.list-group-item:last-child,html[data-netbox-color-mode=light] .list-group-flush>.list-group-item:last-child{border-bottom-width:0}}@media print{html .list-group-item-primary,html[data-netbox-color-mode=dark] .list-group-item-primary,html[data-netbox-color-mode=light] .list-group-item-primary{color:#1f496e;background-color:#d6e4f1}html .list-group-item-primary.list-group-item-action:hover,html .list-group-item-primary.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-primary.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-primary.list-group-item-action:focus{color:#1f496e;background-color:#c1cdd9}html .list-group-item-primary.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-primary.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1f496e;border-color:#1f496e}}@media print{html .list-group-item-secondary,html[data-netbox-color-mode=dark] .list-group-item-secondary,html[data-netbox-color-mode=light] .list-group-item-secondary{color:#41464b;background-color:#e2e3e5}html .list-group-item-secondary.list-group-item-action:hover,html .list-group-item-secondary.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-secondary.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}html .list-group-item-secondary.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-secondary.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}}@media print{html .list-group-item-success,html[data-netbox-color-mode=dark] .list-group-item-success,html[data-netbox-color-mode=light] .list-group-item-success{color:#0f5132;background-color:#d1e7dd}html .list-group-item-success.list-group-item-action:hover,html .list-group-item-success.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-success.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}html .list-group-item-success.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-success.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}}@media print{html .list-group-item-info,html[data-netbox-color-mode=dark] .list-group-item-info,html[data-netbox-color-mode=light] .list-group-item-info{color:#225660;background-color:#ddf7fc}html .list-group-item-info.list-group-item-action:hover,html .list-group-item-info.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-info.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-info.list-group-item-action:focus{color:#225660;background-color:#c7dee3}html .list-group-item-info.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-info.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#225660;border-color:#225660}}@media print{html .list-group-item-warning,html[data-netbox-color-mode=dark] .list-group-item-warning,html[data-netbox-color-mode=light] .list-group-item-warning{color:#664d03;background-color:#fff3cd}html .list-group-item-warning.list-group-item-action:hover,html .list-group-item-warning.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-warning.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}html .list-group-item-warning.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-warning.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}}@media print{html .list-group-item-danger,html[data-netbox-color-mode=dark] .list-group-item-danger,html[data-netbox-color-mode=light] .list-group-item-danger{color:#842029;background-color:#f8d7da}html .list-group-item-danger.list-group-item-action:hover,html .list-group-item-danger.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-danger.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}html .list-group-item-danger.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-danger.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}}@media print{html .list-group-item-light,html[data-netbox-color-mode=dark] .list-group-item-light,html[data-netbox-color-mode=light] .list-group-item-light{color:#5d5e60;background-color:#fbfbfc}html .list-group-item-light.list-group-item-action:hover,html .list-group-item-light.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-light.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-light.list-group-item-action:focus{color:#5d5e60;background-color:#e2e2e3}html .list-group-item-light.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-light.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#5d5e60;border-color:#5d5e60}}@media print{html .list-group-item-dark,html[data-netbox-color-mode=dark] .list-group-item-dark,html[data-netbox-color-mode=light] .list-group-item-dark{color:#1f2326;background-color:#d6d8d9}html .list-group-item-dark.list-group-item-action:hover,html .list-group-item-dark.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-dark.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-dark.list-group-item-action:focus{color:#1f2326;background-color:#c1c2c3}html .list-group-item-dark.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-dark.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1f2326;border-color:#1f2326}}@media print{html .list-group-item-blue,html[data-netbox-color-mode=dark] .list-group-item-blue,html[data-netbox-color-mode=light] .list-group-item-blue{color:#084298;background-color:#cfe2ff}html .list-group-item-blue.list-group-item-action:hover,html .list-group-item-blue.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-blue.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-blue.list-group-item-action:focus{color:#084298;background-color:#bacbe6}html .list-group-item-blue.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-blue.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}}@media print{html .list-group-item-indigo,html[data-netbox-color-mode=dark] .list-group-item-indigo,html[data-netbox-color-mode=light] .list-group-item-indigo{color:#3d0a91;background-color:#e0cffc}html .list-group-item-indigo.list-group-item-action:hover,html .list-group-item-indigo.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-indigo.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-indigo.list-group-item-action:focus{color:#3d0a91;background-color:#cabae3}html .list-group-item-indigo.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-indigo.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-indigo.list-group-item-action.active{color:#fff;background-color:#3d0a91;border-color:#3d0a91}}@media print{html .list-group-item-purple,html[data-netbox-color-mode=dark] .list-group-item-purple,html[data-netbox-color-mode=light] .list-group-item-purple{color:#432874;background-color:#e2d9f3}html .list-group-item-purple.list-group-item-action:hover,html .list-group-item-purple.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-purple.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-purple.list-group-item-action:focus{color:#432874;background-color:#cbc3db}html .list-group-item-purple.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-purple.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#432874;border-color:#432874}}@media print{html .list-group-item-pink,html[data-netbox-color-mode=dark] .list-group-item-pink,html[data-netbox-color-mode=light] .list-group-item-pink{color:#801f4f;background-color:#f7d6e6}html .list-group-item-pink.list-group-item-action:hover,html .list-group-item-pink.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-pink.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-pink.list-group-item-action:focus{color:#801f4f;background-color:#dec1cf}html .list-group-item-pink.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-pink.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#801f4f;border-color:#801f4f}}@media print{html .list-group-item-red,html[data-netbox-color-mode=dark] .list-group-item-red,html[data-netbox-color-mode=light] .list-group-item-red{color:#842029;background-color:#f8d7da}html .list-group-item-red.list-group-item-action:hover,html .list-group-item-red.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-red.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-red.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}html .list-group-item-red.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-red.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-red.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}}@media print{html .list-group-item-orange,html[data-netbox-color-mode=dark] .list-group-item-orange,html[data-netbox-color-mode=light] .list-group-item-orange{color:#984c0c;background-color:#ffe5d0}html .list-group-item-orange.list-group-item-action:hover,html .list-group-item-orange.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-orange.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-orange.list-group-item-action:focus{color:#984c0c;background-color:#e6cebb}html .list-group-item-orange.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-orange.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-orange.list-group-item-action.active{color:#fff;background-color:#984c0c;border-color:#984c0c}}@media print{html .list-group-item-yellow,html[data-netbox-color-mode=dark] .list-group-item-yellow,html[data-netbox-color-mode=light] .list-group-item-yellow{color:#664d03;background-color:#fff3cd}html .list-group-item-yellow.list-group-item-action:hover,html .list-group-item-yellow.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-yellow.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-yellow.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}html .list-group-item-yellow.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-yellow.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-yellow.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}}@media print{html .list-group-item-green,html[data-netbox-color-mode=dark] .list-group-item-green,html[data-netbox-color-mode=light] .list-group-item-green{color:#0f5132;background-color:#d1e7dd}html .list-group-item-green.list-group-item-action:hover,html .list-group-item-green.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-green.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-green.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}html .list-group-item-green.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-green.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-green.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}}@media print{html .list-group-item-teal,html[data-netbox-color-mode=dark] .list-group-item-teal,html[data-netbox-color-mode=light] .list-group-item-teal{color:#13795b;background-color:#d2f4ea}html .list-group-item-teal.list-group-item-action:hover,html .list-group-item-teal.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-teal.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-teal.list-group-item-action:focus{color:#13795b;background-color:#bddcd3}html .list-group-item-teal.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-teal.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-teal.list-group-item-action.active{color:#fff;background-color:#13795b;border-color:#13795b}}@media print{html .list-group-item-cyan,html[data-netbox-color-mode=dark] .list-group-item-cyan,html[data-netbox-color-mode=light] .list-group-item-cyan{color:#055160;background-color:#cff4fc}html .list-group-item-cyan.list-group-item-action:hover,html .list-group-item-cyan.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-cyan.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-cyan.list-group-item-action:focus{color:#055160;background-color:#badce3}html .list-group-item-cyan.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-cyan.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-cyan.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}}@media print{html .list-group-item-gray,html[data-netbox-color-mode=dark] .list-group-item-gray,html[data-netbox-color-mode=light] .list-group-item-gray{color:#686d71;background-color:#eff0f2}html .list-group-item-gray.list-group-item-action:hover,html .list-group-item-gray.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-gray.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-gray.list-group-item-action:focus{color:#686d71;background-color:#d7d8da}html .list-group-item-gray.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-gray.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-gray.list-group-item-action.active{color:#fff;background-color:#686d71;border-color:#686d71}}@media print{html .list-group-item-black,html[data-netbox-color-mode=dark] .list-group-item-black,html[data-netbox-color-mode=light] .list-group-item-black{color:#000;background-color:#ccc}html .list-group-item-black.list-group-item-action:hover,html .list-group-item-black.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-black.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-black.list-group-item-action:focus{color:#000;background-color:#b8b8b8}html .list-group-item-black.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-black.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-black.list-group-item-action.active{color:#fff;background-color:#000;border-color:#000}}@media print{html .list-group-item-white,html[data-netbox-color-mode=dark] .list-group-item-white,html[data-netbox-color-mode=light] .list-group-item-white{color:#666;background-color:#fff}html .list-group-item-white.list-group-item-action:hover,html .list-group-item-white.list-group-item-action:focus,html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action:hover,html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action:focus,html[data-netbox-color-mode=light] .list-group-item-white.list-group-item-action:hover,html[data-netbox-color-mode=light] .list-group-item-white.list-group-item-action:focus{color:#666;background-color:#e6e6e6}html .list-group-item-white.list-group-item-action.active,html[data-netbox-color-mode=dark] .list-group-item-white.list-group-item-action.active,html[data-netbox-color-mode=light] .list-group-item-white.list-group-item-action.active{color:#fff;background-color:#666;border-color:#666}}@media print{html .btn-close,html[data-netbox-color-mode=dark] .btn-close,html[data-netbox-color-mode=light] .btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}html .btn-close:hover,html[data-netbox-color-mode=dark] .btn-close:hover,html[data-netbox-color-mode=light] .btn-close:hover{color:#000;text-decoration:none;opacity:.75}html .btn-close:focus,html[data-netbox-color-mode=dark] .btn-close:focus,html[data-netbox-color-mode=light] .btn-close:focus{outline:0;box-shadow:0 0 0 .25rem #0d6efd40;opacity:1}html .btn-close:disabled,html .btn-close.disabled,html[data-netbox-color-mode=dark] .btn-close:disabled,html[data-netbox-color-mode=dark] .btn-close.disabled,html[data-netbox-color-mode=light] .btn-close:disabled,html[data-netbox-color-mode=light] .btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}}@media print{html .btn-close-white,html[data-netbox-color-mode=dark] .btn-close-white,html[data-netbox-color-mode=light] .btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}}@media print{html .toast,html[data-netbox-color-mode=dark] .toast,html[data-netbox-color-mode=light] .toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:#ffffffd9;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem #00000026;border-radius:.375rem}html .toast:not(.showing):not(.show),html[data-netbox-color-mode=dark] .toast:not(.showing):not(.show),html[data-netbox-color-mode=light] .toast:not(.showing):not(.show){opacity:0}html .toast.hide,html[data-netbox-color-mode=dark] .toast.hide,html[data-netbox-color-mode=light] .toast.hide{display:none}}@media print{html .toast-container,html[data-netbox-color-mode=dark] .toast-container,html[data-netbox-color-mode=light] .toast-container{width:max-content;max-width:100%;pointer-events:none}html .toast-container>:not(:last-child),html[data-netbox-color-mode=dark] .toast-container>:not(:last-child),html[data-netbox-color-mode=light] .toast-container>:not(:last-child){margin-bottom:.75rem}}@media print{html .toast-header,html[data-netbox-color-mode=dark] .toast-header,html[data-netbox-color-mode=light] .toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.375rem - 1px);border-top-right-radius:calc(.375rem - 1px)}html .toast-header .btn-close,html[data-netbox-color-mode=dark] .toast-header .btn-close,html[data-netbox-color-mode=light] .toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}}@media print{html .toast-body,html[data-netbox-color-mode=dark] .toast-body,html[data-netbox-color-mode=light] .toast-body{padding:.75rem;word-wrap:break-word}}@media print{html .modal,html[data-netbox-color-mode=dark] .modal,html[data-netbox-color-mode=light] .modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}}@media print{html .modal-dialog,html[data-netbox-color-mode=dark] .modal-dialog,html[data-netbox-color-mode=light] .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade html .modal-dialog,.modal.fade html[data-netbox-color-mode=dark] .modal-dialog,.modal.fade html[data-netbox-color-mode=light] .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}}@media print and (prefers-reduced-motion: reduce){.modal.fade html .modal-dialog,.modal.fade html[data-netbox-color-mode=dark] .modal-dialog,.modal.fade html[data-netbox-color-mode=light] .modal-dialog{transition:none}}@media print{.modal.show html .modal-dialog,.modal.show html[data-netbox-color-mode=dark] .modal-dialog,.modal.show html[data-netbox-color-mode=light] .modal-dialog{transform:none}}@media print{.modal.modal-static html .modal-dialog,.modal.modal-static html[data-netbox-color-mode=dark] .modal-dialog,.modal.modal-static html[data-netbox-color-mode=light] .modal-dialog{transform:scale(1.02)}}@media print{html .modal-dialog-scrollable,html[data-netbox-color-mode=dark] .modal-dialog-scrollable,html[data-netbox-color-mode=light] .modal-dialog-scrollable{height:calc(100% - 1rem)}html .modal-dialog-scrollable .modal-content,html[data-netbox-color-mode=dark] .modal-dialog-scrollable .modal-content,html[data-netbox-color-mode=light] .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}html .modal-dialog-scrollable .modal-body,html[data-netbox-color-mode=dark] .modal-dialog-scrollable .modal-body,html[data-netbox-color-mode=light] .modal-dialog-scrollable .modal-body{overflow-y:auto}}@media print{html .modal-dialog-centered,html[data-netbox-color-mode=dark] .modal-dialog-centered,html[data-netbox-color-mode=light] .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}}@media print{html .modal-content,html[data-netbox-color-mode=dark] .modal-content,html[data-netbox-color-mode=light] .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem;outline:0}}@media print{html .modal-backdrop,html[data-netbox-color-mode=dark] .modal-backdrop,html[data-netbox-color-mode=light] .modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}html .modal-backdrop.fade,html[data-netbox-color-mode=dark] .modal-backdrop.fade,html[data-netbox-color-mode=light] .modal-backdrop.fade{opacity:0}html .modal-backdrop.show,html[data-netbox-color-mode=dark] .modal-backdrop.show,html[data-netbox-color-mode=light] .modal-backdrop.show{opacity:.5}}@media print{html .modal-header,html[data-netbox-color-mode=dark] .modal-header,html[data-netbox-color-mode=light] .modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}html .modal-header .btn-close,html[data-netbox-color-mode=dark] .modal-header .btn-close,html[data-netbox-color-mode=light] .modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}}@media print{html .modal-title,html[data-netbox-color-mode=dark] .modal-title,html[data-netbox-color-mode=light] .modal-title{margin-bottom:0;line-height:1.5}}@media print{html .modal-body,html[data-netbox-color-mode=dark] .modal-body,html[data-netbox-color-mode=light] .modal-body{position:relative;flex:1 1 auto;padding:1rem}}@media print{html .modal-footer,html[data-netbox-color-mode=dark] .modal-footer,html[data-netbox-color-mode=light] .modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.75rem - 1px);border-bottom-left-radius:calc(.75rem - 1px)}html .modal-footer>*,html[data-netbox-color-mode=dark] .modal-footer>*,html[data-netbox-color-mode=light] .modal-footer>*{margin:.25rem}}@media print and (min-width: 576px){html .modal-dialog,html[data-netbox-color-mode=dark] .modal-dialog,html[data-netbox-color-mode=light] .modal-dialog{max-width:500px;margin:1.75rem auto}html .modal-dialog-scrollable,html[data-netbox-color-mode=dark] .modal-dialog-scrollable,html[data-netbox-color-mode=light] .modal-dialog-scrollable{height:calc(100% - 3.5rem)}html .modal-dialog-centered,html[data-netbox-color-mode=dark] .modal-dialog-centered,html[data-netbox-color-mode=light] .modal-dialog-centered{min-height:calc(100% - 3.5rem)}html .modal-sm,html[data-netbox-color-mode=dark] .modal-sm,html[data-netbox-color-mode=light] .modal-sm{max-width:300px}}@media print and (min-width: 992px){html .modal-lg,html .modal-xl,html[data-netbox-color-mode=dark] .modal-lg,html[data-netbox-color-mode=dark] .modal-xl,html[data-netbox-color-mode=light] .modal-lg,html[data-netbox-color-mode=light] .modal-xl{max-width:800px}}@media print and (min-width: 1200px){html .modal-xl,html[data-netbox-color-mode=dark] .modal-xl,html[data-netbox-color-mode=light] .modal-xl{max-width:1140px}}@media print{html .modal-fullscreen,html[data-netbox-color-mode=dark] .modal-fullscreen,html[data-netbox-color-mode=light] .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen .modal-header{border-radius:0}html .modal-fullscreen .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen .modal-body{overflow-y:auto}html .modal-fullscreen .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen .modal-footer{border-radius:0}}@media print and (max-width: 575.98px){html .modal-fullscreen-sm-down,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-sm-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-sm-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down .modal-header{border-radius:0}html .modal-fullscreen-sm-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down .modal-body{overflow-y:auto}html .modal-fullscreen-sm-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-sm-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media print and (max-width: 767.98px){html .modal-fullscreen-md-down,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down,html[data-netbox-color-mode=light] .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-md-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-md-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-md-down .modal-header{border-radius:0}html .modal-fullscreen-md-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-md-down .modal-body{overflow-y:auto}html .modal-fullscreen-md-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-md-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-md-down .modal-footer{border-radius:0}}@media print and (max-width: 991.98px){html .modal-fullscreen-lg-down,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-lg-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-lg-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down .modal-header{border-radius:0}html .modal-fullscreen-lg-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down .modal-body{overflow-y:auto}html .modal-fullscreen-lg-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-lg-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media print and (max-width: 1199.98px){html .modal-fullscreen-xl-down,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-xl-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-xl-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down .modal-header{border-radius:0}html .modal-fullscreen-xl-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down .modal-body{overflow-y:auto}html .modal-fullscreen-xl-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-xl-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media print and (max-width: 1399.98px){html .modal-fullscreen-xxl-down,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}html .modal-fullscreen-xxl-down .modal-content,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-content,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}html .modal-fullscreen-xxl-down .modal-header,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-header,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down .modal-header{border-radius:0}html .modal-fullscreen-xxl-down .modal-body,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-body,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}html .modal-fullscreen-xxl-down .modal-footer,html[data-netbox-color-mode=dark] .modal-fullscreen-xxl-down .modal-footer,html[data-netbox-color-mode=light] .modal-fullscreen-xxl-down .modal-footer{border-radius:0}}@media print{html .tooltip,html[data-netbox-color-mode=dark] .tooltip,html[data-netbox-color-mode=light] .tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}html .tooltip.show,html[data-netbox-color-mode=dark] .tooltip.show,html[data-netbox-color-mode=light] .tooltip.show{opacity:.9}html .tooltip .tooltip-arrow,html[data-netbox-color-mode=dark] .tooltip .tooltip-arrow,html[data-netbox-color-mode=light] .tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}html .tooltip .tooltip-arrow:before,html[data-netbox-color-mode=dark] .tooltip .tooltip-arrow:before,html[data-netbox-color-mode=light] .tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}}@media print{html .bs-tooltip-top,html .bs-tooltip-auto[data-popper-placement^=top],html[data-netbox-color-mode=dark] .bs-tooltip-top,html[data-netbox-color-mode=light] .bs-tooltip-top{padding:.4rem 0}html .bs-tooltip-top .tooltip-arrow,html .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-top .tooltip-arrow,html[data-netbox-color-mode=light] .bs-tooltip-top .tooltip-arrow{bottom:0}html .bs-tooltip-top .tooltip-arrow:before,html .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-top .tooltip-arrow:before,html[data-netbox-color-mode=light] .bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}}@media print{html .bs-tooltip-end,html .bs-tooltip-auto[data-popper-placement^=right],html[data-netbox-color-mode=dark] .bs-tooltip-end,html[data-netbox-color-mode=light] .bs-tooltip-end{padding:0 .4rem}html .bs-tooltip-end .tooltip-arrow,html .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-end .tooltip-arrow,html[data-netbox-color-mode=light] .bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}html .bs-tooltip-end .tooltip-arrow:before,html .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-end .tooltip-arrow:before,html[data-netbox-color-mode=light] .bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}}@media print{html .bs-tooltip-bottom,html .bs-tooltip-auto[data-popper-placement^=bottom],html[data-netbox-color-mode=dark] .bs-tooltip-bottom,html[data-netbox-color-mode=light] .bs-tooltip-bottom{padding:.4rem 0}html .bs-tooltip-bottom .tooltip-arrow,html .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-bottom .tooltip-arrow,html[data-netbox-color-mode=light] .bs-tooltip-bottom .tooltip-arrow{top:0}html .bs-tooltip-bottom .tooltip-arrow:before,html .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-bottom .tooltip-arrow:before,html[data-netbox-color-mode=light] .bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}}@media print{html .bs-tooltip-start,html .bs-tooltip-auto[data-popper-placement^=left],html[data-netbox-color-mode=dark] .bs-tooltip-start,html[data-netbox-color-mode=light] .bs-tooltip-start{padding:0 .4rem}html .bs-tooltip-start .tooltip-arrow,html .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,html[data-netbox-color-mode=dark] .bs-tooltip-start .tooltip-arrow,html[data-netbox-color-mode=light] .bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}html .bs-tooltip-start .tooltip-arrow:before,html .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,html[data-netbox-color-mode=dark] .bs-tooltip-start .tooltip-arrow:before,html[data-netbox-color-mode=light] .bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}}@media print{html .tooltip-inner,html[data-netbox-color-mode=dark] .tooltip-inner,html[data-netbox-color-mode=light] .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.375rem}}@media print{html .popover,html[data-netbox-color-mode=dark] .popover,html[data-netbox-color-mode=light] .popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem}html .popover .popover-arrow,html[data-netbox-color-mode=dark] .popover .popover-arrow,html[data-netbox-color-mode=light] .popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}html .popover .popover-arrow:before,html .popover .popover-arrow:after,html[data-netbox-color-mode=dark] .popover .popover-arrow:before,html[data-netbox-color-mode=dark] .popover .popover-arrow:after,html[data-netbox-color-mode=light] .popover .popover-arrow:before,html[data-netbox-color-mode=light] .popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}}@media print{html .bs-popover-top>.popover-arrow,html .bs-popover-auto[data-popper-placement^=top]>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow,html[data-netbox-color-mode=light] .bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}html .bs-popover-top>.popover-arrow:before,html .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow:before,html[data-netbox-color-mode=light] .bs-popover-top>.popover-arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#00000040}html .bs-popover-top>.popover-arrow:after,html .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-top>.popover-arrow:after,html[data-netbox-color-mode=light] .bs-popover-top>.popover-arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}}@media print{html .bs-popover-end>.popover-arrow,html .bs-popover-auto[data-popper-placement^=right]>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow,html[data-netbox-color-mode=light] .bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}html .bs-popover-end>.popover-arrow:before,html .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow:before,html[data-netbox-color-mode=light] .bs-popover-end>.popover-arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#00000040}html .bs-popover-end>.popover-arrow:after,html .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-end>.popover-arrow:after,html[data-netbox-color-mode=light] .bs-popover-end>.popover-arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}}@media print{html .bs-popover-bottom>.popover-arrow,html .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow,html[data-netbox-color-mode=light] .bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}html .bs-popover-bottom>.popover-arrow:before,html .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow:before,html[data-netbox-color-mode=light] .bs-popover-bottom>.popover-arrow:before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:#00000040}html .bs-popover-bottom>.popover-arrow:after,html .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-bottom>.popover-arrow:after,html[data-netbox-color-mode=light] .bs-popover-bottom>.popover-arrow:after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}html .bs-popover-bottom .popover-header:before,html .bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,html[data-netbox-color-mode=dark] .bs-popover-bottom .popover-header:before,html[data-netbox-color-mode=light] .bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}}@media print{html .bs-popover-start>.popover-arrow,html .bs-popover-auto[data-popper-placement^=left]>.popover-arrow,html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow,html[data-netbox-color-mode=light] .bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}html .bs-popover-start>.popover-arrow:before,html .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow:before,html[data-netbox-color-mode=light] .bs-popover-start>.popover-arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#00000040}html .bs-popover-start>.popover-arrow:after,html .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,html[data-netbox-color-mode=dark] .bs-popover-start>.popover-arrow:after,html[data-netbox-color-mode=light] .bs-popover-start>.popover-arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}}@media print{html .popover-header,html[data-netbox-color-mode=dark] .popover-header,html[data-netbox-color-mode=light] .popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}html .popover-header:empty,html[data-netbox-color-mode=dark] .popover-header:empty,html[data-netbox-color-mode=light] .popover-header:empty{display:none}}@media print{html .popover-body,html[data-netbox-color-mode=dark] .popover-body,html[data-netbox-color-mode=light] .popover-body{padding:1rem;color:#212529}}@media print{html .carousel,html[data-netbox-color-mode=dark] .carousel,html[data-netbox-color-mode=light] .carousel{position:relative}}@media print{html .carousel.pointer-event,html[data-netbox-color-mode=dark] .carousel.pointer-event,html[data-netbox-color-mode=light] .carousel.pointer-event{touch-action:pan-y}}@media print{html .carousel-inner,html[data-netbox-color-mode=dark] .carousel-inner,html[data-netbox-color-mode=light] .carousel-inner{position:relative;width:100%;overflow:hidden}html .carousel-inner:after,html[data-netbox-color-mode=dark] .carousel-inner:after,html[data-netbox-color-mode=light] .carousel-inner:after{display:block;clear:both;content:""}}@media print{html .carousel-item,html[data-netbox-color-mode=dark] .carousel-item,html[data-netbox-color-mode=light] .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .carousel-item,html[data-netbox-color-mode=dark] .carousel-item,html[data-netbox-color-mode=light] .carousel-item{transition:none}}@media print{html .carousel-item.active,html .carousel-item-next,html .carousel-item-prev,html[data-netbox-color-mode=dark] .carousel-item.active,html[data-netbox-color-mode=dark] .carousel-item-next,html[data-netbox-color-mode=dark] .carousel-item-prev,html[data-netbox-color-mode=light] .carousel-item.active,html[data-netbox-color-mode=light] .carousel-item-next,html[data-netbox-color-mode=light] .carousel-item-prev{display:block}}@media print{html .carousel-item-next:not(.carousel-item-start),html .active.carousel-item-end,html[data-netbox-color-mode=dark] .carousel-item-next:not(.carousel-item-start),html[data-netbox-color-mode=dark] .active.carousel-item-end,html[data-netbox-color-mode=light] .carousel-item-next:not(.carousel-item-start),html[data-netbox-color-mode=light] .active.carousel-item-end{transform:translate(100%)}}@media print{html .carousel-item-prev:not(.carousel-item-end),html .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-item-prev:not(.carousel-item-end),html[data-netbox-color-mode=dark] .active.carousel-item-start,html[data-netbox-color-mode=light] .carousel-item-prev:not(.carousel-item-end),html[data-netbox-color-mode=light] .active.carousel-item-start{transform:translate(-100%)}}@media print{html .carousel-fade .carousel-item,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item,html[data-netbox-color-mode=light] .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}html .carousel-fade .carousel-item.active,html .carousel-fade .carousel-item-next.carousel-item-start,html .carousel-fade .carousel-item-prev.carousel-item-end,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item.active,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item-next.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .carousel-item-prev.carousel-item-end,html[data-netbox-color-mode=light] .carousel-fade .carousel-item.active,html[data-netbox-color-mode=light] .carousel-fade .carousel-item-next.carousel-item-start,html[data-netbox-color-mode=light] .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}html .carousel-fade .active.carousel-item-start,html .carousel-fade .active.carousel-item-end,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-end,html[data-netbox-color-mode=light] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=light] .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}}@media print and (prefers-reduced-motion: reduce){html .carousel-fade .active.carousel-item-start,html .carousel-fade .active.carousel-item-end,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=dark] .carousel-fade .active.carousel-item-end,html[data-netbox-color-mode=light] .carousel-fade .active.carousel-item-start,html[data-netbox-color-mode=light] .carousel-fade .active.carousel-item-end{transition:none}}@media print{html .carousel-control-prev,html .carousel-control-next,html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=dark] .carousel-control-next,html[data-netbox-color-mode=light] .carousel-control-prev,html[data-netbox-color-mode=light] .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;border:0;opacity:.5;transition:opacity .15s ease}}@media print and (prefers-reduced-motion: reduce){html .carousel-control-prev,html .carousel-control-next,html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=dark] .carousel-control-next,html[data-netbox-color-mode=light] .carousel-control-prev,html[data-netbox-color-mode=light] .carousel-control-next{transition:none}}@media print{html .carousel-control-prev:hover,html .carousel-control-prev:focus,html .carousel-control-next:hover,html .carousel-control-next:focus,html[data-netbox-color-mode=dark] .carousel-control-prev:hover,html[data-netbox-color-mode=dark] .carousel-control-prev:focus,html[data-netbox-color-mode=dark] .carousel-control-next:hover,html[data-netbox-color-mode=dark] .carousel-control-next:focus,html[data-netbox-color-mode=light] .carousel-control-prev:hover,html[data-netbox-color-mode=light] .carousel-control-prev:focus,html[data-netbox-color-mode=light] .carousel-control-next:hover,html[data-netbox-color-mode=light] .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}}@media print{html .carousel-control-prev,html[data-netbox-color-mode=dark] .carousel-control-prev,html[data-netbox-color-mode=light] .carousel-control-prev{left:0}}@media print{html .carousel-control-next,html[data-netbox-color-mode=dark] .carousel-control-next,html[data-netbox-color-mode=light] .carousel-control-next{right:0}}@media print{html .carousel-control-prev-icon,html .carousel-control-next-icon,html[data-netbox-color-mode=dark] .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-control-next-icon,html[data-netbox-color-mode=light] .carousel-control-prev-icon,html[data-netbox-color-mode=light] .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}}@media print{html .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-control-prev-icon,html[data-netbox-color-mode=light] .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}}@media print{html .carousel-control-next-icon,html[data-netbox-color-mode=dark] .carousel-control-next-icon,html[data-netbox-color-mode=light] .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}}@media print{html .carousel-indicators,html[data-netbox-color-mode=dark] .carousel-indicators,html[data-netbox-color-mode=light] .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%;list-style:none}html .carousel-indicators [data-bs-target],html[data-netbox-color-mode=dark] .carousel-indicators [data-bs-target],html[data-netbox-color-mode=light] .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}}@media print and (prefers-reduced-motion: reduce){html .carousel-indicators [data-bs-target],html[data-netbox-color-mode=dark] .carousel-indicators [data-bs-target],html[data-netbox-color-mode=light] .carousel-indicators [data-bs-target]{transition:none}}@media print{html .carousel-indicators .active,html[data-netbox-color-mode=dark] .carousel-indicators .active,html[data-netbox-color-mode=light] .carousel-indicators .active{opacity:1}}@media print{html .carousel-caption,html[data-netbox-color-mode=dark] .carousel-caption,html[data-netbox-color-mode=light] .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}}@media print{html .carousel-dark .carousel-control-prev-icon,html .carousel-dark .carousel-control-next-icon,html[data-netbox-color-mode=dark] .carousel-dark .carousel-control-prev-icon,html[data-netbox-color-mode=dark] .carousel-dark .carousel-control-next-icon,html[data-netbox-color-mode=light] .carousel-dark .carousel-control-prev-icon,html[data-netbox-color-mode=light] .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}html .carousel-dark .carousel-indicators [data-bs-target],html[data-netbox-color-mode=dark] .carousel-dark .carousel-indicators [data-bs-target],html[data-netbox-color-mode=light] .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}html .carousel-dark .carousel-caption,html[data-netbox-color-mode=dark] .carousel-dark .carousel-caption,html[data-netbox-color-mode=light] .carousel-dark .carousel-caption{color:#000}}@media print{@keyframes spinner-border{to{transform:rotate(360deg)}}}@media print{html .spinner-border,html[data-netbox-color-mode=dark] .spinner-border,html[data-netbox-color-mode=light] .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}}@media print{html .spinner-border-sm,html[data-netbox-color-mode=dark] .spinner-border-sm,html[data-netbox-color-mode=light] .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}}@media print{@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}}@media print{html .spinner-grow,html[data-netbox-color-mode=dark] .spinner-grow,html[data-netbox-color-mode=light] .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}}@media print{html .spinner-grow-sm,html[data-netbox-color-mode=dark] .spinner-grow-sm,html[data-netbox-color-mode=light] .spinner-grow-sm{width:1rem;height:1rem}}@media print and (prefers-reduced-motion: reduce){html .spinner-border,html .spinner-grow,html[data-netbox-color-mode=dark] .spinner-border,html[data-netbox-color-mode=dark] .spinner-grow,html[data-netbox-color-mode=light] .spinner-border,html[data-netbox-color-mode=light] .spinner-grow{animation-duration:1.5s}}@media print{html .clearfix:after,html[data-netbox-color-mode=dark] .clearfix:after,html[data-netbox-color-mode=light] .clearfix:after{display:block;clear:both;content:""}}@media print{html .link-primary,html[data-netbox-color-mode=dark] .link-primary,html[data-netbox-color-mode=light] .link-primary{color:#337ab7}html .link-primary:hover,html .link-primary:focus,html[data-netbox-color-mode=dark] .link-primary:hover,html[data-netbox-color-mode=dark] .link-primary:focus,html[data-netbox-color-mode=light] .link-primary:hover,html[data-netbox-color-mode=light] .link-primary:focus{color:#296292}}@media print{html .link-secondary,html[data-netbox-color-mode=dark] .link-secondary,html[data-netbox-color-mode=light] .link-secondary{color:#6c757d}html .link-secondary:hover,html .link-secondary:focus,html[data-netbox-color-mode=dark] .link-secondary:hover,html[data-netbox-color-mode=dark] .link-secondary:focus,html[data-netbox-color-mode=light] .link-secondary:hover,html[data-netbox-color-mode=light] .link-secondary:focus{color:#565e64}}@media print{html .link-success,html[data-netbox-color-mode=dark] .link-success,html[data-netbox-color-mode=light] .link-success{color:#198754}html .link-success:hover,html .link-success:focus,html[data-netbox-color-mode=dark] .link-success:hover,html[data-netbox-color-mode=dark] .link-success:focus,html[data-netbox-color-mode=light] .link-success:hover,html[data-netbox-color-mode=light] .link-success:focus{color:#146c43}}@media print{html .link-info,html[data-netbox-color-mode=dark] .link-info,html[data-netbox-color-mode=light] .link-info{color:#54d6f0}html .link-info:hover,html .link-info:focus,html[data-netbox-color-mode=dark] .link-info:hover,html[data-netbox-color-mode=dark] .link-info:focus,html[data-netbox-color-mode=light] .link-info:hover,html[data-netbox-color-mode=light] .link-info:focus{color:#76def3}}@media print{html .link-warning,html[data-netbox-color-mode=dark] .link-warning,html[data-netbox-color-mode=light] .link-warning{color:#ffc107}html .link-warning:hover,html .link-warning:focus,html[data-netbox-color-mode=dark] .link-warning:hover,html[data-netbox-color-mode=dark] .link-warning:focus,html[data-netbox-color-mode=light] .link-warning:hover,html[data-netbox-color-mode=light] .link-warning:focus{color:#ffcd39}}@media print{html .link-danger,html[data-netbox-color-mode=dark] .link-danger,html[data-netbox-color-mode=light] .link-danger{color:#dc3545}html .link-danger:hover,html .link-danger:focus,html[data-netbox-color-mode=dark] .link-danger:hover,html[data-netbox-color-mode=dark] .link-danger:focus,html[data-netbox-color-mode=light] .link-danger:hover,html[data-netbox-color-mode=light] .link-danger:focus{color:#b02a37}}@media print{html .link-light,html[data-netbox-color-mode=dark] .link-light,html[data-netbox-color-mode=light] .link-light{color:#e9ecef}html .link-light:hover,html .link-light:focus,html[data-netbox-color-mode=dark] .link-light:hover,html[data-netbox-color-mode=dark] .link-light:focus,html[data-netbox-color-mode=light] .link-light:hover,html[data-netbox-color-mode=light] .link-light:focus{color:#edf0f2}}@media print{html .link-dark,html[data-netbox-color-mode=dark] .link-dark,html[data-netbox-color-mode=light] .link-dark{color:#343a40}html .link-dark:hover,html .link-dark:focus,html[data-netbox-color-mode=dark] .link-dark:hover,html[data-netbox-color-mode=dark] .link-dark:focus,html[data-netbox-color-mode=light] .link-dark:hover,html[data-netbox-color-mode=light] .link-dark:focus{color:#2a2e33}}@media print{html .link-blue,html[data-netbox-color-mode=dark] .link-blue,html[data-netbox-color-mode=light] .link-blue{color:#0d6efd}html .link-blue:hover,html .link-blue:focus,html[data-netbox-color-mode=dark] .link-blue:hover,html[data-netbox-color-mode=dark] .link-blue:focus,html[data-netbox-color-mode=light] .link-blue:hover,html[data-netbox-color-mode=light] .link-blue:focus{color:#0a58ca}}@media print{html .link-indigo,html[data-netbox-color-mode=dark] .link-indigo,html[data-netbox-color-mode=light] .link-indigo{color:#6610f2}html .link-indigo:hover,html .link-indigo:focus,html[data-netbox-color-mode=dark] .link-indigo:hover,html[data-netbox-color-mode=dark] .link-indigo:focus,html[data-netbox-color-mode=light] .link-indigo:hover,html[data-netbox-color-mode=light] .link-indigo:focus{color:#520dc2}}@media print{html .link-purple,html[data-netbox-color-mode=dark] .link-purple,html[data-netbox-color-mode=light] .link-purple{color:#6f42c1}html .link-purple:hover,html .link-purple:focus,html[data-netbox-color-mode=dark] .link-purple:hover,html[data-netbox-color-mode=dark] .link-purple:focus,html[data-netbox-color-mode=light] .link-purple:hover,html[data-netbox-color-mode=light] .link-purple:focus{color:#59359a}}@media print{html .link-pink,html[data-netbox-color-mode=dark] .link-pink,html[data-netbox-color-mode=light] .link-pink{color:#d63384}html .link-pink:hover,html .link-pink:focus,html[data-netbox-color-mode=dark] .link-pink:hover,html[data-netbox-color-mode=dark] .link-pink:focus,html[data-netbox-color-mode=light] .link-pink:hover,html[data-netbox-color-mode=light] .link-pink:focus{color:#ab296a}}@media print{html .link-red,html[data-netbox-color-mode=dark] .link-red,html[data-netbox-color-mode=light] .link-red{color:#dc3545}html .link-red:hover,html .link-red:focus,html[data-netbox-color-mode=dark] .link-red:hover,html[data-netbox-color-mode=dark] .link-red:focus,html[data-netbox-color-mode=light] .link-red:hover,html[data-netbox-color-mode=light] .link-red:focus{color:#b02a37}}@media print{html .link-orange,html[data-netbox-color-mode=dark] .link-orange,html[data-netbox-color-mode=light] .link-orange{color:#fd7e14}html .link-orange:hover,html .link-orange:focus,html[data-netbox-color-mode=dark] .link-orange:hover,html[data-netbox-color-mode=dark] .link-orange:focus,html[data-netbox-color-mode=light] .link-orange:hover,html[data-netbox-color-mode=light] .link-orange:focus{color:#fd9843}}@media print{html .link-yellow,html[data-netbox-color-mode=dark] .link-yellow,html[data-netbox-color-mode=light] .link-yellow{color:#ffc107}html .link-yellow:hover,html .link-yellow:focus,html[data-netbox-color-mode=dark] .link-yellow:hover,html[data-netbox-color-mode=dark] .link-yellow:focus,html[data-netbox-color-mode=light] .link-yellow:hover,html[data-netbox-color-mode=light] .link-yellow:focus{color:#ffcd39}}@media print{html .link-green,html[data-netbox-color-mode=dark] .link-green,html[data-netbox-color-mode=light] .link-green{color:#198754}html .link-green:hover,html .link-green:focus,html[data-netbox-color-mode=dark] .link-green:hover,html[data-netbox-color-mode=dark] .link-green:focus,html[data-netbox-color-mode=light] .link-green:hover,html[data-netbox-color-mode=light] .link-green:focus{color:#146c43}}@media print{html .link-teal,html[data-netbox-color-mode=dark] .link-teal,html[data-netbox-color-mode=light] .link-teal{color:#20c997}html .link-teal:hover,html .link-teal:focus,html[data-netbox-color-mode=dark] .link-teal:hover,html[data-netbox-color-mode=dark] .link-teal:focus,html[data-netbox-color-mode=light] .link-teal:hover,html[data-netbox-color-mode=light] .link-teal:focus{color:#4dd4ac}}@media print{html .link-cyan,html[data-netbox-color-mode=dark] .link-cyan,html[data-netbox-color-mode=light] .link-cyan{color:#0dcaf0}html .link-cyan:hover,html .link-cyan:focus,html[data-netbox-color-mode=dark] .link-cyan:hover,html[data-netbox-color-mode=dark] .link-cyan:focus,html[data-netbox-color-mode=light] .link-cyan:hover,html[data-netbox-color-mode=light] .link-cyan:focus{color:#3dd5f3}}@media print{html .link-gray,html[data-netbox-color-mode=dark] .link-gray,html[data-netbox-color-mode=light] .link-gray{color:#adb5bd}html .link-gray:hover,html .link-gray:focus,html[data-netbox-color-mode=dark] .link-gray:hover,html[data-netbox-color-mode=dark] .link-gray:focus,html[data-netbox-color-mode=light] .link-gray:hover,html[data-netbox-color-mode=light] .link-gray:focus{color:#bdc4ca}}@media print{html .link-black,html[data-netbox-color-mode=dark] .link-black,html[data-netbox-color-mode=light] .link-black{color:#000}html .link-black:hover,html .link-black:focus,html[data-netbox-color-mode=dark] .link-black:hover,html[data-netbox-color-mode=dark] .link-black:focus,html[data-netbox-color-mode=light] .link-black:hover,html[data-netbox-color-mode=light] .link-black:focus{color:#000}}@media print{html .link-white,html[data-netbox-color-mode=dark] .link-white,html[data-netbox-color-mode=light] .link-white{color:#fff}html .link-white:hover,html .link-white:focus,html[data-netbox-color-mode=dark] .link-white:hover,html[data-netbox-color-mode=dark] .link-white:focus,html[data-netbox-color-mode=light] .link-white:hover,html[data-netbox-color-mode=light] .link-white:focus{color:#fff}}@media print{html .ratio,html[data-netbox-color-mode=dark] .ratio,html[data-netbox-color-mode=light] .ratio{position:relative;width:100%}html .ratio:before,html[data-netbox-color-mode=dark] .ratio:before,html[data-netbox-color-mode=light] .ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}html .ratio>*,html[data-netbox-color-mode=dark] .ratio>*,html[data-netbox-color-mode=light] .ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}}@media print{html .ratio-1x1,html[data-netbox-color-mode=dark] .ratio-1x1,html[data-netbox-color-mode=light] .ratio-1x1{--bs-aspect-ratio: 100%}}@media print{html .ratio-4x3,html[data-netbox-color-mode=dark] .ratio-4x3,html[data-netbox-color-mode=light] .ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}}@media print{html .ratio-16x9,html[data-netbox-color-mode=dark] .ratio-16x9,html[data-netbox-color-mode=light] .ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}}@media print{html .ratio-21x9,html[data-netbox-color-mode=dark] .ratio-21x9,html[data-netbox-color-mode=light] .ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}}@media print{html .fixed-top,html[data-netbox-color-mode=dark] .fixed-top,html[data-netbox-color-mode=light] .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}}@media print{html .fixed-bottom,html[data-netbox-color-mode=dark] .fixed-bottom,html[data-netbox-color-mode=light] .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}}@media print{html .sticky-top,html[data-netbox-color-mode=dark] .sticky-top,html[data-netbox-color-mode=light] .sticky-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 576px){html .sticky-sm-top,html[data-netbox-color-mode=dark] .sticky-sm-top,html[data-netbox-color-mode=light] .sticky-sm-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 768px){html .sticky-md-top,html[data-netbox-color-mode=dark] .sticky-md-top,html[data-netbox-color-mode=light] .sticky-md-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 992px){html .sticky-lg-top,html[data-netbox-color-mode=dark] .sticky-lg-top,html[data-netbox-color-mode=light] .sticky-lg-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 1200px){html .sticky-xl-top,html[data-netbox-color-mode=dark] .sticky-xl-top,html[data-netbox-color-mode=light] .sticky-xl-top{position:sticky;top:0;z-index:1020}}@media print and (min-width: 1400px){html .sticky-xxl-top,html[data-netbox-color-mode=dark] .sticky-xxl-top,html[data-netbox-color-mode=light] .sticky-xxl-top{position:sticky;top:0;z-index:1020}}@media print{html .visually-hidden,html .visually-hidden-focusable:not(:focus):not(:focus-within),html[data-netbox-color-mode=dark] .visually-hidden,html[data-netbox-color-mode=dark] .visually-hidden-focusable:not(:focus):not(:focus-within),html[data-netbox-color-mode=light] .visually-hidden,html[data-netbox-color-mode=light] .visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;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}}@media print{html .stretched-link:after,html[data-netbox-color-mode=dark] .stretched-link:after,html[data-netbox-color-mode=light] .stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}}@media print{html .text-truncate,html[data-netbox-color-mode=dark] .text-truncate,html[data-netbox-color-mode=light] .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media print{html .align-baseline,html[data-netbox-color-mode=dark] .align-baseline,html[data-netbox-color-mode=light] .align-baseline{vertical-align:baseline!important}}@media print{html .align-top,html[data-netbox-color-mode=dark] .align-top,html[data-netbox-color-mode=light] .align-top{vertical-align:top!important}}@media print{html .align-middle,html[data-netbox-color-mode=dark] .align-middle,html[data-netbox-color-mode=light] .align-middle{vertical-align:middle!important}}@media print{html .align-bottom,html[data-netbox-color-mode=dark] .align-bottom,html[data-netbox-color-mode=light] .align-bottom{vertical-align:bottom!important}}@media print{html .align-text-bottom,html[data-netbox-color-mode=dark] .align-text-bottom,html[data-netbox-color-mode=light] .align-text-bottom{vertical-align:text-bottom!important}}@media print{html .align-text-top,html[data-netbox-color-mode=dark] .align-text-top,html[data-netbox-color-mode=light] .align-text-top{vertical-align:text-top!important}}@media print{html .float-start,html[data-netbox-color-mode=dark] .float-start,html[data-netbox-color-mode=light] .float-start{float:left!important}}@media print{html .float-end,html[data-netbox-color-mode=dark] .float-end,html[data-netbox-color-mode=light] .float-end{float:right!important}}@media print{html .float-none,html[data-netbox-color-mode=dark] .float-none,html[data-netbox-color-mode=light] .float-none{float:none!important}}@media print{html .overflow-auto,html[data-netbox-color-mode=dark] .overflow-auto,html[data-netbox-color-mode=light] .overflow-auto{overflow:auto!important}}@media print{html .overflow-hidden,html[data-netbox-color-mode=dark] .overflow-hidden,html[data-netbox-color-mode=light] .overflow-hidden{overflow:hidden!important}}@media print{html .overflow-visible,html[data-netbox-color-mode=dark] .overflow-visible,html[data-netbox-color-mode=light] .overflow-visible{overflow:visible!important}}@media print{html .overflow-scroll,html[data-netbox-color-mode=dark] .overflow-scroll,html[data-netbox-color-mode=light] .overflow-scroll{overflow:scroll!important}}@media print{html .d-inline,html[data-netbox-color-mode=dark] .d-inline,html[data-netbox-color-mode=light] .d-inline{display:inline!important}}@media print{html .d-inline-block,html[data-netbox-color-mode=dark] .d-inline-block,html[data-netbox-color-mode=light] .d-inline-block{display:inline-block!important}}@media print{html .d-block,html[data-netbox-color-mode=dark] .d-block,html[data-netbox-color-mode=light] .d-block{display:block!important}}@media print{html .d-grid,html[data-netbox-color-mode=dark] .d-grid,html[data-netbox-color-mode=light] .d-grid{display:grid!important}}@media print{html .d-table,html[data-netbox-color-mode=dark] .d-table,html[data-netbox-color-mode=light] .d-table{display:table!important}}@media print{html .d-table-row,html[data-netbox-color-mode=dark] .d-table-row,html[data-netbox-color-mode=light] .d-table-row{display:table-row!important}}@media print{html .d-table-cell,html[data-netbox-color-mode=dark] .d-table-cell,html[data-netbox-color-mode=light] .d-table-cell{display:table-cell!important}}@media print{html .d-flex,html[data-netbox-color-mode=dark] .d-flex,html[data-netbox-color-mode=light] .d-flex{display:flex!important}}@media print{html .d-inline-flex,html[data-netbox-color-mode=dark] .d-inline-flex,html[data-netbox-color-mode=light] .d-inline-flex{display:inline-flex!important}}@media print{html .d-none,html[data-netbox-color-mode=dark] .d-none,html[data-netbox-color-mode=light] .d-none{display:none!important}}@media print{html .shadow,html[data-netbox-color-mode=dark] .shadow,html[data-netbox-color-mode=light] .shadow{box-shadow:0 .5rem 1rem #00000026!important}}@media print{html .shadow-sm,html[data-netbox-color-mode=dark] .shadow-sm,html[data-netbox-color-mode=light] .shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}}@media print{html .shadow-lg,html[data-netbox-color-mode=dark] .shadow-lg,html[data-netbox-color-mode=light] .shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}}@media print{html .shadow-none,html[data-netbox-color-mode=dark] .shadow-none,html[data-netbox-color-mode=light] .shadow-none{box-shadow:none!important}}@media print{html .position-static,html[data-netbox-color-mode=dark] .position-static,html[data-netbox-color-mode=light] .position-static{position:static!important}}@media print{html .position-relative,html[data-netbox-color-mode=dark] .position-relative,html[data-netbox-color-mode=light] .position-relative{position:relative!important}}@media print{html .position-absolute,html[data-netbox-color-mode=dark] .position-absolute,html[data-netbox-color-mode=light] .position-absolute{position:absolute!important}}@media print{html .position-fixed,html[data-netbox-color-mode=dark] .position-fixed,html[data-netbox-color-mode=light] .position-fixed{position:fixed!important}}@media print{html .position-sticky,html[data-netbox-color-mode=dark] .position-sticky,html[data-netbox-color-mode=light] .position-sticky{position:sticky!important}}@media print{html .top-0,html[data-netbox-color-mode=dark] .top-0,html[data-netbox-color-mode=light] .top-0{top:0!important}}@media print{html .top-50,html[data-netbox-color-mode=dark] .top-50,html[data-netbox-color-mode=light] .top-50{top:50%!important}}@media print{html .top-100,html[data-netbox-color-mode=dark] .top-100,html[data-netbox-color-mode=light] .top-100{top:100%!important}}@media print{html .bottom-0,html[data-netbox-color-mode=dark] .bottom-0,html[data-netbox-color-mode=light] .bottom-0{bottom:0!important}}@media print{html .bottom-50,html[data-netbox-color-mode=dark] .bottom-50,html[data-netbox-color-mode=light] .bottom-50{bottom:50%!important}}@media print{html .bottom-100,html[data-netbox-color-mode=dark] .bottom-100,html[data-netbox-color-mode=light] .bottom-100{bottom:100%!important}}@media print{html .start-0,html[data-netbox-color-mode=dark] .start-0,html[data-netbox-color-mode=light] .start-0{left:0!important}}@media print{html .start-50,html[data-netbox-color-mode=dark] .start-50,html[data-netbox-color-mode=light] .start-50{left:50%!important}}@media print{html .start-100,html[data-netbox-color-mode=dark] .start-100,html[data-netbox-color-mode=light] .start-100{left:100%!important}}@media print{html .end-0,html[data-netbox-color-mode=dark] .end-0,html[data-netbox-color-mode=light] .end-0{right:0!important}}@media print{html .end-50,html[data-netbox-color-mode=dark] .end-50,html[data-netbox-color-mode=light] .end-50{right:50%!important}}@media print{html .end-100,html[data-netbox-color-mode=dark] .end-100,html[data-netbox-color-mode=light] .end-100{right:100%!important}}@media print{html .translate-middle,html[data-netbox-color-mode=dark] .translate-middle,html[data-netbox-color-mode=light] .translate-middle{transform:translate(-50%,-50%)!important}}@media print{html .translate-middle-x,html[data-netbox-color-mode=dark] .translate-middle-x,html[data-netbox-color-mode=light] .translate-middle-x{transform:translate(-50%)!important}}@media print{html .translate-middle-y,html[data-netbox-color-mode=dark] .translate-middle-y,html[data-netbox-color-mode=light] .translate-middle-y{transform:translateY(-50%)!important}}@media print{html .border,html[data-netbox-color-mode=dark] .border,html[data-netbox-color-mode=light] .border{border:1px solid #dee2e6!important}}@media print{html .border-0,html[data-netbox-color-mode=dark] .border-0,html[data-netbox-color-mode=light] .border-0{border:0!important}}@media print{html .border-top,html[data-netbox-color-mode=dark] .border-top,html[data-netbox-color-mode=light] .border-top{border-top:1px solid #dee2e6!important}}@media print{html .border-top-0,html[data-netbox-color-mode=dark] .border-top-0,html[data-netbox-color-mode=light] .border-top-0{border-top:0!important}}@media print{html .border-end,html[data-netbox-color-mode=dark] .border-end,html[data-netbox-color-mode=light] .border-end{border-right:1px solid #dee2e6!important}}@media print{html .border-end-0,html[data-netbox-color-mode=dark] .border-end-0,html[data-netbox-color-mode=light] .border-end-0{border-right:0!important}}@media print{html .border-bottom,html[data-netbox-color-mode=dark] .border-bottom,html[data-netbox-color-mode=light] .border-bottom{border-bottom:1px solid #dee2e6!important}}@media print{html .border-bottom-0,html[data-netbox-color-mode=dark] .border-bottom-0,html[data-netbox-color-mode=light] .border-bottom-0{border-bottom:0!important}}@media print{html .border-start,html[data-netbox-color-mode=dark] .border-start,html[data-netbox-color-mode=light] .border-start{border-left:1px solid #dee2e6!important}}@media print{html .border-start-0,html[data-netbox-color-mode=dark] .border-start-0,html[data-netbox-color-mode=light] .border-start-0{border-left:0!important}}@media print{html .border-primary,html[data-netbox-color-mode=dark] .border-primary,html[data-netbox-color-mode=light] .border-primary{border-color:#337ab7!important}}@media print{html .border-secondary,html[data-netbox-color-mode=dark] .border-secondary,html[data-netbox-color-mode=light] .border-secondary{border-color:#6c757d!important}}@media print{html .border-success,html[data-netbox-color-mode=dark] .border-success,html[data-netbox-color-mode=light] .border-success{border-color:#198754!important}}@media print{html .border-info,html[data-netbox-color-mode=dark] .border-info,html[data-netbox-color-mode=light] .border-info{border-color:#54d6f0!important}}@media print{html .border-warning,html[data-netbox-color-mode=dark] .border-warning,html[data-netbox-color-mode=light] .border-warning{border-color:#ffc107!important}}@media print{html .border-danger,html[data-netbox-color-mode=dark] .border-danger,html[data-netbox-color-mode=light] .border-danger{border-color:#dc3545!important}}@media print{html .border-light,html[data-netbox-color-mode=dark] .border-light,html[data-netbox-color-mode=light] .border-light{border-color:#e9ecef!important}}@media print{html .border-dark,html[data-netbox-color-mode=dark] .border-dark,html[data-netbox-color-mode=light] .border-dark{border-color:#343a40!important}}@media print{html .border-blue,html[data-netbox-color-mode=dark] .border-blue,html[data-netbox-color-mode=light] .border-blue{border-color:#0d6efd!important}}@media print{html .border-indigo,html[data-netbox-color-mode=dark] .border-indigo,html[data-netbox-color-mode=light] .border-indigo{border-color:#6610f2!important}}@media print{html .border-purple,html[data-netbox-color-mode=dark] .border-purple,html[data-netbox-color-mode=light] .border-purple{border-color:#6f42c1!important}}@media print{html .border-pink,html[data-netbox-color-mode=dark] .border-pink,html[data-netbox-color-mode=light] .border-pink{border-color:#d63384!important}}@media print{html .border-red,html[data-netbox-color-mode=dark] .border-red,html[data-netbox-color-mode=light] .border-red{border-color:#dc3545!important}}@media print{html .border-orange,html[data-netbox-color-mode=dark] .border-orange,html[data-netbox-color-mode=light] .border-orange{border-color:#fd7e14!important}}@media print{html .border-yellow,html[data-netbox-color-mode=dark] .border-yellow,html[data-netbox-color-mode=light] .border-yellow{border-color:#ffc107!important}}@media print{html .border-green,html[data-netbox-color-mode=dark] .border-green,html[data-netbox-color-mode=light] .border-green{border-color:#198754!important}}@media print{html .border-teal,html[data-netbox-color-mode=dark] .border-teal,html[data-netbox-color-mode=light] .border-teal{border-color:#20c997!important}}@media print{html .border-cyan,html[data-netbox-color-mode=dark] .border-cyan,html[data-netbox-color-mode=light] .border-cyan{border-color:#0dcaf0!important}}@media print{html .border-gray,html[data-netbox-color-mode=dark] .border-gray,html[data-netbox-color-mode=light] .border-gray{border-color:#adb5bd!important}}@media print{html .border-black,html[data-netbox-color-mode=dark] .border-black,html[data-netbox-color-mode=light] .border-black{border-color:#000!important}}@media print{html .border-white,html[data-netbox-color-mode=dark] .border-white,html[data-netbox-color-mode=light] .border-white{border-color:#fff!important}}@media print{html .border-1,html[data-netbox-color-mode=dark] .border-1,html[data-netbox-color-mode=light] .border-1{border-width:1px!important}}@media print{html .border-2,html[data-netbox-color-mode=dark] .border-2,html[data-netbox-color-mode=light] .border-2{border-width:2px!important}}@media print{html .border-3,html[data-netbox-color-mode=dark] .border-3,html[data-netbox-color-mode=light] .border-3{border-width:3px!important}}@media print{html .border-4,html[data-netbox-color-mode=dark] .border-4,html[data-netbox-color-mode=light] .border-4{border-width:4px!important}}@media print{html .border-5,html[data-netbox-color-mode=dark] .border-5,html[data-netbox-color-mode=light] .border-5{border-width:5px!important}}@media print{html .w-25,html[data-netbox-color-mode=dark] .w-25,html[data-netbox-color-mode=light] .w-25{width:25%!important}}@media print{html .w-50,html[data-netbox-color-mode=dark] .w-50,html[data-netbox-color-mode=light] .w-50{width:50%!important}}@media print{html .w-75,html[data-netbox-color-mode=dark] .w-75,html[data-netbox-color-mode=light] .w-75{width:75%!important}}@media print{html .w-100,html[data-netbox-color-mode=dark] .w-100,html[data-netbox-color-mode=light] .w-100{width:100%!important}}@media print{html .w-auto,html[data-netbox-color-mode=dark] .w-auto,html[data-netbox-color-mode=light] .w-auto{width:auto!important}}@media print{html .mw-100,html[data-netbox-color-mode=dark] .mw-100,html[data-netbox-color-mode=light] .mw-100{max-width:100%!important}}@media print{html .vw-100,html[data-netbox-color-mode=dark] .vw-100,html[data-netbox-color-mode=light] .vw-100{width:100vw!important}}@media print{html .min-vw-100,html[data-netbox-color-mode=dark] .min-vw-100,html[data-netbox-color-mode=light] .min-vw-100{min-width:100vw!important}}@media print{html .h-25,html[data-netbox-color-mode=dark] .h-25,html[data-netbox-color-mode=light] .h-25{height:25%!important}}@media print{html .h-50,html[data-netbox-color-mode=dark] .h-50,html[data-netbox-color-mode=light] .h-50{height:50%!important}}@media print{html .h-75,html[data-netbox-color-mode=dark] .h-75,html[data-netbox-color-mode=light] .h-75{height:75%!important}}@media print{html .h-100,html[data-netbox-color-mode=dark] .h-100,html[data-netbox-color-mode=light] .h-100{height:100%!important}}@media print{html .h-auto,html[data-netbox-color-mode=dark] .h-auto,html[data-netbox-color-mode=light] .h-auto{height:auto!important}}@media print{html .mh-100,html[data-netbox-color-mode=dark] .mh-100,html[data-netbox-color-mode=light] .mh-100{max-height:100%!important}}@media print{html .vh-100,html[data-netbox-color-mode=dark] .vh-100,html[data-netbox-color-mode=light] .vh-100{height:100vh!important}}@media print{html .min-vh-100,html[data-netbox-color-mode=dark] .min-vh-100,html[data-netbox-color-mode=light] .min-vh-100{min-height:100vh!important}}@media print{html .flex-fill,html[data-netbox-color-mode=dark] .flex-fill,html[data-netbox-color-mode=light] .flex-fill{flex:1 1 auto!important}}@media print{html .flex-row,html[data-netbox-color-mode=dark] .flex-row,html[data-netbox-color-mode=light] .flex-row{flex-direction:row!important}}@media print{html .flex-column,html[data-netbox-color-mode=dark] .flex-column,html[data-netbox-color-mode=light] .flex-column{flex-direction:column!important}}@media print{html .flex-row-reverse,html[data-netbox-color-mode=dark] .flex-row-reverse,html[data-netbox-color-mode=light] .flex-row-reverse{flex-direction:row-reverse!important}}@media print{html .flex-column-reverse,html[data-netbox-color-mode=dark] .flex-column-reverse,html[data-netbox-color-mode=light] .flex-column-reverse{flex-direction:column-reverse!important}}@media print{html .flex-grow-0,html[data-netbox-color-mode=dark] .flex-grow-0,html[data-netbox-color-mode=light] .flex-grow-0{flex-grow:0!important}}@media print{html .flex-grow-1,html[data-netbox-color-mode=dark] .flex-grow-1,html[data-netbox-color-mode=light] .flex-grow-1{flex-grow:1!important}}@media print{html .flex-shrink-0,html[data-netbox-color-mode=dark] .flex-shrink-0,html[data-netbox-color-mode=light] .flex-shrink-0{flex-shrink:0!important}}@media print{html .flex-shrink-1,html[data-netbox-color-mode=dark] .flex-shrink-1,html[data-netbox-color-mode=light] .flex-shrink-1{flex-shrink:1!important}}@media print{html .flex-wrap,html[data-netbox-color-mode=dark] .flex-wrap,html[data-netbox-color-mode=light] .flex-wrap{flex-wrap:wrap!important}}@media print{html .flex-nowrap,html[data-netbox-color-mode=dark] .flex-nowrap,html[data-netbox-color-mode=light] .flex-nowrap{flex-wrap:nowrap!important}}@media print{html .flex-wrap-reverse,html[data-netbox-color-mode=dark] .flex-wrap-reverse,html[data-netbox-color-mode=light] .flex-wrap-reverse{flex-wrap:wrap-reverse!important}}@media print{html .gap-0,html[data-netbox-color-mode=dark] .gap-0,html[data-netbox-color-mode=light] .gap-0{gap:0!important}}@media print{html .gap-1,html[data-netbox-color-mode=dark] .gap-1,html[data-netbox-color-mode=light] .gap-1{gap:.25rem!important}}@media print{html .gap-2,html[data-netbox-color-mode=dark] .gap-2,html[data-netbox-color-mode=light] .gap-2{gap:.5rem!important}}@media print{html .gap-3,html[data-netbox-color-mode=dark] .gap-3,html[data-netbox-color-mode=light] .gap-3{gap:1rem!important}}@media print{html .gap-4,html[data-netbox-color-mode=dark] .gap-4,html[data-netbox-color-mode=light] .gap-4{gap:1.5rem!important}}@media print{html .gap-5,html[data-netbox-color-mode=dark] .gap-5,html[data-netbox-color-mode=light] .gap-5{gap:3rem!important}}@media print{html .justify-content-start,html[data-netbox-color-mode=dark] .justify-content-start,html[data-netbox-color-mode=light] .justify-content-start{justify-content:flex-start!important}}@media print{html .justify-content-end,html[data-netbox-color-mode=dark] .justify-content-end,html[data-netbox-color-mode=light] .justify-content-end{justify-content:flex-end!important}}@media print{html .justify-content-center,html[data-netbox-color-mode=dark] .justify-content-center,html[data-netbox-color-mode=light] .justify-content-center{justify-content:center!important}}@media print{html .justify-content-between,html[data-netbox-color-mode=dark] .justify-content-between,html[data-netbox-color-mode=light] .justify-content-between{justify-content:space-between!important}}@media print{html .justify-content-around,html[data-netbox-color-mode=dark] .justify-content-around,html[data-netbox-color-mode=light] .justify-content-around{justify-content:space-around!important}}@media print{html .justify-content-evenly,html[data-netbox-color-mode=dark] .justify-content-evenly,html[data-netbox-color-mode=light] .justify-content-evenly{justify-content:space-evenly!important}}@media print{html .align-items-start,html[data-netbox-color-mode=dark] .align-items-start,html[data-netbox-color-mode=light] .align-items-start{align-items:flex-start!important}}@media print{html .align-items-end,html[data-netbox-color-mode=dark] .align-items-end,html[data-netbox-color-mode=light] .align-items-end{align-items:flex-end!important}}@media print{html .align-items-center,html[data-netbox-color-mode=dark] .align-items-center,html[data-netbox-color-mode=light] .align-items-center{align-items:center!important}}@media print{html .align-items-baseline,html[data-netbox-color-mode=dark] .align-items-baseline,html[data-netbox-color-mode=light] .align-items-baseline{align-items:baseline!important}}@media print{html .align-items-stretch,html[data-netbox-color-mode=dark] .align-items-stretch,html[data-netbox-color-mode=light] .align-items-stretch{align-items:stretch!important}}@media print{html .align-content-start,html[data-netbox-color-mode=dark] .align-content-start,html[data-netbox-color-mode=light] .align-content-start{align-content:flex-start!important}}@media print{html .align-content-end,html[data-netbox-color-mode=dark] .align-content-end,html[data-netbox-color-mode=light] .align-content-end{align-content:flex-end!important}}@media print{html .align-content-center,html[data-netbox-color-mode=dark] .align-content-center,html[data-netbox-color-mode=light] .align-content-center{align-content:center!important}}@media print{html .align-content-between,html[data-netbox-color-mode=dark] .align-content-between,html[data-netbox-color-mode=light] .align-content-between{align-content:space-between!important}}@media print{html .align-content-around,html[data-netbox-color-mode=dark] .align-content-around,html[data-netbox-color-mode=light] .align-content-around{align-content:space-around!important}}@media print{html .align-content-stretch,html[data-netbox-color-mode=dark] .align-content-stretch,html[data-netbox-color-mode=light] .align-content-stretch{align-content:stretch!important}}@media print{html .align-self-auto,html[data-netbox-color-mode=dark] .align-self-auto,html[data-netbox-color-mode=light] .align-self-auto{align-self:auto!important}}@media print{html .align-self-start,html[data-netbox-color-mode=dark] .align-self-start,html[data-netbox-color-mode=light] .align-self-start{align-self:flex-start!important}}@media print{html .align-self-end,html[data-netbox-color-mode=dark] .align-self-end,html[data-netbox-color-mode=light] .align-self-end{align-self:flex-end!important}}@media print{html .align-self-center,html[data-netbox-color-mode=dark] .align-self-center,html[data-netbox-color-mode=light] .align-self-center{align-self:center!important}}@media print{html .align-self-baseline,html[data-netbox-color-mode=dark] .align-self-baseline,html[data-netbox-color-mode=light] .align-self-baseline{align-self:baseline!important}}@media print{html .align-self-stretch,html[data-netbox-color-mode=dark] .align-self-stretch,html[data-netbox-color-mode=light] .align-self-stretch{align-self:stretch!important}}@media print{html .order-first,html[data-netbox-color-mode=dark] .order-first,html[data-netbox-color-mode=light] .order-first{order:-1!important}}@media print{html .order-0,html[data-netbox-color-mode=dark] .order-0,html[data-netbox-color-mode=light] .order-0{order:0!important}}@media print{html .order-1,html[data-netbox-color-mode=dark] .order-1,html[data-netbox-color-mode=light] .order-1{order:1!important}}@media print{html .order-2,html[data-netbox-color-mode=dark] .order-2,html[data-netbox-color-mode=light] .order-2{order:2!important}}@media print{html .order-3,html[data-netbox-color-mode=dark] .order-3,html[data-netbox-color-mode=light] .order-3{order:3!important}}@media print{html .order-4,html[data-netbox-color-mode=dark] .order-4,html[data-netbox-color-mode=light] .order-4{order:4!important}}@media print{html .order-5,html[data-netbox-color-mode=dark] .order-5,html[data-netbox-color-mode=light] .order-5{order:5!important}}@media print{html .order-last,html[data-netbox-color-mode=dark] .order-last,html[data-netbox-color-mode=light] .order-last{order:6!important}}@media print{html .m-0,html[data-netbox-color-mode=dark] .m-0,html[data-netbox-color-mode=light] .m-0{margin:0!important}}@media print{html .m-1,html[data-netbox-color-mode=dark] .m-1,html[data-netbox-color-mode=light] .m-1{margin:.25rem!important}}@media print{html .m-2,html[data-netbox-color-mode=dark] .m-2,html[data-netbox-color-mode=light] .m-2{margin:.5rem!important}}@media print{html .m-3,html[data-netbox-color-mode=dark] .m-3,html[data-netbox-color-mode=light] .m-3{margin:1rem!important}}@media print{html .m-4,html[data-netbox-color-mode=dark] .m-4,html[data-netbox-color-mode=light] .m-4{margin:1.5rem!important}}@media print{html .m-5,html[data-netbox-color-mode=dark] .m-5,html[data-netbox-color-mode=light] .m-5{margin:3rem!important}}@media print{html .m-auto,html[data-netbox-color-mode=dark] .m-auto,html[data-netbox-color-mode=light] .m-auto{margin:auto!important}}@media print{html .mx-0,html[data-netbox-color-mode=dark] .mx-0,html[data-netbox-color-mode=light] .mx-0{margin-right:0!important;margin-left:0!important}}@media print{html .mx-1,html[data-netbox-color-mode=dark] .mx-1,html[data-netbox-color-mode=light] .mx-1{margin-right:.25rem!important;margin-left:.25rem!important}}@media print{html .mx-2,html[data-netbox-color-mode=dark] .mx-2,html[data-netbox-color-mode=light] .mx-2{margin-right:.5rem!important;margin-left:.5rem!important}}@media print{html .mx-3,html[data-netbox-color-mode=dark] .mx-3,html[data-netbox-color-mode=light] .mx-3{margin-right:1rem!important;margin-left:1rem!important}}@media print{html .mx-4,html[data-netbox-color-mode=dark] .mx-4,html[data-netbox-color-mode=light] .mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}}@media print{html .mx-5,html[data-netbox-color-mode=dark] .mx-5,html[data-netbox-color-mode=light] .mx-5{margin-right:3rem!important;margin-left:3rem!important}}@media print{html .mx-auto,html[data-netbox-color-mode=dark] .mx-auto,html[data-netbox-color-mode=light] .mx-auto{margin-right:auto!important;margin-left:auto!important}}@media print{html .my-0,html[data-netbox-color-mode=dark] .my-0,html[data-netbox-color-mode=light] .my-0{margin-top:0!important;margin-bottom:0!important}}@media print{html .my-1,html[data-netbox-color-mode=dark] .my-1,html[data-netbox-color-mode=light] .my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}}@media print{html .my-2,html[data-netbox-color-mode=dark] .my-2,html[data-netbox-color-mode=light] .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}}@media print{html .my-3,html[data-netbox-color-mode=dark] .my-3,html[data-netbox-color-mode=light] .my-3{margin-top:1rem!important;margin-bottom:1rem!important}}@media print{html .my-4,html[data-netbox-color-mode=dark] .my-4,html[data-netbox-color-mode=light] .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}}@media print{html .my-5,html[data-netbox-color-mode=dark] .my-5,html[data-netbox-color-mode=light] .my-5{margin-top:3rem!important;margin-bottom:3rem!important}}@media print{html .my-auto,html[data-netbox-color-mode=dark] .my-auto,html[data-netbox-color-mode=light] .my-auto{margin-top:auto!important;margin-bottom:auto!important}}@media print{html .mt-0,html[data-netbox-color-mode=dark] .mt-0,html[data-netbox-color-mode=light] .mt-0{margin-top:0!important}}@media print{html .mt-1,html[data-netbox-color-mode=dark] .mt-1,html[data-netbox-color-mode=light] .mt-1{margin-top:.25rem!important}}@media print{html .mt-2,html[data-netbox-color-mode=dark] .mt-2,html[data-netbox-color-mode=light] .mt-2{margin-top:.5rem!important}}@media print{html .mt-3,html[data-netbox-color-mode=dark] .mt-3,html[data-netbox-color-mode=light] .mt-3{margin-top:1rem!important}}@media print{html .mt-4,html[data-netbox-color-mode=dark] .mt-4,html[data-netbox-color-mode=light] .mt-4{margin-top:1.5rem!important}}@media print{html .mt-5,html[data-netbox-color-mode=dark] .mt-5,html[data-netbox-color-mode=light] .mt-5{margin-top:3rem!important}}@media print{html .mt-auto,html[data-netbox-color-mode=dark] .mt-auto,html[data-netbox-color-mode=light] .mt-auto{margin-top:auto!important}}@media print{html .me-0,html[data-netbox-color-mode=dark] .me-0,html[data-netbox-color-mode=light] .me-0{margin-right:0!important}}@media print{html .me-1,html[data-netbox-color-mode=dark] .me-1,html[data-netbox-color-mode=light] .me-1{margin-right:.25rem!important}}@media print{html .me-2,html[data-netbox-color-mode=dark] .me-2,html[data-netbox-color-mode=light] .me-2{margin-right:.5rem!important}}@media print{html .me-3,html[data-netbox-color-mode=dark] .me-3,html[data-netbox-color-mode=light] .me-3{margin-right:1rem!important}}@media print{html .me-4,html[data-netbox-color-mode=dark] .me-4,html[data-netbox-color-mode=light] .me-4{margin-right:1.5rem!important}}@media print{html .me-5,html[data-netbox-color-mode=dark] .me-5,html[data-netbox-color-mode=light] .me-5{margin-right:3rem!important}}@media print{html .me-auto,html[data-netbox-color-mode=dark] .me-auto,html[data-netbox-color-mode=light] .me-auto{margin-right:auto!important}}@media print{html .mb-0,html[data-netbox-color-mode=dark] .mb-0,html[data-netbox-color-mode=light] .mb-0{margin-bottom:0!important}}@media print{html .mb-1,html[data-netbox-color-mode=dark] .mb-1,html[data-netbox-color-mode=light] .mb-1{margin-bottom:.25rem!important}}@media print{html .mb-2,html[data-netbox-color-mode=dark] .mb-2,html[data-netbox-color-mode=light] .mb-2{margin-bottom:.5rem!important}}@media print{html .mb-3,html[data-netbox-color-mode=dark] .mb-3,html[data-netbox-color-mode=light] .mb-3{margin-bottom:1rem!important}}@media print{html .mb-4,html[data-netbox-color-mode=dark] .mb-4,html[data-netbox-color-mode=light] .mb-4{margin-bottom:1.5rem!important}}@media print{html .mb-5,html[data-netbox-color-mode=dark] .mb-5,html[data-netbox-color-mode=light] .mb-5{margin-bottom:3rem!important}}@media print{html .mb-auto,html[data-netbox-color-mode=dark] .mb-auto,html[data-netbox-color-mode=light] .mb-auto{margin-bottom:auto!important}}@media print{html .ms-0,html[data-netbox-color-mode=dark] .ms-0,html[data-netbox-color-mode=light] .ms-0{margin-left:0!important}}@media print{html .ms-1,html[data-netbox-color-mode=dark] .ms-1,html[data-netbox-color-mode=light] .ms-1{margin-left:.25rem!important}}@media print{html .ms-2,html[data-netbox-color-mode=dark] .ms-2,html[data-netbox-color-mode=light] .ms-2{margin-left:.5rem!important}}@media print{html .ms-3,html[data-netbox-color-mode=dark] .ms-3,html[data-netbox-color-mode=light] .ms-3{margin-left:1rem!important}}@media print{html .ms-4,html[data-netbox-color-mode=dark] .ms-4,html[data-netbox-color-mode=light] .ms-4{margin-left:1.5rem!important}}@media print{html .ms-5,html[data-netbox-color-mode=dark] .ms-5,html[data-netbox-color-mode=light] .ms-5{margin-left:3rem!important}}@media print{html .ms-auto,html[data-netbox-color-mode=dark] .ms-auto,html[data-netbox-color-mode=light] .ms-auto{margin-left:auto!important}}@media print{html .p-0,html[data-netbox-color-mode=dark] .p-0,html[data-netbox-color-mode=light] .p-0{padding:0!important}}@media print{html .p-1,html[data-netbox-color-mode=dark] .p-1,html[data-netbox-color-mode=light] .p-1{padding:.25rem!important}}@media print{html .p-2,html[data-netbox-color-mode=dark] .p-2,html[data-netbox-color-mode=light] .p-2{padding:.5rem!important}}@media print{html .p-3,html[data-netbox-color-mode=dark] .p-3,html[data-netbox-color-mode=light] .p-3{padding:1rem!important}}@media print{html .p-4,html[data-netbox-color-mode=dark] .p-4,html[data-netbox-color-mode=light] .p-4{padding:1.5rem!important}}@media print{html .p-5,html[data-netbox-color-mode=dark] .p-5,html[data-netbox-color-mode=light] .p-5{padding:3rem!important}}@media print{html .px-0,html[data-netbox-color-mode=dark] .px-0,html[data-netbox-color-mode=light] .px-0{padding-right:0!important;padding-left:0!important}}@media print{html .px-1,html[data-netbox-color-mode=dark] .px-1,html[data-netbox-color-mode=light] .px-1{padding-right:.25rem!important;padding-left:.25rem!important}}@media print{html .px-2,html[data-netbox-color-mode=dark] .px-2,html[data-netbox-color-mode=light] .px-2{padding-right:.5rem!important;padding-left:.5rem!important}}@media print{html .px-3,html[data-netbox-color-mode=dark] .px-3,html[data-netbox-color-mode=light] .px-3{padding-right:1rem!important;padding-left:1rem!important}}@media print{html .px-4,html[data-netbox-color-mode=dark] .px-4,html[data-netbox-color-mode=light] .px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}}@media print{html .px-5,html[data-netbox-color-mode=dark] .px-5,html[data-netbox-color-mode=light] .px-5{padding-right:3rem!important;padding-left:3rem!important}}@media print{html .py-0,html[data-netbox-color-mode=dark] .py-0,html[data-netbox-color-mode=light] .py-0{padding-top:0!important;padding-bottom:0!important}}@media print{html .py-1,html[data-netbox-color-mode=dark] .py-1,html[data-netbox-color-mode=light] .py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}}@media print{html .py-2,html[data-netbox-color-mode=dark] .py-2,html[data-netbox-color-mode=light] .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}}@media print{html .py-3,html[data-netbox-color-mode=dark] .py-3,html[data-netbox-color-mode=light] .py-3{padding-top:1rem!important;padding-bottom:1rem!important}}@media print{html .py-4,html[data-netbox-color-mode=dark] .py-4,html[data-netbox-color-mode=light] .py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}}@media print{html .py-5,html[data-netbox-color-mode=dark] .py-5,html[data-netbox-color-mode=light] .py-5{padding-top:3rem!important;padding-bottom:3rem!important}}@media print{html .pt-0,html[data-netbox-color-mode=dark] .pt-0,html[data-netbox-color-mode=light] .pt-0{padding-top:0!important}}@media print{html .pt-1,html[data-netbox-color-mode=dark] .pt-1,html[data-netbox-color-mode=light] .pt-1{padding-top:.25rem!important}}@media print{html .pt-2,html[data-netbox-color-mode=dark] .pt-2,html[data-netbox-color-mode=light] .pt-2{padding-top:.5rem!important}}@media print{html .pt-3,html[data-netbox-color-mode=dark] .pt-3,html[data-netbox-color-mode=light] .pt-3{padding-top:1rem!important}}@media print{html .pt-4,html[data-netbox-color-mode=dark] .pt-4,html[data-netbox-color-mode=light] .pt-4{padding-top:1.5rem!important}}@media print{html .pt-5,html[data-netbox-color-mode=dark] .pt-5,html[data-netbox-color-mode=light] .pt-5{padding-top:3rem!important}}@media print{html .pe-0,html[data-netbox-color-mode=dark] .pe-0,html[data-netbox-color-mode=light] .pe-0{padding-right:0!important}}@media print{html .pe-1,html[data-netbox-color-mode=dark] .pe-1,html[data-netbox-color-mode=light] .pe-1{padding-right:.25rem!important}}@media print{html .pe-2,html[data-netbox-color-mode=dark] .pe-2,html[data-netbox-color-mode=light] .pe-2{padding-right:.5rem!important}}@media print{html .pe-3,html[data-netbox-color-mode=dark] .pe-3,html[data-netbox-color-mode=light] .pe-3{padding-right:1rem!important}}@media print{html .pe-4,html[data-netbox-color-mode=dark] .pe-4,html[data-netbox-color-mode=light] .pe-4{padding-right:1.5rem!important}}@media print{html .pe-5,html[data-netbox-color-mode=dark] .pe-5,html[data-netbox-color-mode=light] .pe-5{padding-right:3rem!important}}@media print{html .pb-0,html[data-netbox-color-mode=dark] .pb-0,html[data-netbox-color-mode=light] .pb-0{padding-bottom:0!important}}@media print{html .pb-1,html[data-netbox-color-mode=dark] .pb-1,html[data-netbox-color-mode=light] .pb-1{padding-bottom:.25rem!important}}@media print{html .pb-2,html[data-netbox-color-mode=dark] .pb-2,html[data-netbox-color-mode=light] .pb-2{padding-bottom:.5rem!important}}@media print{html .pb-3,html[data-netbox-color-mode=dark] .pb-3,html[data-netbox-color-mode=light] .pb-3{padding-bottom:1rem!important}}@media print{html .pb-4,html[data-netbox-color-mode=dark] .pb-4,html[data-netbox-color-mode=light] .pb-4{padding-bottom:1.5rem!important}}@media print{html .pb-5,html[data-netbox-color-mode=dark] .pb-5,html[data-netbox-color-mode=light] .pb-5{padding-bottom:3rem!important}}@media print{html .ps-0,html[data-netbox-color-mode=dark] .ps-0,html[data-netbox-color-mode=light] .ps-0{padding-left:0!important}}@media print{html .ps-1,html[data-netbox-color-mode=dark] .ps-1,html[data-netbox-color-mode=light] .ps-1{padding-left:.25rem!important}}@media print{html .ps-2,html[data-netbox-color-mode=dark] .ps-2,html[data-netbox-color-mode=light] .ps-2{padding-left:.5rem!important}}@media print{html .ps-3,html[data-netbox-color-mode=dark] .ps-3,html[data-netbox-color-mode=light] .ps-3{padding-left:1rem!important}}@media print{html .ps-4,html[data-netbox-color-mode=dark] .ps-4,html[data-netbox-color-mode=light] .ps-4{padding-left:1.5rem!important}}@media print{html .ps-5,html[data-netbox-color-mode=dark] .ps-5,html[data-netbox-color-mode=light] .ps-5{padding-left:3rem!important}}@media print{html .font-monospace,html[data-netbox-color-mode=dark] .font-monospace,html[data-netbox-color-mode=light] .font-monospace{font-family:var(--bs-font-monospace)!important}}@media print{html .fs-1,html[data-netbox-color-mode=dark] .fs-1,html[data-netbox-color-mode=light] .fs-1{font-size:calc(1.375rem + 1.5vw)!important}}@media print{html .fs-2,html[data-netbox-color-mode=dark] .fs-2,html[data-netbox-color-mode=light] .fs-2{font-size:calc(1.325rem + .9vw)!important}}@media print{html .fs-3,html[data-netbox-color-mode=dark] .fs-3,html[data-netbox-color-mode=light] .fs-3{font-size:calc(1.3rem + .6vw)!important}}@media print{html .fs-4,html[data-netbox-color-mode=dark] .fs-4,html[data-netbox-color-mode=light] .fs-4{font-size:calc(1.275rem + .3vw)!important}}@media print{html .fs-5,html[data-netbox-color-mode=dark] .fs-5,html[data-netbox-color-mode=light] .fs-5{font-size:1.25rem!important}}@media print{html .fs-6,html[data-netbox-color-mode=dark] .fs-6,html[data-netbox-color-mode=light] .fs-6{font-size:1rem!important}}@media print{html .fst-italic,html[data-netbox-color-mode=dark] .fst-italic,html[data-netbox-color-mode=light] .fst-italic{font-style:italic!important}}@media print{html .fst-normal,html[data-netbox-color-mode=dark] .fst-normal,html[data-netbox-color-mode=light] .fst-normal{font-style:normal!important}}@media print{html .fw-light,html[data-netbox-color-mode=dark] .fw-light,html[data-netbox-color-mode=light] .fw-light{font-weight:300!important}}@media print{html .fw-lighter,html[data-netbox-color-mode=dark] .fw-lighter,html[data-netbox-color-mode=light] .fw-lighter{font-weight:200!important}}@media print{html .fw-normal,html[data-netbox-color-mode=dark] .fw-normal,html[data-netbox-color-mode=light] .fw-normal{font-weight:400!important}}@media print{html .fw-bold,html[data-netbox-color-mode=dark] .fw-bold,html[data-netbox-color-mode=light] .fw-bold{font-weight:700!important}}@media print{html .fw-bolder,html[data-netbox-color-mode=dark] .fw-bolder,html[data-netbox-color-mode=light] .fw-bolder{font-weight:800!important}}@media print{html .lh-1,html[data-netbox-color-mode=dark] .lh-1,html[data-netbox-color-mode=light] .lh-1{line-height:1!important}}@media print{html .lh-sm,html[data-netbox-color-mode=dark] .lh-sm,html[data-netbox-color-mode=light] .lh-sm{line-height:1.25!important}}@media print{html .lh-base,html[data-netbox-color-mode=dark] .lh-base,html[data-netbox-color-mode=light] .lh-base{line-height:1.5!important}}@media print{html .lh-lg,html[data-netbox-color-mode=dark] .lh-lg,html[data-netbox-color-mode=light] .lh-lg{line-height:1.75!important}}@media print{html .text-start,html[data-netbox-color-mode=dark] .text-start,html[data-netbox-color-mode=light] .text-start{text-align:left!important}}@media print{html .text-end,html[data-netbox-color-mode=dark] .text-end,html[data-netbox-color-mode=light] .text-end{text-align:right!important}}@media print{html .text-center,html[data-netbox-color-mode=dark] .text-center,html[data-netbox-color-mode=light] .text-center{text-align:center!important}}@media print{html .text-decoration-none,html[data-netbox-color-mode=dark] .text-decoration-none,html[data-netbox-color-mode=light] .text-decoration-none{text-decoration:none!important}}@media print{html .text-decoration-underline,html[data-netbox-color-mode=dark] .text-decoration-underline,html[data-netbox-color-mode=light] .text-decoration-underline{text-decoration:underline!important}}@media print{html .text-decoration-line-through,html[data-netbox-color-mode=dark] .text-decoration-line-through,html[data-netbox-color-mode=light] .text-decoration-line-through{text-decoration:line-through!important}}@media print{html .text-lowercase,html[data-netbox-color-mode=dark] .text-lowercase,html[data-netbox-color-mode=light] .text-lowercase{text-transform:lowercase!important}}@media print{html .text-uppercase,html[data-netbox-color-mode=dark] .text-uppercase,html[data-netbox-color-mode=light] .text-uppercase{text-transform:uppercase!important}}@media print{html .text-capitalize,html[data-netbox-color-mode=dark] .text-capitalize,html[data-netbox-color-mode=light] .text-capitalize{text-transform:capitalize!important}}@media print{html .text-wrap,html[data-netbox-color-mode=dark] .text-wrap,html[data-netbox-color-mode=light] .text-wrap{white-space:normal!important}}@media print{html .text-nowrap,html[data-netbox-color-mode=dark] .text-nowrap,html[data-netbox-color-mode=light] .text-nowrap{white-space:nowrap!important}}@media print{html .text-break,html[data-netbox-color-mode=dark] .text-break,html[data-netbox-color-mode=light] .text-break{word-wrap:break-word!important;word-break:break-word!important}}@media print{html .text-primary,html[data-netbox-color-mode=dark] .text-primary,html[data-netbox-color-mode=light] .text-primary{color:#337ab7!important}}@media print{html .text-secondary,html[data-netbox-color-mode=dark] .text-secondary,html[data-netbox-color-mode=light] .text-secondary{color:#6c757d!important}}@media print{html .text-success,html[data-netbox-color-mode=dark] .text-success,html[data-netbox-color-mode=light] .text-success{color:#198754!important}}@media print{html .text-info,html[data-netbox-color-mode=dark] .text-info,html[data-netbox-color-mode=light] .text-info{color:#54d6f0!important}}@media print{html .text-warning,html[data-netbox-color-mode=dark] .text-warning,html[data-netbox-color-mode=light] .text-warning{color:#ffc107!important}}@media print{html .text-danger,html[data-netbox-color-mode=dark] .text-danger,html[data-netbox-color-mode=light] .text-danger{color:#dc3545!important}}@media print{html .text-light,html[data-netbox-color-mode=dark] .text-light,html[data-netbox-color-mode=light] .text-light{color:#e9ecef!important}}@media print{html .text-dark,html[data-netbox-color-mode=dark] .text-dark,html[data-netbox-color-mode=light] .text-dark{color:#343a40!important}}@media print{html .text-blue,html[data-netbox-color-mode=dark] .text-blue,html[data-netbox-color-mode=light] .text-blue{color:#0d6efd!important}}@media print{html .text-indigo,html[data-netbox-color-mode=dark] .text-indigo,html[data-netbox-color-mode=light] .text-indigo{color:#6610f2!important}}@media print{html .text-purple,html[data-netbox-color-mode=dark] .text-purple,html[data-netbox-color-mode=light] .text-purple{color:#6f42c1!important}}@media print{html .text-pink,html[data-netbox-color-mode=dark] .text-pink,html[data-netbox-color-mode=light] .text-pink{color:#d63384!important}}@media print{html .text-red,html[data-netbox-color-mode=dark] .text-red,html[data-netbox-color-mode=light] .text-red{color:#dc3545!important}}@media print{html .text-orange,html[data-netbox-color-mode=dark] .text-orange,html[data-netbox-color-mode=light] .text-orange{color:#fd7e14!important}}@media print{html .text-yellow,html[data-netbox-color-mode=dark] .text-yellow,html[data-netbox-color-mode=light] .text-yellow{color:#ffc107!important}}@media print{html .text-green,html[data-netbox-color-mode=dark] .text-green,html[data-netbox-color-mode=light] .text-green{color:#198754!important}}@media print{html .text-teal,html[data-netbox-color-mode=dark] .text-teal,html[data-netbox-color-mode=light] .text-teal{color:#20c997!important}}@media print{html .text-cyan,html[data-netbox-color-mode=dark] .text-cyan,html[data-netbox-color-mode=light] .text-cyan{color:#0dcaf0!important}}@media print{html .text-gray,html[data-netbox-color-mode=dark] .text-gray,html[data-netbox-color-mode=light] .text-gray{color:#adb5bd!important}}@media print{html .text-black,html[data-netbox-color-mode=dark] .text-black,html[data-netbox-color-mode=light] .text-black{color:#000!important}}@media print{html .text-white,html[data-netbox-color-mode=dark] .text-white,html[data-netbox-color-mode=light] .text-white{color:#fff!important}}@media print{html .text-body,html[data-netbox-color-mode=dark] .text-body,html[data-netbox-color-mode=light] .text-body{color:#212529!important}}@media print{html .text-muted,html[data-netbox-color-mode=dark] .text-muted,html[data-netbox-color-mode=light] .text-muted{color:#6c757d!important}}@media print{html .text-black-50,html[data-netbox-color-mode=dark] .text-black-50,html[data-netbox-color-mode=light] .text-black-50{color:#00000080!important}}@media print{html .text-white-50,html[data-netbox-color-mode=dark] .text-white-50,html[data-netbox-color-mode=light] .text-white-50{color:#ffffff80!important}}@media print{html .text-reset,html[data-netbox-color-mode=dark] .text-reset,html[data-netbox-color-mode=light] .text-reset{color:inherit!important}}@media print{html .bg-primary,html[data-netbox-color-mode=dark] .bg-primary,html[data-netbox-color-mode=light] .bg-primary{background-color:#337ab7!important}}@media print{html .bg-secondary,html[data-netbox-color-mode=dark] .bg-secondary,html[data-netbox-color-mode=light] .bg-secondary{background-color:#6c757d!important}}@media print{html .bg-success,html[data-netbox-color-mode=dark] .bg-success,html[data-netbox-color-mode=light] .bg-success{background-color:#198754!important}}@media print{html .bg-info,html[data-netbox-color-mode=dark] .bg-info,html[data-netbox-color-mode=light] .bg-info{background-color:#54d6f0!important}}@media print{html .bg-warning,html[data-netbox-color-mode=dark] .bg-warning,html[data-netbox-color-mode=light] .bg-warning{background-color:#ffc107!important}}@media print{html .bg-danger,html[data-netbox-color-mode=dark] .bg-danger,html[data-netbox-color-mode=light] .bg-danger{background-color:#dc3545!important}}@media print{html .bg-light,html[data-netbox-color-mode=dark] .bg-light,html[data-netbox-color-mode=light] .bg-light{background-color:#e9ecef!important}}@media print{html .bg-dark,html[data-netbox-color-mode=dark] .bg-dark,html[data-netbox-color-mode=light] .bg-dark{background-color:#343a40!important}}@media print{html .bg-blue,html[data-netbox-color-mode=dark] .bg-blue,html[data-netbox-color-mode=light] .bg-blue{background-color:#0d6efd!important}}@media print{html .bg-indigo,html[data-netbox-color-mode=dark] .bg-indigo,html[data-netbox-color-mode=light] .bg-indigo{background-color:#6610f2!important}}@media print{html .bg-purple,html[data-netbox-color-mode=dark] .bg-purple,html[data-netbox-color-mode=light] .bg-purple{background-color:#6f42c1!important}}@media print{html .bg-pink,html[data-netbox-color-mode=dark] .bg-pink,html[data-netbox-color-mode=light] .bg-pink{background-color:#d63384!important}}@media print{html .bg-red,html[data-netbox-color-mode=dark] .bg-red,html[data-netbox-color-mode=light] .bg-red{background-color:#dc3545!important}}@media print{html .bg-orange,html[data-netbox-color-mode=dark] .bg-orange,html[data-netbox-color-mode=light] .bg-orange{background-color:#fd7e14!important}}@media print{html .bg-yellow,html[data-netbox-color-mode=dark] .bg-yellow,html[data-netbox-color-mode=light] .bg-yellow{background-color:#ffc107!important}}@media print{html .bg-green,html[data-netbox-color-mode=dark] .bg-green,html[data-netbox-color-mode=light] .bg-green{background-color:#198754!important}}@media print{html .bg-teal,html[data-netbox-color-mode=dark] .bg-teal,html[data-netbox-color-mode=light] .bg-teal{background-color:#20c997!important}}@media print{html .bg-cyan,html[data-netbox-color-mode=dark] .bg-cyan,html[data-netbox-color-mode=light] .bg-cyan{background-color:#0dcaf0!important}}@media print{html .bg-gray,html[data-netbox-color-mode=dark] .bg-gray,html[data-netbox-color-mode=light] .bg-gray{background-color:#adb5bd!important}}@media print{html .bg-black,html[data-netbox-color-mode=dark] .bg-black,html[data-netbox-color-mode=light] .bg-black{background-color:#000!important}}@media print{html .bg-white,html[data-netbox-color-mode=dark] .bg-white,html[data-netbox-color-mode=light] .bg-white{background-color:#fff!important}}@media print{html .bg-body,html[data-netbox-color-mode=dark] .bg-body,html[data-netbox-color-mode=light] .bg-body{background-color:#fff!important}}@media print{html .bg-transparent,html[data-netbox-color-mode=dark] .bg-transparent,html[data-netbox-color-mode=light] .bg-transparent{background-color:transparent!important}}@media print{html .bg-gradient,html[data-netbox-color-mode=dark] .bg-gradient,html[data-netbox-color-mode=light] .bg-gradient{background-image:var(--bs-gradient)!important}}@media print{html .user-select-all,html[data-netbox-color-mode=dark] .user-select-all,html[data-netbox-color-mode=light] .user-select-all{user-select:all!important}}@media print{html .user-select-auto,html[data-netbox-color-mode=dark] .user-select-auto,html[data-netbox-color-mode=light] .user-select-auto{user-select:auto!important}}@media print{html .user-select-none,html[data-netbox-color-mode=dark] .user-select-none,html[data-netbox-color-mode=light] .user-select-none{user-select:none!important}}@media print{html .pe-none,html[data-netbox-color-mode=dark] .pe-none,html[data-netbox-color-mode=light] .pe-none{pointer-events:none!important}}@media print{html .pe-auto,html[data-netbox-color-mode=dark] .pe-auto,html[data-netbox-color-mode=light] .pe-auto{pointer-events:auto!important}}@media print{html .rounded,html[data-netbox-color-mode=dark] .rounded,html[data-netbox-color-mode=light] .rounded{border-radius:.375rem!important}}@media print{html .rounded-0,html[data-netbox-color-mode=dark] .rounded-0,html[data-netbox-color-mode=light] .rounded-0{border-radius:0!important}}@media print{html .rounded-1,html[data-netbox-color-mode=dark] .rounded-1,html[data-netbox-color-mode=light] .rounded-1{border-radius:.375rem!important}}@media print{html .rounded-2,html[data-netbox-color-mode=dark] .rounded-2,html[data-netbox-color-mode=light] .rounded-2{border-radius:.375rem!important}}@media print{html .rounded-3,html[data-netbox-color-mode=dark] .rounded-3,html[data-netbox-color-mode=light] .rounded-3{border-radius:.75rem!important}}@media print{html .rounded-circle,html[data-netbox-color-mode=dark] .rounded-circle,html[data-netbox-color-mode=light] .rounded-circle{border-radius:50%!important}}@media print{html .rounded-pill,html[data-netbox-color-mode=dark] .rounded-pill,html[data-netbox-color-mode=light] .rounded-pill{border-radius:50rem!important}}@media print{html .rounded-top,html[data-netbox-color-mode=dark] .rounded-top,html[data-netbox-color-mode=light] .rounded-top{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}}@media print{html .rounded-end,html[data-netbox-color-mode=dark] .rounded-end,html[data-netbox-color-mode=light] .rounded-end{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}}@media print{html .rounded-bottom,html[data-netbox-color-mode=dark] .rounded-bottom,html[data-netbox-color-mode=light] .rounded-bottom{border-bottom-right-radius:.375rem!important;border-bottom-left-radius:.375rem!important}}@media print{html .rounded-start,html[data-netbox-color-mode=dark] .rounded-start,html[data-netbox-color-mode=light] .rounded-start{border-bottom-left-radius:.375rem!important;border-top-left-radius:.375rem!important}}@media print{html .visible,html[data-netbox-color-mode=dark] .visible,html[data-netbox-color-mode=light] .visible{visibility:visible!important}}@media print{html .invisible,html[data-netbox-color-mode=dark] .invisible,html[data-netbox-color-mode=light] .invisible{visibility:hidden!important}}@media print and (min-width: 576px){html .float-sm-start,html[data-netbox-color-mode=dark] .float-sm-start,html[data-netbox-color-mode=light] .float-sm-start{float:left!important}html .float-sm-end,html[data-netbox-color-mode=dark] .float-sm-end,html[data-netbox-color-mode=light] .float-sm-end{float:right!important}html .float-sm-none,html[data-netbox-color-mode=dark] .float-sm-none,html[data-netbox-color-mode=light] .float-sm-none{float:none!important}html .d-sm-inline,html[data-netbox-color-mode=dark] .d-sm-inline,html[data-netbox-color-mode=light] .d-sm-inline{display:inline!important}html .d-sm-inline-block,html[data-netbox-color-mode=dark] .d-sm-inline-block,html[data-netbox-color-mode=light] .d-sm-inline-block{display:inline-block!important}html .d-sm-block,html[data-netbox-color-mode=dark] .d-sm-block,html[data-netbox-color-mode=light] .d-sm-block{display:block!important}html .d-sm-grid,html[data-netbox-color-mode=dark] .d-sm-grid,html[data-netbox-color-mode=light] .d-sm-grid{display:grid!important}html .d-sm-table,html[data-netbox-color-mode=dark] .d-sm-table,html[data-netbox-color-mode=light] .d-sm-table{display:table!important}html .d-sm-table-row,html[data-netbox-color-mode=dark] .d-sm-table-row,html[data-netbox-color-mode=light] .d-sm-table-row{display:table-row!important}html .d-sm-table-cell,html[data-netbox-color-mode=dark] .d-sm-table-cell,html[data-netbox-color-mode=light] .d-sm-table-cell{display:table-cell!important}html .d-sm-flex,html[data-netbox-color-mode=dark] .d-sm-flex,html[data-netbox-color-mode=light] .d-sm-flex{display:flex!important}html .d-sm-inline-flex,html[data-netbox-color-mode=dark] .d-sm-inline-flex,html[data-netbox-color-mode=light] .d-sm-inline-flex{display:inline-flex!important}html .d-sm-none,html[data-netbox-color-mode=dark] .d-sm-none,html[data-netbox-color-mode=light] .d-sm-none{display:none!important}html .flex-sm-fill,html[data-netbox-color-mode=dark] .flex-sm-fill,html[data-netbox-color-mode=light] .flex-sm-fill{flex:1 1 auto!important}html .flex-sm-row,html[data-netbox-color-mode=dark] .flex-sm-row,html[data-netbox-color-mode=light] .flex-sm-row{flex-direction:row!important}html .flex-sm-column,html[data-netbox-color-mode=dark] .flex-sm-column,html[data-netbox-color-mode=light] .flex-sm-column{flex-direction:column!important}html .flex-sm-row-reverse,html[data-netbox-color-mode=dark] .flex-sm-row-reverse,html[data-netbox-color-mode=light] .flex-sm-row-reverse{flex-direction:row-reverse!important}html .flex-sm-column-reverse,html[data-netbox-color-mode=dark] .flex-sm-column-reverse,html[data-netbox-color-mode=light] .flex-sm-column-reverse{flex-direction:column-reverse!important}html .flex-sm-grow-0,html[data-netbox-color-mode=dark] .flex-sm-grow-0,html[data-netbox-color-mode=light] .flex-sm-grow-0{flex-grow:0!important}html .flex-sm-grow-1,html[data-netbox-color-mode=dark] .flex-sm-grow-1,html[data-netbox-color-mode=light] .flex-sm-grow-1{flex-grow:1!important}html .flex-sm-shrink-0,html[data-netbox-color-mode=dark] .flex-sm-shrink-0,html[data-netbox-color-mode=light] .flex-sm-shrink-0{flex-shrink:0!important}html .flex-sm-shrink-1,html[data-netbox-color-mode=dark] .flex-sm-shrink-1,html[data-netbox-color-mode=light] .flex-sm-shrink-1{flex-shrink:1!important}html .flex-sm-wrap,html[data-netbox-color-mode=dark] .flex-sm-wrap,html[data-netbox-color-mode=light] .flex-sm-wrap{flex-wrap:wrap!important}html .flex-sm-nowrap,html[data-netbox-color-mode=dark] .flex-sm-nowrap,html[data-netbox-color-mode=light] .flex-sm-nowrap{flex-wrap:nowrap!important}html .flex-sm-wrap-reverse,html[data-netbox-color-mode=dark] .flex-sm-wrap-reverse,html[data-netbox-color-mode=light] .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-sm-0,html[data-netbox-color-mode=dark] .gap-sm-0,html[data-netbox-color-mode=light] .gap-sm-0{gap:0!important}html .gap-sm-1,html[data-netbox-color-mode=dark] .gap-sm-1,html[data-netbox-color-mode=light] .gap-sm-1{gap:.25rem!important}html .gap-sm-2,html[data-netbox-color-mode=dark] .gap-sm-2,html[data-netbox-color-mode=light] .gap-sm-2{gap:.5rem!important}html .gap-sm-3,html[data-netbox-color-mode=dark] .gap-sm-3,html[data-netbox-color-mode=light] .gap-sm-3{gap:1rem!important}html .gap-sm-4,html[data-netbox-color-mode=dark] .gap-sm-4,html[data-netbox-color-mode=light] .gap-sm-4{gap:1.5rem!important}html .gap-sm-5,html[data-netbox-color-mode=dark] .gap-sm-5,html[data-netbox-color-mode=light] .gap-sm-5{gap:3rem!important}html .justify-content-sm-start,html[data-netbox-color-mode=dark] .justify-content-sm-start,html[data-netbox-color-mode=light] .justify-content-sm-start{justify-content:flex-start!important}html .justify-content-sm-end,html[data-netbox-color-mode=dark] .justify-content-sm-end,html[data-netbox-color-mode=light] .justify-content-sm-end{justify-content:flex-end!important}html .justify-content-sm-center,html[data-netbox-color-mode=dark] .justify-content-sm-center,html[data-netbox-color-mode=light] .justify-content-sm-center{justify-content:center!important}html .justify-content-sm-between,html[data-netbox-color-mode=dark] .justify-content-sm-between,html[data-netbox-color-mode=light] .justify-content-sm-between{justify-content:space-between!important}html .justify-content-sm-around,html[data-netbox-color-mode=dark] .justify-content-sm-around,html[data-netbox-color-mode=light] .justify-content-sm-around{justify-content:space-around!important}html .justify-content-sm-evenly,html[data-netbox-color-mode=dark] .justify-content-sm-evenly,html[data-netbox-color-mode=light] .justify-content-sm-evenly{justify-content:space-evenly!important}html .align-items-sm-start,html[data-netbox-color-mode=dark] .align-items-sm-start,html[data-netbox-color-mode=light] .align-items-sm-start{align-items:flex-start!important}html .align-items-sm-end,html[data-netbox-color-mode=dark] .align-items-sm-end,html[data-netbox-color-mode=light] .align-items-sm-end{align-items:flex-end!important}html .align-items-sm-center,html[data-netbox-color-mode=dark] .align-items-sm-center,html[data-netbox-color-mode=light] .align-items-sm-center{align-items:center!important}html .align-items-sm-baseline,html[data-netbox-color-mode=dark] .align-items-sm-baseline,html[data-netbox-color-mode=light] .align-items-sm-baseline{align-items:baseline!important}html .align-items-sm-stretch,html[data-netbox-color-mode=dark] .align-items-sm-stretch,html[data-netbox-color-mode=light] .align-items-sm-stretch{align-items:stretch!important}html .align-content-sm-start,html[data-netbox-color-mode=dark] .align-content-sm-start,html[data-netbox-color-mode=light] .align-content-sm-start{align-content:flex-start!important}html .align-content-sm-end,html[data-netbox-color-mode=dark] .align-content-sm-end,html[data-netbox-color-mode=light] .align-content-sm-end{align-content:flex-end!important}html .align-content-sm-center,html[data-netbox-color-mode=dark] .align-content-sm-center,html[data-netbox-color-mode=light] .align-content-sm-center{align-content:center!important}html .align-content-sm-between,html[data-netbox-color-mode=dark] .align-content-sm-between,html[data-netbox-color-mode=light] .align-content-sm-between{align-content:space-between!important}html .align-content-sm-around,html[data-netbox-color-mode=dark] .align-content-sm-around,html[data-netbox-color-mode=light] .align-content-sm-around{align-content:space-around!important}html .align-content-sm-stretch,html[data-netbox-color-mode=dark] .align-content-sm-stretch,html[data-netbox-color-mode=light] .align-content-sm-stretch{align-content:stretch!important}html .align-self-sm-auto,html[data-netbox-color-mode=dark] .align-self-sm-auto,html[data-netbox-color-mode=light] .align-self-sm-auto{align-self:auto!important}html .align-self-sm-start,html[data-netbox-color-mode=dark] .align-self-sm-start,html[data-netbox-color-mode=light] .align-self-sm-start{align-self:flex-start!important}html .align-self-sm-end,html[data-netbox-color-mode=dark] .align-self-sm-end,html[data-netbox-color-mode=light] .align-self-sm-end{align-self:flex-end!important}html .align-self-sm-center,html[data-netbox-color-mode=dark] .align-self-sm-center,html[data-netbox-color-mode=light] .align-self-sm-center{align-self:center!important}html .align-self-sm-baseline,html[data-netbox-color-mode=dark] .align-self-sm-baseline,html[data-netbox-color-mode=light] .align-self-sm-baseline{align-self:baseline!important}html .align-self-sm-stretch,html[data-netbox-color-mode=dark] .align-self-sm-stretch,html[data-netbox-color-mode=light] .align-self-sm-stretch{align-self:stretch!important}html .order-sm-first,html[data-netbox-color-mode=dark] .order-sm-first,html[data-netbox-color-mode=light] .order-sm-first{order:-1!important}html .order-sm-0,html[data-netbox-color-mode=dark] .order-sm-0,html[data-netbox-color-mode=light] .order-sm-0{order:0!important}html .order-sm-1,html[data-netbox-color-mode=dark] .order-sm-1,html[data-netbox-color-mode=light] .order-sm-1{order:1!important}html .order-sm-2,html[data-netbox-color-mode=dark] .order-sm-2,html[data-netbox-color-mode=light] .order-sm-2{order:2!important}html .order-sm-3,html[data-netbox-color-mode=dark] .order-sm-3,html[data-netbox-color-mode=light] .order-sm-3{order:3!important}html .order-sm-4,html[data-netbox-color-mode=dark] .order-sm-4,html[data-netbox-color-mode=light] .order-sm-4{order:4!important}html .order-sm-5,html[data-netbox-color-mode=dark] .order-sm-5,html[data-netbox-color-mode=light] .order-sm-5{order:5!important}html .order-sm-last,html[data-netbox-color-mode=dark] .order-sm-last,html[data-netbox-color-mode=light] .order-sm-last{order:6!important}html .m-sm-0,html[data-netbox-color-mode=dark] .m-sm-0,html[data-netbox-color-mode=light] .m-sm-0{margin:0!important}html .m-sm-1,html[data-netbox-color-mode=dark] .m-sm-1,html[data-netbox-color-mode=light] .m-sm-1{margin:.25rem!important}html .m-sm-2,html[data-netbox-color-mode=dark] .m-sm-2,html[data-netbox-color-mode=light] .m-sm-2{margin:.5rem!important}html .m-sm-3,html[data-netbox-color-mode=dark] .m-sm-3,html[data-netbox-color-mode=light] .m-sm-3{margin:1rem!important}html .m-sm-4,html[data-netbox-color-mode=dark] .m-sm-4,html[data-netbox-color-mode=light] .m-sm-4{margin:1.5rem!important}html .m-sm-5,html[data-netbox-color-mode=dark] .m-sm-5,html[data-netbox-color-mode=light] .m-sm-5{margin:3rem!important}html .m-sm-auto,html[data-netbox-color-mode=dark] .m-sm-auto,html[data-netbox-color-mode=light] .m-sm-auto{margin:auto!important}html .mx-sm-0,html[data-netbox-color-mode=dark] .mx-sm-0,html[data-netbox-color-mode=light] .mx-sm-0{margin-right:0!important;margin-left:0!important}html .mx-sm-1,html[data-netbox-color-mode=dark] .mx-sm-1,html[data-netbox-color-mode=light] .mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-sm-2,html[data-netbox-color-mode=dark] .mx-sm-2,html[data-netbox-color-mode=light] .mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-sm-3,html[data-netbox-color-mode=dark] .mx-sm-3,html[data-netbox-color-mode=light] .mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-sm-4,html[data-netbox-color-mode=dark] .mx-sm-4,html[data-netbox-color-mode=light] .mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-sm-5,html[data-netbox-color-mode=dark] .mx-sm-5,html[data-netbox-color-mode=light] .mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-sm-auto,html[data-netbox-color-mode=dark] .mx-sm-auto,html[data-netbox-color-mode=light] .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}html .my-sm-0,html[data-netbox-color-mode=dark] .my-sm-0,html[data-netbox-color-mode=light] .my-sm-0{margin-top:0!important;margin-bottom:0!important}html .my-sm-1,html[data-netbox-color-mode=dark] .my-sm-1,html[data-netbox-color-mode=light] .my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-sm-2,html[data-netbox-color-mode=dark] .my-sm-2,html[data-netbox-color-mode=light] .my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-sm-3,html[data-netbox-color-mode=dark] .my-sm-3,html[data-netbox-color-mode=light] .my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-sm-4,html[data-netbox-color-mode=dark] .my-sm-4,html[data-netbox-color-mode=light] .my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-sm-5,html[data-netbox-color-mode=dark] .my-sm-5,html[data-netbox-color-mode=light] .my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-sm-auto,html[data-netbox-color-mode=dark] .my-sm-auto,html[data-netbox-color-mode=light] .my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-sm-0,html[data-netbox-color-mode=dark] .mt-sm-0,html[data-netbox-color-mode=light] .mt-sm-0{margin-top:0!important}html .mt-sm-1,html[data-netbox-color-mode=dark] .mt-sm-1,html[data-netbox-color-mode=light] .mt-sm-1{margin-top:.25rem!important}html .mt-sm-2,html[data-netbox-color-mode=dark] .mt-sm-2,html[data-netbox-color-mode=light] .mt-sm-2{margin-top:.5rem!important}html .mt-sm-3,html[data-netbox-color-mode=dark] .mt-sm-3,html[data-netbox-color-mode=light] .mt-sm-3{margin-top:1rem!important}html .mt-sm-4,html[data-netbox-color-mode=dark] .mt-sm-4,html[data-netbox-color-mode=light] .mt-sm-4{margin-top:1.5rem!important}html .mt-sm-5,html[data-netbox-color-mode=dark] .mt-sm-5,html[data-netbox-color-mode=light] .mt-sm-5{margin-top:3rem!important}html .mt-sm-auto,html[data-netbox-color-mode=dark] .mt-sm-auto,html[data-netbox-color-mode=light] .mt-sm-auto{margin-top:auto!important}html .me-sm-0,html[data-netbox-color-mode=dark] .me-sm-0,html[data-netbox-color-mode=light] .me-sm-0{margin-right:0!important}html .me-sm-1,html[data-netbox-color-mode=dark] .me-sm-1,html[data-netbox-color-mode=light] .me-sm-1{margin-right:.25rem!important}html .me-sm-2,html[data-netbox-color-mode=dark] .me-sm-2,html[data-netbox-color-mode=light] .me-sm-2{margin-right:.5rem!important}html .me-sm-3,html[data-netbox-color-mode=dark] .me-sm-3,html[data-netbox-color-mode=light] .me-sm-3{margin-right:1rem!important}html .me-sm-4,html[data-netbox-color-mode=dark] .me-sm-4,html[data-netbox-color-mode=light] .me-sm-4{margin-right:1.5rem!important}html .me-sm-5,html[data-netbox-color-mode=dark] .me-sm-5,html[data-netbox-color-mode=light] .me-sm-5{margin-right:3rem!important}html .me-sm-auto,html[data-netbox-color-mode=dark] .me-sm-auto,html[data-netbox-color-mode=light] .me-sm-auto{margin-right:auto!important}html .mb-sm-0,html[data-netbox-color-mode=dark] .mb-sm-0,html[data-netbox-color-mode=light] .mb-sm-0{margin-bottom:0!important}html .mb-sm-1,html[data-netbox-color-mode=dark] .mb-sm-1,html[data-netbox-color-mode=light] .mb-sm-1{margin-bottom:.25rem!important}html .mb-sm-2,html[data-netbox-color-mode=dark] .mb-sm-2,html[data-netbox-color-mode=light] .mb-sm-2{margin-bottom:.5rem!important}html .mb-sm-3,html[data-netbox-color-mode=dark] .mb-sm-3,html[data-netbox-color-mode=light] .mb-sm-3{margin-bottom:1rem!important}html .mb-sm-4,html[data-netbox-color-mode=dark] .mb-sm-4,html[data-netbox-color-mode=light] .mb-sm-4{margin-bottom:1.5rem!important}html .mb-sm-5,html[data-netbox-color-mode=dark] .mb-sm-5,html[data-netbox-color-mode=light] .mb-sm-5{margin-bottom:3rem!important}html .mb-sm-auto,html[data-netbox-color-mode=dark] .mb-sm-auto,html[data-netbox-color-mode=light] .mb-sm-auto{margin-bottom:auto!important}html .ms-sm-0,html[data-netbox-color-mode=dark] .ms-sm-0,html[data-netbox-color-mode=light] .ms-sm-0{margin-left:0!important}html .ms-sm-1,html[data-netbox-color-mode=dark] .ms-sm-1,html[data-netbox-color-mode=light] .ms-sm-1{margin-left:.25rem!important}html .ms-sm-2,html[data-netbox-color-mode=dark] .ms-sm-2,html[data-netbox-color-mode=light] .ms-sm-2{margin-left:.5rem!important}html .ms-sm-3,html[data-netbox-color-mode=dark] .ms-sm-3,html[data-netbox-color-mode=light] .ms-sm-3{margin-left:1rem!important}html .ms-sm-4,html[data-netbox-color-mode=dark] .ms-sm-4,html[data-netbox-color-mode=light] .ms-sm-4{margin-left:1.5rem!important}html .ms-sm-5,html[data-netbox-color-mode=dark] .ms-sm-5,html[data-netbox-color-mode=light] .ms-sm-5{margin-left:3rem!important}html .ms-sm-auto,html[data-netbox-color-mode=dark] .ms-sm-auto,html[data-netbox-color-mode=light] .ms-sm-auto{margin-left:auto!important}html .p-sm-0,html[data-netbox-color-mode=dark] .p-sm-0,html[data-netbox-color-mode=light] .p-sm-0{padding:0!important}html .p-sm-1,html[data-netbox-color-mode=dark] .p-sm-1,html[data-netbox-color-mode=light] .p-sm-1{padding:.25rem!important}html .p-sm-2,html[data-netbox-color-mode=dark] .p-sm-2,html[data-netbox-color-mode=light] .p-sm-2{padding:.5rem!important}html .p-sm-3,html[data-netbox-color-mode=dark] .p-sm-3,html[data-netbox-color-mode=light] .p-sm-3{padding:1rem!important}html .p-sm-4,html[data-netbox-color-mode=dark] .p-sm-4,html[data-netbox-color-mode=light] .p-sm-4{padding:1.5rem!important}html .p-sm-5,html[data-netbox-color-mode=dark] .p-sm-5,html[data-netbox-color-mode=light] .p-sm-5{padding:3rem!important}html .px-sm-0,html[data-netbox-color-mode=dark] .px-sm-0,html[data-netbox-color-mode=light] .px-sm-0{padding-right:0!important;padding-left:0!important}html .px-sm-1,html[data-netbox-color-mode=dark] .px-sm-1,html[data-netbox-color-mode=light] .px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-sm-2,html[data-netbox-color-mode=dark] .px-sm-2,html[data-netbox-color-mode=light] .px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-sm-3,html[data-netbox-color-mode=dark] .px-sm-3,html[data-netbox-color-mode=light] .px-sm-3{padding-right:1rem!important;padding-left:1rem!important}html .px-sm-4,html[data-netbox-color-mode=dark] .px-sm-4,html[data-netbox-color-mode=light] .px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-sm-5,html[data-netbox-color-mode=dark] .px-sm-5,html[data-netbox-color-mode=light] .px-sm-5{padding-right:3rem!important;padding-left:3rem!important}html .py-sm-0,html[data-netbox-color-mode=dark] .py-sm-0,html[data-netbox-color-mode=light] .py-sm-0{padding-top:0!important;padding-bottom:0!important}html .py-sm-1,html[data-netbox-color-mode=dark] .py-sm-1,html[data-netbox-color-mode=light] .py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-sm-2,html[data-netbox-color-mode=dark] .py-sm-2,html[data-netbox-color-mode=light] .py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-sm-3,html[data-netbox-color-mode=dark] .py-sm-3,html[data-netbox-color-mode=light] .py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-sm-4,html[data-netbox-color-mode=dark] .py-sm-4,html[data-netbox-color-mode=light] .py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-sm-5,html[data-netbox-color-mode=dark] .py-sm-5,html[data-netbox-color-mode=light] .py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-sm-0,html[data-netbox-color-mode=dark] .pt-sm-0,html[data-netbox-color-mode=light] .pt-sm-0{padding-top:0!important}html .pt-sm-1,html[data-netbox-color-mode=dark] .pt-sm-1,html[data-netbox-color-mode=light] .pt-sm-1{padding-top:.25rem!important}html .pt-sm-2,html[data-netbox-color-mode=dark] .pt-sm-2,html[data-netbox-color-mode=light] .pt-sm-2{padding-top:.5rem!important}html .pt-sm-3,html[data-netbox-color-mode=dark] .pt-sm-3,html[data-netbox-color-mode=light] .pt-sm-3{padding-top:1rem!important}html .pt-sm-4,html[data-netbox-color-mode=dark] .pt-sm-4,html[data-netbox-color-mode=light] .pt-sm-4{padding-top:1.5rem!important}html .pt-sm-5,html[data-netbox-color-mode=dark] .pt-sm-5,html[data-netbox-color-mode=light] .pt-sm-5{padding-top:3rem!important}html .pe-sm-0,html[data-netbox-color-mode=dark] .pe-sm-0,html[data-netbox-color-mode=light] .pe-sm-0{padding-right:0!important}html .pe-sm-1,html[data-netbox-color-mode=dark] .pe-sm-1,html[data-netbox-color-mode=light] .pe-sm-1{padding-right:.25rem!important}html .pe-sm-2,html[data-netbox-color-mode=dark] .pe-sm-2,html[data-netbox-color-mode=light] .pe-sm-2{padding-right:.5rem!important}html .pe-sm-3,html[data-netbox-color-mode=dark] .pe-sm-3,html[data-netbox-color-mode=light] .pe-sm-3{padding-right:1rem!important}html .pe-sm-4,html[data-netbox-color-mode=dark] .pe-sm-4,html[data-netbox-color-mode=light] .pe-sm-4{padding-right:1.5rem!important}html .pe-sm-5,html[data-netbox-color-mode=dark] .pe-sm-5,html[data-netbox-color-mode=light] .pe-sm-5{padding-right:3rem!important}html .pb-sm-0,html[data-netbox-color-mode=dark] .pb-sm-0,html[data-netbox-color-mode=light] .pb-sm-0{padding-bottom:0!important}html .pb-sm-1,html[data-netbox-color-mode=dark] .pb-sm-1,html[data-netbox-color-mode=light] .pb-sm-1{padding-bottom:.25rem!important}html .pb-sm-2,html[data-netbox-color-mode=dark] .pb-sm-2,html[data-netbox-color-mode=light] .pb-sm-2{padding-bottom:.5rem!important}html .pb-sm-3,html[data-netbox-color-mode=dark] .pb-sm-3,html[data-netbox-color-mode=light] .pb-sm-3{padding-bottom:1rem!important}html .pb-sm-4,html[data-netbox-color-mode=dark] .pb-sm-4,html[data-netbox-color-mode=light] .pb-sm-4{padding-bottom:1.5rem!important}html .pb-sm-5,html[data-netbox-color-mode=dark] .pb-sm-5,html[data-netbox-color-mode=light] .pb-sm-5{padding-bottom:3rem!important}html .ps-sm-0,html[data-netbox-color-mode=dark] .ps-sm-0,html[data-netbox-color-mode=light] .ps-sm-0{padding-left:0!important}html .ps-sm-1,html[data-netbox-color-mode=dark] .ps-sm-1,html[data-netbox-color-mode=light] .ps-sm-1{padding-left:.25rem!important}html .ps-sm-2,html[data-netbox-color-mode=dark] .ps-sm-2,html[data-netbox-color-mode=light] .ps-sm-2{padding-left:.5rem!important}html .ps-sm-3,html[data-netbox-color-mode=dark] .ps-sm-3,html[data-netbox-color-mode=light] .ps-sm-3{padding-left:1rem!important}html .ps-sm-4,html[data-netbox-color-mode=dark] .ps-sm-4,html[data-netbox-color-mode=light] .ps-sm-4{padding-left:1.5rem!important}html .ps-sm-5,html[data-netbox-color-mode=dark] .ps-sm-5,html[data-netbox-color-mode=light] .ps-sm-5{padding-left:3rem!important}html .text-sm-start,html[data-netbox-color-mode=dark] .text-sm-start,html[data-netbox-color-mode=light] .text-sm-start{text-align:left!important}html .text-sm-end,html[data-netbox-color-mode=dark] .text-sm-end,html[data-netbox-color-mode=light] .text-sm-end{text-align:right!important}html .text-sm-center,html[data-netbox-color-mode=dark] .text-sm-center,html[data-netbox-color-mode=light] .text-sm-center{text-align:center!important}}@media print and (min-width: 768px){html .float-md-start,html[data-netbox-color-mode=dark] .float-md-start,html[data-netbox-color-mode=light] .float-md-start{float:left!important}html .float-md-end,html[data-netbox-color-mode=dark] .float-md-end,html[data-netbox-color-mode=light] .float-md-end{float:right!important}html .float-md-none,html[data-netbox-color-mode=dark] .float-md-none,html[data-netbox-color-mode=light] .float-md-none{float:none!important}html .d-md-inline,html[data-netbox-color-mode=dark] .d-md-inline,html[data-netbox-color-mode=light] .d-md-inline{display:inline!important}html .d-md-inline-block,html[data-netbox-color-mode=dark] .d-md-inline-block,html[data-netbox-color-mode=light] .d-md-inline-block{display:inline-block!important}html .d-md-block,html[data-netbox-color-mode=dark] .d-md-block,html[data-netbox-color-mode=light] .d-md-block{display:block!important}html .d-md-grid,html[data-netbox-color-mode=dark] .d-md-grid,html[data-netbox-color-mode=light] .d-md-grid{display:grid!important}html .d-md-table,html[data-netbox-color-mode=dark] .d-md-table,html[data-netbox-color-mode=light] .d-md-table{display:table!important}html .d-md-table-row,html[data-netbox-color-mode=dark] .d-md-table-row,html[data-netbox-color-mode=light] .d-md-table-row{display:table-row!important}html .d-md-table-cell,html[data-netbox-color-mode=dark] .d-md-table-cell,html[data-netbox-color-mode=light] .d-md-table-cell{display:table-cell!important}html .d-md-flex,html[data-netbox-color-mode=dark] .d-md-flex,html[data-netbox-color-mode=light] .d-md-flex{display:flex!important}html .d-md-inline-flex,html[data-netbox-color-mode=dark] .d-md-inline-flex,html[data-netbox-color-mode=light] .d-md-inline-flex{display:inline-flex!important}html .d-md-none,html[data-netbox-color-mode=dark] .d-md-none,html[data-netbox-color-mode=light] .d-md-none{display:none!important}html .flex-md-fill,html[data-netbox-color-mode=dark] .flex-md-fill,html[data-netbox-color-mode=light] .flex-md-fill{flex:1 1 auto!important}html .flex-md-row,html[data-netbox-color-mode=dark] .flex-md-row,html[data-netbox-color-mode=light] .flex-md-row{flex-direction:row!important}html .flex-md-column,html[data-netbox-color-mode=dark] .flex-md-column,html[data-netbox-color-mode=light] .flex-md-column{flex-direction:column!important}html .flex-md-row-reverse,html[data-netbox-color-mode=dark] .flex-md-row-reverse,html[data-netbox-color-mode=light] .flex-md-row-reverse{flex-direction:row-reverse!important}html .flex-md-column-reverse,html[data-netbox-color-mode=dark] .flex-md-column-reverse,html[data-netbox-color-mode=light] .flex-md-column-reverse{flex-direction:column-reverse!important}html .flex-md-grow-0,html[data-netbox-color-mode=dark] .flex-md-grow-0,html[data-netbox-color-mode=light] .flex-md-grow-0{flex-grow:0!important}html .flex-md-grow-1,html[data-netbox-color-mode=dark] .flex-md-grow-1,html[data-netbox-color-mode=light] .flex-md-grow-1{flex-grow:1!important}html .flex-md-shrink-0,html[data-netbox-color-mode=dark] .flex-md-shrink-0,html[data-netbox-color-mode=light] .flex-md-shrink-0{flex-shrink:0!important}html .flex-md-shrink-1,html[data-netbox-color-mode=dark] .flex-md-shrink-1,html[data-netbox-color-mode=light] .flex-md-shrink-1{flex-shrink:1!important}html .flex-md-wrap,html[data-netbox-color-mode=dark] .flex-md-wrap,html[data-netbox-color-mode=light] .flex-md-wrap{flex-wrap:wrap!important}html .flex-md-nowrap,html[data-netbox-color-mode=dark] .flex-md-nowrap,html[data-netbox-color-mode=light] .flex-md-nowrap{flex-wrap:nowrap!important}html .flex-md-wrap-reverse,html[data-netbox-color-mode=dark] .flex-md-wrap-reverse,html[data-netbox-color-mode=light] .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-md-0,html[data-netbox-color-mode=dark] .gap-md-0,html[data-netbox-color-mode=light] .gap-md-0{gap:0!important}html .gap-md-1,html[data-netbox-color-mode=dark] .gap-md-1,html[data-netbox-color-mode=light] .gap-md-1{gap:.25rem!important}html .gap-md-2,html[data-netbox-color-mode=dark] .gap-md-2,html[data-netbox-color-mode=light] .gap-md-2{gap:.5rem!important}html .gap-md-3,html[data-netbox-color-mode=dark] .gap-md-3,html[data-netbox-color-mode=light] .gap-md-3{gap:1rem!important}html .gap-md-4,html[data-netbox-color-mode=dark] .gap-md-4,html[data-netbox-color-mode=light] .gap-md-4{gap:1.5rem!important}html .gap-md-5,html[data-netbox-color-mode=dark] .gap-md-5,html[data-netbox-color-mode=light] .gap-md-5{gap:3rem!important}html .justify-content-md-start,html[data-netbox-color-mode=dark] .justify-content-md-start,html[data-netbox-color-mode=light] .justify-content-md-start{justify-content:flex-start!important}html .justify-content-md-end,html[data-netbox-color-mode=dark] .justify-content-md-end,html[data-netbox-color-mode=light] .justify-content-md-end{justify-content:flex-end!important}html .justify-content-md-center,html[data-netbox-color-mode=dark] .justify-content-md-center,html[data-netbox-color-mode=light] .justify-content-md-center{justify-content:center!important}html .justify-content-md-between,html[data-netbox-color-mode=dark] .justify-content-md-between,html[data-netbox-color-mode=light] .justify-content-md-between{justify-content:space-between!important}html .justify-content-md-around,html[data-netbox-color-mode=dark] .justify-content-md-around,html[data-netbox-color-mode=light] .justify-content-md-around{justify-content:space-around!important}html .justify-content-md-evenly,html[data-netbox-color-mode=dark] .justify-content-md-evenly,html[data-netbox-color-mode=light] .justify-content-md-evenly{justify-content:space-evenly!important}html .align-items-md-start,html[data-netbox-color-mode=dark] .align-items-md-start,html[data-netbox-color-mode=light] .align-items-md-start{align-items:flex-start!important}html .align-items-md-end,html[data-netbox-color-mode=dark] .align-items-md-end,html[data-netbox-color-mode=light] .align-items-md-end{align-items:flex-end!important}html .align-items-md-center,html[data-netbox-color-mode=dark] .align-items-md-center,html[data-netbox-color-mode=light] .align-items-md-center{align-items:center!important}html .align-items-md-baseline,html[data-netbox-color-mode=dark] .align-items-md-baseline,html[data-netbox-color-mode=light] .align-items-md-baseline{align-items:baseline!important}html .align-items-md-stretch,html[data-netbox-color-mode=dark] .align-items-md-stretch,html[data-netbox-color-mode=light] .align-items-md-stretch{align-items:stretch!important}html .align-content-md-start,html[data-netbox-color-mode=dark] .align-content-md-start,html[data-netbox-color-mode=light] .align-content-md-start{align-content:flex-start!important}html .align-content-md-end,html[data-netbox-color-mode=dark] .align-content-md-end,html[data-netbox-color-mode=light] .align-content-md-end{align-content:flex-end!important}html .align-content-md-center,html[data-netbox-color-mode=dark] .align-content-md-center,html[data-netbox-color-mode=light] .align-content-md-center{align-content:center!important}html .align-content-md-between,html[data-netbox-color-mode=dark] .align-content-md-between,html[data-netbox-color-mode=light] .align-content-md-between{align-content:space-between!important}html .align-content-md-around,html[data-netbox-color-mode=dark] .align-content-md-around,html[data-netbox-color-mode=light] .align-content-md-around{align-content:space-around!important}html .align-content-md-stretch,html[data-netbox-color-mode=dark] .align-content-md-stretch,html[data-netbox-color-mode=light] .align-content-md-stretch{align-content:stretch!important}html .align-self-md-auto,html[data-netbox-color-mode=dark] .align-self-md-auto,html[data-netbox-color-mode=light] .align-self-md-auto{align-self:auto!important}html .align-self-md-start,html[data-netbox-color-mode=dark] .align-self-md-start,html[data-netbox-color-mode=light] .align-self-md-start{align-self:flex-start!important}html .align-self-md-end,html[data-netbox-color-mode=dark] .align-self-md-end,html[data-netbox-color-mode=light] .align-self-md-end{align-self:flex-end!important}html .align-self-md-center,html[data-netbox-color-mode=dark] .align-self-md-center,html[data-netbox-color-mode=light] .align-self-md-center{align-self:center!important}html .align-self-md-baseline,html[data-netbox-color-mode=dark] .align-self-md-baseline,html[data-netbox-color-mode=light] .align-self-md-baseline{align-self:baseline!important}html .align-self-md-stretch,html[data-netbox-color-mode=dark] .align-self-md-stretch,html[data-netbox-color-mode=light] .align-self-md-stretch{align-self:stretch!important}html .order-md-first,html[data-netbox-color-mode=dark] .order-md-first,html[data-netbox-color-mode=light] .order-md-first{order:-1!important}html .order-md-0,html[data-netbox-color-mode=dark] .order-md-0,html[data-netbox-color-mode=light] .order-md-0{order:0!important}html .order-md-1,html[data-netbox-color-mode=dark] .order-md-1,html[data-netbox-color-mode=light] .order-md-1{order:1!important}html .order-md-2,html[data-netbox-color-mode=dark] .order-md-2,html[data-netbox-color-mode=light] .order-md-2{order:2!important}html .order-md-3,html[data-netbox-color-mode=dark] .order-md-3,html[data-netbox-color-mode=light] .order-md-3{order:3!important}html .order-md-4,html[data-netbox-color-mode=dark] .order-md-4,html[data-netbox-color-mode=light] .order-md-4{order:4!important}html .order-md-5,html[data-netbox-color-mode=dark] .order-md-5,html[data-netbox-color-mode=light] .order-md-5{order:5!important}html .order-md-last,html[data-netbox-color-mode=dark] .order-md-last,html[data-netbox-color-mode=light] .order-md-last{order:6!important}html .m-md-0,html[data-netbox-color-mode=dark] .m-md-0,html[data-netbox-color-mode=light] .m-md-0{margin:0!important}html .m-md-1,html[data-netbox-color-mode=dark] .m-md-1,html[data-netbox-color-mode=light] .m-md-1{margin:.25rem!important}html .m-md-2,html[data-netbox-color-mode=dark] .m-md-2,html[data-netbox-color-mode=light] .m-md-2{margin:.5rem!important}html .m-md-3,html[data-netbox-color-mode=dark] .m-md-3,html[data-netbox-color-mode=light] .m-md-3{margin:1rem!important}html .m-md-4,html[data-netbox-color-mode=dark] .m-md-4,html[data-netbox-color-mode=light] .m-md-4{margin:1.5rem!important}html .m-md-5,html[data-netbox-color-mode=dark] .m-md-5,html[data-netbox-color-mode=light] .m-md-5{margin:3rem!important}html .m-md-auto,html[data-netbox-color-mode=dark] .m-md-auto,html[data-netbox-color-mode=light] .m-md-auto{margin:auto!important}html .mx-md-0,html[data-netbox-color-mode=dark] .mx-md-0,html[data-netbox-color-mode=light] .mx-md-0{margin-right:0!important;margin-left:0!important}html .mx-md-1,html[data-netbox-color-mode=dark] .mx-md-1,html[data-netbox-color-mode=light] .mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-md-2,html[data-netbox-color-mode=dark] .mx-md-2,html[data-netbox-color-mode=light] .mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-md-3,html[data-netbox-color-mode=dark] .mx-md-3,html[data-netbox-color-mode=light] .mx-md-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-md-4,html[data-netbox-color-mode=dark] .mx-md-4,html[data-netbox-color-mode=light] .mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-md-5,html[data-netbox-color-mode=dark] .mx-md-5,html[data-netbox-color-mode=light] .mx-md-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-md-auto,html[data-netbox-color-mode=dark] .mx-md-auto,html[data-netbox-color-mode=light] .mx-md-auto{margin-right:auto!important;margin-left:auto!important}html .my-md-0,html[data-netbox-color-mode=dark] .my-md-0,html[data-netbox-color-mode=light] .my-md-0{margin-top:0!important;margin-bottom:0!important}html .my-md-1,html[data-netbox-color-mode=dark] .my-md-1,html[data-netbox-color-mode=light] .my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-md-2,html[data-netbox-color-mode=dark] .my-md-2,html[data-netbox-color-mode=light] .my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-md-3,html[data-netbox-color-mode=dark] .my-md-3,html[data-netbox-color-mode=light] .my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-md-4,html[data-netbox-color-mode=dark] .my-md-4,html[data-netbox-color-mode=light] .my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-md-5,html[data-netbox-color-mode=dark] .my-md-5,html[data-netbox-color-mode=light] .my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-md-auto,html[data-netbox-color-mode=dark] .my-md-auto,html[data-netbox-color-mode=light] .my-md-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-md-0,html[data-netbox-color-mode=dark] .mt-md-0,html[data-netbox-color-mode=light] .mt-md-0{margin-top:0!important}html .mt-md-1,html[data-netbox-color-mode=dark] .mt-md-1,html[data-netbox-color-mode=light] .mt-md-1{margin-top:.25rem!important}html .mt-md-2,html[data-netbox-color-mode=dark] .mt-md-2,html[data-netbox-color-mode=light] .mt-md-2{margin-top:.5rem!important}html .mt-md-3,html[data-netbox-color-mode=dark] .mt-md-3,html[data-netbox-color-mode=light] .mt-md-3{margin-top:1rem!important}html .mt-md-4,html[data-netbox-color-mode=dark] .mt-md-4,html[data-netbox-color-mode=light] .mt-md-4{margin-top:1.5rem!important}html .mt-md-5,html[data-netbox-color-mode=dark] .mt-md-5,html[data-netbox-color-mode=light] .mt-md-5{margin-top:3rem!important}html .mt-md-auto,html[data-netbox-color-mode=dark] .mt-md-auto,html[data-netbox-color-mode=light] .mt-md-auto{margin-top:auto!important}html .me-md-0,html[data-netbox-color-mode=dark] .me-md-0,html[data-netbox-color-mode=light] .me-md-0{margin-right:0!important}html .me-md-1,html[data-netbox-color-mode=dark] .me-md-1,html[data-netbox-color-mode=light] .me-md-1{margin-right:.25rem!important}html .me-md-2,html[data-netbox-color-mode=dark] .me-md-2,html[data-netbox-color-mode=light] .me-md-2{margin-right:.5rem!important}html .me-md-3,html[data-netbox-color-mode=dark] .me-md-3,html[data-netbox-color-mode=light] .me-md-3{margin-right:1rem!important}html .me-md-4,html[data-netbox-color-mode=dark] .me-md-4,html[data-netbox-color-mode=light] .me-md-4{margin-right:1.5rem!important}html .me-md-5,html[data-netbox-color-mode=dark] .me-md-5,html[data-netbox-color-mode=light] .me-md-5{margin-right:3rem!important}html .me-md-auto,html[data-netbox-color-mode=dark] .me-md-auto,html[data-netbox-color-mode=light] .me-md-auto{margin-right:auto!important}html .mb-md-0,html[data-netbox-color-mode=dark] .mb-md-0,html[data-netbox-color-mode=light] .mb-md-0{margin-bottom:0!important}html .mb-md-1,html[data-netbox-color-mode=dark] .mb-md-1,html[data-netbox-color-mode=light] .mb-md-1{margin-bottom:.25rem!important}html .mb-md-2,html[data-netbox-color-mode=dark] .mb-md-2,html[data-netbox-color-mode=light] .mb-md-2{margin-bottom:.5rem!important}html .mb-md-3,html[data-netbox-color-mode=dark] .mb-md-3,html[data-netbox-color-mode=light] .mb-md-3{margin-bottom:1rem!important}html .mb-md-4,html[data-netbox-color-mode=dark] .mb-md-4,html[data-netbox-color-mode=light] .mb-md-4{margin-bottom:1.5rem!important}html .mb-md-5,html[data-netbox-color-mode=dark] .mb-md-5,html[data-netbox-color-mode=light] .mb-md-5{margin-bottom:3rem!important}html .mb-md-auto,html[data-netbox-color-mode=dark] .mb-md-auto,html[data-netbox-color-mode=light] .mb-md-auto{margin-bottom:auto!important}html .ms-md-0,html[data-netbox-color-mode=dark] .ms-md-0,html[data-netbox-color-mode=light] .ms-md-0{margin-left:0!important}html .ms-md-1,html[data-netbox-color-mode=dark] .ms-md-1,html[data-netbox-color-mode=light] .ms-md-1{margin-left:.25rem!important}html .ms-md-2,html[data-netbox-color-mode=dark] .ms-md-2,html[data-netbox-color-mode=light] .ms-md-2{margin-left:.5rem!important}html .ms-md-3,html[data-netbox-color-mode=dark] .ms-md-3,html[data-netbox-color-mode=light] .ms-md-3{margin-left:1rem!important}html .ms-md-4,html[data-netbox-color-mode=dark] .ms-md-4,html[data-netbox-color-mode=light] .ms-md-4{margin-left:1.5rem!important}html .ms-md-5,html[data-netbox-color-mode=dark] .ms-md-5,html[data-netbox-color-mode=light] .ms-md-5{margin-left:3rem!important}html .ms-md-auto,html[data-netbox-color-mode=dark] .ms-md-auto,html[data-netbox-color-mode=light] .ms-md-auto{margin-left:auto!important}html .p-md-0,html[data-netbox-color-mode=dark] .p-md-0,html[data-netbox-color-mode=light] .p-md-0{padding:0!important}html .p-md-1,html[data-netbox-color-mode=dark] .p-md-1,html[data-netbox-color-mode=light] .p-md-1{padding:.25rem!important}html .p-md-2,html[data-netbox-color-mode=dark] .p-md-2,html[data-netbox-color-mode=light] .p-md-2{padding:.5rem!important}html .p-md-3,html[data-netbox-color-mode=dark] .p-md-3,html[data-netbox-color-mode=light] .p-md-3{padding:1rem!important}html .p-md-4,html[data-netbox-color-mode=dark] .p-md-4,html[data-netbox-color-mode=light] .p-md-4{padding:1.5rem!important}html .p-md-5,html[data-netbox-color-mode=dark] .p-md-5,html[data-netbox-color-mode=light] .p-md-5{padding:3rem!important}html .px-md-0,html[data-netbox-color-mode=dark] .px-md-0,html[data-netbox-color-mode=light] .px-md-0{padding-right:0!important;padding-left:0!important}html .px-md-1,html[data-netbox-color-mode=dark] .px-md-1,html[data-netbox-color-mode=light] .px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-md-2,html[data-netbox-color-mode=dark] .px-md-2,html[data-netbox-color-mode=light] .px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-md-3,html[data-netbox-color-mode=dark] .px-md-3,html[data-netbox-color-mode=light] .px-md-3{padding-right:1rem!important;padding-left:1rem!important}html .px-md-4,html[data-netbox-color-mode=dark] .px-md-4,html[data-netbox-color-mode=light] .px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-md-5,html[data-netbox-color-mode=dark] .px-md-5,html[data-netbox-color-mode=light] .px-md-5{padding-right:3rem!important;padding-left:3rem!important}html .py-md-0,html[data-netbox-color-mode=dark] .py-md-0,html[data-netbox-color-mode=light] .py-md-0{padding-top:0!important;padding-bottom:0!important}html .py-md-1,html[data-netbox-color-mode=dark] .py-md-1,html[data-netbox-color-mode=light] .py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-md-2,html[data-netbox-color-mode=dark] .py-md-2,html[data-netbox-color-mode=light] .py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-md-3,html[data-netbox-color-mode=dark] .py-md-3,html[data-netbox-color-mode=light] .py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-md-4,html[data-netbox-color-mode=dark] .py-md-4,html[data-netbox-color-mode=light] .py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-md-5,html[data-netbox-color-mode=dark] .py-md-5,html[data-netbox-color-mode=light] .py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-md-0,html[data-netbox-color-mode=dark] .pt-md-0,html[data-netbox-color-mode=light] .pt-md-0{padding-top:0!important}html .pt-md-1,html[data-netbox-color-mode=dark] .pt-md-1,html[data-netbox-color-mode=light] .pt-md-1{padding-top:.25rem!important}html .pt-md-2,html[data-netbox-color-mode=dark] .pt-md-2,html[data-netbox-color-mode=light] .pt-md-2{padding-top:.5rem!important}html .pt-md-3,html[data-netbox-color-mode=dark] .pt-md-3,html[data-netbox-color-mode=light] .pt-md-3{padding-top:1rem!important}html .pt-md-4,html[data-netbox-color-mode=dark] .pt-md-4,html[data-netbox-color-mode=light] .pt-md-4{padding-top:1.5rem!important}html .pt-md-5,html[data-netbox-color-mode=dark] .pt-md-5,html[data-netbox-color-mode=light] .pt-md-5{padding-top:3rem!important}html .pe-md-0,html[data-netbox-color-mode=dark] .pe-md-0,html[data-netbox-color-mode=light] .pe-md-0{padding-right:0!important}html .pe-md-1,html[data-netbox-color-mode=dark] .pe-md-1,html[data-netbox-color-mode=light] .pe-md-1{padding-right:.25rem!important}html .pe-md-2,html[data-netbox-color-mode=dark] .pe-md-2,html[data-netbox-color-mode=light] .pe-md-2{padding-right:.5rem!important}html .pe-md-3,html[data-netbox-color-mode=dark] .pe-md-3,html[data-netbox-color-mode=light] .pe-md-3{padding-right:1rem!important}html .pe-md-4,html[data-netbox-color-mode=dark] .pe-md-4,html[data-netbox-color-mode=light] .pe-md-4{padding-right:1.5rem!important}html .pe-md-5,html[data-netbox-color-mode=dark] .pe-md-5,html[data-netbox-color-mode=light] .pe-md-5{padding-right:3rem!important}html .pb-md-0,html[data-netbox-color-mode=dark] .pb-md-0,html[data-netbox-color-mode=light] .pb-md-0{padding-bottom:0!important}html .pb-md-1,html[data-netbox-color-mode=dark] .pb-md-1,html[data-netbox-color-mode=light] .pb-md-1{padding-bottom:.25rem!important}html .pb-md-2,html[data-netbox-color-mode=dark] .pb-md-2,html[data-netbox-color-mode=light] .pb-md-2{padding-bottom:.5rem!important}html .pb-md-3,html[data-netbox-color-mode=dark] .pb-md-3,html[data-netbox-color-mode=light] .pb-md-3{padding-bottom:1rem!important}html .pb-md-4,html[data-netbox-color-mode=dark] .pb-md-4,html[data-netbox-color-mode=light] .pb-md-4{padding-bottom:1.5rem!important}html .pb-md-5,html[data-netbox-color-mode=dark] .pb-md-5,html[data-netbox-color-mode=light] .pb-md-5{padding-bottom:3rem!important}html .ps-md-0,html[data-netbox-color-mode=dark] .ps-md-0,html[data-netbox-color-mode=light] .ps-md-0{padding-left:0!important}html .ps-md-1,html[data-netbox-color-mode=dark] .ps-md-1,html[data-netbox-color-mode=light] .ps-md-1{padding-left:.25rem!important}html .ps-md-2,html[data-netbox-color-mode=dark] .ps-md-2,html[data-netbox-color-mode=light] .ps-md-2{padding-left:.5rem!important}html .ps-md-3,html[data-netbox-color-mode=dark] .ps-md-3,html[data-netbox-color-mode=light] .ps-md-3{padding-left:1rem!important}html .ps-md-4,html[data-netbox-color-mode=dark] .ps-md-4,html[data-netbox-color-mode=light] .ps-md-4{padding-left:1.5rem!important}html .ps-md-5,html[data-netbox-color-mode=dark] .ps-md-5,html[data-netbox-color-mode=light] .ps-md-5{padding-left:3rem!important}html .text-md-start,html[data-netbox-color-mode=dark] .text-md-start,html[data-netbox-color-mode=light] .text-md-start{text-align:left!important}html .text-md-end,html[data-netbox-color-mode=dark] .text-md-end,html[data-netbox-color-mode=light] .text-md-end{text-align:right!important}html .text-md-center,html[data-netbox-color-mode=dark] .text-md-center,html[data-netbox-color-mode=light] .text-md-center{text-align:center!important}}@media print and (min-width: 992px){html .float-lg-start,html[data-netbox-color-mode=dark] .float-lg-start,html[data-netbox-color-mode=light] .float-lg-start{float:left!important}html .float-lg-end,html[data-netbox-color-mode=dark] .float-lg-end,html[data-netbox-color-mode=light] .float-lg-end{float:right!important}html .float-lg-none,html[data-netbox-color-mode=dark] .float-lg-none,html[data-netbox-color-mode=light] .float-lg-none{float:none!important}html .d-lg-inline,html[data-netbox-color-mode=dark] .d-lg-inline,html[data-netbox-color-mode=light] .d-lg-inline{display:inline!important}html .d-lg-inline-block,html[data-netbox-color-mode=dark] .d-lg-inline-block,html[data-netbox-color-mode=light] .d-lg-inline-block{display:inline-block!important}html .d-lg-block,html[data-netbox-color-mode=dark] .d-lg-block,html[data-netbox-color-mode=light] .d-lg-block{display:block!important}html .d-lg-grid,html[data-netbox-color-mode=dark] .d-lg-grid,html[data-netbox-color-mode=light] .d-lg-grid{display:grid!important}html .d-lg-table,html[data-netbox-color-mode=dark] .d-lg-table,html[data-netbox-color-mode=light] .d-lg-table{display:table!important}html .d-lg-table-row,html[data-netbox-color-mode=dark] .d-lg-table-row,html[data-netbox-color-mode=light] .d-lg-table-row{display:table-row!important}html .d-lg-table-cell,html[data-netbox-color-mode=dark] .d-lg-table-cell,html[data-netbox-color-mode=light] .d-lg-table-cell{display:table-cell!important}html .d-lg-flex,html[data-netbox-color-mode=dark] .d-lg-flex,html[data-netbox-color-mode=light] .d-lg-flex{display:flex!important}html .d-lg-inline-flex,html[data-netbox-color-mode=dark] .d-lg-inline-flex,html[data-netbox-color-mode=light] .d-lg-inline-flex{display:inline-flex!important}html .d-lg-none,html[data-netbox-color-mode=dark] .d-lg-none,html[data-netbox-color-mode=light] .d-lg-none{display:none!important}html .flex-lg-fill,html[data-netbox-color-mode=dark] .flex-lg-fill,html[data-netbox-color-mode=light] .flex-lg-fill{flex:1 1 auto!important}html .flex-lg-row,html[data-netbox-color-mode=dark] .flex-lg-row,html[data-netbox-color-mode=light] .flex-lg-row{flex-direction:row!important}html .flex-lg-column,html[data-netbox-color-mode=dark] .flex-lg-column,html[data-netbox-color-mode=light] .flex-lg-column{flex-direction:column!important}html .flex-lg-row-reverse,html[data-netbox-color-mode=dark] .flex-lg-row-reverse,html[data-netbox-color-mode=light] .flex-lg-row-reverse{flex-direction:row-reverse!important}html .flex-lg-column-reverse,html[data-netbox-color-mode=dark] .flex-lg-column-reverse,html[data-netbox-color-mode=light] .flex-lg-column-reverse{flex-direction:column-reverse!important}html .flex-lg-grow-0,html[data-netbox-color-mode=dark] .flex-lg-grow-0,html[data-netbox-color-mode=light] .flex-lg-grow-0{flex-grow:0!important}html .flex-lg-grow-1,html[data-netbox-color-mode=dark] .flex-lg-grow-1,html[data-netbox-color-mode=light] .flex-lg-grow-1{flex-grow:1!important}html .flex-lg-shrink-0,html[data-netbox-color-mode=dark] .flex-lg-shrink-0,html[data-netbox-color-mode=light] .flex-lg-shrink-0{flex-shrink:0!important}html .flex-lg-shrink-1,html[data-netbox-color-mode=dark] .flex-lg-shrink-1,html[data-netbox-color-mode=light] .flex-lg-shrink-1{flex-shrink:1!important}html .flex-lg-wrap,html[data-netbox-color-mode=dark] .flex-lg-wrap,html[data-netbox-color-mode=light] .flex-lg-wrap{flex-wrap:wrap!important}html .flex-lg-nowrap,html[data-netbox-color-mode=dark] .flex-lg-nowrap,html[data-netbox-color-mode=light] .flex-lg-nowrap{flex-wrap:nowrap!important}html .flex-lg-wrap-reverse,html[data-netbox-color-mode=dark] .flex-lg-wrap-reverse,html[data-netbox-color-mode=light] .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-lg-0,html[data-netbox-color-mode=dark] .gap-lg-0,html[data-netbox-color-mode=light] .gap-lg-0{gap:0!important}html .gap-lg-1,html[data-netbox-color-mode=dark] .gap-lg-1,html[data-netbox-color-mode=light] .gap-lg-1{gap:.25rem!important}html .gap-lg-2,html[data-netbox-color-mode=dark] .gap-lg-2,html[data-netbox-color-mode=light] .gap-lg-2{gap:.5rem!important}html .gap-lg-3,html[data-netbox-color-mode=dark] .gap-lg-3,html[data-netbox-color-mode=light] .gap-lg-3{gap:1rem!important}html .gap-lg-4,html[data-netbox-color-mode=dark] .gap-lg-4,html[data-netbox-color-mode=light] .gap-lg-4{gap:1.5rem!important}html .gap-lg-5,html[data-netbox-color-mode=dark] .gap-lg-5,html[data-netbox-color-mode=light] .gap-lg-5{gap:3rem!important}html .justify-content-lg-start,html[data-netbox-color-mode=dark] .justify-content-lg-start,html[data-netbox-color-mode=light] .justify-content-lg-start{justify-content:flex-start!important}html .justify-content-lg-end,html[data-netbox-color-mode=dark] .justify-content-lg-end,html[data-netbox-color-mode=light] .justify-content-lg-end{justify-content:flex-end!important}html .justify-content-lg-center,html[data-netbox-color-mode=dark] .justify-content-lg-center,html[data-netbox-color-mode=light] .justify-content-lg-center{justify-content:center!important}html .justify-content-lg-between,html[data-netbox-color-mode=dark] .justify-content-lg-between,html[data-netbox-color-mode=light] .justify-content-lg-between{justify-content:space-between!important}html .justify-content-lg-around,html[data-netbox-color-mode=dark] .justify-content-lg-around,html[data-netbox-color-mode=light] .justify-content-lg-around{justify-content:space-around!important}html .justify-content-lg-evenly,html[data-netbox-color-mode=dark] .justify-content-lg-evenly,html[data-netbox-color-mode=light] .justify-content-lg-evenly{justify-content:space-evenly!important}html .align-items-lg-start,html[data-netbox-color-mode=dark] .align-items-lg-start,html[data-netbox-color-mode=light] .align-items-lg-start{align-items:flex-start!important}html .align-items-lg-end,html[data-netbox-color-mode=dark] .align-items-lg-end,html[data-netbox-color-mode=light] .align-items-lg-end{align-items:flex-end!important}html .align-items-lg-center,html[data-netbox-color-mode=dark] .align-items-lg-center,html[data-netbox-color-mode=light] .align-items-lg-center{align-items:center!important}html .align-items-lg-baseline,html[data-netbox-color-mode=dark] .align-items-lg-baseline,html[data-netbox-color-mode=light] .align-items-lg-baseline{align-items:baseline!important}html .align-items-lg-stretch,html[data-netbox-color-mode=dark] .align-items-lg-stretch,html[data-netbox-color-mode=light] .align-items-lg-stretch{align-items:stretch!important}html .align-content-lg-start,html[data-netbox-color-mode=dark] .align-content-lg-start,html[data-netbox-color-mode=light] .align-content-lg-start{align-content:flex-start!important}html .align-content-lg-end,html[data-netbox-color-mode=dark] .align-content-lg-end,html[data-netbox-color-mode=light] .align-content-lg-end{align-content:flex-end!important}html .align-content-lg-center,html[data-netbox-color-mode=dark] .align-content-lg-center,html[data-netbox-color-mode=light] .align-content-lg-center{align-content:center!important}html .align-content-lg-between,html[data-netbox-color-mode=dark] .align-content-lg-between,html[data-netbox-color-mode=light] .align-content-lg-between{align-content:space-between!important}html .align-content-lg-around,html[data-netbox-color-mode=dark] .align-content-lg-around,html[data-netbox-color-mode=light] .align-content-lg-around{align-content:space-around!important}html .align-content-lg-stretch,html[data-netbox-color-mode=dark] .align-content-lg-stretch,html[data-netbox-color-mode=light] .align-content-lg-stretch{align-content:stretch!important}html .align-self-lg-auto,html[data-netbox-color-mode=dark] .align-self-lg-auto,html[data-netbox-color-mode=light] .align-self-lg-auto{align-self:auto!important}html .align-self-lg-start,html[data-netbox-color-mode=dark] .align-self-lg-start,html[data-netbox-color-mode=light] .align-self-lg-start{align-self:flex-start!important}html .align-self-lg-end,html[data-netbox-color-mode=dark] .align-self-lg-end,html[data-netbox-color-mode=light] .align-self-lg-end{align-self:flex-end!important}html .align-self-lg-center,html[data-netbox-color-mode=dark] .align-self-lg-center,html[data-netbox-color-mode=light] .align-self-lg-center{align-self:center!important}html .align-self-lg-baseline,html[data-netbox-color-mode=dark] .align-self-lg-baseline,html[data-netbox-color-mode=light] .align-self-lg-baseline{align-self:baseline!important}html .align-self-lg-stretch,html[data-netbox-color-mode=dark] .align-self-lg-stretch,html[data-netbox-color-mode=light] .align-self-lg-stretch{align-self:stretch!important}html .order-lg-first,html[data-netbox-color-mode=dark] .order-lg-first,html[data-netbox-color-mode=light] .order-lg-first{order:-1!important}html .order-lg-0,html[data-netbox-color-mode=dark] .order-lg-0,html[data-netbox-color-mode=light] .order-lg-0{order:0!important}html .order-lg-1,html[data-netbox-color-mode=dark] .order-lg-1,html[data-netbox-color-mode=light] .order-lg-1{order:1!important}html .order-lg-2,html[data-netbox-color-mode=dark] .order-lg-2,html[data-netbox-color-mode=light] .order-lg-2{order:2!important}html .order-lg-3,html[data-netbox-color-mode=dark] .order-lg-3,html[data-netbox-color-mode=light] .order-lg-3{order:3!important}html .order-lg-4,html[data-netbox-color-mode=dark] .order-lg-4,html[data-netbox-color-mode=light] .order-lg-4{order:4!important}html .order-lg-5,html[data-netbox-color-mode=dark] .order-lg-5,html[data-netbox-color-mode=light] .order-lg-5{order:5!important}html .order-lg-last,html[data-netbox-color-mode=dark] .order-lg-last,html[data-netbox-color-mode=light] .order-lg-last{order:6!important}html .m-lg-0,html[data-netbox-color-mode=dark] .m-lg-0,html[data-netbox-color-mode=light] .m-lg-0{margin:0!important}html .m-lg-1,html[data-netbox-color-mode=dark] .m-lg-1,html[data-netbox-color-mode=light] .m-lg-1{margin:.25rem!important}html .m-lg-2,html[data-netbox-color-mode=dark] .m-lg-2,html[data-netbox-color-mode=light] .m-lg-2{margin:.5rem!important}html .m-lg-3,html[data-netbox-color-mode=dark] .m-lg-3,html[data-netbox-color-mode=light] .m-lg-3{margin:1rem!important}html .m-lg-4,html[data-netbox-color-mode=dark] .m-lg-4,html[data-netbox-color-mode=light] .m-lg-4{margin:1.5rem!important}html .m-lg-5,html[data-netbox-color-mode=dark] .m-lg-5,html[data-netbox-color-mode=light] .m-lg-5{margin:3rem!important}html .m-lg-auto,html[data-netbox-color-mode=dark] .m-lg-auto,html[data-netbox-color-mode=light] .m-lg-auto{margin:auto!important}html .mx-lg-0,html[data-netbox-color-mode=dark] .mx-lg-0,html[data-netbox-color-mode=light] .mx-lg-0{margin-right:0!important;margin-left:0!important}html .mx-lg-1,html[data-netbox-color-mode=dark] .mx-lg-1,html[data-netbox-color-mode=light] .mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-lg-2,html[data-netbox-color-mode=dark] .mx-lg-2,html[data-netbox-color-mode=light] .mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-lg-3,html[data-netbox-color-mode=dark] .mx-lg-3,html[data-netbox-color-mode=light] .mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-lg-4,html[data-netbox-color-mode=dark] .mx-lg-4,html[data-netbox-color-mode=light] .mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-lg-5,html[data-netbox-color-mode=dark] .mx-lg-5,html[data-netbox-color-mode=light] .mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-lg-auto,html[data-netbox-color-mode=dark] .mx-lg-auto,html[data-netbox-color-mode=light] .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}html .my-lg-0,html[data-netbox-color-mode=dark] .my-lg-0,html[data-netbox-color-mode=light] .my-lg-0{margin-top:0!important;margin-bottom:0!important}html .my-lg-1,html[data-netbox-color-mode=dark] .my-lg-1,html[data-netbox-color-mode=light] .my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-lg-2,html[data-netbox-color-mode=dark] .my-lg-2,html[data-netbox-color-mode=light] .my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-lg-3,html[data-netbox-color-mode=dark] .my-lg-3,html[data-netbox-color-mode=light] .my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-lg-4,html[data-netbox-color-mode=dark] .my-lg-4,html[data-netbox-color-mode=light] .my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-lg-5,html[data-netbox-color-mode=dark] .my-lg-5,html[data-netbox-color-mode=light] .my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-lg-auto,html[data-netbox-color-mode=dark] .my-lg-auto,html[data-netbox-color-mode=light] .my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-lg-0,html[data-netbox-color-mode=dark] .mt-lg-0,html[data-netbox-color-mode=light] .mt-lg-0{margin-top:0!important}html .mt-lg-1,html[data-netbox-color-mode=dark] .mt-lg-1,html[data-netbox-color-mode=light] .mt-lg-1{margin-top:.25rem!important}html .mt-lg-2,html[data-netbox-color-mode=dark] .mt-lg-2,html[data-netbox-color-mode=light] .mt-lg-2{margin-top:.5rem!important}html .mt-lg-3,html[data-netbox-color-mode=dark] .mt-lg-3,html[data-netbox-color-mode=light] .mt-lg-3{margin-top:1rem!important}html .mt-lg-4,html[data-netbox-color-mode=dark] .mt-lg-4,html[data-netbox-color-mode=light] .mt-lg-4{margin-top:1.5rem!important}html .mt-lg-5,html[data-netbox-color-mode=dark] .mt-lg-5,html[data-netbox-color-mode=light] .mt-lg-5{margin-top:3rem!important}html .mt-lg-auto,html[data-netbox-color-mode=dark] .mt-lg-auto,html[data-netbox-color-mode=light] .mt-lg-auto{margin-top:auto!important}html .me-lg-0,html[data-netbox-color-mode=dark] .me-lg-0,html[data-netbox-color-mode=light] .me-lg-0{margin-right:0!important}html .me-lg-1,html[data-netbox-color-mode=dark] .me-lg-1,html[data-netbox-color-mode=light] .me-lg-1{margin-right:.25rem!important}html .me-lg-2,html[data-netbox-color-mode=dark] .me-lg-2,html[data-netbox-color-mode=light] .me-lg-2{margin-right:.5rem!important}html .me-lg-3,html[data-netbox-color-mode=dark] .me-lg-3,html[data-netbox-color-mode=light] .me-lg-3{margin-right:1rem!important}html .me-lg-4,html[data-netbox-color-mode=dark] .me-lg-4,html[data-netbox-color-mode=light] .me-lg-4{margin-right:1.5rem!important}html .me-lg-5,html[data-netbox-color-mode=dark] .me-lg-5,html[data-netbox-color-mode=light] .me-lg-5{margin-right:3rem!important}html .me-lg-auto,html[data-netbox-color-mode=dark] .me-lg-auto,html[data-netbox-color-mode=light] .me-lg-auto{margin-right:auto!important}html .mb-lg-0,html[data-netbox-color-mode=dark] .mb-lg-0,html[data-netbox-color-mode=light] .mb-lg-0{margin-bottom:0!important}html .mb-lg-1,html[data-netbox-color-mode=dark] .mb-lg-1,html[data-netbox-color-mode=light] .mb-lg-1{margin-bottom:.25rem!important}html .mb-lg-2,html[data-netbox-color-mode=dark] .mb-lg-2,html[data-netbox-color-mode=light] .mb-lg-2{margin-bottom:.5rem!important}html .mb-lg-3,html[data-netbox-color-mode=dark] .mb-lg-3,html[data-netbox-color-mode=light] .mb-lg-3{margin-bottom:1rem!important}html .mb-lg-4,html[data-netbox-color-mode=dark] .mb-lg-4,html[data-netbox-color-mode=light] .mb-lg-4{margin-bottom:1.5rem!important}html .mb-lg-5,html[data-netbox-color-mode=dark] .mb-lg-5,html[data-netbox-color-mode=light] .mb-lg-5{margin-bottom:3rem!important}html .mb-lg-auto,html[data-netbox-color-mode=dark] .mb-lg-auto,html[data-netbox-color-mode=light] .mb-lg-auto{margin-bottom:auto!important}html .ms-lg-0,html[data-netbox-color-mode=dark] .ms-lg-0,html[data-netbox-color-mode=light] .ms-lg-0{margin-left:0!important}html .ms-lg-1,html[data-netbox-color-mode=dark] .ms-lg-1,html[data-netbox-color-mode=light] .ms-lg-1{margin-left:.25rem!important}html .ms-lg-2,html[data-netbox-color-mode=dark] .ms-lg-2,html[data-netbox-color-mode=light] .ms-lg-2{margin-left:.5rem!important}html .ms-lg-3,html[data-netbox-color-mode=dark] .ms-lg-3,html[data-netbox-color-mode=light] .ms-lg-3{margin-left:1rem!important}html .ms-lg-4,html[data-netbox-color-mode=dark] .ms-lg-4,html[data-netbox-color-mode=light] .ms-lg-4{margin-left:1.5rem!important}html .ms-lg-5,html[data-netbox-color-mode=dark] .ms-lg-5,html[data-netbox-color-mode=light] .ms-lg-5{margin-left:3rem!important}html .ms-lg-auto,html[data-netbox-color-mode=dark] .ms-lg-auto,html[data-netbox-color-mode=light] .ms-lg-auto{margin-left:auto!important}html .p-lg-0,html[data-netbox-color-mode=dark] .p-lg-0,html[data-netbox-color-mode=light] .p-lg-0{padding:0!important}html .p-lg-1,html[data-netbox-color-mode=dark] .p-lg-1,html[data-netbox-color-mode=light] .p-lg-1{padding:.25rem!important}html .p-lg-2,html[data-netbox-color-mode=dark] .p-lg-2,html[data-netbox-color-mode=light] .p-lg-2{padding:.5rem!important}html .p-lg-3,html[data-netbox-color-mode=dark] .p-lg-3,html[data-netbox-color-mode=light] .p-lg-3{padding:1rem!important}html .p-lg-4,html[data-netbox-color-mode=dark] .p-lg-4,html[data-netbox-color-mode=light] .p-lg-4{padding:1.5rem!important}html .p-lg-5,html[data-netbox-color-mode=dark] .p-lg-5,html[data-netbox-color-mode=light] .p-lg-5{padding:3rem!important}html .px-lg-0,html[data-netbox-color-mode=dark] .px-lg-0,html[data-netbox-color-mode=light] .px-lg-0{padding-right:0!important;padding-left:0!important}html .px-lg-1,html[data-netbox-color-mode=dark] .px-lg-1,html[data-netbox-color-mode=light] .px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-lg-2,html[data-netbox-color-mode=dark] .px-lg-2,html[data-netbox-color-mode=light] .px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-lg-3,html[data-netbox-color-mode=dark] .px-lg-3,html[data-netbox-color-mode=light] .px-lg-3{padding-right:1rem!important;padding-left:1rem!important}html .px-lg-4,html[data-netbox-color-mode=dark] .px-lg-4,html[data-netbox-color-mode=light] .px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-lg-5,html[data-netbox-color-mode=dark] .px-lg-5,html[data-netbox-color-mode=light] .px-lg-5{padding-right:3rem!important;padding-left:3rem!important}html .py-lg-0,html[data-netbox-color-mode=dark] .py-lg-0,html[data-netbox-color-mode=light] .py-lg-0{padding-top:0!important;padding-bottom:0!important}html .py-lg-1,html[data-netbox-color-mode=dark] .py-lg-1,html[data-netbox-color-mode=light] .py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-lg-2,html[data-netbox-color-mode=dark] .py-lg-2,html[data-netbox-color-mode=light] .py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-lg-3,html[data-netbox-color-mode=dark] .py-lg-3,html[data-netbox-color-mode=light] .py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-lg-4,html[data-netbox-color-mode=dark] .py-lg-4,html[data-netbox-color-mode=light] .py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-lg-5,html[data-netbox-color-mode=dark] .py-lg-5,html[data-netbox-color-mode=light] .py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-lg-0,html[data-netbox-color-mode=dark] .pt-lg-0,html[data-netbox-color-mode=light] .pt-lg-0{padding-top:0!important}html .pt-lg-1,html[data-netbox-color-mode=dark] .pt-lg-1,html[data-netbox-color-mode=light] .pt-lg-1{padding-top:.25rem!important}html .pt-lg-2,html[data-netbox-color-mode=dark] .pt-lg-2,html[data-netbox-color-mode=light] .pt-lg-2{padding-top:.5rem!important}html .pt-lg-3,html[data-netbox-color-mode=dark] .pt-lg-3,html[data-netbox-color-mode=light] .pt-lg-3{padding-top:1rem!important}html .pt-lg-4,html[data-netbox-color-mode=dark] .pt-lg-4,html[data-netbox-color-mode=light] .pt-lg-4{padding-top:1.5rem!important}html .pt-lg-5,html[data-netbox-color-mode=dark] .pt-lg-5,html[data-netbox-color-mode=light] .pt-lg-5{padding-top:3rem!important}html .pe-lg-0,html[data-netbox-color-mode=dark] .pe-lg-0,html[data-netbox-color-mode=light] .pe-lg-0{padding-right:0!important}html .pe-lg-1,html[data-netbox-color-mode=dark] .pe-lg-1,html[data-netbox-color-mode=light] .pe-lg-1{padding-right:.25rem!important}html .pe-lg-2,html[data-netbox-color-mode=dark] .pe-lg-2,html[data-netbox-color-mode=light] .pe-lg-2{padding-right:.5rem!important}html .pe-lg-3,html[data-netbox-color-mode=dark] .pe-lg-3,html[data-netbox-color-mode=light] .pe-lg-3{padding-right:1rem!important}html .pe-lg-4,html[data-netbox-color-mode=dark] .pe-lg-4,html[data-netbox-color-mode=light] .pe-lg-4{padding-right:1.5rem!important}html .pe-lg-5,html[data-netbox-color-mode=dark] .pe-lg-5,html[data-netbox-color-mode=light] .pe-lg-5{padding-right:3rem!important}html .pb-lg-0,html[data-netbox-color-mode=dark] .pb-lg-0,html[data-netbox-color-mode=light] .pb-lg-0{padding-bottom:0!important}html .pb-lg-1,html[data-netbox-color-mode=dark] .pb-lg-1,html[data-netbox-color-mode=light] .pb-lg-1{padding-bottom:.25rem!important}html .pb-lg-2,html[data-netbox-color-mode=dark] .pb-lg-2,html[data-netbox-color-mode=light] .pb-lg-2{padding-bottom:.5rem!important}html .pb-lg-3,html[data-netbox-color-mode=dark] .pb-lg-3,html[data-netbox-color-mode=light] .pb-lg-3{padding-bottom:1rem!important}html .pb-lg-4,html[data-netbox-color-mode=dark] .pb-lg-4,html[data-netbox-color-mode=light] .pb-lg-4{padding-bottom:1.5rem!important}html .pb-lg-5,html[data-netbox-color-mode=dark] .pb-lg-5,html[data-netbox-color-mode=light] .pb-lg-5{padding-bottom:3rem!important}html .ps-lg-0,html[data-netbox-color-mode=dark] .ps-lg-0,html[data-netbox-color-mode=light] .ps-lg-0{padding-left:0!important}html .ps-lg-1,html[data-netbox-color-mode=dark] .ps-lg-1,html[data-netbox-color-mode=light] .ps-lg-1{padding-left:.25rem!important}html .ps-lg-2,html[data-netbox-color-mode=dark] .ps-lg-2,html[data-netbox-color-mode=light] .ps-lg-2{padding-left:.5rem!important}html .ps-lg-3,html[data-netbox-color-mode=dark] .ps-lg-3,html[data-netbox-color-mode=light] .ps-lg-3{padding-left:1rem!important}html .ps-lg-4,html[data-netbox-color-mode=dark] .ps-lg-4,html[data-netbox-color-mode=light] .ps-lg-4{padding-left:1.5rem!important}html .ps-lg-5,html[data-netbox-color-mode=dark] .ps-lg-5,html[data-netbox-color-mode=light] .ps-lg-5{padding-left:3rem!important}html .text-lg-start,html[data-netbox-color-mode=dark] .text-lg-start,html[data-netbox-color-mode=light] .text-lg-start{text-align:left!important}html .text-lg-end,html[data-netbox-color-mode=dark] .text-lg-end,html[data-netbox-color-mode=light] .text-lg-end{text-align:right!important}html .text-lg-center,html[data-netbox-color-mode=dark] .text-lg-center,html[data-netbox-color-mode=light] .text-lg-center{text-align:center!important}}@media print and (min-width: 1200px){html .float-xl-start,html[data-netbox-color-mode=dark] .float-xl-start,html[data-netbox-color-mode=light] .float-xl-start{float:left!important}html .float-xl-end,html[data-netbox-color-mode=dark] .float-xl-end,html[data-netbox-color-mode=light] .float-xl-end{float:right!important}html .float-xl-none,html[data-netbox-color-mode=dark] .float-xl-none,html[data-netbox-color-mode=light] .float-xl-none{float:none!important}html .d-xl-inline,html[data-netbox-color-mode=dark] .d-xl-inline,html[data-netbox-color-mode=light] .d-xl-inline{display:inline!important}html .d-xl-inline-block,html[data-netbox-color-mode=dark] .d-xl-inline-block,html[data-netbox-color-mode=light] .d-xl-inline-block{display:inline-block!important}html .d-xl-block,html[data-netbox-color-mode=dark] .d-xl-block,html[data-netbox-color-mode=light] .d-xl-block{display:block!important}html .d-xl-grid,html[data-netbox-color-mode=dark] .d-xl-grid,html[data-netbox-color-mode=light] .d-xl-grid{display:grid!important}html .d-xl-table,html[data-netbox-color-mode=dark] .d-xl-table,html[data-netbox-color-mode=light] .d-xl-table{display:table!important}html .d-xl-table-row,html[data-netbox-color-mode=dark] .d-xl-table-row,html[data-netbox-color-mode=light] .d-xl-table-row{display:table-row!important}html .d-xl-table-cell,html[data-netbox-color-mode=dark] .d-xl-table-cell,html[data-netbox-color-mode=light] .d-xl-table-cell{display:table-cell!important}html .d-xl-flex,html[data-netbox-color-mode=dark] .d-xl-flex,html[data-netbox-color-mode=light] .d-xl-flex{display:flex!important}html .d-xl-inline-flex,html[data-netbox-color-mode=dark] .d-xl-inline-flex,html[data-netbox-color-mode=light] .d-xl-inline-flex{display:inline-flex!important}html .d-xl-none,html[data-netbox-color-mode=dark] .d-xl-none,html[data-netbox-color-mode=light] .d-xl-none{display:none!important}html .flex-xl-fill,html[data-netbox-color-mode=dark] .flex-xl-fill,html[data-netbox-color-mode=light] .flex-xl-fill{flex:1 1 auto!important}html .flex-xl-row,html[data-netbox-color-mode=dark] .flex-xl-row,html[data-netbox-color-mode=light] .flex-xl-row{flex-direction:row!important}html .flex-xl-column,html[data-netbox-color-mode=dark] .flex-xl-column,html[data-netbox-color-mode=light] .flex-xl-column{flex-direction:column!important}html .flex-xl-row-reverse,html[data-netbox-color-mode=dark] .flex-xl-row-reverse,html[data-netbox-color-mode=light] .flex-xl-row-reverse{flex-direction:row-reverse!important}html .flex-xl-column-reverse,html[data-netbox-color-mode=dark] .flex-xl-column-reverse,html[data-netbox-color-mode=light] .flex-xl-column-reverse{flex-direction:column-reverse!important}html .flex-xl-grow-0,html[data-netbox-color-mode=dark] .flex-xl-grow-0,html[data-netbox-color-mode=light] .flex-xl-grow-0{flex-grow:0!important}html .flex-xl-grow-1,html[data-netbox-color-mode=dark] .flex-xl-grow-1,html[data-netbox-color-mode=light] .flex-xl-grow-1{flex-grow:1!important}html .flex-xl-shrink-0,html[data-netbox-color-mode=dark] .flex-xl-shrink-0,html[data-netbox-color-mode=light] .flex-xl-shrink-0{flex-shrink:0!important}html .flex-xl-shrink-1,html[data-netbox-color-mode=dark] .flex-xl-shrink-1,html[data-netbox-color-mode=light] .flex-xl-shrink-1{flex-shrink:1!important}html .flex-xl-wrap,html[data-netbox-color-mode=dark] .flex-xl-wrap,html[data-netbox-color-mode=light] .flex-xl-wrap{flex-wrap:wrap!important}html .flex-xl-nowrap,html[data-netbox-color-mode=dark] .flex-xl-nowrap,html[data-netbox-color-mode=light] .flex-xl-nowrap{flex-wrap:nowrap!important}html .flex-xl-wrap-reverse,html[data-netbox-color-mode=dark] .flex-xl-wrap-reverse,html[data-netbox-color-mode=light] .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-xl-0,html[data-netbox-color-mode=dark] .gap-xl-0,html[data-netbox-color-mode=light] .gap-xl-0{gap:0!important}html .gap-xl-1,html[data-netbox-color-mode=dark] .gap-xl-1,html[data-netbox-color-mode=light] .gap-xl-1{gap:.25rem!important}html .gap-xl-2,html[data-netbox-color-mode=dark] .gap-xl-2,html[data-netbox-color-mode=light] .gap-xl-2{gap:.5rem!important}html .gap-xl-3,html[data-netbox-color-mode=dark] .gap-xl-3,html[data-netbox-color-mode=light] .gap-xl-3{gap:1rem!important}html .gap-xl-4,html[data-netbox-color-mode=dark] .gap-xl-4,html[data-netbox-color-mode=light] .gap-xl-4{gap:1.5rem!important}html .gap-xl-5,html[data-netbox-color-mode=dark] .gap-xl-5,html[data-netbox-color-mode=light] .gap-xl-5{gap:3rem!important}html .justify-content-xl-start,html[data-netbox-color-mode=dark] .justify-content-xl-start,html[data-netbox-color-mode=light] .justify-content-xl-start{justify-content:flex-start!important}html .justify-content-xl-end,html[data-netbox-color-mode=dark] .justify-content-xl-end,html[data-netbox-color-mode=light] .justify-content-xl-end{justify-content:flex-end!important}html .justify-content-xl-center,html[data-netbox-color-mode=dark] .justify-content-xl-center,html[data-netbox-color-mode=light] .justify-content-xl-center{justify-content:center!important}html .justify-content-xl-between,html[data-netbox-color-mode=dark] .justify-content-xl-between,html[data-netbox-color-mode=light] .justify-content-xl-between{justify-content:space-between!important}html .justify-content-xl-around,html[data-netbox-color-mode=dark] .justify-content-xl-around,html[data-netbox-color-mode=light] .justify-content-xl-around{justify-content:space-around!important}html .justify-content-xl-evenly,html[data-netbox-color-mode=dark] .justify-content-xl-evenly,html[data-netbox-color-mode=light] .justify-content-xl-evenly{justify-content:space-evenly!important}html .align-items-xl-start,html[data-netbox-color-mode=dark] .align-items-xl-start,html[data-netbox-color-mode=light] .align-items-xl-start{align-items:flex-start!important}html .align-items-xl-end,html[data-netbox-color-mode=dark] .align-items-xl-end,html[data-netbox-color-mode=light] .align-items-xl-end{align-items:flex-end!important}html .align-items-xl-center,html[data-netbox-color-mode=dark] .align-items-xl-center,html[data-netbox-color-mode=light] .align-items-xl-center{align-items:center!important}html .align-items-xl-baseline,html[data-netbox-color-mode=dark] .align-items-xl-baseline,html[data-netbox-color-mode=light] .align-items-xl-baseline{align-items:baseline!important}html .align-items-xl-stretch,html[data-netbox-color-mode=dark] .align-items-xl-stretch,html[data-netbox-color-mode=light] .align-items-xl-stretch{align-items:stretch!important}html .align-content-xl-start,html[data-netbox-color-mode=dark] .align-content-xl-start,html[data-netbox-color-mode=light] .align-content-xl-start{align-content:flex-start!important}html .align-content-xl-end,html[data-netbox-color-mode=dark] .align-content-xl-end,html[data-netbox-color-mode=light] .align-content-xl-end{align-content:flex-end!important}html .align-content-xl-center,html[data-netbox-color-mode=dark] .align-content-xl-center,html[data-netbox-color-mode=light] .align-content-xl-center{align-content:center!important}html .align-content-xl-between,html[data-netbox-color-mode=dark] .align-content-xl-between,html[data-netbox-color-mode=light] .align-content-xl-between{align-content:space-between!important}html .align-content-xl-around,html[data-netbox-color-mode=dark] .align-content-xl-around,html[data-netbox-color-mode=light] .align-content-xl-around{align-content:space-around!important}html .align-content-xl-stretch,html[data-netbox-color-mode=dark] .align-content-xl-stretch,html[data-netbox-color-mode=light] .align-content-xl-stretch{align-content:stretch!important}html .align-self-xl-auto,html[data-netbox-color-mode=dark] .align-self-xl-auto,html[data-netbox-color-mode=light] .align-self-xl-auto{align-self:auto!important}html .align-self-xl-start,html[data-netbox-color-mode=dark] .align-self-xl-start,html[data-netbox-color-mode=light] .align-self-xl-start{align-self:flex-start!important}html .align-self-xl-end,html[data-netbox-color-mode=dark] .align-self-xl-end,html[data-netbox-color-mode=light] .align-self-xl-end{align-self:flex-end!important}html .align-self-xl-center,html[data-netbox-color-mode=dark] .align-self-xl-center,html[data-netbox-color-mode=light] .align-self-xl-center{align-self:center!important}html .align-self-xl-baseline,html[data-netbox-color-mode=dark] .align-self-xl-baseline,html[data-netbox-color-mode=light] .align-self-xl-baseline{align-self:baseline!important}html .align-self-xl-stretch,html[data-netbox-color-mode=dark] .align-self-xl-stretch,html[data-netbox-color-mode=light] .align-self-xl-stretch{align-self:stretch!important}html .order-xl-first,html[data-netbox-color-mode=dark] .order-xl-first,html[data-netbox-color-mode=light] .order-xl-first{order:-1!important}html .order-xl-0,html[data-netbox-color-mode=dark] .order-xl-0,html[data-netbox-color-mode=light] .order-xl-0{order:0!important}html .order-xl-1,html[data-netbox-color-mode=dark] .order-xl-1,html[data-netbox-color-mode=light] .order-xl-1{order:1!important}html .order-xl-2,html[data-netbox-color-mode=dark] .order-xl-2,html[data-netbox-color-mode=light] .order-xl-2{order:2!important}html .order-xl-3,html[data-netbox-color-mode=dark] .order-xl-3,html[data-netbox-color-mode=light] .order-xl-3{order:3!important}html .order-xl-4,html[data-netbox-color-mode=dark] .order-xl-4,html[data-netbox-color-mode=light] .order-xl-4{order:4!important}html .order-xl-5,html[data-netbox-color-mode=dark] .order-xl-5,html[data-netbox-color-mode=light] .order-xl-5{order:5!important}html .order-xl-last,html[data-netbox-color-mode=dark] .order-xl-last,html[data-netbox-color-mode=light] .order-xl-last{order:6!important}html .m-xl-0,html[data-netbox-color-mode=dark] .m-xl-0,html[data-netbox-color-mode=light] .m-xl-0{margin:0!important}html .m-xl-1,html[data-netbox-color-mode=dark] .m-xl-1,html[data-netbox-color-mode=light] .m-xl-1{margin:.25rem!important}html .m-xl-2,html[data-netbox-color-mode=dark] .m-xl-2,html[data-netbox-color-mode=light] .m-xl-2{margin:.5rem!important}html .m-xl-3,html[data-netbox-color-mode=dark] .m-xl-3,html[data-netbox-color-mode=light] .m-xl-3{margin:1rem!important}html .m-xl-4,html[data-netbox-color-mode=dark] .m-xl-4,html[data-netbox-color-mode=light] .m-xl-4{margin:1.5rem!important}html .m-xl-5,html[data-netbox-color-mode=dark] .m-xl-5,html[data-netbox-color-mode=light] .m-xl-5{margin:3rem!important}html .m-xl-auto,html[data-netbox-color-mode=dark] .m-xl-auto,html[data-netbox-color-mode=light] .m-xl-auto{margin:auto!important}html .mx-xl-0,html[data-netbox-color-mode=dark] .mx-xl-0,html[data-netbox-color-mode=light] .mx-xl-0{margin-right:0!important;margin-left:0!important}html .mx-xl-1,html[data-netbox-color-mode=dark] .mx-xl-1,html[data-netbox-color-mode=light] .mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-xl-2,html[data-netbox-color-mode=dark] .mx-xl-2,html[data-netbox-color-mode=light] .mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-xl-3,html[data-netbox-color-mode=dark] .mx-xl-3,html[data-netbox-color-mode=light] .mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-xl-4,html[data-netbox-color-mode=dark] .mx-xl-4,html[data-netbox-color-mode=light] .mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-xl-5,html[data-netbox-color-mode=dark] .mx-xl-5,html[data-netbox-color-mode=light] .mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-xl-auto,html[data-netbox-color-mode=dark] .mx-xl-auto,html[data-netbox-color-mode=light] .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}html .my-xl-0,html[data-netbox-color-mode=dark] .my-xl-0,html[data-netbox-color-mode=light] .my-xl-0{margin-top:0!important;margin-bottom:0!important}html .my-xl-1,html[data-netbox-color-mode=dark] .my-xl-1,html[data-netbox-color-mode=light] .my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-xl-2,html[data-netbox-color-mode=dark] .my-xl-2,html[data-netbox-color-mode=light] .my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-xl-3,html[data-netbox-color-mode=dark] .my-xl-3,html[data-netbox-color-mode=light] .my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-xl-4,html[data-netbox-color-mode=dark] .my-xl-4,html[data-netbox-color-mode=light] .my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-xl-5,html[data-netbox-color-mode=dark] .my-xl-5,html[data-netbox-color-mode=light] .my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-xl-auto,html[data-netbox-color-mode=dark] .my-xl-auto,html[data-netbox-color-mode=light] .my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-xl-0,html[data-netbox-color-mode=dark] .mt-xl-0,html[data-netbox-color-mode=light] .mt-xl-0{margin-top:0!important}html .mt-xl-1,html[data-netbox-color-mode=dark] .mt-xl-1,html[data-netbox-color-mode=light] .mt-xl-1{margin-top:.25rem!important}html .mt-xl-2,html[data-netbox-color-mode=dark] .mt-xl-2,html[data-netbox-color-mode=light] .mt-xl-2{margin-top:.5rem!important}html .mt-xl-3,html[data-netbox-color-mode=dark] .mt-xl-3,html[data-netbox-color-mode=light] .mt-xl-3{margin-top:1rem!important}html .mt-xl-4,html[data-netbox-color-mode=dark] .mt-xl-4,html[data-netbox-color-mode=light] .mt-xl-4{margin-top:1.5rem!important}html .mt-xl-5,html[data-netbox-color-mode=dark] .mt-xl-5,html[data-netbox-color-mode=light] .mt-xl-5{margin-top:3rem!important}html .mt-xl-auto,html[data-netbox-color-mode=dark] .mt-xl-auto,html[data-netbox-color-mode=light] .mt-xl-auto{margin-top:auto!important}html .me-xl-0,html[data-netbox-color-mode=dark] .me-xl-0,html[data-netbox-color-mode=light] .me-xl-0{margin-right:0!important}html .me-xl-1,html[data-netbox-color-mode=dark] .me-xl-1,html[data-netbox-color-mode=light] .me-xl-1{margin-right:.25rem!important}html .me-xl-2,html[data-netbox-color-mode=dark] .me-xl-2,html[data-netbox-color-mode=light] .me-xl-2{margin-right:.5rem!important}html .me-xl-3,html[data-netbox-color-mode=dark] .me-xl-3,html[data-netbox-color-mode=light] .me-xl-3{margin-right:1rem!important}html .me-xl-4,html[data-netbox-color-mode=dark] .me-xl-4,html[data-netbox-color-mode=light] .me-xl-4{margin-right:1.5rem!important}html .me-xl-5,html[data-netbox-color-mode=dark] .me-xl-5,html[data-netbox-color-mode=light] .me-xl-5{margin-right:3rem!important}html .me-xl-auto,html[data-netbox-color-mode=dark] .me-xl-auto,html[data-netbox-color-mode=light] .me-xl-auto{margin-right:auto!important}html .mb-xl-0,html[data-netbox-color-mode=dark] .mb-xl-0,html[data-netbox-color-mode=light] .mb-xl-0{margin-bottom:0!important}html .mb-xl-1,html[data-netbox-color-mode=dark] .mb-xl-1,html[data-netbox-color-mode=light] .mb-xl-1{margin-bottom:.25rem!important}html .mb-xl-2,html[data-netbox-color-mode=dark] .mb-xl-2,html[data-netbox-color-mode=light] .mb-xl-2{margin-bottom:.5rem!important}html .mb-xl-3,html[data-netbox-color-mode=dark] .mb-xl-3,html[data-netbox-color-mode=light] .mb-xl-3{margin-bottom:1rem!important}html .mb-xl-4,html[data-netbox-color-mode=dark] .mb-xl-4,html[data-netbox-color-mode=light] .mb-xl-4{margin-bottom:1.5rem!important}html .mb-xl-5,html[data-netbox-color-mode=dark] .mb-xl-5,html[data-netbox-color-mode=light] .mb-xl-5{margin-bottom:3rem!important}html .mb-xl-auto,html[data-netbox-color-mode=dark] .mb-xl-auto,html[data-netbox-color-mode=light] .mb-xl-auto{margin-bottom:auto!important}html .ms-xl-0,html[data-netbox-color-mode=dark] .ms-xl-0,html[data-netbox-color-mode=light] .ms-xl-0{margin-left:0!important}html .ms-xl-1,html[data-netbox-color-mode=dark] .ms-xl-1,html[data-netbox-color-mode=light] .ms-xl-1{margin-left:.25rem!important}html .ms-xl-2,html[data-netbox-color-mode=dark] .ms-xl-2,html[data-netbox-color-mode=light] .ms-xl-2{margin-left:.5rem!important}html .ms-xl-3,html[data-netbox-color-mode=dark] .ms-xl-3,html[data-netbox-color-mode=light] .ms-xl-3{margin-left:1rem!important}html .ms-xl-4,html[data-netbox-color-mode=dark] .ms-xl-4,html[data-netbox-color-mode=light] .ms-xl-4{margin-left:1.5rem!important}html .ms-xl-5,html[data-netbox-color-mode=dark] .ms-xl-5,html[data-netbox-color-mode=light] .ms-xl-5{margin-left:3rem!important}html .ms-xl-auto,html[data-netbox-color-mode=dark] .ms-xl-auto,html[data-netbox-color-mode=light] .ms-xl-auto{margin-left:auto!important}html .p-xl-0,html[data-netbox-color-mode=dark] .p-xl-0,html[data-netbox-color-mode=light] .p-xl-0{padding:0!important}html .p-xl-1,html[data-netbox-color-mode=dark] .p-xl-1,html[data-netbox-color-mode=light] .p-xl-1{padding:.25rem!important}html .p-xl-2,html[data-netbox-color-mode=dark] .p-xl-2,html[data-netbox-color-mode=light] .p-xl-2{padding:.5rem!important}html .p-xl-3,html[data-netbox-color-mode=dark] .p-xl-3,html[data-netbox-color-mode=light] .p-xl-3{padding:1rem!important}html .p-xl-4,html[data-netbox-color-mode=dark] .p-xl-4,html[data-netbox-color-mode=light] .p-xl-4{padding:1.5rem!important}html .p-xl-5,html[data-netbox-color-mode=dark] .p-xl-5,html[data-netbox-color-mode=light] .p-xl-5{padding:3rem!important}html .px-xl-0,html[data-netbox-color-mode=dark] .px-xl-0,html[data-netbox-color-mode=light] .px-xl-0{padding-right:0!important;padding-left:0!important}html .px-xl-1,html[data-netbox-color-mode=dark] .px-xl-1,html[data-netbox-color-mode=light] .px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-xl-2,html[data-netbox-color-mode=dark] .px-xl-2,html[data-netbox-color-mode=light] .px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-xl-3,html[data-netbox-color-mode=dark] .px-xl-3,html[data-netbox-color-mode=light] .px-xl-3{padding-right:1rem!important;padding-left:1rem!important}html .px-xl-4,html[data-netbox-color-mode=dark] .px-xl-4,html[data-netbox-color-mode=light] .px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-xl-5,html[data-netbox-color-mode=dark] .px-xl-5,html[data-netbox-color-mode=light] .px-xl-5{padding-right:3rem!important;padding-left:3rem!important}html .py-xl-0,html[data-netbox-color-mode=dark] .py-xl-0,html[data-netbox-color-mode=light] .py-xl-0{padding-top:0!important;padding-bottom:0!important}html .py-xl-1,html[data-netbox-color-mode=dark] .py-xl-1,html[data-netbox-color-mode=light] .py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-xl-2,html[data-netbox-color-mode=dark] .py-xl-2,html[data-netbox-color-mode=light] .py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-xl-3,html[data-netbox-color-mode=dark] .py-xl-3,html[data-netbox-color-mode=light] .py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-xl-4,html[data-netbox-color-mode=dark] .py-xl-4,html[data-netbox-color-mode=light] .py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-xl-5,html[data-netbox-color-mode=dark] .py-xl-5,html[data-netbox-color-mode=light] .py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-xl-0,html[data-netbox-color-mode=dark] .pt-xl-0,html[data-netbox-color-mode=light] .pt-xl-0{padding-top:0!important}html .pt-xl-1,html[data-netbox-color-mode=dark] .pt-xl-1,html[data-netbox-color-mode=light] .pt-xl-1{padding-top:.25rem!important}html .pt-xl-2,html[data-netbox-color-mode=dark] .pt-xl-2,html[data-netbox-color-mode=light] .pt-xl-2{padding-top:.5rem!important}html .pt-xl-3,html[data-netbox-color-mode=dark] .pt-xl-3,html[data-netbox-color-mode=light] .pt-xl-3{padding-top:1rem!important}html .pt-xl-4,html[data-netbox-color-mode=dark] .pt-xl-4,html[data-netbox-color-mode=light] .pt-xl-4{padding-top:1.5rem!important}html .pt-xl-5,html[data-netbox-color-mode=dark] .pt-xl-5,html[data-netbox-color-mode=light] .pt-xl-5{padding-top:3rem!important}html .pe-xl-0,html[data-netbox-color-mode=dark] .pe-xl-0,html[data-netbox-color-mode=light] .pe-xl-0{padding-right:0!important}html .pe-xl-1,html[data-netbox-color-mode=dark] .pe-xl-1,html[data-netbox-color-mode=light] .pe-xl-1{padding-right:.25rem!important}html .pe-xl-2,html[data-netbox-color-mode=dark] .pe-xl-2,html[data-netbox-color-mode=light] .pe-xl-2{padding-right:.5rem!important}html .pe-xl-3,html[data-netbox-color-mode=dark] .pe-xl-3,html[data-netbox-color-mode=light] .pe-xl-3{padding-right:1rem!important}html .pe-xl-4,html[data-netbox-color-mode=dark] .pe-xl-4,html[data-netbox-color-mode=light] .pe-xl-4{padding-right:1.5rem!important}html .pe-xl-5,html[data-netbox-color-mode=dark] .pe-xl-5,html[data-netbox-color-mode=light] .pe-xl-5{padding-right:3rem!important}html .pb-xl-0,html[data-netbox-color-mode=dark] .pb-xl-0,html[data-netbox-color-mode=light] .pb-xl-0{padding-bottom:0!important}html .pb-xl-1,html[data-netbox-color-mode=dark] .pb-xl-1,html[data-netbox-color-mode=light] .pb-xl-1{padding-bottom:.25rem!important}html .pb-xl-2,html[data-netbox-color-mode=dark] .pb-xl-2,html[data-netbox-color-mode=light] .pb-xl-2{padding-bottom:.5rem!important}html .pb-xl-3,html[data-netbox-color-mode=dark] .pb-xl-3,html[data-netbox-color-mode=light] .pb-xl-3{padding-bottom:1rem!important}html .pb-xl-4,html[data-netbox-color-mode=dark] .pb-xl-4,html[data-netbox-color-mode=light] .pb-xl-4{padding-bottom:1.5rem!important}html .pb-xl-5,html[data-netbox-color-mode=dark] .pb-xl-5,html[data-netbox-color-mode=light] .pb-xl-5{padding-bottom:3rem!important}html .ps-xl-0,html[data-netbox-color-mode=dark] .ps-xl-0,html[data-netbox-color-mode=light] .ps-xl-0{padding-left:0!important}html .ps-xl-1,html[data-netbox-color-mode=dark] .ps-xl-1,html[data-netbox-color-mode=light] .ps-xl-1{padding-left:.25rem!important}html .ps-xl-2,html[data-netbox-color-mode=dark] .ps-xl-2,html[data-netbox-color-mode=light] .ps-xl-2{padding-left:.5rem!important}html .ps-xl-3,html[data-netbox-color-mode=dark] .ps-xl-3,html[data-netbox-color-mode=light] .ps-xl-3{padding-left:1rem!important}html .ps-xl-4,html[data-netbox-color-mode=dark] .ps-xl-4,html[data-netbox-color-mode=light] .ps-xl-4{padding-left:1.5rem!important}html .ps-xl-5,html[data-netbox-color-mode=dark] .ps-xl-5,html[data-netbox-color-mode=light] .ps-xl-5{padding-left:3rem!important}html .text-xl-start,html[data-netbox-color-mode=dark] .text-xl-start,html[data-netbox-color-mode=light] .text-xl-start{text-align:left!important}html .text-xl-end,html[data-netbox-color-mode=dark] .text-xl-end,html[data-netbox-color-mode=light] .text-xl-end{text-align:right!important}html .text-xl-center,html[data-netbox-color-mode=dark] .text-xl-center,html[data-netbox-color-mode=light] .text-xl-center{text-align:center!important}}@media print and (min-width: 1400px){html .float-xxl-start,html[data-netbox-color-mode=dark] .float-xxl-start,html[data-netbox-color-mode=light] .float-xxl-start{float:left!important}html .float-xxl-end,html[data-netbox-color-mode=dark] .float-xxl-end,html[data-netbox-color-mode=light] .float-xxl-end{float:right!important}html .float-xxl-none,html[data-netbox-color-mode=dark] .float-xxl-none,html[data-netbox-color-mode=light] .float-xxl-none{float:none!important}html .d-xxl-inline,html[data-netbox-color-mode=dark] .d-xxl-inline,html[data-netbox-color-mode=light] .d-xxl-inline{display:inline!important}html .d-xxl-inline-block,html[data-netbox-color-mode=dark] .d-xxl-inline-block,html[data-netbox-color-mode=light] .d-xxl-inline-block{display:inline-block!important}html .d-xxl-block,html[data-netbox-color-mode=dark] .d-xxl-block,html[data-netbox-color-mode=light] .d-xxl-block{display:block!important}html .d-xxl-grid,html[data-netbox-color-mode=dark] .d-xxl-grid,html[data-netbox-color-mode=light] .d-xxl-grid{display:grid!important}html .d-xxl-table,html[data-netbox-color-mode=dark] .d-xxl-table,html[data-netbox-color-mode=light] .d-xxl-table{display:table!important}html .d-xxl-table-row,html[data-netbox-color-mode=dark] .d-xxl-table-row,html[data-netbox-color-mode=light] .d-xxl-table-row{display:table-row!important}html .d-xxl-table-cell,html[data-netbox-color-mode=dark] .d-xxl-table-cell,html[data-netbox-color-mode=light] .d-xxl-table-cell{display:table-cell!important}html .d-xxl-flex,html[data-netbox-color-mode=dark] .d-xxl-flex,html[data-netbox-color-mode=light] .d-xxl-flex{display:flex!important}html .d-xxl-inline-flex,html[data-netbox-color-mode=dark] .d-xxl-inline-flex,html[data-netbox-color-mode=light] .d-xxl-inline-flex{display:inline-flex!important}html .d-xxl-none,html[data-netbox-color-mode=dark] .d-xxl-none,html[data-netbox-color-mode=light] .d-xxl-none{display:none!important}html .flex-xxl-fill,html[data-netbox-color-mode=dark] .flex-xxl-fill,html[data-netbox-color-mode=light] .flex-xxl-fill{flex:1 1 auto!important}html .flex-xxl-row,html[data-netbox-color-mode=dark] .flex-xxl-row,html[data-netbox-color-mode=light] .flex-xxl-row{flex-direction:row!important}html .flex-xxl-column,html[data-netbox-color-mode=dark] .flex-xxl-column,html[data-netbox-color-mode=light] .flex-xxl-column{flex-direction:column!important}html .flex-xxl-row-reverse,html[data-netbox-color-mode=dark] .flex-xxl-row-reverse,html[data-netbox-color-mode=light] .flex-xxl-row-reverse{flex-direction:row-reverse!important}html .flex-xxl-column-reverse,html[data-netbox-color-mode=dark] .flex-xxl-column-reverse,html[data-netbox-color-mode=light] .flex-xxl-column-reverse{flex-direction:column-reverse!important}html .flex-xxl-grow-0,html[data-netbox-color-mode=dark] .flex-xxl-grow-0,html[data-netbox-color-mode=light] .flex-xxl-grow-0{flex-grow:0!important}html .flex-xxl-grow-1,html[data-netbox-color-mode=dark] .flex-xxl-grow-1,html[data-netbox-color-mode=light] .flex-xxl-grow-1{flex-grow:1!important}html .flex-xxl-shrink-0,html[data-netbox-color-mode=dark] .flex-xxl-shrink-0,html[data-netbox-color-mode=light] .flex-xxl-shrink-0{flex-shrink:0!important}html .flex-xxl-shrink-1,html[data-netbox-color-mode=dark] .flex-xxl-shrink-1,html[data-netbox-color-mode=light] .flex-xxl-shrink-1{flex-shrink:1!important}html .flex-xxl-wrap,html[data-netbox-color-mode=dark] .flex-xxl-wrap,html[data-netbox-color-mode=light] .flex-xxl-wrap{flex-wrap:wrap!important}html .flex-xxl-nowrap,html[data-netbox-color-mode=dark] .flex-xxl-nowrap,html[data-netbox-color-mode=light] .flex-xxl-nowrap{flex-wrap:nowrap!important}html .flex-xxl-wrap-reverse,html[data-netbox-color-mode=dark] .flex-xxl-wrap-reverse,html[data-netbox-color-mode=light] .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}html .gap-xxl-0,html[data-netbox-color-mode=dark] .gap-xxl-0,html[data-netbox-color-mode=light] .gap-xxl-0{gap:0!important}html .gap-xxl-1,html[data-netbox-color-mode=dark] .gap-xxl-1,html[data-netbox-color-mode=light] .gap-xxl-1{gap:.25rem!important}html .gap-xxl-2,html[data-netbox-color-mode=dark] .gap-xxl-2,html[data-netbox-color-mode=light] .gap-xxl-2{gap:.5rem!important}html .gap-xxl-3,html[data-netbox-color-mode=dark] .gap-xxl-3,html[data-netbox-color-mode=light] .gap-xxl-3{gap:1rem!important}html .gap-xxl-4,html[data-netbox-color-mode=dark] .gap-xxl-4,html[data-netbox-color-mode=light] .gap-xxl-4{gap:1.5rem!important}html .gap-xxl-5,html[data-netbox-color-mode=dark] .gap-xxl-5,html[data-netbox-color-mode=light] .gap-xxl-5{gap:3rem!important}html .justify-content-xxl-start,html[data-netbox-color-mode=dark] .justify-content-xxl-start,html[data-netbox-color-mode=light] .justify-content-xxl-start{justify-content:flex-start!important}html .justify-content-xxl-end,html[data-netbox-color-mode=dark] .justify-content-xxl-end,html[data-netbox-color-mode=light] .justify-content-xxl-end{justify-content:flex-end!important}html .justify-content-xxl-center,html[data-netbox-color-mode=dark] .justify-content-xxl-center,html[data-netbox-color-mode=light] .justify-content-xxl-center{justify-content:center!important}html .justify-content-xxl-between,html[data-netbox-color-mode=dark] .justify-content-xxl-between,html[data-netbox-color-mode=light] .justify-content-xxl-between{justify-content:space-between!important}html .justify-content-xxl-around,html[data-netbox-color-mode=dark] .justify-content-xxl-around,html[data-netbox-color-mode=light] .justify-content-xxl-around{justify-content:space-around!important}html .justify-content-xxl-evenly,html[data-netbox-color-mode=dark] .justify-content-xxl-evenly,html[data-netbox-color-mode=light] .justify-content-xxl-evenly{justify-content:space-evenly!important}html .align-items-xxl-start,html[data-netbox-color-mode=dark] .align-items-xxl-start,html[data-netbox-color-mode=light] .align-items-xxl-start{align-items:flex-start!important}html .align-items-xxl-end,html[data-netbox-color-mode=dark] .align-items-xxl-end,html[data-netbox-color-mode=light] .align-items-xxl-end{align-items:flex-end!important}html .align-items-xxl-center,html[data-netbox-color-mode=dark] .align-items-xxl-center,html[data-netbox-color-mode=light] .align-items-xxl-center{align-items:center!important}html .align-items-xxl-baseline,html[data-netbox-color-mode=dark] .align-items-xxl-baseline,html[data-netbox-color-mode=light] .align-items-xxl-baseline{align-items:baseline!important}html .align-items-xxl-stretch,html[data-netbox-color-mode=dark] .align-items-xxl-stretch,html[data-netbox-color-mode=light] .align-items-xxl-stretch{align-items:stretch!important}html .align-content-xxl-start,html[data-netbox-color-mode=dark] .align-content-xxl-start,html[data-netbox-color-mode=light] .align-content-xxl-start{align-content:flex-start!important}html .align-content-xxl-end,html[data-netbox-color-mode=dark] .align-content-xxl-end,html[data-netbox-color-mode=light] .align-content-xxl-end{align-content:flex-end!important}html .align-content-xxl-center,html[data-netbox-color-mode=dark] .align-content-xxl-center,html[data-netbox-color-mode=light] .align-content-xxl-center{align-content:center!important}html .align-content-xxl-between,html[data-netbox-color-mode=dark] .align-content-xxl-between,html[data-netbox-color-mode=light] .align-content-xxl-between{align-content:space-between!important}html .align-content-xxl-around,html[data-netbox-color-mode=dark] .align-content-xxl-around,html[data-netbox-color-mode=light] .align-content-xxl-around{align-content:space-around!important}html .align-content-xxl-stretch,html[data-netbox-color-mode=dark] .align-content-xxl-stretch,html[data-netbox-color-mode=light] .align-content-xxl-stretch{align-content:stretch!important}html .align-self-xxl-auto,html[data-netbox-color-mode=dark] .align-self-xxl-auto,html[data-netbox-color-mode=light] .align-self-xxl-auto{align-self:auto!important}html .align-self-xxl-start,html[data-netbox-color-mode=dark] .align-self-xxl-start,html[data-netbox-color-mode=light] .align-self-xxl-start{align-self:flex-start!important}html .align-self-xxl-end,html[data-netbox-color-mode=dark] .align-self-xxl-end,html[data-netbox-color-mode=light] .align-self-xxl-end{align-self:flex-end!important}html .align-self-xxl-center,html[data-netbox-color-mode=dark] .align-self-xxl-center,html[data-netbox-color-mode=light] .align-self-xxl-center{align-self:center!important}html .align-self-xxl-baseline,html[data-netbox-color-mode=dark] .align-self-xxl-baseline,html[data-netbox-color-mode=light] .align-self-xxl-baseline{align-self:baseline!important}html .align-self-xxl-stretch,html[data-netbox-color-mode=dark] .align-self-xxl-stretch,html[data-netbox-color-mode=light] .align-self-xxl-stretch{align-self:stretch!important}html .order-xxl-first,html[data-netbox-color-mode=dark] .order-xxl-first,html[data-netbox-color-mode=light] .order-xxl-first{order:-1!important}html .order-xxl-0,html[data-netbox-color-mode=dark] .order-xxl-0,html[data-netbox-color-mode=light] .order-xxl-0{order:0!important}html .order-xxl-1,html[data-netbox-color-mode=dark] .order-xxl-1,html[data-netbox-color-mode=light] .order-xxl-1{order:1!important}html .order-xxl-2,html[data-netbox-color-mode=dark] .order-xxl-2,html[data-netbox-color-mode=light] .order-xxl-2{order:2!important}html .order-xxl-3,html[data-netbox-color-mode=dark] .order-xxl-3,html[data-netbox-color-mode=light] .order-xxl-3{order:3!important}html .order-xxl-4,html[data-netbox-color-mode=dark] .order-xxl-4,html[data-netbox-color-mode=light] .order-xxl-4{order:4!important}html .order-xxl-5,html[data-netbox-color-mode=dark] .order-xxl-5,html[data-netbox-color-mode=light] .order-xxl-5{order:5!important}html .order-xxl-last,html[data-netbox-color-mode=dark] .order-xxl-last,html[data-netbox-color-mode=light] .order-xxl-last{order:6!important}html .m-xxl-0,html[data-netbox-color-mode=dark] .m-xxl-0,html[data-netbox-color-mode=light] .m-xxl-0{margin:0!important}html .m-xxl-1,html[data-netbox-color-mode=dark] .m-xxl-1,html[data-netbox-color-mode=light] .m-xxl-1{margin:.25rem!important}html .m-xxl-2,html[data-netbox-color-mode=dark] .m-xxl-2,html[data-netbox-color-mode=light] .m-xxl-2{margin:.5rem!important}html .m-xxl-3,html[data-netbox-color-mode=dark] .m-xxl-3,html[data-netbox-color-mode=light] .m-xxl-3{margin:1rem!important}html .m-xxl-4,html[data-netbox-color-mode=dark] .m-xxl-4,html[data-netbox-color-mode=light] .m-xxl-4{margin:1.5rem!important}html .m-xxl-5,html[data-netbox-color-mode=dark] .m-xxl-5,html[data-netbox-color-mode=light] .m-xxl-5{margin:3rem!important}html .m-xxl-auto,html[data-netbox-color-mode=dark] .m-xxl-auto,html[data-netbox-color-mode=light] .m-xxl-auto{margin:auto!important}html .mx-xxl-0,html[data-netbox-color-mode=dark] .mx-xxl-0,html[data-netbox-color-mode=light] .mx-xxl-0{margin-right:0!important;margin-left:0!important}html .mx-xxl-1,html[data-netbox-color-mode=dark] .mx-xxl-1,html[data-netbox-color-mode=light] .mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}html .mx-xxl-2,html[data-netbox-color-mode=dark] .mx-xxl-2,html[data-netbox-color-mode=light] .mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}html .mx-xxl-3,html[data-netbox-color-mode=dark] .mx-xxl-3,html[data-netbox-color-mode=light] .mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}html .mx-xxl-4,html[data-netbox-color-mode=dark] .mx-xxl-4,html[data-netbox-color-mode=light] .mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}html .mx-xxl-5,html[data-netbox-color-mode=dark] .mx-xxl-5,html[data-netbox-color-mode=light] .mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}html .mx-xxl-auto,html[data-netbox-color-mode=dark] .mx-xxl-auto,html[data-netbox-color-mode=light] .mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}html .my-xxl-0,html[data-netbox-color-mode=dark] .my-xxl-0,html[data-netbox-color-mode=light] .my-xxl-0{margin-top:0!important;margin-bottom:0!important}html .my-xxl-1,html[data-netbox-color-mode=dark] .my-xxl-1,html[data-netbox-color-mode=light] .my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}html .my-xxl-2,html[data-netbox-color-mode=dark] .my-xxl-2,html[data-netbox-color-mode=light] .my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}html .my-xxl-3,html[data-netbox-color-mode=dark] .my-xxl-3,html[data-netbox-color-mode=light] .my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}html .my-xxl-4,html[data-netbox-color-mode=dark] .my-xxl-4,html[data-netbox-color-mode=light] .my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}html .my-xxl-5,html[data-netbox-color-mode=dark] .my-xxl-5,html[data-netbox-color-mode=light] .my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}html .my-xxl-auto,html[data-netbox-color-mode=dark] .my-xxl-auto,html[data-netbox-color-mode=light] .my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}html .mt-xxl-0,html[data-netbox-color-mode=dark] .mt-xxl-0,html[data-netbox-color-mode=light] .mt-xxl-0{margin-top:0!important}html .mt-xxl-1,html[data-netbox-color-mode=dark] .mt-xxl-1,html[data-netbox-color-mode=light] .mt-xxl-1{margin-top:.25rem!important}html .mt-xxl-2,html[data-netbox-color-mode=dark] .mt-xxl-2,html[data-netbox-color-mode=light] .mt-xxl-2{margin-top:.5rem!important}html .mt-xxl-3,html[data-netbox-color-mode=dark] .mt-xxl-3,html[data-netbox-color-mode=light] .mt-xxl-3{margin-top:1rem!important}html .mt-xxl-4,html[data-netbox-color-mode=dark] .mt-xxl-4,html[data-netbox-color-mode=light] .mt-xxl-4{margin-top:1.5rem!important}html .mt-xxl-5,html[data-netbox-color-mode=dark] .mt-xxl-5,html[data-netbox-color-mode=light] .mt-xxl-5{margin-top:3rem!important}html .mt-xxl-auto,html[data-netbox-color-mode=dark] .mt-xxl-auto,html[data-netbox-color-mode=light] .mt-xxl-auto{margin-top:auto!important}html .me-xxl-0,html[data-netbox-color-mode=dark] .me-xxl-0,html[data-netbox-color-mode=light] .me-xxl-0{margin-right:0!important}html .me-xxl-1,html[data-netbox-color-mode=dark] .me-xxl-1,html[data-netbox-color-mode=light] .me-xxl-1{margin-right:.25rem!important}html .me-xxl-2,html[data-netbox-color-mode=dark] .me-xxl-2,html[data-netbox-color-mode=light] .me-xxl-2{margin-right:.5rem!important}html .me-xxl-3,html[data-netbox-color-mode=dark] .me-xxl-3,html[data-netbox-color-mode=light] .me-xxl-3{margin-right:1rem!important}html .me-xxl-4,html[data-netbox-color-mode=dark] .me-xxl-4,html[data-netbox-color-mode=light] .me-xxl-4{margin-right:1.5rem!important}html .me-xxl-5,html[data-netbox-color-mode=dark] .me-xxl-5,html[data-netbox-color-mode=light] .me-xxl-5{margin-right:3rem!important}html .me-xxl-auto,html[data-netbox-color-mode=dark] .me-xxl-auto,html[data-netbox-color-mode=light] .me-xxl-auto{margin-right:auto!important}html .mb-xxl-0,html[data-netbox-color-mode=dark] .mb-xxl-0,html[data-netbox-color-mode=light] .mb-xxl-0{margin-bottom:0!important}html .mb-xxl-1,html[data-netbox-color-mode=dark] .mb-xxl-1,html[data-netbox-color-mode=light] .mb-xxl-1{margin-bottom:.25rem!important}html .mb-xxl-2,html[data-netbox-color-mode=dark] .mb-xxl-2,html[data-netbox-color-mode=light] .mb-xxl-2{margin-bottom:.5rem!important}html .mb-xxl-3,html[data-netbox-color-mode=dark] .mb-xxl-3,html[data-netbox-color-mode=light] .mb-xxl-3{margin-bottom:1rem!important}html .mb-xxl-4,html[data-netbox-color-mode=dark] .mb-xxl-4,html[data-netbox-color-mode=light] .mb-xxl-4{margin-bottom:1.5rem!important}html .mb-xxl-5,html[data-netbox-color-mode=dark] .mb-xxl-5,html[data-netbox-color-mode=light] .mb-xxl-5{margin-bottom:3rem!important}html .mb-xxl-auto,html[data-netbox-color-mode=dark] .mb-xxl-auto,html[data-netbox-color-mode=light] .mb-xxl-auto{margin-bottom:auto!important}html .ms-xxl-0,html[data-netbox-color-mode=dark] .ms-xxl-0,html[data-netbox-color-mode=light] .ms-xxl-0{margin-left:0!important}html .ms-xxl-1,html[data-netbox-color-mode=dark] .ms-xxl-1,html[data-netbox-color-mode=light] .ms-xxl-1{margin-left:.25rem!important}html .ms-xxl-2,html[data-netbox-color-mode=dark] .ms-xxl-2,html[data-netbox-color-mode=light] .ms-xxl-2{margin-left:.5rem!important}html .ms-xxl-3,html[data-netbox-color-mode=dark] .ms-xxl-3,html[data-netbox-color-mode=light] .ms-xxl-3{margin-left:1rem!important}html .ms-xxl-4,html[data-netbox-color-mode=dark] .ms-xxl-4,html[data-netbox-color-mode=light] .ms-xxl-4{margin-left:1.5rem!important}html .ms-xxl-5,html[data-netbox-color-mode=dark] .ms-xxl-5,html[data-netbox-color-mode=light] .ms-xxl-5{margin-left:3rem!important}html .ms-xxl-auto,html[data-netbox-color-mode=dark] .ms-xxl-auto,html[data-netbox-color-mode=light] .ms-xxl-auto{margin-left:auto!important}html .p-xxl-0,html[data-netbox-color-mode=dark] .p-xxl-0,html[data-netbox-color-mode=light] .p-xxl-0{padding:0!important}html .p-xxl-1,html[data-netbox-color-mode=dark] .p-xxl-1,html[data-netbox-color-mode=light] .p-xxl-1{padding:.25rem!important}html .p-xxl-2,html[data-netbox-color-mode=dark] .p-xxl-2,html[data-netbox-color-mode=light] .p-xxl-2{padding:.5rem!important}html .p-xxl-3,html[data-netbox-color-mode=dark] .p-xxl-3,html[data-netbox-color-mode=light] .p-xxl-3{padding:1rem!important}html .p-xxl-4,html[data-netbox-color-mode=dark] .p-xxl-4,html[data-netbox-color-mode=light] .p-xxl-4{padding:1.5rem!important}html .p-xxl-5,html[data-netbox-color-mode=dark] .p-xxl-5,html[data-netbox-color-mode=light] .p-xxl-5{padding:3rem!important}html .px-xxl-0,html[data-netbox-color-mode=dark] .px-xxl-0,html[data-netbox-color-mode=light] .px-xxl-0{padding-right:0!important;padding-left:0!important}html .px-xxl-1,html[data-netbox-color-mode=dark] .px-xxl-1,html[data-netbox-color-mode=light] .px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}html .px-xxl-2,html[data-netbox-color-mode=dark] .px-xxl-2,html[data-netbox-color-mode=light] .px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}html .px-xxl-3,html[data-netbox-color-mode=dark] .px-xxl-3,html[data-netbox-color-mode=light] .px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}html .px-xxl-4,html[data-netbox-color-mode=dark] .px-xxl-4,html[data-netbox-color-mode=light] .px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}html .px-xxl-5,html[data-netbox-color-mode=dark] .px-xxl-5,html[data-netbox-color-mode=light] .px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}html .py-xxl-0,html[data-netbox-color-mode=dark] .py-xxl-0,html[data-netbox-color-mode=light] .py-xxl-0{padding-top:0!important;padding-bottom:0!important}html .py-xxl-1,html[data-netbox-color-mode=dark] .py-xxl-1,html[data-netbox-color-mode=light] .py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}html .py-xxl-2,html[data-netbox-color-mode=dark] .py-xxl-2,html[data-netbox-color-mode=light] .py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}html .py-xxl-3,html[data-netbox-color-mode=dark] .py-xxl-3,html[data-netbox-color-mode=light] .py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}html .py-xxl-4,html[data-netbox-color-mode=dark] .py-xxl-4,html[data-netbox-color-mode=light] .py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}html .py-xxl-5,html[data-netbox-color-mode=dark] .py-xxl-5,html[data-netbox-color-mode=light] .py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}html .pt-xxl-0,html[data-netbox-color-mode=dark] .pt-xxl-0,html[data-netbox-color-mode=light] .pt-xxl-0{padding-top:0!important}html .pt-xxl-1,html[data-netbox-color-mode=dark] .pt-xxl-1,html[data-netbox-color-mode=light] .pt-xxl-1{padding-top:.25rem!important}html .pt-xxl-2,html[data-netbox-color-mode=dark] .pt-xxl-2,html[data-netbox-color-mode=light] .pt-xxl-2{padding-top:.5rem!important}html .pt-xxl-3,html[data-netbox-color-mode=dark] .pt-xxl-3,html[data-netbox-color-mode=light] .pt-xxl-3{padding-top:1rem!important}html .pt-xxl-4,html[data-netbox-color-mode=dark] .pt-xxl-4,html[data-netbox-color-mode=light] .pt-xxl-4{padding-top:1.5rem!important}html .pt-xxl-5,html[data-netbox-color-mode=dark] .pt-xxl-5,html[data-netbox-color-mode=light] .pt-xxl-5{padding-top:3rem!important}html .pe-xxl-0,html[data-netbox-color-mode=dark] .pe-xxl-0,html[data-netbox-color-mode=light] .pe-xxl-0{padding-right:0!important}html .pe-xxl-1,html[data-netbox-color-mode=dark] .pe-xxl-1,html[data-netbox-color-mode=light] .pe-xxl-1{padding-right:.25rem!important}html .pe-xxl-2,html[data-netbox-color-mode=dark] .pe-xxl-2,html[data-netbox-color-mode=light] .pe-xxl-2{padding-right:.5rem!important}html .pe-xxl-3,html[data-netbox-color-mode=dark] .pe-xxl-3,html[data-netbox-color-mode=light] .pe-xxl-3{padding-right:1rem!important}html .pe-xxl-4,html[data-netbox-color-mode=dark] .pe-xxl-4,html[data-netbox-color-mode=light] .pe-xxl-4{padding-right:1.5rem!important}html .pe-xxl-5,html[data-netbox-color-mode=dark] .pe-xxl-5,html[data-netbox-color-mode=light] .pe-xxl-5{padding-right:3rem!important}html .pb-xxl-0,html[data-netbox-color-mode=dark] .pb-xxl-0,html[data-netbox-color-mode=light] .pb-xxl-0{padding-bottom:0!important}html .pb-xxl-1,html[data-netbox-color-mode=dark] .pb-xxl-1,html[data-netbox-color-mode=light] .pb-xxl-1{padding-bottom:.25rem!important}html .pb-xxl-2,html[data-netbox-color-mode=dark] .pb-xxl-2,html[data-netbox-color-mode=light] .pb-xxl-2{padding-bottom:.5rem!important}html .pb-xxl-3,html[data-netbox-color-mode=dark] .pb-xxl-3,html[data-netbox-color-mode=light] .pb-xxl-3{padding-bottom:1rem!important}html .pb-xxl-4,html[data-netbox-color-mode=dark] .pb-xxl-4,html[data-netbox-color-mode=light] .pb-xxl-4{padding-bottom:1.5rem!important}html .pb-xxl-5,html[data-netbox-color-mode=dark] .pb-xxl-5,html[data-netbox-color-mode=light] .pb-xxl-5{padding-bottom:3rem!important}html .ps-xxl-0,html[data-netbox-color-mode=dark] .ps-xxl-0,html[data-netbox-color-mode=light] .ps-xxl-0{padding-left:0!important}html .ps-xxl-1,html[data-netbox-color-mode=dark] .ps-xxl-1,html[data-netbox-color-mode=light] .ps-xxl-1{padding-left:.25rem!important}html .ps-xxl-2,html[data-netbox-color-mode=dark] .ps-xxl-2,html[data-netbox-color-mode=light] .ps-xxl-2{padding-left:.5rem!important}html .ps-xxl-3,html[data-netbox-color-mode=dark] .ps-xxl-3,html[data-netbox-color-mode=light] .ps-xxl-3{padding-left:1rem!important}html .ps-xxl-4,html[data-netbox-color-mode=dark] .ps-xxl-4,html[data-netbox-color-mode=light] .ps-xxl-4{padding-left:1.5rem!important}html .ps-xxl-5,html[data-netbox-color-mode=dark] .ps-xxl-5,html[data-netbox-color-mode=light] .ps-xxl-5{padding-left:3rem!important}html .text-xxl-start,html[data-netbox-color-mode=dark] .text-xxl-start,html[data-netbox-color-mode=light] .text-xxl-start{text-align:left!important}html .text-xxl-end,html[data-netbox-color-mode=dark] .text-xxl-end,html[data-netbox-color-mode=light] .text-xxl-end{text-align:right!important}html .text-xxl-center,html[data-netbox-color-mode=dark] .text-xxl-center,html[data-netbox-color-mode=light] .text-xxl-center{text-align:center!important}}@media print and (min-width: 1200px){html .fs-1,html[data-netbox-color-mode=dark] .fs-1,html[data-netbox-color-mode=light] .fs-1{font-size:2.5rem!important}html .fs-2,html[data-netbox-color-mode=dark] .fs-2,html[data-netbox-color-mode=light] .fs-2{font-size:2rem!important}html .fs-3,html[data-netbox-color-mode=dark] .fs-3,html[data-netbox-color-mode=light] .fs-3{font-size:1.75rem!important}html .fs-4,html[data-netbox-color-mode=dark] .fs-4,html[data-netbox-color-mode=light] .fs-4{font-size:1.5rem!important}}@media print{html .d-print-inline,html[data-netbox-color-mode=dark] .d-print-inline,html[data-netbox-color-mode=light] .d-print-inline{display:inline!important}html .d-print-inline-block,html[data-netbox-color-mode=dark] .d-print-inline-block,html[data-netbox-color-mode=light] .d-print-inline-block{display:inline-block!important}html .d-print-block,html[data-netbox-color-mode=dark] .d-print-block,html[data-netbox-color-mode=light] .d-print-block{display:block!important}html .d-print-grid,html[data-netbox-color-mode=dark] .d-print-grid,html[data-netbox-color-mode=light] .d-print-grid{display:grid!important}html .d-print-table,html[data-netbox-color-mode=dark] .d-print-table,html[data-netbox-color-mode=light] .d-print-table{display:table!important}html .d-print-table-row,html[data-netbox-color-mode=dark] .d-print-table-row,html[data-netbox-color-mode=light] .d-print-table-row{display:table-row!important}html .d-print-table-cell,html[data-netbox-color-mode=dark] .d-print-table-cell,html[data-netbox-color-mode=light] .d-print-table-cell{display:table-cell!important}html .d-print-flex,html[data-netbox-color-mode=dark] .d-print-flex,html[data-netbox-color-mode=light] .d-print-flex{display:flex!important}html .d-print-inline-flex,html[data-netbox-color-mode=dark] .d-print-inline-flex,html[data-netbox-color-mode=light] .d-print-inline-flex{display:inline-flex!important}html .d-print-none,html[data-netbox-color-mode=dark] .d-print-none,html[data-netbox-color-mode=light] .d-print-none{display:none!important}}@media print{html :root,html[data-netbox-color-mode=dark] :root,html[data-netbox-color-mode=light] :root{--nbx-select-content-bg: #fff;--nbx-select-option-selected-bg: #dee2e6;--nbx-select-option-hover-bg: #0d6efd;--nbx-select-option-hover-color: #fff;--nbx-select-placeholder-color: #adb5bd;--nbx-select-value-color: #fff}html :root[data-netbox-color-mode=dark],html[data-netbox-color-mode=dark] :root[data-netbox-color-mode=dark],html[data-netbox-color-mode=light] :root[data-netbox-color-mode=dark]{--nbx-select-content-bg: #212529;--nbx-select-option-selected-bg: #adb5bd;--nbx-select-option-hover-bg: #9ec5fe;--nbx-select-option-hover-color: #000;--nbx-select-placeholder-color: #495057;--nbx-select-value-color: #000}}@media print{html .ss-main,html[data-netbox-color-mode=dark] .ss-main,html[data-netbox-color-mode=light] .ss-main{position:relative;display:inline-block;user-select:none;color:#212529;width:100%}html .ss-main .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected,html[data-netbox-color-mode=light] .ss-main .ss-single-selected{display:flex;cursor:pointer;width:100%;height:calc(1.5em + (.75rem + 2px));padding:.75rem;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}html .ss-main .ss-single-selected.ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-single-selected.ss-disabled{background-color:#ced4da;cursor:not-allowed}html .ss-main .ss-single-selected.ss-open-above,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-open-above,html[data-netbox-color-mode=light] .ss-main .ss-single-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}html .ss-main .ss-single-selected.ss-open-below,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected.ss-open-below,html[data-netbox-color-mode=light] .ss-main .ss-single-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}html .ss-main .ss-single-selected .placeholder,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .placeholder{display:flex;flex:1 1 100%;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;width:calc(100% - 30px);line-height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html .ss-main .ss-single-selected .placeholder *,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder *,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .placeholder *{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}html .ss-main .ss-single-selected .placeholder .ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder .ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .placeholder .ss-disabled{color:#6c757d}html .ss-main .ss-single-selected .ss-deselect,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-deselect,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-deselect{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem;font-weight:bold}html .ss-main .ss-single-selected .ss-deselect.ss-hide,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-deselect.ss-hide,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-deselect.ss-hide{display:none}html .ss-main .ss-single-selected .ss-arrow,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-arrow{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;margin:0 .75rem}html .ss-main .ss-single-selected .ss-arrow span,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-arrow span{border:solid #212529;border-width:0 2px 2px 0;display:inline-block;padding:3px;transition:transform .2s,margin .2s}html .ss-main .ss-single-selected .ss-arrow span.arrow-up,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span.arrow-up,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-arrow span.arrow-up{transform:rotate(-135deg);margin:3px 0 0}html .ss-main .ss-single-selected .ss-arrow span.arrow-down,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .ss-arrow span.arrow-down,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .ss-arrow span.arrow-down{transform:rotate(45deg);margin:-3px 0 0}html .ss-main .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected{display:flex;flex-direction:row;cursor:pointer;min-height:calc(1.5em + (.75rem + 2px));width:100%;padding:0 0 0 3px;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;box-sizing:border-box;transition:background-color .2s}html .ss-main .ss-multi-selected.ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-disabled{background-color:#ced4da;cursor:not-allowed}html .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled{color:#212529}html .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}html .ss-main .ss-multi-selected.ss-open-above,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-open-above,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}html .ss-main .ss-multi-selected.ss-open-below,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected.ss-open-below,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}html .ss-main .ss-multi-selected .ss-values,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values{display:flex;flex-wrap:wrap;justify-content:flex-start;flex:1 1 100%;width:calc(100% - 30px)}html .ss-main .ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-disabled{display:flex;padding:4px 5px;margin:2px 0;line-height:1em;align-items:center;width:100%;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}html .ss-main .ss-multi-selected .ss-values .ss-value,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value{display:flex;user-select:none;align-items:center;font-size:12px;padding:3px 5px;margin:3px 5px 3px 0;color:#fff;background-color:#337ab7;border-radius:.375rem;animation-name:scaleIn;animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}html .ss-main .ss-multi-selected .ss-values .ss-value.ss-out,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value.ss-out,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value.ss-out{animation-name:scaleOut;animation-duration:.2s;animation-timing-function:ease-out}html .ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete{margin:0 0 0 5px;cursor:pointer}html .ss-main .ss-multi-selected .ss-add,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add{display:flex;flex:0 1 3px;margin:9px 12px 0 5px}html .ss-main .ss-multi-selected .ss-add .ss-plus,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add .ss-plus{display:flex;justify-content:center;align-items:center;background:#212529;position:relative;height:10px;width:2px;transition:transform .2s}html .ss-main .ss-multi-selected .ss-add .ss-plus:after,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus:after,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add .ss-plus:after{background:#212529;content:"";position:absolute;height:2px;width:10px;left:-4px;top:4px}html .ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross{transform:rotate(45deg)}}@media print{html .ss-content,html[data-netbox-color-mode=dark] .ss-content,html[data-netbox-color-mode=light] .ss-content{position:absolute;width:100%;margin:-1px 0 0;box-sizing:border-box;border:solid 1px #ced4da;z-index:1010;background-color:#fff;transform-origin:center top;transition:transform .2s,opacity .2s;opacity:0;transform:scaleY(0)}html .ss-content.ss-open,html[data-netbox-color-mode=dark] .ss-content.ss-open,html[data-netbox-color-mode=light] .ss-content.ss-open{display:block;opacity:1;transform:scaleY(1)}html .ss-content .ss-search,html[data-netbox-color-mode=dark] .ss-content .ss-search,html[data-netbox-color-mode=light] .ss-content .ss-search{display:flex;flex-direction:row;padding:.75rem}html .ss-content .ss-search.ss-hide,html[data-netbox-color-mode=dark] .ss-content .ss-search.ss-hide,html[data-netbox-color-mode=light] .ss-content .ss-search.ss-hide{height:0px;opacity:0;padding:0;margin:0}html .ss-content .ss-search.ss-hide input,html[data-netbox-color-mode=dark] .ss-content .ss-search.ss-hide input,html[data-netbox-color-mode=light] .ss-content .ss-search.ss-hide input{height:0px;opacity:0;padding:0;margin:0}html .ss-content .ss-search input,html[data-netbox-color-mode=dark] .ss-content .ss-search input,html[data-netbox-color-mode=light] .ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;height:30px;padding:.75rem;margin:0;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff;outline:0;text-align:left;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-appearance:textfield}html .ss-content .ss-search input::placeholder,html[data-netbox-color-mode=dark] .ss-content .ss-search input::placeholder,html[data-netbox-color-mode=light] .ss-content .ss-search input::placeholder{color:#adb5bd;vertical-align:middle}html .ss-content .ss-search input:focus,html[data-netbox-color-mode=dark] .ss-content .ss-search input:focus,html[data-netbox-color-mode=light] .ss-content .ss-search input:focus{box-shadow:0 0 5px #337ab7}html .ss-content .ss-search .ss-addable,html[data-netbox-color-mode=dark] .ss-content .ss-search .ss-addable,html[data-netbox-color-mode=light] .ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;font-size:22px;font-weight:bold;flex:0 0 30px;height:30px;margin:0 0 0 8px;border:1px solid #ced4da;border-radius:.375rem;box-sizing:border-box}html .ss-content .ss-addable,html[data-netbox-color-mode=dark] .ss-content .ss-addable,html[data-netbox-color-mode=light] .ss-content .ss-addable{padding-top:0}html .ss-content .ss-list,html[data-netbox-color-mode=dark] .ss-content .ss-list,html[data-netbox-color-mode=light] .ss-content .ss-list{max-height:200px;overflow-x:hidden;overflow-y:auto;text-align:left}html .ss-content .ss-list .ss-optgroup .ss-optgroup-label,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup .ss-optgroup-label,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:6px 10px;font-weight:bold}html .ss-content .ss-list .ss-optgroup .ss-option,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup .ss-option,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-optgroup .ss-option{padding:6px 6px 6px 25px}html .ss-content .ss-list .ss-optgroup-label-selectable,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup-label-selectable,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-optgroup-label-selectable{cursor:pointer}html .ss-content .ss-list .ss-optgroup-label-selectable:hover,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-optgroup-label-selectable:hover,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-optgroup-label-selectable:hover{color:#fff;background-color:#337ab7}html .ss-content .ss-list .ss-option,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option{padding:6px 10px;cursor:pointer;user-select:none}html .ss-content .ss-list .ss-option *,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option *,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option *{display:inline-block}html .ss-content .ss-list .ss-option:hover,html .ss-content .ss-list .ss-option.ss-highlighted,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-highlighted,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option.ss-highlighted{color:#fff;background-color:#337ab7}html .ss-content .ss-list .ss-option.ss-disabled,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-disabled,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;color:#6c757d;background-color:#fff}html .ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected{color:#212529;background-color:#337ab71a}html .ss-content .ss-list .ss-option.ss-hide,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option.ss-hide,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option.ss-hide{display:none}html .ss-content .ss-list .ss-option .ss-search-highlight,html[data-netbox-color-mode=dark] .ss-content .ss-list .ss-option .ss-search-highlight,html[data-netbox-color-mode=light] .ss-content .ss-list .ss-option .ss-search-highlight{background-color:#ffc107}}@media print{html .ss-main,html[data-netbox-color-mode=dark] .ss-main,html[data-netbox-color-mode=light] .ss-main{color:#212529}html .ss-main.is-invalid .ss-single-selected,html .ss-main.is-invalid .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main.is-invalid .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main.is-invalid .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main.is-invalid .ss-single-selected,html[data-netbox-color-mode=light] .ss-main.is-invalid .ss-multi-selected{border-color:#dc3545}html .ss-main.is-valid .ss-single-selected,html .ss-main.is-valid .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main.is-valid .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main.is-valid .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main.is-valid .ss-single-selected,html[data-netbox-color-mode=light] .ss-main.is-valid .ss-multi-selected{border-color:#198754}html .ss-main .ss-single-selected,html .ss-main .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main .ss-single-selected,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected{padding:.375rem .75rem;background-color:#fff;border:1px solid #ced4da}html .ss-main .ss-single-selected[disabled],html .ss-main .ss-multi-selected[disabled],html[data-netbox-color-mode=dark] .ss-main .ss-single-selected[disabled],html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected[disabled],html[data-netbox-color-mode=light] .ss-main .ss-single-selected[disabled],html[data-netbox-color-mode=light] .ss-main .ss-multi-selected[disabled]{color:#6c757d;background-color:#e9ecef}html .ss-main div.ss-multi-selected .ss-values .ss-disabled,html .ss-main div.ss-single-selected span.placeholder .ss-disabled,html[data-netbox-color-mode=dark] .ss-main div.ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main div.ss-single-selected span.placeholder .ss-disabled,html[data-netbox-color-mode=light] .ss-main div.ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=light] .ss-main div.ss-single-selected span.placeholder .ss-disabled{color:var(--nbx-select-placeholder-color)}html .ss-main .ss-single-selected span.ss-arrow span.arrow-down,html .ss-main .ss-single-selected span.ss-arrow span.arrow-up,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.ss-arrow span.arrow-down,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.ss-arrow span.arrow-up,html[data-netbox-color-mode=light] .ss-main .ss-single-selected span.ss-arrow span.arrow-down,html[data-netbox-color-mode=light] .ss-main .ss-single-selected span.ss-arrow span.arrow-up{border-color:currentColor;color:#6c757d}html .ss-main .ss-single-selected .placeholder .depth,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected .placeholder .depth,html[data-netbox-color-mode=light] .ss-main .ss-single-selected .placeholder .depth{display:none}html .ss-main .ss-single-selected span.placeholder>*,html .ss-main .ss-single-selected span.placeholder,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.placeholder>*,html[data-netbox-color-mode=dark] .ss-main .ss-single-selected span.placeholder,html[data-netbox-color-mode=light] .ss-main .ss-single-selected span.placeholder>*,html[data-netbox-color-mode=light] .ss-main .ss-single-selected span.placeholder{line-height:1.5}html .ss-main .ss-multi-selected,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected{align-items:center;padding-right:.75rem;padding-left:.75rem}html .ss-main .ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-disabled{padding:4px 0}html .ss-main .ss-multi-selected .ss-values .ss-value,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value{color:var(--nbx-select-value-color);border-radius:.375rem}html .ss-main .ss-multi-selected .ss-values .ss-value .depth,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-values .ss-value .depth,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-values .ss-value .depth{display:none}html .ss-main .ss-multi-selected .ss-add,html[data-netbox-color-mode=dark] .ss-main .ss-multi-selected .ss-add,html[data-netbox-color-mode=light] .ss-main .ss-multi-selected .ss-add{margin:0 .75rem}html .ss-main .ss-content,html[data-netbox-color-mode=dark] .ss-main .ss-content,html[data-netbox-color-mode=light] .ss-main .ss-content{background-color:var(--nbx-select-content-bg);border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html .ss-main .ss-content .ss-list .ss-option.ss-option-selected,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-option-selected,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option.ss-option-selected{color:#212529;background-color:var(--nbx-select-option-selected-bg)}html .ss-main .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option:hover,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option:hover{color:var(--nbx-select-option-hover-color);background-color:var(--nbx-select-option-hover-bg)}html .ss-main .ss-content .ss-list .ss-option:last-child,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option:last-child,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}html .ss-main .ss-content .ss-list .ss-option.ss-disabled,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-disabled,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option.ss-disabled{background-color:unset}html .ss-main .ss-content .ss-list .ss-option.ss-disabled:hover,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option.ss-disabled:hover,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option.ss-disabled:hover{color:#6c757d}html .ss-main .ss-content .ss-list .ss-option .depth,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list .ss-option .depth,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list .ss-option .depth{opacity:.3}html .ss-main .ss-content .ss-list::-webkit-scrollbar,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list::-webkit-scrollbar{right:0;width:4px}html .ss-main .ss-content .ss-list::-webkit-scrollbar:hover,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar:hover,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list::-webkit-scrollbar:hover{opacity:.8}html .ss-main .ss-content .ss-list::-webkit-scrollbar-track,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar-track,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list::-webkit-scrollbar-track{background:transparent}html .ss-main .ss-content .ss-list::-webkit-scrollbar-thumb,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-list::-webkit-scrollbar-thumb,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-list::-webkit-scrollbar-thumb{right:0;width:2px;background-color:var(--nbx-sidebar-scroll)}html .ss-main .ss-content .ss-search,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-search{padding-right:.5rem}html .ss-main .ss-content .ss-search button,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search button,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-search button{margin-left:.75rem}html .ss-main .ss-content .ss-search input[type=search],html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search input[type=search],html[data-netbox-color-mode=light] .ss-main .ss-content .ss-search input[type=search]{color:#212529;background-color:#fff;border:1px solid #ced4da}html .ss-main .ss-content .ss-search input[type=search]:focus,html[data-netbox-color-mode=dark] .ss-main .ss-content .ss-search input[type=search]:focus,html[data-netbox-color-mode=light] .ss-main .ss-content .ss-search input[type=search]:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}}@media print{html .sidenav,html[data-netbox-color-mode=dark] .sidenav,html[data-netbox-color-mode=light] .sidenav{position:fixed;top:0;bottom:0;left:0;z-index:1050;display:block;width:100%;max-width:3rem;padding-top:0;padding-right:0;padding-left:0;background-color:var(--nbx-sidebar-bg);border-right:1px solid #ced4da;transition:all .1s ease-in-out}}@media print and (max-width: 991.98px){html .sidenav,html[data-netbox-color-mode=dark] .sidenav,html[data-netbox-color-mode=light] .sidenav{transform:translate(-3rem)}html .sidenav+.content-container[class],html[data-netbox-color-mode=dark] .sidenav+.content-container[class],html[data-netbox-color-mode=light] .sidenav+.content-container[class]{margin-left:0}html .sidenav .profile-button-container[class],html[data-netbox-color-mode=dark] .sidenav .profile-button-container[class],html[data-netbox-color-mode=light] .sidenav .profile-button-container[class]{display:block}}@media print{html .sidenav .profile-button-container,html[data-netbox-color-mode=dark] .sidenav .profile-button-container,html[data-netbox-color-mode=light] .sidenav .profile-button-container{display:none;padding:.5rem 1rem}}@media print{html .sidenav+.content-container,html[data-netbox-color-mode=dark] .sidenav+.content-container,html[data-netbox-color-mode=light] .sidenav+.content-container{margin-left:3rem;transition:all .1s ease-in-out}}@media print{html .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] .sidenav .sidenav-brand{margin-right:0;transition:opacity .1s ease-in-out}}@media print{html .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] .sidenav .sidenav-brand-icon{transition:opacity .1s ease-in-out}}@media print{html .sidenav .sidenav-inner,html[data-netbox-color-mode=dark] .sidenav .sidenav-inner,html[data-netbox-color-mode=light] .sidenav .sidenav-inner{padding-right:1.5rem;padding-left:1.5rem}}@media print and (min-width: 768px){html .sidenav .sidenav-inner,html[data-netbox-color-mode=dark] .sidenav .sidenav-inner,html[data-netbox-color-mode=light] .sidenav .sidenav-inner{padding-right:0;padding-left:0}}@media print{html .sidenav .sidenav-brand-img,html .sidenav .sidenav-brand>img,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand-img,html[data-netbox-color-mode=dark] .sidenav .sidenav-brand>img,html[data-netbox-color-mode=light] .sidenav .sidenav-brand-img,html[data-netbox-color-mode=light] .sidenav .sidenav-brand>img{max-width:100%;max-height:calc(16rem - 1rem)}}@media print{html .sidenav .navbar-heading,html[data-netbox-color-mode=dark] .sidenav .navbar-heading,html[data-netbox-color-mode=light] .sidenav .navbar-heading{padding-top:.5rem;padding-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}}@media print{html .sidenav .sidenav-header,html[data-netbox-color-mode=dark] .sidenav .sidenav-header,html[data-netbox-color-mode=light] .sidenav .sidenav-header{position:relative;display:flex;align-items:center;justify-content:space-between;height:78px;padding:1rem;transition:all .1s ease-in-out}}@media print{html .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] .sidenav .sidenav-toggle,html[data-netbox-color-mode=light] .sidenav .sidenav-toggle{position:absolute;display:inline-block;opacity:0;transition:opacity 10ms ease-in-out;transition-delay:.1s}}@media print{html .sidenav .sidenav-collapse,html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse,html[data-netbox-color-mode=light] .sidenav .sidenav-collapse{display:flex;flex:1;flex-direction:column;align-items:stretch;padding-right:1.5rem;padding-left:1.5rem;margin-right:-1.5rem;margin-left:-1.5rem}}@media print{html .sidenav .sidenav-collapse>*,html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse>*,html[data-netbox-color-mode=light] .sidenav .sidenav-collapse>*{min-width:100%}}@media print and (min-width: 768px){html .sidenav .sidenav-collapse,html[data-netbox-color-mode=dark] .sidenav .sidenav-collapse,html[data-netbox-color-mode=light] .sidenav .sidenav-collapse{margin-right:0;margin-left:0}}@media print{html .sidenav .nav-group-header,html[data-netbox-color-mode=dark] .sidenav .nav-group-header,html[data-netbox-color-mode=light] .sidenav .nav-group-header{padding:.25rem 1rem;margin-top:.5rem;margin-bottom:0}}@media print{html .sidenav .nav .nav-item,html[data-netbox-color-mode=dark] .sidenav .nav .nav-item,html[data-netbox-color-mode=light] .sidenav .nav .nav-item{display:flex;align-items:center;justify-content:space-between;width:100%}}@media print{html .sidenav .nav .nav-item.no-buttons,html[data-netbox-color-mode=dark] .sidenav .nav .nav-item.no-buttons,html[data-netbox-color-mode=light] .sidenav .nav .nav-item.no-buttons{padding-right:5rem}}@media print{html .sidenav .collapse .nav .nav-item .nav-link,html[data-netbox-color-mode=dark] .sidenav .collapse .nav .nav-item .nav-link,html[data-netbox-color-mode=light] .sidenav .collapse .nav .nav-item .nav-link{width:100%;padding:.25rem .25rem .25rem 1rem;margin-top:0;margin-bottom:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}}@media print{html .sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon,html[data-netbox-color-mode=dark] .sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon,html[data-netbox-color-mode=light] .sidenav .collapse .nav .nav-item .nav-link .sidenav-mini-icon{width:1rem;text-align:center;transition:all .1s ease-in-out}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle],html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle],html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]{width:unset;height:100%;padding-left:.5rem;font-weight:700;color:var(--nbx-sidenav-parent-color)}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle]:after{display:inline-block;margin-left:auto;font-family:"Material Design Icons";font-style:normal;font-weight:700;font-variant:normal;color:#6c757d;text-rendering:auto;-webkit-font-smoothing:antialiased;content:"\f0142";transition:all .1s ease-in-out}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true].active:after{color:#343a40}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle][aria-expanded=true]:after{color:#337ab7;transform:rotate(90deg)}}@media print{html .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle] .nav-link-text{padding-left:.25rem;transition:all .1s ease-in-out}}@media print{html .sidenav .navbar-nav,html[data-netbox-color-mode=dark] .sidenav .navbar-nav,html[data-netbox-color-mode=light] .sidenav .navbar-nav{flex-direction:column;margin-right:-1.5rem;margin-left:-1.5rem}}@media print{html .sidenav .navbar-nav .nav-item,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item{margin-top:2px}}@media print{html .sidenav .navbar-nav .nav-item.disabled,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item.disabled,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item.disabled{cursor:not-allowed;opacity:.8}}@media print{html .sidenav .navbar-nav .nav-item .nav-link,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link{position:relative;display:flex;align-items:center;width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--nbx-sidenav-link-color);white-space:nowrap;transition-duration:0ms}}@media print{html .sidenav .navbar-nav .nav-item .nav-link.active,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link.active,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link.active{background-color:var(--nbx-sidebar-link-active-bg)}}@media print{html .sidenav .navbar-nav .nav-item .nav-link:hover:not(.active),html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link:hover:not(.active),html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link:hover:not(.active){color:var(--nbx-body-color);background-color:var(--nbx-sidebar-link-hover-bg)}}@media print{html .sidenav .navbar-nav .nav-item .nav-link>i,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-item .nav-link>i,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-item .nav-link>i{min-width:2rem;font-size:calc(45px / 2);text-align:center}}@media print{html .sidenav .navbar-nav .nav-group-label,html[data-netbox-color-mode=dark] .sidenav .navbar-nav .nav-group-label,html[data-netbox-color-mode=light] .sidenav .navbar-nav .nav-group-label{display:block;font-size:.75rem;font-weight:700;color:var(--nbx-sidenav-group-color);text-transform:uppercase;white-space:nowrap}}@media print{html body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .sidenav-toggle-icon{color:var(--nbx-sidenav-pin-color);transform:rotate(90deg)}}@media print and (min-width: 1200px){html body[data-sidenav-pinned] .sidenav+.content-container,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav+.content-container,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav+.content-container{margin-left:16rem}}@media print{html .g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon,html[data-netbox-color-mode=dark] .g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon,html[data-netbox-color-mode=light] .g-sidenav-show:not(.g-sidenav-pinned) .sidenav .sidenav-toggle-icon{transform:rotate(0)}}@media print{html body[data-sidenav-show] .sidenav,html body[data-sidenav-pinned] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav{max-width:16rem}}@media print{html body[data-sidenav-show] .sidenav .sidenav-brand,html body[data-sidenav-show] .sidenav .navbar-heading,html body[data-sidenav-pinned] .sidenav .sidenav-brand,html body[data-sidenav-pinned] .sidenav .navbar-heading,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .navbar-heading,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .navbar-heading,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .navbar-heading,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .navbar-heading{display:block}}@media print{html body[data-sidenav-show] .sidenav .sidenav-brand,html body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .sidenav-brand{opacity:1;transform:translate(0)}}@media print{html body[data-sidenav-show] .sidenav .sidenav-brand-icon,html body[data-sidenav-pinned] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav .sidenav-brand-icon{position:absolute;opacity:0}}@media print and (max-width: 991.98px){html body[data-sidenav-show] .sidenav,html body[data-sidenav-pinned] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=dark] body[data-sidenav-pinned] .sidenav,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav,html[data-netbox-color-mode=light] body[data-sidenav-pinned] .sidenav{transform:translate(0)}}@media print{html body[data-sidenav-hide] .sidenav .sidenav-header,html body[data-sidenav-hidden] .sidenav .sidenav-header,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-header,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-header,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .sidenav-header,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .sidenav-header{padding:.5rem}}@media print{html body[data-sidenav-hide] .sidenav .sidenav-brand,html body[data-sidenav-hidden] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .sidenav-brand{position:absolute;opacity:0}}@media print{html body[data-sidenav-hide] .sidenav .sidenav-brand-icon,html body[data-sidenav-hidden] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .sidenav-brand-icon,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .sidenav-brand-icon{opacity:1}}@media print{html body[data-sidenav-hide] .sidenav .sidenav-toggle,html body[data-sidenav-hidden] .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .sidenav-toggle,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .sidenav-toggle,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .sidenav-toggle{opacity:0;position:absolute;transition:unset;transition-delay:0ms}}@media print{html body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,html body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .navbar-nav>.nav-item>.nav-link:after,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .navbar-nav>.nav-item>.nav-link:after{content:""}}@media print{html body[data-sidenav-hide] .sidenav .nav-item .collapse,html body[data-sidenav-hidden] .sidenav .nav-item .collapse,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .nav-item .collapse,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .nav-item .collapse,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .nav-item .collapse,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .nav-item .collapse{display:none}}@media print{html body[data-sidenav-hide] .sidenav .nav-link-text,html body[data-sidenav-hidden] .sidenav .nav-link-text,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .nav-link-text,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .nav-link-text,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .nav-link-text,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .nav-link-text{opacity:0}}@media print{html body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=dark] body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=dark] body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=light] body[data-sidenav-hide] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active,html[data-netbox-color-mode=light] body[data-sidenav-hidden] .sidenav .navbar-nav .nav-item .nav-link[data-bs-toggle].active{margin-right:0;margin-left:0;border-radius:unset}}@media print{html body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-brand,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-brand{display:block}}@media print{html body[data-sidenav-show] .sidenav .nav-item .collapse,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .collapse,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .nav-item .collapse{height:auto;transition:all .1s ease-in-out}}@media print{html body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .nav-item .nav-link .nav-link-text{opacity:1}}@media print{html body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .nav-item .sidenav-mini-icon{opacity:0}}@media print and (min-width: 992px){html body[data-sidenav-show] .sidenav .sidenav-toggle,html[data-netbox-color-mode=dark] body[data-sidenav-show] .sidenav .sidenav-toggle,html[data-netbox-color-mode=light] body[data-sidenav-show] .sidenav .sidenav-toggle{position:relative;opacity:1}}@media print{html .simplebar-track.simplebar-vertical,html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical,html[data-netbox-color-mode=light] .simplebar-track.simplebar-vertical{right:0;width:6px;background-color:transparent}}@media print{html .simplebar-track.simplebar-vertical .simplebar-scrollbar,html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical .simplebar-scrollbar,html[data-netbox-color-mode=light] .simplebar-track.simplebar-vertical .simplebar-scrollbar{transition:none}}@media print{html .simplebar-track.simplebar-vertical .simplebar-scrollbar:before,html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical .simplebar-scrollbar:before,html[data-netbox-color-mode=light] .simplebar-track.simplebar-vertical .simplebar-scrollbar:before{right:0;width:3px;background:var(--nbx-sidebar-scroll);border-radius:.375rem}}@media print{html .simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before,html[data-netbox-color-mode=dark] .simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before,html[data-netbox-color-mode=light] .simplebar-track.simplebar-vertical.simplebar-hover .simplebar-scrollbar:before{width:5px}}@media print{html body,html[data-netbox-color-mode=dark] body,html[data-netbox-color-mode=light] body{color:var(--nbx-body-color);background-color:var(--nbx-body-bg);font-size:.875rem}}@media print{html pre,html[data-netbox-color-mode=dark] pre,html[data-netbox-color-mode=light] pre{white-space:pre}}@media print{html small,html .small,html[data-netbox-color-mode=dark] .small,html[data-netbox-color-mode=light] .small,html[data-netbox-color-mode=dark] small,html[data-netbox-color-mode=light] small{font-size:smaller!important}}@media print{html a[type=button],html[data-netbox-color-mode=dark] a[type=button],html[data-netbox-color-mode=light] a[type=button]{-webkit-appearance:unset!important}}@media print{html *[data-href],html[data-netbox-color-mode=dark] *[data-href],html[data-netbox-color-mode=light] *[data-href]{cursor:pointer}}@media print{html .form-control:not([type=file]),html[data-netbox-color-mode=dark] .form-control:not([type=file]),html[data-netbox-color-mode=light] .form-control:not([type=file]){font-size:inherit}}@media print{html .badge,html[data-netbox-color-mode=dark] .badge,html[data-netbox-color-mode=light] .badge{font-size:.75rem}}@media print{html .text-xs,html[data-netbox-color-mode=dark] .text-xs,html[data-netbox-color-mode=light] .text-xs{font-size:.75rem!important;line-height:1.25!important}}@media print{html .border-input,html[data-netbox-color-mode=dark] .border-input,html[data-netbox-color-mode=light] .border-input{border:1px solid #ced4da!important}}@media print{html .ws-nowrap,html[data-netbox-color-mode=dark] .ws-nowrap,html[data-netbox-color-mode=light] .ws-nowrap{white-space:nowrap!important}}@media print{html table tr .vertical-align,html table td .vertical-align,html[data-netbox-color-mode=dark] table tr .vertical-align,html[data-netbox-color-mode=dark] table td .vertical-align,html[data-netbox-color-mode=light] table tr .vertical-align,html[data-netbox-color-mode=light] table td .vertical-align{vertical-align:middle}}@media print{html .noprint,html[data-netbox-color-mode=dark] .noprint,html[data-netbox-color-mode=light] .noprint{display:none!important;visibility:hidden!important}}@media print{html .printonly,html[data-netbox-color-mode=dark] .printonly,html[data-netbox-color-mode=light] .printonly{display:none!important;visibility:hidden!important}}@media print{html .printonly,html[data-netbox-color-mode=dark] .printonly,html[data-netbox-color-mode=light] .printonly{display:block!important;visibility:visible!important}}@media print{html :root,html[data-netbox-color-mode=dark] :root,html[data-netbox-color-mode=light] :root{--nbx-sidebar-bg: #e9ecef;--nbx-sidebar-scroll: #adb5bd;--nbx-sidebar-link-hover-bg: rgba(108, 117, 125, .15);--nbx-sidebar-link-active-bg: #9cc8f8;--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(0, 0, 0, .25);--nbx-breadcrumb-bg: #e9ecef;--nbx-body-bg: #fff;--nbx-body-color: #343a40;--nbx-pre-bg: #f8f9fa;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(25, 135, 84, .4);--nbx-change-removed: rgba(220, 53, 69, .4);--nbx-cable-node-bg: #f8f9fa;--nbx-cable-node-border-color: #e9ecef;--nbx-cable-termination-bg: #e9ecef;--nbx-cable-termination-border-color: #dee2e6;--nbx-search-filter-border-left-color: #dee2e6;--nbx-color-mode-toggle-color: #337ab7;--nbx-sidenav-link-color: #343a40;--nbx-sidenav-pin-color: #fd7e14;--nbx-sidenav-parent-color: #343a40;--nbx-sidenav-group-color: #343a40}}@media print{html :root[data-netbox-color-mode=dark],html[data-netbox-color-mode=dark] :root[data-netbox-color-mode=dark],html[data-netbox-color-mode=light] :root[data-netbox-color-mode=dark]{--nbx-sidebar-bg: #212529;--nbx-sidebar-scroll: #495057;--nbx-sidebar-link-active-bg: rgba(110, 168, 254, .25);--nbx-sidebar-link-hover-bg: rgba(173, 181, 189, .15);--nbx-sidebar-title-color: #6c757d;--nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(255, 255, 255, .05);--nbx-breadcrumb-bg: #343a40;--nbx-body-bg: #1b1f22;--nbx-body-color: #f8f9fa;--nbx-pre-bg: #495057;--nbx-pre-border-color: #6c757d;--nbx-change-added: rgba(117, 183, 152, .4);--nbx-change-removed: rgba(234, 134, 143, .4);--nbx-cable-node-bg: #495057;--nbx-cable-node-border-color: #6c757d;--nbx-cable-termination-bg: #343a40;--nbx-cable-termination-border-color: #495057;--nbx-search-filter-border-left-color: #6c757d;--nbx-color-mode-toggle-color: #ffda6a;--nbx-sidenav-link-color: #e9ecef;--nbx-sidenav-pin-color: #ffc107;--nbx-sidenav-parent-color: #e9ecef;--nbx-sidenav-group-color: #6c757d}}@media print{html .bg-primary button.btn-close,html[data-netbox-color-mode=dark] .bg-primary button.btn-close,html[data-netbox-color-mode=light] .bg-primary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f496e'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-primary,html[data-netbox-color-mode=dark] .btn.btn-ghost-primary,html[data-netbox-color-mode=light] .btn.btn-ghost-primary{color:#337ab7}}@media print{html .btn.btn-ghost-primary:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-primary:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-primary:hover{background-color:#337ab71f}}@media print{html .alert.alert-primary a:not(.btn),html .table-primary a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-primary a:not(.btn),html[data-netbox-color-mode=dark] .table-primary a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-primary a:not(.btn),html[data-netbox-color-mode=light] .table-primary a:not(.btn){font-weight:700;color:#1f496e}}@media print{html .alert.alert-primary .btn:not([class*=btn-outline]),html .table-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-primary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-primary .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-primary a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-primary a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-primary a:not(.btn){font-weight:700;color:#adcae2}}@media print{html .badge.bg-primary,html .toast.bg-primary,html .toast-header.bg-primary,html .progress-bar.bg-primary,html[data-netbox-color-mode=dark] .badge.bg-primary,html[data-netbox-color-mode=dark] .toast.bg-primary,html[data-netbox-color-mode=dark] .toast-header.bg-primary,html[data-netbox-color-mode=dark] .progress-bar.bg-primary,html[data-netbox-color-mode=light] .badge.bg-primary,html[data-netbox-color-mode=light] .toast.bg-primary,html[data-netbox-color-mode=light] .toast-header.bg-primary,html[data-netbox-color-mode=light] .progress-bar.bg-primary{color:#fff}}@media print{html .bg-secondary button.btn-close,html[data-netbox-color-mode=dark] .bg-secondary button.btn-close,html[data-netbox-color-mode=light] .bg-secondary button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2341464b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-secondary,html[data-netbox-color-mode=dark] .btn.btn-ghost-secondary,html[data-netbox-color-mode=light] .btn.btn-ghost-secondary{color:#6c757d}}@media print{html .btn.btn-ghost-secondary:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-secondary:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-secondary:hover{background-color:#6c757d1f}}@media print{html .alert.alert-secondary a:not(.btn),html .table-secondary a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-secondary a:not(.btn),html[data-netbox-color-mode=dark] .table-secondary a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-secondary a:not(.btn),html[data-netbox-color-mode=light] .table-secondary a:not(.btn){font-weight:700;color:#41464b}}@media print{html .alert.alert-secondary .btn:not([class*=btn-outline]),html .table-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-secondary .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-secondary .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-secondary a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-secondary a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-secondary a:not(.btn){font-weight:700;color:#c4c8cb}}@media print{html .badge.bg-secondary,html .toast.bg-secondary,html .toast-header.bg-secondary,html .progress-bar.bg-secondary,html[data-netbox-color-mode=dark] .badge.bg-secondary,html[data-netbox-color-mode=dark] .toast.bg-secondary,html[data-netbox-color-mode=dark] .toast-header.bg-secondary,html[data-netbox-color-mode=dark] .progress-bar.bg-secondary,html[data-netbox-color-mode=light] .badge.bg-secondary,html[data-netbox-color-mode=light] .toast.bg-secondary,html[data-netbox-color-mode=light] .toast-header.bg-secondary,html[data-netbox-color-mode=light] .progress-bar.bg-secondary{color:#fff}}@media print{html .bg-success button.btn-close,html[data-netbox-color-mode=dark] .bg-success button.btn-close,html[data-netbox-color-mode=light] .bg-success button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f5132'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-success,html[data-netbox-color-mode=dark] .btn.btn-ghost-success,html[data-netbox-color-mode=light] .btn.btn-ghost-success{color:#198754}}@media print{html .btn.btn-ghost-success:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-success:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-success:hover{background-color:#1987541f}}@media print{html .alert.alert-success a:not(.btn),html .table-success a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-success a:not(.btn),html[data-netbox-color-mode=dark] .table-success a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-success a:not(.btn),html[data-netbox-color-mode=light] .table-success a:not(.btn){font-weight:700;color:#0f5132}}@media print{html .alert.alert-success .btn:not([class*=btn-outline]),html .table-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-success .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-success .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-success a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-success a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-success a:not(.btn){font-weight:700;color:#a3cfbb}}@media print{html .badge.bg-success,html .toast.bg-success,html .toast-header.bg-success,html .progress-bar.bg-success,html[data-netbox-color-mode=dark] .badge.bg-success,html[data-netbox-color-mode=dark] .toast.bg-success,html[data-netbox-color-mode=dark] .toast-header.bg-success,html[data-netbox-color-mode=dark] .progress-bar.bg-success,html[data-netbox-color-mode=light] .badge.bg-success,html[data-netbox-color-mode=light] .toast.bg-success,html[data-netbox-color-mode=light] .toast-header.bg-success,html[data-netbox-color-mode=light] .progress-bar.bg-success{color:#fff}}@media print{html .bg-info button.btn-close,html[data-netbox-color-mode=dark] .bg-info button.btn-close,html[data-netbox-color-mode=light] .bg-info button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23225660'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-info,html[data-netbox-color-mode=dark] .btn.btn-ghost-info,html[data-netbox-color-mode=light] .btn.btn-ghost-info{color:#54d6f0}}@media print{html .btn.btn-ghost-info:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-info:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-info:hover{background-color:#54d6f01f}}@media print{html .alert.alert-info a:not(.btn),html .table-info a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-info a:not(.btn),html[data-netbox-color-mode=dark] .table-info a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-info a:not(.btn),html[data-netbox-color-mode=light] .table-info a:not(.btn){font-weight:700;color:#225660}}@media print{html .alert.alert-info .btn:not([class*=btn-outline]),html .table-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-info .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-info .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-info a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-info a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-info a:not(.btn){font-weight:700;color:#225660}}@media print{html .badge.bg-info,html .toast.bg-info,html .toast-header.bg-info,html .progress-bar.bg-info,html[data-netbox-color-mode=dark] .badge.bg-info,html[data-netbox-color-mode=dark] .toast.bg-info,html[data-netbox-color-mode=dark] .toast-header.bg-info,html[data-netbox-color-mode=dark] .progress-bar.bg-info,html[data-netbox-color-mode=light] .badge.bg-info,html[data-netbox-color-mode=light] .toast.bg-info,html[data-netbox-color-mode=light] .toast-header.bg-info,html[data-netbox-color-mode=light] .progress-bar.bg-info{color:#000}}@media print{html .bg-warning button.btn-close,html[data-netbox-color-mode=dark] .bg-warning button.btn-close,html[data-netbox-color-mode=light] .bg-warning button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23664d03'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-warning,html[data-netbox-color-mode=dark] .btn.btn-ghost-warning,html[data-netbox-color-mode=light] .btn.btn-ghost-warning{color:#ffc107}}@media print{html .btn.btn-ghost-warning:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-warning:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-warning:hover{background-color:#ffc1071f}}@media print{html .alert.alert-warning a:not(.btn),html .table-warning a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-warning a:not(.btn),html[data-netbox-color-mode=dark] .table-warning a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-warning a:not(.btn),html[data-netbox-color-mode=light] .table-warning a:not(.btn){font-weight:700;color:#664d03}}@media print{html .alert.alert-warning .btn:not([class*=btn-outline]),html .table-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-warning .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-warning .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-warning a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-warning a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-warning a:not(.btn){font-weight:700;color:#664d03}}@media print{html .badge.bg-warning,html .toast.bg-warning,html .toast-header.bg-warning,html .progress-bar.bg-warning,html[data-netbox-color-mode=dark] .badge.bg-warning,html[data-netbox-color-mode=dark] .toast.bg-warning,html[data-netbox-color-mode=dark] .toast-header.bg-warning,html[data-netbox-color-mode=dark] .progress-bar.bg-warning,html[data-netbox-color-mode=light] .badge.bg-warning,html[data-netbox-color-mode=light] .toast.bg-warning,html[data-netbox-color-mode=light] .toast-header.bg-warning,html[data-netbox-color-mode=light] .progress-bar.bg-warning{color:#000}}@media print{html .bg-danger button.btn-close,html[data-netbox-color-mode=dark] .bg-danger button.btn-close,html[data-netbox-color-mode=light] .bg-danger button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23842029'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-danger,html[data-netbox-color-mode=dark] .btn.btn-ghost-danger,html[data-netbox-color-mode=light] .btn.btn-ghost-danger{color:#dc3545}}@media print{html .btn.btn-ghost-danger:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-danger:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-danger:hover{background-color:#dc35451f}}@media print{html .alert.alert-danger a:not(.btn),html .table-danger a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-danger a:not(.btn),html[data-netbox-color-mode=dark] .table-danger a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-danger a:not(.btn),html[data-netbox-color-mode=light] .table-danger a:not(.btn){font-weight:700;color:#842029}}@media print{html .alert.alert-danger .btn:not([class*=btn-outline]),html .table-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-danger .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-danger .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-danger a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-danger a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-danger a:not(.btn){font-weight:700;color:#f1aeb5}}@media print{html .badge.bg-danger,html .toast.bg-danger,html .toast-header.bg-danger,html .progress-bar.bg-danger,html[data-netbox-color-mode=dark] .badge.bg-danger,html[data-netbox-color-mode=dark] .toast.bg-danger,html[data-netbox-color-mode=dark] .toast-header.bg-danger,html[data-netbox-color-mode=dark] .progress-bar.bg-danger,html[data-netbox-color-mode=light] .badge.bg-danger,html[data-netbox-color-mode=light] .toast.bg-danger,html[data-netbox-color-mode=light] .toast-header.bg-danger,html[data-netbox-color-mode=light] .progress-bar.bg-danger{color:#fff}}@media print{html .bg-light button.btn-close,html[data-netbox-color-mode=dark] .bg-light button.btn-close,html[data-netbox-color-mode=light] .bg-light button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235d5e60'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-light,html[data-netbox-color-mode=dark] .btn.btn-ghost-light,html[data-netbox-color-mode=light] .btn.btn-ghost-light{color:#e9ecef}}@media print{html .btn.btn-ghost-light:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-light:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-light:hover{background-color:#e9ecef1f}}@media print{html .alert.alert-light a:not(.btn),html .table-light a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-light a:not(.btn),html[data-netbox-color-mode=dark] .table-light a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-light a:not(.btn),html[data-netbox-color-mode=light] .table-light a:not(.btn){font-weight:700;color:#5d5e60}}@media print{html .alert.alert-light .btn:not([class*=btn-outline]),html .table-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-light .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-light .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-light a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-light a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-light a:not(.btn){font-weight:700;color:#5d5e60}}@media print{html .badge.bg-light,html .toast.bg-light,html .toast-header.bg-light,html .progress-bar.bg-light,html[data-netbox-color-mode=dark] .badge.bg-light,html[data-netbox-color-mode=dark] .toast.bg-light,html[data-netbox-color-mode=dark] .toast-header.bg-light,html[data-netbox-color-mode=dark] .progress-bar.bg-light,html[data-netbox-color-mode=light] .badge.bg-light,html[data-netbox-color-mode=light] .toast.bg-light,html[data-netbox-color-mode=light] .toast-header.bg-light,html[data-netbox-color-mode=light] .progress-bar.bg-light{color:#000}}@media print{html .bg-dark button.btn-close,html[data-netbox-color-mode=dark] .bg-dark button.btn-close,html[data-netbox-color-mode=light] .bg-dark button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231f2326'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-dark,html[data-netbox-color-mode=dark] .btn.btn-ghost-dark,html[data-netbox-color-mode=light] .btn.btn-ghost-dark{color:#343a40}}@media print{html .btn.btn-ghost-dark:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-dark:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-dark:hover{background-color:#343a401f}}@media print{html .alert.alert-dark a:not(.btn),html .table-dark a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-dark a:not(.btn),html[data-netbox-color-mode=dark] .table-dark a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-dark a:not(.btn),html[data-netbox-color-mode=light] .table-dark a:not(.btn){font-weight:700;color:#1f2326}}@media print{html .alert.alert-dark .btn:not([class*=btn-outline]),html .table-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-dark .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-dark .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-dark a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-dark a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-dark a:not(.btn){font-weight:700;color:#aeb0b3}}@media print{html .badge.bg-dark,html .toast.bg-dark,html .toast-header.bg-dark,html .progress-bar.bg-dark,html[data-netbox-color-mode=dark] .badge.bg-dark,html[data-netbox-color-mode=dark] .toast.bg-dark,html[data-netbox-color-mode=dark] .toast-header.bg-dark,html[data-netbox-color-mode=dark] .progress-bar.bg-dark,html[data-netbox-color-mode=light] .badge.bg-dark,html[data-netbox-color-mode=light] .toast.bg-dark,html[data-netbox-color-mode=light] .toast-header.bg-dark,html[data-netbox-color-mode=light] .progress-bar.bg-dark{color:#fff}}@media print{html .bg-blue button.btn-close,html[data-netbox-color-mode=dark] .bg-blue button.btn-close,html[data-netbox-color-mode=light] .bg-blue button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23084298'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-blue,html[data-netbox-color-mode=dark] .btn.btn-ghost-blue,html[data-netbox-color-mode=light] .btn.btn-ghost-blue{color:#0d6efd}}@media print{html .btn.btn-ghost-blue:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-blue:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-blue:hover{background-color:#0d6efd1f}}@media print{html .alert.alert-blue a:not(.btn),html .table-blue a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-blue a:not(.btn),html[data-netbox-color-mode=dark] .table-blue a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-blue a:not(.btn),html[data-netbox-color-mode=light] .table-blue a:not(.btn){font-weight:700;color:#084298}}@media print{html .alert.alert-blue .btn:not([class*=btn-outline]),html .table-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-blue .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-blue .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-blue a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-blue a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-blue a:not(.btn){font-weight:700;color:#9ec5fe}}@media print{html .badge.bg-blue,html .toast.bg-blue,html .toast-header.bg-blue,html .progress-bar.bg-blue,html[data-netbox-color-mode=dark] .badge.bg-blue,html[data-netbox-color-mode=dark] .toast.bg-blue,html[data-netbox-color-mode=dark] .toast-header.bg-blue,html[data-netbox-color-mode=dark] .progress-bar.bg-blue,html[data-netbox-color-mode=light] .badge.bg-blue,html[data-netbox-color-mode=light] .toast.bg-blue,html[data-netbox-color-mode=light] .toast-header.bg-blue,html[data-netbox-color-mode=light] .progress-bar.bg-blue{color:#fff}}@media print{html .bg-indigo button.btn-close,html[data-netbox-color-mode=dark] .bg-indigo button.btn-close,html[data-netbox-color-mode=light] .bg-indigo button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233d0a91'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-indigo,html[data-netbox-color-mode=dark] .btn.btn-ghost-indigo,html[data-netbox-color-mode=light] .btn.btn-ghost-indigo{color:#6610f2}}@media print{html .btn.btn-ghost-indigo:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-indigo:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-indigo:hover{background-color:#6610f21f}}@media print{html .alert.alert-indigo a:not(.btn),html .table-indigo a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-indigo a:not(.btn),html[data-netbox-color-mode=dark] .table-indigo a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-indigo a:not(.btn),html[data-netbox-color-mode=light] .table-indigo a:not(.btn){font-weight:700;color:#3d0a91}}@media print{html .alert.alert-indigo .btn:not([class*=btn-outline]),html .table-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-indigo .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-indigo .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-indigo a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-indigo a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-indigo a:not(.btn){font-weight:700;color:#c29ffa}}@media print{html .badge.bg-indigo,html .toast.bg-indigo,html .toast-header.bg-indigo,html .progress-bar.bg-indigo,html[data-netbox-color-mode=dark] .badge.bg-indigo,html[data-netbox-color-mode=dark] .toast.bg-indigo,html[data-netbox-color-mode=dark] .toast-header.bg-indigo,html[data-netbox-color-mode=dark] .progress-bar.bg-indigo,html[data-netbox-color-mode=light] .badge.bg-indigo,html[data-netbox-color-mode=light] .toast.bg-indigo,html[data-netbox-color-mode=light] .toast-header.bg-indigo,html[data-netbox-color-mode=light] .progress-bar.bg-indigo{color:#fff}}@media print{html .bg-purple button.btn-close,html[data-netbox-color-mode=dark] .bg-purple button.btn-close,html[data-netbox-color-mode=light] .bg-purple button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23432874'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-purple,html[data-netbox-color-mode=dark] .btn.btn-ghost-purple,html[data-netbox-color-mode=light] .btn.btn-ghost-purple{color:#6f42c1}}@media print{html .btn.btn-ghost-purple:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-purple:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-purple:hover{background-color:#6f42c11f}}@media print{html .alert.alert-purple a:not(.btn),html .table-purple a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-purple a:not(.btn),html[data-netbox-color-mode=dark] .table-purple a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-purple a:not(.btn),html[data-netbox-color-mode=light] .table-purple a:not(.btn){font-weight:700;color:#432874}}@media print{html .alert.alert-purple .btn:not([class*=btn-outline]),html .table-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-purple .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-purple .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-purple a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-purple a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-purple a:not(.btn){font-weight:700;color:#c5b3e6}}@media print{html .badge.bg-purple,html .toast.bg-purple,html .toast-header.bg-purple,html .progress-bar.bg-purple,html[data-netbox-color-mode=dark] .badge.bg-purple,html[data-netbox-color-mode=dark] .toast.bg-purple,html[data-netbox-color-mode=dark] .toast-header.bg-purple,html[data-netbox-color-mode=dark] .progress-bar.bg-purple,html[data-netbox-color-mode=light] .badge.bg-purple,html[data-netbox-color-mode=light] .toast.bg-purple,html[data-netbox-color-mode=light] .toast-header.bg-purple,html[data-netbox-color-mode=light] .progress-bar.bg-purple{color:#fff}}@media print{html .bg-pink button.btn-close,html[data-netbox-color-mode=dark] .bg-pink button.btn-close,html[data-netbox-color-mode=light] .bg-pink button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23801f4f'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-pink,html[data-netbox-color-mode=dark] .btn.btn-ghost-pink,html[data-netbox-color-mode=light] .btn.btn-ghost-pink{color:#d63384}}@media print{html .btn.btn-ghost-pink:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-pink:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-pink:hover{background-color:#d633841f}}@media print{html .alert.alert-pink a:not(.btn),html .table-pink a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-pink a:not(.btn),html[data-netbox-color-mode=dark] .table-pink a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-pink a:not(.btn),html[data-netbox-color-mode=light] .table-pink a:not(.btn){font-weight:700;color:#801f4f}}@media print{html .alert.alert-pink .btn:not([class*=btn-outline]),html .table-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-pink .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-pink .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-pink a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-pink a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-pink a:not(.btn){font-weight:700;color:#efadce}}@media print{html .badge.bg-pink,html .toast.bg-pink,html .toast-header.bg-pink,html .progress-bar.bg-pink,html[data-netbox-color-mode=dark] .badge.bg-pink,html[data-netbox-color-mode=dark] .toast.bg-pink,html[data-netbox-color-mode=dark] .toast-header.bg-pink,html[data-netbox-color-mode=dark] .progress-bar.bg-pink,html[data-netbox-color-mode=light] .badge.bg-pink,html[data-netbox-color-mode=light] .toast.bg-pink,html[data-netbox-color-mode=light] .toast-header.bg-pink,html[data-netbox-color-mode=light] .progress-bar.bg-pink{color:#fff}}@media print{html .bg-red button.btn-close,html[data-netbox-color-mode=dark] .bg-red button.btn-close,html[data-netbox-color-mode=light] .bg-red button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23842029'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-red,html[data-netbox-color-mode=dark] .btn.btn-ghost-red,html[data-netbox-color-mode=light] .btn.btn-ghost-red{color:#dc3545}}@media print{html .btn.btn-ghost-red:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-red:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-red:hover{background-color:#dc35451f}}@media print{html .alert.alert-red a:not(.btn),html .table-red a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-red a:not(.btn),html[data-netbox-color-mode=dark] .table-red a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-red a:not(.btn),html[data-netbox-color-mode=light] .table-red a:not(.btn){font-weight:700;color:#842029}}@media print{html .alert.alert-red .btn:not([class*=btn-outline]),html .table-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-red .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-red .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-red a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-red a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-red a:not(.btn){font-weight:700;color:#f1aeb5}}@media print{html .badge.bg-red,html .toast.bg-red,html .toast-header.bg-red,html .progress-bar.bg-red,html[data-netbox-color-mode=dark] .badge.bg-red,html[data-netbox-color-mode=dark] .toast.bg-red,html[data-netbox-color-mode=dark] .toast-header.bg-red,html[data-netbox-color-mode=dark] .progress-bar.bg-red,html[data-netbox-color-mode=light] .badge.bg-red,html[data-netbox-color-mode=light] .toast.bg-red,html[data-netbox-color-mode=light] .toast-header.bg-red,html[data-netbox-color-mode=light] .progress-bar.bg-red{color:#fff}}@media print{html .bg-orange button.btn-close,html[data-netbox-color-mode=dark] .bg-orange button.btn-close,html[data-netbox-color-mode=light] .bg-orange button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23984c0c'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-orange,html[data-netbox-color-mode=dark] .btn.btn-ghost-orange,html[data-netbox-color-mode=light] .btn.btn-ghost-orange{color:#fd7e14}}@media print{html .btn.btn-ghost-orange:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-orange:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-orange:hover{background-color:#fd7e141f}}@media print{html .alert.alert-orange a:not(.btn),html .table-orange a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-orange a:not(.btn),html[data-netbox-color-mode=dark] .table-orange a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-orange a:not(.btn),html[data-netbox-color-mode=light] .table-orange a:not(.btn){font-weight:700;color:#984c0c}}@media print{html .alert.alert-orange .btn:not([class*=btn-outline]),html .table-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-orange .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-orange .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-orange a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-orange a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-orange a:not(.btn){font-weight:700;color:#653208}}@media print{html .badge.bg-orange,html .toast.bg-orange,html .toast-header.bg-orange,html .progress-bar.bg-orange,html[data-netbox-color-mode=dark] .badge.bg-orange,html[data-netbox-color-mode=dark] .toast.bg-orange,html[data-netbox-color-mode=dark] .toast-header.bg-orange,html[data-netbox-color-mode=dark] .progress-bar.bg-orange,html[data-netbox-color-mode=light] .badge.bg-orange,html[data-netbox-color-mode=light] .toast.bg-orange,html[data-netbox-color-mode=light] .toast-header.bg-orange,html[data-netbox-color-mode=light] .progress-bar.bg-orange{color:#000}}@media print{html .bg-yellow button.btn-close,html[data-netbox-color-mode=dark] .bg-yellow button.btn-close,html[data-netbox-color-mode=light] .bg-yellow button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23664d03'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-yellow,html[data-netbox-color-mode=dark] .btn.btn-ghost-yellow,html[data-netbox-color-mode=light] .btn.btn-ghost-yellow{color:#ffc107}}@media print{html .btn.btn-ghost-yellow:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-yellow:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-yellow:hover{background-color:#ffc1071f}}@media print{html .alert.alert-yellow a:not(.btn),html .table-yellow a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-yellow a:not(.btn),html[data-netbox-color-mode=dark] .table-yellow a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-yellow a:not(.btn),html[data-netbox-color-mode=light] .table-yellow a:not(.btn){font-weight:700;color:#664d03}}@media print{html .alert.alert-yellow .btn:not([class*=btn-outline]),html .table-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-yellow .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-yellow .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-yellow a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-yellow a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-yellow a:not(.btn){font-weight:700;color:#664d03}}@media print{html .badge.bg-yellow,html .toast.bg-yellow,html .toast-header.bg-yellow,html .progress-bar.bg-yellow,html[data-netbox-color-mode=dark] .badge.bg-yellow,html[data-netbox-color-mode=dark] .toast.bg-yellow,html[data-netbox-color-mode=dark] .toast-header.bg-yellow,html[data-netbox-color-mode=dark] .progress-bar.bg-yellow,html[data-netbox-color-mode=light] .badge.bg-yellow,html[data-netbox-color-mode=light] .toast.bg-yellow,html[data-netbox-color-mode=light] .toast-header.bg-yellow,html[data-netbox-color-mode=light] .progress-bar.bg-yellow{color:#000}}@media print{html .bg-green button.btn-close,html[data-netbox-color-mode=dark] .bg-green button.btn-close,html[data-netbox-color-mode=light] .bg-green button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f5132'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-green,html[data-netbox-color-mode=dark] .btn.btn-ghost-green,html[data-netbox-color-mode=light] .btn.btn-ghost-green{color:#198754}}@media print{html .btn.btn-ghost-green:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-green:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-green:hover{background-color:#1987541f}}@media print{html .alert.alert-green a:not(.btn),html .table-green a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-green a:not(.btn),html[data-netbox-color-mode=dark] .table-green a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-green a:not(.btn),html[data-netbox-color-mode=light] .table-green a:not(.btn){font-weight:700;color:#0f5132}}@media print{html .alert.alert-green .btn:not([class*=btn-outline]),html .table-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-green .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-green .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-green a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-green a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-green a:not(.btn){font-weight:700;color:#a3cfbb}}@media print{html .badge.bg-green,html .toast.bg-green,html .toast-header.bg-green,html .progress-bar.bg-green,html[data-netbox-color-mode=dark] .badge.bg-green,html[data-netbox-color-mode=dark] .toast.bg-green,html[data-netbox-color-mode=dark] .toast-header.bg-green,html[data-netbox-color-mode=dark] .progress-bar.bg-green,html[data-netbox-color-mode=light] .badge.bg-green,html[data-netbox-color-mode=light] .toast.bg-green,html[data-netbox-color-mode=light] .toast-header.bg-green,html[data-netbox-color-mode=light] .progress-bar.bg-green{color:#fff}}@media print{html .bg-teal button.btn-close,html[data-netbox-color-mode=dark] .bg-teal button.btn-close,html[data-netbox-color-mode=light] .bg-teal button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2313795b'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-teal,html[data-netbox-color-mode=dark] .btn.btn-ghost-teal,html[data-netbox-color-mode=light] .btn.btn-ghost-teal{color:#20c997}}@media print{html .btn.btn-ghost-teal:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-teal:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-teal:hover{background-color:#20c9971f}}@media print{html .alert.alert-teal a:not(.btn),html .table-teal a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-teal a:not(.btn),html[data-netbox-color-mode=dark] .table-teal a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-teal a:not(.btn),html[data-netbox-color-mode=light] .table-teal a:not(.btn){font-weight:700;color:#13795b}}@media print{html .alert.alert-teal .btn:not([class*=btn-outline]),html .table-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-teal .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-teal .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-teal a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-teal a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-teal a:not(.btn){font-weight:700;color:#0d503c}}@media print{html .badge.bg-teal,html .toast.bg-teal,html .toast-header.bg-teal,html .progress-bar.bg-teal,html[data-netbox-color-mode=dark] .badge.bg-teal,html[data-netbox-color-mode=dark] .toast.bg-teal,html[data-netbox-color-mode=dark] .toast-header.bg-teal,html[data-netbox-color-mode=dark] .progress-bar.bg-teal,html[data-netbox-color-mode=light] .badge.bg-teal,html[data-netbox-color-mode=light] .toast.bg-teal,html[data-netbox-color-mode=light] .toast-header.bg-teal,html[data-netbox-color-mode=light] .progress-bar.bg-teal{color:#000}}@media print{html .bg-cyan button.btn-close,html[data-netbox-color-mode=dark] .bg-cyan button.btn-close,html[data-netbox-color-mode=light] .bg-cyan button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23055160'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-cyan,html[data-netbox-color-mode=dark] .btn.btn-ghost-cyan,html[data-netbox-color-mode=light] .btn.btn-ghost-cyan{color:#0dcaf0}}@media print{html .btn.btn-ghost-cyan:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-cyan:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-cyan:hover{background-color:#0dcaf01f}}@media print{html .alert.alert-cyan a:not(.btn),html .table-cyan a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-cyan a:not(.btn),html[data-netbox-color-mode=dark] .table-cyan a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-cyan a:not(.btn),html[data-netbox-color-mode=light] .table-cyan a:not(.btn){font-weight:700;color:#055160}}@media print{html .alert.alert-cyan .btn:not([class*=btn-outline]),html .table-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-cyan .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-cyan .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-cyan a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-cyan a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-cyan a:not(.btn){font-weight:700;color:#055160}}@media print{html .badge.bg-cyan,html .toast.bg-cyan,html .toast-header.bg-cyan,html .progress-bar.bg-cyan,html[data-netbox-color-mode=dark] .badge.bg-cyan,html[data-netbox-color-mode=dark] .toast.bg-cyan,html[data-netbox-color-mode=dark] .toast-header.bg-cyan,html[data-netbox-color-mode=dark] .progress-bar.bg-cyan,html[data-netbox-color-mode=light] .badge.bg-cyan,html[data-netbox-color-mode=light] .toast.bg-cyan,html[data-netbox-color-mode=light] .toast-header.bg-cyan,html[data-netbox-color-mode=light] .progress-bar.bg-cyan{color:#000}}@media print{html .bg-gray button.btn-close,html[data-netbox-color-mode=dark] .bg-gray button.btn-close,html[data-netbox-color-mode=light] .bg-gray button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23686d71'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-gray,html[data-netbox-color-mode=dark] .btn.btn-ghost-gray,html[data-netbox-color-mode=light] .btn.btn-ghost-gray{color:#adb5bd}}@media print{html .btn.btn-ghost-gray:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-gray:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-gray:hover{background-color:#adb5bd1f}}@media print{html .alert.alert-gray a:not(.btn),html .table-gray a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-gray a:not(.btn),html[data-netbox-color-mode=dark] .table-gray a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-gray a:not(.btn),html[data-netbox-color-mode=light] .table-gray a:not(.btn){font-weight:700;color:#686d71}}@media print{html .alert.alert-gray .btn:not([class*=btn-outline]),html .table-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-gray .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-gray .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-gray a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-gray a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-gray a:not(.btn){font-weight:700;color:#45484c}}@media print{html .badge.bg-gray,html .toast.bg-gray,html .toast-header.bg-gray,html .progress-bar.bg-gray,html[data-netbox-color-mode=dark] .badge.bg-gray,html[data-netbox-color-mode=dark] .toast.bg-gray,html[data-netbox-color-mode=dark] .toast-header.bg-gray,html[data-netbox-color-mode=dark] .progress-bar.bg-gray,html[data-netbox-color-mode=light] .badge.bg-gray,html[data-netbox-color-mode=light] .toast.bg-gray,html[data-netbox-color-mode=light] .toast-header.bg-gray,html[data-netbox-color-mode=light] .progress-bar.bg-gray{color:#000}}@media print{html .bg-black button.btn-close,html[data-netbox-color-mode=dark] .bg-black button.btn-close,html[data-netbox-color-mode=light] .bg-black button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-black,html[data-netbox-color-mode=dark] .btn.btn-ghost-black,html[data-netbox-color-mode=light] .btn.btn-ghost-black{color:#000}}@media print{html .btn.btn-ghost-black:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-black:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-black:hover{background-color:#0000001f}}@media print{html .alert.alert-black a:not(.btn),html .table-black a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-black a:not(.btn),html[data-netbox-color-mode=dark] .table-black a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-black a:not(.btn),html[data-netbox-color-mode=light] .table-black a:not(.btn){font-weight:700;color:#000}}@media print{html .alert.alert-black .btn:not([class*=btn-outline]),html .table-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-black .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-black .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-black a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-black a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-black a:not(.btn){font-weight:700;color:#999}}@media print{html .badge.bg-black,html .toast.bg-black,html .toast-header.bg-black,html .progress-bar.bg-black,html[data-netbox-color-mode=dark] .badge.bg-black,html[data-netbox-color-mode=dark] .toast.bg-black,html[data-netbox-color-mode=dark] .toast-header.bg-black,html[data-netbox-color-mode=dark] .progress-bar.bg-black,html[data-netbox-color-mode=light] .badge.bg-black,html[data-netbox-color-mode=light] .toast.bg-black,html[data-netbox-color-mode=light] .toast-header.bg-black,html[data-netbox-color-mode=light] .progress-bar.bg-black{color:#fff}}@media print{html .bg-white button.btn-close,html[data-netbox-color-mode=dark] .bg-white button.btn-close,html[data-netbox-color-mode=light] .bg-white button.btn-close{background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23666666'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat}}@media print{html .btn.btn-ghost-white,html[data-netbox-color-mode=dark] .btn.btn-ghost-white,html[data-netbox-color-mode=light] .btn.btn-ghost-white{color:#fff}}@media print{html .btn.btn-ghost-white:hover,html[data-netbox-color-mode=dark] .btn.btn-ghost-white:hover,html[data-netbox-color-mode=light] .btn.btn-ghost-white:hover{background-color:#ffffff1f}}@media print{html .alert.alert-white a:not(.btn),html .table-white a:not(.btn),html[data-netbox-color-mode=dark] .alert.alert-white a:not(.btn),html[data-netbox-color-mode=dark] .table-white a:not(.btn),html[data-netbox-color-mode=light] .alert.alert-white a:not(.btn),html[data-netbox-color-mode=light] .table-white a:not(.btn){font-weight:700;color:#666}}@media print{html .alert.alert-white .btn:not([class*=btn-outline]),html .table-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .alert.alert-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=dark] .table-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .alert.alert-white .btn:not([class*=btn-outline]),html[data-netbox-color-mode=light] .table-white .btn:not([class*=btn-outline]){border-color:#495057}}@media print{html .toast.bg-white a:not(.btn),html[data-netbox-color-mode=dark] .toast.bg-white a:not(.btn),html[data-netbox-color-mode=light] .toast.bg-white a:not(.btn){font-weight:700;color:#666}}@media print{html .badge.bg-white,html .toast.bg-white,html .toast-header.bg-white,html .progress-bar.bg-white,html[data-netbox-color-mode=dark] .badge.bg-white,html[data-netbox-color-mode=dark] .toast.bg-white,html[data-netbox-color-mode=dark] .toast-header.bg-white,html[data-netbox-color-mode=dark] .progress-bar.bg-white,html[data-netbox-color-mode=light] .badge.bg-white,html[data-netbox-color-mode=light] .toast.bg-white,html[data-netbox-color-mode=light] .toast-header.bg-white,html[data-netbox-color-mode=light] .progress-bar.bg-white{color:#000}}@media print{html table td>.progress,html[data-netbox-color-mode=dark] table td>.progress,html[data-netbox-color-mode=light] table td>.progress{min-width:6rem}}@media print{html .small .form-control,html[data-netbox-color-mode=dark] .small .form-control,html[data-netbox-color-mode=light] .small .form-control{font-size:.875rem}}@media print{html :not(.card-body)>.col:not(:last-child):not(:only-child),html[data-netbox-color-mode=dark] :not(.card-body)>.col:not(:last-child):not(:only-child),html[data-netbox-color-mode=light] :not(.card-body)>.col:not(:last-child):not(:only-child){margin-bottom:1rem}}@media print{html .nav-mobile,html[data-netbox-color-mode=dark] .nav-mobile,html[data-netbox-color-mode=light] .nav-mobile{display:none;flex-direction:column;align-items:center;justify-content:space-between;width:100%}}@media print and (max-width: 991.98px){html .nav-mobile,html[data-netbox-color-mode=dark] .nav-mobile,html[data-netbox-color-mode=light] .nav-mobile{display:flex}}@media print{html .nav-mobile .nav-mobile-top,html[data-netbox-color-mode=dark] .nav-mobile .nav-mobile-top,html[data-netbox-color-mode=light] .nav-mobile .nav-mobile-top{display:flex;align-items:center;justify-content:space-between;width:100%}}@media print{html .card>.table.table-flush,html[data-netbox-color-mode=dark] .card>.table.table-flush,html[data-netbox-color-mode=light] .card>.table.table-flush{margin-bottom:0;overflow:hidden;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}}@media print{html .card>.table.table-flush thead th[scope=col],html[data-netbox-color-mode=dark] .card>.table.table-flush thead th[scope=col],html[data-netbox-color-mode=light] .card>.table.table-flush thead th[scope=col]{padding-top:1rem;padding-bottom:1rem;text-transform:uppercase;vertical-align:middle;background-color:#f8f9fa;border-top:1px solid rgba(0,0,0,.125);border-bottom-color:#00000020}}@media print{html .card>.table.table-flush th,html .card>.table.table-flush td,html[data-netbox-color-mode=dark] .card>.table.table-flush th,html[data-netbox-color-mode=dark] .card>.table.table-flush td,html[data-netbox-color-mode=light] .card>.table.table-flush th,html[data-netbox-color-mode=light] .card>.table.table-flush td{padding-right:1.5rem!important;padding-left:1.5rem!important;border-right:0;border-left:0}}@media print{html .card>.table.table-flush tr[class],html[data-netbox-color-mode=dark] .card>.table.table-flush tr[class],html[data-netbox-color-mode=light] .card>.table.table-flush tr[class]{border-color:#00000020!important}}@media print{html .card>.table.table-flush tr[class]:last-of-type,html[data-netbox-color-mode=dark] .card>.table.table-flush tr[class]:last-of-type,html[data-netbox-color-mode=light] .card>.table.table-flush tr[class]:last-of-type{border-bottom-color:transparent!important;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}}@media print{html .header-alert-container,html[data-netbox-color-mode=dark] .header-alert-container,html[data-netbox-color-mode=light] .header-alert-container{display:flex;align-items:center;justify-content:center;padding:0 1rem}}@media print{html .header-alert-container .alert,html[data-netbox-color-mode=dark] .header-alert-container .alert,html[data-netbox-color-mode=light] .header-alert-container .alert{width:100%}}@media print and (min-width: 768px){html .header-alert-container .alert,html[data-netbox-color-mode=dark] .header-alert-container .alert,html[data-netbox-color-mode=light] .header-alert-container .alert{max-width:75%}}@media print and (min-width: 992px){html .header-alert-container .alert,html[data-netbox-color-mode=dark] .header-alert-container .alert,html[data-netbox-color-mode=light] .header-alert-container .alert{max-width:50%}}@media print{html span.profile-button .dropdown-menu,html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu,html[data-netbox-color-mode=light] span.profile-button .dropdown-menu{right:0;left:auto;display:block!important;margin-top:.5rem;box-shadow:0 .5rem 1rem #00000026;transition:opacity .2s ease-in-out}}@media print{html span.profile-button .dropdown-menu:not(.show),html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu:not(.show),html[data-netbox-color-mode=light] span.profile-button .dropdown-menu:not(.show){pointer-events:none;opacity:0}}@media print{html span.profile-button .dropdown-menu.show,html[data-netbox-color-mode=dark] span.profile-button .dropdown-menu.show,html[data-netbox-color-mode=light] span.profile-button .dropdown-menu.show{pointer-events:auto;opacity:1}}@media print{html div#advanced-search-content div.card div.card-body div.col:not(:last-child),html[data-netbox-color-mode=dark] div#advanced-search-content div.card div.card-body div.col:not(:last-child),html[data-netbox-color-mode=light] div#advanced-search-content div.card div.card-body div.col:not(:last-child){margin-right:1rem}}@media print{html table td a,html[data-netbox-color-mode=dark] table td a,html[data-netbox-color-mode=light] table td a{text-decoration:none}}@media print{html table td a:hover,html[data-netbox-color-mode=dark] table td a:hover,html[data-netbox-color-mode=light] table td a:hover{text-decoration:underline}}@media print{html table td .dropdown,html[data-netbox-color-mode=dark] table td .dropdown,html[data-netbox-color-mode=light] table td .dropdown{position:static}}@media print{html table th a,html table th a:hover,html[data-netbox-color-mode=dark] table th a,html[data-netbox-color-mode=dark] table th a:hover,html[data-netbox-color-mode=light] table th a,html[data-netbox-color-mode=light] table th a:hover{color:#212529;text-decoration:none}}@media print{html table td,html table th,html[data-netbox-color-mode=dark] table td,html[data-netbox-color-mode=dark] table th,html[data-netbox-color-mode=light] table td,html[data-netbox-color-mode=light] table th{font-size:.875rem;line-height:1.25;vertical-align:middle}}@media print{html table td.min-width,html table th.min-width,html[data-netbox-color-mode=dark] table td.min-width,html[data-netbox-color-mode=dark] table th.min-width,html[data-netbox-color-mode=light] table td.min-width,html[data-netbox-color-mode=light] table th.min-width{width:1%}}@media print{html table td .form-check-input,html table th .form-check-input,html[data-netbox-color-mode=dark] table td .form-check-input,html[data-netbox-color-mode=dark] table th .form-check-input,html[data-netbox-color-mode=light] table td .form-check-input,html[data-netbox-color-mode=light] table th .form-check-input{margin-top:.125em;font-size:1rem}}@media print{html table td .btn-sm,html table td .btn-group-sm>.btn,html table th .btn-sm,html table th .btn-group-sm>.btn,html[data-netbox-color-mode=dark] table td .btn-sm,html[data-netbox-color-mode=dark] table td html[data-netbox-color-mode=light] .btn-group-sm>.btn,html[data-netbox-color-mode=dark] table th .btn-sm,html[data-netbox-color-mode=dark] table th html[data-netbox-color-mode=light] .btn-group-sm>.btn,html[data-netbox-color-mode=light] table td .btn-sm,html[data-netbox-color-mode=light] table td html[data-netbox-color-mode=dark] .btn-group-sm>.btn,html[data-netbox-color-mode=light] table th .btn-sm,html[data-netbox-color-mode=light] table th html[data-netbox-color-mode=dark] .btn-group-sm>.btn{line-height:1}}@media print{html table td p,html table th p,html[data-netbox-color-mode=dark] table td p,html[data-netbox-color-mode=dark] table th p,html[data-netbox-color-mode=light] table td p,html[data-netbox-color-mode=light] table th p{margin-bottom:0}}@media print{html table th.asc a:after,html[data-netbox-color-mode=dark] table th.asc a:after,html[data-netbox-color-mode=light] table th.asc a:after{content:"\f0140";font-family:"Material Design Icons"}}@media print{html table th.desc a:after,html[data-netbox-color-mode=dark] table th.desc a:after,html[data-netbox-color-mode=light] table th.desc a:after{content:"\f0143";font-family:"Material Design Icons"}}@media print{html table.table>:not(caption)>*>*,html[data-netbox-color-mode=dark] table.table>:not(caption)>*>*,html[data-netbox-color-mode=light] table.table>:not(caption)>*>*{padding-right:.25rem!important;padding-left:.25rem!important}}@media print{html table.object-list th,html[data-netbox-color-mode=dark] table.object-list th,html[data-netbox-color-mode=light] table.object-list th{font-size:.75rem;line-height:1;vertical-align:bottom}}@media print{html table.attr-table th,html[data-netbox-color-mode=dark] table.attr-table th,html[data-netbox-color-mode=light] table.attr-table th{font-weight:normal;width:25%}}@media print{html div.title-container,html[data-netbox-color-mode=dark] div.title-container,html[data-netbox-color-mode=light] div.title-container{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between}}@media print and (min-width: 992px){html div.title-container,html[data-netbox-color-mode=dark] div.title-container,html[data-netbox-color-mode=light] div.title-container{flex-direction:row}}@media print{html div.title-container #content-title,html[data-netbox-color-mode=dark] div.title-container #content-title,html[data-netbox-color-mode=light] div.title-container #content-title{display:flex;flex:1 0;flex-direction:column;padding-bottom:.5rem}}@media print{html .controls,html[data-netbox-color-mode=dark] .controls,html[data-netbox-color-mode=light] .controls{margin-bottom:.5rem}}@media print{html .controls,html[data-netbox-color-mode=dark] .controls,html[data-netbox-color-mode=light] .controls{display:none!important}}@media print{html .controls .control-group,html[data-netbox-color-mode=dark] .controls .control-group,html[data-netbox-color-mode=light] .controls .control-group{display:flex;flex-wrap:wrap;justify-content:flex-start}}@media print and (min-width: 992px){html .controls .control-group,html[data-netbox-color-mode=dark] .controls .control-group,html[data-netbox-color-mode=light] .controls .control-group{justify-content:flex-end}}@media print{html .controls .control-group>*,html[data-netbox-color-mode=dark] .controls .control-group>*,html[data-netbox-color-mode=light] .controls .control-group>*{margin:.25rem}}@media print{html .controls .control-group>*:first-child,html[data-netbox-color-mode=dark] .controls .control-group>*:first-child,html[data-netbox-color-mode=light] .controls .control-group>*:first-child{margin-left:0}}@media print{html .controls .control-group>*:last-child,html[data-netbox-color-mode=dark] .controls .control-group>*:last-child,html[data-netbox-color-mode=light] .controls .control-group>*:last-child{margin-right:0}}@media print{html .object-subtitle,html[data-netbox-color-mode=dark] .object-subtitle,html[data-netbox-color-mode=light] .object-subtitle{display:block;font-size:.875rem;color:#6c757d}}@media print and (min-width: 768px){html .object-subtitle,html[data-netbox-color-mode=dark] .object-subtitle,html[data-netbox-color-mode=light] .object-subtitle{display:inline-block}}@media print{html .object-subtitle>span,html[data-netbox-color-mode=dark] .object-subtitle>span,html[data-netbox-color-mode=light] .object-subtitle>span{display:block}}@media print{html .object-subtitle>span.separator,html[data-netbox-color-mode=dark] .object-subtitle>span.separator,html[data-netbox-color-mode=light] .object-subtitle>span.separator{display:none}}@media print and (min-width: 768px){html .object-subtitle>span,html .object-subtitle>span.separator,html[data-netbox-color-mode=dark] .object-subtitle>span,html[data-netbox-color-mode=dark] .object-subtitle>span.separator,html[data-netbox-color-mode=light] .object-subtitle>span,html[data-netbox-color-mode=light] .object-subtitle>span.separator{display:inline-block}}@media print{html nav.search,html[data-netbox-color-mode=dark] nav.search,html[data-netbox-color-mode=light] nav.search{z-index:999;justify-content:center;background-color:#f8f9fa}}@media print{html nav.search .search-container,html[data-netbox-color-mode=dark] nav.search .search-container,html[data-netbox-color-mode=light] nav.search .search-container{display:flex;width:100%}}@media print and (max-width: 991.98px){html nav.search .search-container,html[data-netbox-color-mode=dark] nav.search .search-container,html[data-netbox-color-mode=light] nav.search .search-container{display:none}}@media print{html nav.search .input-group .search-obj-selected,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selected,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selected{border-color:#ced4da}}@media print{html nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle{color:#000;border-color:#ced4da;margin-left:0;font-weight:400;line-height:1.5;color:#212529;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem;border-left:1px solid var(--nbx-search-filter-border-left-color)}}@media print{html nav.search .input-group .dropdown-toggle:hover,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:hover,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:hover{color:#000;background-color:#eceff1;border-color:#d3d8de}}@media print{.btn-check:focus+html nav.search .input-group .dropdown-toggle,html nav.search .input-group .dropdown-toggle:focus,.btn-check:focus+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,.btn-check:focus+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:focus{color:#000;background-color:#eceff1;border-color:#d3d8de;box-shadow:0 0 0 .25rem #afb4b980}}@media print{.btn-check:checked+html nav.search .input-group .dropdown-toggle,.btn-check:active+html nav.search .input-group .dropdown-toggle,html nav.search .input-group .dropdown-toggle:active,html nav.search .input-group .dropdown-toggle.active,.show>html nav.search .input-group .dropdown-toggle.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,.btn-check:active+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:active,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.active,.show>html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.dropdown-toggle,.btn-check:checked+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle,.btn-check:active+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:active,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.active,.show>html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.dropdown-toggle{color:#000;background-color:#edf0f2;border-color:#d3d8de}}@media print{.btn-check:checked+html nav.search .input-group .dropdown-toggle:focus,.btn-check:active+html nav.search .input-group .dropdown-toggle:focus,html nav.search .input-group .dropdown-toggle:active:focus,html nav.search .input-group .dropdown-toggle.active:focus,.show>html nav.search .input-group .dropdown-toggle.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,.btn-check:active+html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:active:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.active:focus,.show>html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.dropdown-toggle:focus,.btn-check:checked+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:focus,.btn-check:active+html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:active:focus,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.active:focus,.show>html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.dropdown-toggle:focus{box-shadow:0 0 0 .25rem #afb4b980}}@media print{html nav.search .input-group .dropdown-toggle:disabled,html nav.search .input-group .dropdown-toggle.disabled,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:disabled,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle.disabled,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:disabled,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle.disabled{color:#000;background-color:#e9ecef;border-color:#ced4da}}@media print{html nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:focus,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:focus{box-shadow:unset!important}}@media print{html nav.search .input-group .dropdown-toggle:after,html[data-netbox-color-mode=dark] nav.search .input-group .dropdown-toggle:after,html[data-netbox-color-mode=light] nav.search .input-group .dropdown-toggle:after{display:none}}@media print{html nav.search .input-group .search-obj-selector,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selector{max-height:70vh;overflow-y:auto}}@media print{html nav.search .input-group .search-obj-selector .dropdown-item,html nav.search .input-group .search-obj-selector .dropdown-header,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-item,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-header,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selector .dropdown-item,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selector .dropdown-header{font-size:.875rem}}@media print{html nav.search .input-group .search-obj-selector .dropdown-header,html[data-netbox-color-mode=dark] nav.search .input-group .search-obj-selector .dropdown-header,html[data-netbox-color-mode=light] nav.search .input-group .search-obj-selector .dropdown-header{text-transform:uppercase}}@media print{html main.layout,html[data-netbox-color-mode=dark] main.layout,html[data-netbox-color-mode=light] main.layout{display:flex;flex-wrap:nowrap;height:100vh;height:-webkit-fill-available;max-height:100vh;overflow-x:auto;overflow-y:hidden}}@media print{html main.layout,html[data-netbox-color-mode=dark] main.layout,html[data-netbox-color-mode=light] main.layout{position:static!important;display:block!important;height:100%;overflow-x:visible!important;overflow-y:visible!important}}@media print{html main.login-container,html[data-netbox-color-mode=dark] main.login-container,html[data-netbox-color-mode=light] main.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100vw;height:calc(100vh - 4rem);padding-top:40px;padding-bottom:40px}}@media print{html main.login-container+footer.footer button.color-mode-toggle,html[data-netbox-color-mode=dark] main.login-container+footer.footer button.color-mode-toggle,html[data-netbox-color-mode=light] main.login-container+footer.footer button.color-mode-toggle{color:var(--nbx-color-mode-toggle-color)}}@media print{html .footer,html[data-netbox-color-mode=dark] .footer,html[data-netbox-color-mode=light] .footer{background-color:#f8f9fa;padding:0}}@media print{html .footer .nav-link,html[data-netbox-color-mode=dark] .footer .nav-link,html[data-netbox-color-mode=light] .footer .nav-link{padding:.5rem}}@media print and (max-width: 767.98px){html .footer,html[data-netbox-color-mode=dark] .footer,html[data-netbox-color-mode=light] .footer{margin-bottom:8rem}}@media print{html footer.login-footer,html[data-netbox-color-mode=dark] footer.login-footer,html[data-netbox-color-mode=light] footer.login-footer{height:4rem;margin-top:auto}}@media print{html footer.login-footer .container-fluid,html footer.login-footer .container-sm,html footer.login-footer .container-md,html footer.login-footer .container-lg,html footer.login-footer .container-xl,html footer.login-footer .container-xxl,html[data-netbox-color-mode=dark] footer.login-footer .container-fluid,html[data-netbox-color-mode=light] footer.login-footer .container-fluid{display:flex;justify-content:flex-end;padding:.75rem 1.5rem}}@media print{html h1.accordion-item-title,html .accordion-item-title.h1,html h2.accordion-item-title,html .accordion-item-title.h2,html h3.accordion-item-title,html .accordion-item-title.h3,html h4.accordion-item-title,html .accordion-item-title.h4,html h5.accordion-item-title,html .accordion-item-title.h5,html h6.accordion-item-title,html .accordion-item-title.h6,html[data-netbox-color-mode=dark] h1.accordion-item-title,html[data-netbox-color-mode=dark] h2.accordion-item-title,html[data-netbox-color-mode=dark] h3.accordion-item-title,html[data-netbox-color-mode=dark] h4.accordion-item-title,html[data-netbox-color-mode=dark] h5.accordion-item-title,html[data-netbox-color-mode=dark] h6.accordion-item-title,html[data-netbox-color-mode=light] h1.accordion-item-title,html[data-netbox-color-mode=light] h2.accordion-item-title,html[data-netbox-color-mode=light] h3.accordion-item-title,html[data-netbox-color-mode=light] h4.accordion-item-title,html[data-netbox-color-mode=light] h5.accordion-item-title,html[data-netbox-color-mode=light] h6.accordion-item-title{padding:.25rem .5rem;font-size:.875rem;font-weight:700;color:var(--nbx-sidebar-title-color);text-transform:uppercase}}@media print{html .form-login,html[data-netbox-color-mode=dark] .form-login,html[data-netbox-color-mode=light] .form-login{width:100%;max-width:330px;padding:15px}}@media print{html .form-login input:focus,html[data-netbox-color-mode=dark] .form-login input:focus,html[data-netbox-color-mode=light] .form-login input:focus{z-index:1}}@media print{html .form-login input[type=text],html[data-netbox-color-mode=dark] .form-login input[type=text],html[data-netbox-color-mode=light] .form-login input[type=text]{margin-bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}}@media print{html .form-login input[type=password],html[data-netbox-color-mode=dark] .form-login input[type=password],html[data-netbox-color-mode=light] .form-login input[type=password]{margin-bottom:10px;border-top-left-radius:0;border-top-right-radius:0}}@media print{html .form-login .form-control,html[data-netbox-color-mode=dark] .form-login .form-control,html[data-netbox-color-mode=light] .form-login .form-control{position:relative;box-sizing:border-box;height:auto;padding:10px;font-size:16px}}@media print{html .navbar,html[data-netbox-color-mode=dark] .navbar,html[data-netbox-color-mode=light] .navbar{border-bottom:1px solid #ced4da}}@media print{html .navbar-brand,html[data-netbox-color-mode=dark] .navbar-brand,html[data-netbox-color-mode=light] .navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}}@media print{html nav.nav.nav-pills .nav-item.nav-link,html[data-netbox-color-mode=dark] nav.nav.nav-pills .nav-item.nav-link,html[data-netbox-color-mode=light] nav.nav.nav-pills .nav-item.nav-link{padding:.25rem .5rem;font-size:.875rem;border-radius:.375rem}}@media print{html nav.nav.nav-pills .nav-item.nav-link:hover,html[data-netbox-color-mode=dark] nav.nav.nav-pills .nav-item.nav-link:hover,html[data-netbox-color-mode=light] nav.nav.nav-pills .nav-item.nav-link:hover{color:#343a40;background-color:#cfe2ff}}@media print{html div.content-container,html[data-netbox-color-mode=dark] div.content-container,html[data-netbox-color-mode=light] div.content-container{position:relative;display:flex;flex-direction:column;width:calc(100% - 3rem);min-height:100vh;overflow-x:hidden;overflow-y:auto}}@media print{html div.content-container:focus,html div.content-container:focus-visible,html[data-netbox-color-mode=dark] div.content-container:focus,html[data-netbox-color-mode=dark] div.content-container:focus-visible,html[data-netbox-color-mode=light] div.content-container:focus,html[data-netbox-color-mode=light] div.content-container:focus-visible{outline:0}}@media print{html div.content-container div.content,html[data-netbox-color-mode=dark] div.content-container div.content,html[data-netbox-color-mode=light] div.content-container div.content{background-color:#f8f9fa;flex:1}}@media print and (max-width: 991.98px){html div.content-container,html[data-netbox-color-mode=dark] div.content-container,html[data-netbox-color-mode=light] div.content-container{width:100%}}@media print{html div.content-container,html[data-netbox-color-mode=dark] div.content-container,html[data-netbox-color-mode=light] div.content-container{width:100%!important;margin-left:0!important}}@media print and (max-width: 768px){html .sidebar.collapse.show~.content-container>.content,html[data-netbox-color-mode=dark] .sidebar.collapse.show~.content-container>.content,html[data-netbox-color-mode=light] .sidebar.collapse.show~.content-container>.content{position:fixed;top:0;left:0;overflow-y:hidden}}@media print{html .tooltip,html[data-netbox-color-mode=dark] .tooltip,html[data-netbox-color-mode=light] .tooltip{pointer-events:none}}@media print{html span.color-label,html[data-netbox-color-mode=dark] span.color-label,html[data-netbox-color-mode=light] span.color-label{display:block;width:5rem;height:1rem;padding:.35em .65em;border:1px solid #303030;border-radius:.375rem;box-shadow:0 .125rem .25rem #00000013}}@media print{html .badge a,html[data-netbox-color-mode=dark] .badge a,html[data-netbox-color-mode=light] .badge a{color:inherit}}@media print{html .btn,html[data-netbox-color-mode=dark] .btn,html[data-netbox-color-mode=light] .btn{white-space:nowrap}}@media print{html .card,html[data-netbox-color-mode=dark] .card,html[data-netbox-color-mode=light] .card{box-shadow:0 .125rem .25rem #00000013}}@media print{html .card .card-header,html[data-netbox-color-mode=dark] .card .card-header,html[data-netbox-color-mode=light] .card .card-header{padding:1rem;color:var(--nbx-body-color);border-bottom:none}}@media print{html .card .card-header+.card-body,html[data-netbox-color-mode=dark] .card .card-header+.card-body,html[data-netbox-color-mode=light] .card .card-header+.card-body{padding-top:0}}@media print{html .card .card-body.small .form-control,html .card .card-body.small .form-select,html[data-netbox-color-mode=dark] .card .card-body.small .form-control,html[data-netbox-color-mode=dark] .card .card-body.small .form-select,html[data-netbox-color-mode=light] .card .card-body.small .form-control,html[data-netbox-color-mode=light] .card .card-body.small .form-select{font-size:.875rem}}@media print{html .card .card-divider,html[data-netbox-color-mode=dark] .card .card-divider,html[data-netbox-color-mode=light] .card .card-divider{width:100%;height:1px;margin:1rem 0;border-top:1px solid rgba(0,0,0,.125);opacity:.25}}@media print{html .card,html[data-netbox-color-mode=dark] .card,html[data-netbox-color-mode=light] .card{box-shadow:unset!important}}@media print{html .form-floating,html[data-netbox-color-mode=dark] .form-floating,html[data-netbox-color-mode=light] .form-floating{position:relative}}@media print{html .form-floating>.input-group>.form-control,html .form-floating>.input-group>.form-select,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}}@media print{html .form-floating>.input-group>label,html[data-netbox-color-mode=dark] .form-floating>.input-group>label,html[data-netbox-color-mode=light] .form-floating>.input-group>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}}@media print and (prefers-reduced-motion: reduce){html .form-floating>.input-group>label,html[data-netbox-color-mode=dark] .form-floating>.input-group>label,html[data-netbox-color-mode=light] .form-floating>.input-group>label{transition:none}}@media print{html .form-floating>.input-group>.form-control::placeholder,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control::placeholder,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control::placeholder{color:transparent}}@media print{html .form-floating>.input-group>.form-control:focus,html .form-floating>.input-group>.form-control:not(:placeholder-shown),html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:focus,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:not(:placeholder-shown),html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:focus,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.input-group>.form-control:-webkit-autofill,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:-webkit-autofill,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.input-group>.form-select,html .form-floating>.choices>.choices__inner,html .form-floating>.ss-main span.placeholder,html .form-floating>.ss-main div.ss-values,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select,html[data-netbox-color-mode=dark] .form-floating>.choices>.choices__inner,html[data-netbox-color-mode=dark] .form-floating>.ss-main span.placeholder,html[data-netbox-color-mode=dark] .form-floating>.ss-main div.ss-values,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-select,html[data-netbox-color-mode=light] .form-floating>.choices>.choices__inner,html[data-netbox-color-mode=light] .form-floating>.ss-main span.placeholder,html[data-netbox-color-mode=light] .form-floating>.ss-main div.ss-values{padding-top:1.625rem;padding-bottom:.625rem}}@media print{html .form-floating>.input-group>.form-control:focus~label,html .form-floating>.input-group>.form-control:not(:placeholder-shown)~label,html .form-floating>.input-group>.form-select~label,html .form-floating>.choices~label,html .form-floating>.ss-main~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:focus~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-select~label,html[data-netbox-color-mode=dark] .form-floating>.choices~label,html[data-netbox-color-mode=dark] .form-floating>.ss-main~label,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:focus~label,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:not(:placeholder-shown)~label,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-select~label,html[data-netbox-color-mode=light] .form-floating>.choices~label,html[data-netbox-color-mode=light] .form-floating>.ss-main~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem);z-index:4}}@media print{html .form-floating>.input-group>.form-control:-webkit-autofill~label,html[data-netbox-color-mode=dark] .form-floating>.input-group>.form-control:-webkit-autofill~label,html[data-netbox-color-mode=light] .form-floating>.input-group>.form-control:-webkit-autofill~label{z-index:4;opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}}@media print{html .form-object-edit,html[data-netbox-color-mode=dark] .form-object-edit,html[data-netbox-color-mode=light] .form-object-edit{margin:0 auto;max-width:800px}}@media print{html textarea.form-control[rows="10"],html[data-netbox-color-mode=dark] textarea.form-control[rows="10"],html[data-netbox-color-mode=light] textarea.form-control[rows="10"]{height:18rem}}@media print{html textarea#id_local_context_data,html textarea.markdown,html textarea#id_public_key,html textarea.form-control[name=csv],html textarea.form-control[name=data],html[data-netbox-color-mode=dark] textarea#id_local_context_data,html[data-netbox-color-mode=dark] textarea.markdown,html[data-netbox-color-mode=dark] textarea#id_public_key,html[data-netbox-color-mode=dark] textarea.form-control[name=csv],html[data-netbox-color-mode=dark] textarea.form-control[name=data],html[data-netbox-color-mode=light] textarea#id_local_context_data,html[data-netbox-color-mode=light] textarea.markdown,html[data-netbox-color-mode=light] textarea#id_public_key,html[data-netbox-color-mode=light] textarea.form-control[name=csv],html[data-netbox-color-mode=light] textarea.form-control[name=data]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}}@media print{html .card:not(:only-of-type),html[data-netbox-color-mode=dark] .card:not(:only-of-type),html[data-netbox-color-mode=light] .card:not(:only-of-type){margin-bottom:1rem}}@media print{html .stat-btn,html[data-netbox-color-mode=dark] .stat-btn,html[data-netbox-color-mode=light] .stat-btn{min-width:3rem}}@media print{html nav.breadcrumb-container,html[data-netbox-color-mode=dark] nav.breadcrumb-container,html[data-netbox-color-mode=light] nav.breadcrumb-container{width:fit-content;padding:.35em .65em;font-size:.875rem}}@media print{html nav.breadcrumb-container ol.breadcrumb,html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb,html[data-netbox-color-mode=light] nav.breadcrumb-container ol.breadcrumb{margin-bottom:0}}@media print{html nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a,html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a,html[data-netbox-color-mode=light] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a{text-decoration:none}}@media print{html nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover,html[data-netbox-color-mode=dark] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover,html[data-netbox-color-mode=light] nav.breadcrumb-container ol.breadcrumb li.breadcrumb-item>a:hover{text-decoration:underline}}@media print{html label.required,html[data-netbox-color-mode=dark] label.required,html[data-netbox-color-mode=light] label.required{font-weight:700}}@media print{html label.required:after,html[data-netbox-color-mode=dark] label.required:after,html[data-netbox-color-mode=light] label.required:after{position:absolute;display:inline-block;margin:0 0 0 2px;font-family:"Material Design Icons";font-size:8px;font-style:normal;font-weight:600;text-decoration:none;content:"\f06c4"}}@media print{html div.bulk-buttons,html[data-netbox-color-mode=dark] div.bulk-buttons,html[data-netbox-color-mode=light] div.bulk-buttons{display:flex;justify-content:space-between;margin:.5rem 0}}@media print{html div.bulk-buttons>div.bulk-button-group,html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group,html[data-netbox-color-mode=light] div.bulk-buttons>div.bulk-button-group{display:flex;flex-wrap:wrap;align-items:flex-start}}@media print{html div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child,html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child,html[data-netbox-color-mode=light] div.bulk-buttons>div.bulk-button-group:first-of-type:not(:last-of-type)>*:first-child{margin-left:0}}@media print{html div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child,html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child,html[data-netbox-color-mode=light] div.bulk-buttons>div.bulk-button-group:last-of-type:not(:first-of-type)>*:last-child{margin-right:0}}@media print{html div.bulk-buttons>div.bulk-button-group>*,html[data-netbox-color-mode=dark] div.bulk-buttons>div.bulk-button-group>*,html[data-netbox-color-mode=light] div.bulk-buttons>div.bulk-button-group>*{margin:.25rem}}@media print{html table tbody tr.primary,html[data-netbox-color-mode=dark] table tbody tr.primary,html[data-netbox-color-mode=light] table tbody tr.primary{background-color:#337ab726;border-color:#adb5bd}}@media print{html table tbody tr.secondary,html[data-netbox-color-mode=dark] table tbody tr.secondary,html[data-netbox-color-mode=light] table tbody tr.secondary{background-color:#6c757d26;border-color:#adb5bd}}@media print{html table tbody tr.success,html[data-netbox-color-mode=dark] table tbody tr.success,html[data-netbox-color-mode=light] table tbody tr.success{background-color:#19875426;border-color:#adb5bd}}@media print{html table tbody tr.info,html[data-netbox-color-mode=dark] table tbody tr.info,html[data-netbox-color-mode=light] table tbody tr.info{background-color:#54d6f026;border-color:#adb5bd}}@media print{html table tbody tr.warning,html[data-netbox-color-mode=dark] table tbody tr.warning,html[data-netbox-color-mode=light] table tbody tr.warning{background-color:#ffc10726;border-color:#adb5bd}}@media print{html table tbody tr.danger,html[data-netbox-color-mode=dark] table tbody tr.danger,html[data-netbox-color-mode=light] table tbody tr.danger{background-color:#dc354526;border-color:#adb5bd}}@media print{html table tbody tr.light,html[data-netbox-color-mode=dark] table tbody tr.light,html[data-netbox-color-mode=light] table tbody tr.light{background-color:#e9ecef26;border-color:#adb5bd}}@media print{html table tbody tr.dark,html[data-netbox-color-mode=dark] table tbody tr.dark,html[data-netbox-color-mode=light] table tbody tr.dark{background-color:#343a4026;border-color:#adb5bd}}@media print{html table tbody tr.blue,html[data-netbox-color-mode=dark] table tbody tr.blue,html[data-netbox-color-mode=light] table tbody tr.blue{background-color:#0d6efd26;border-color:#adb5bd}}@media print{html table tbody tr.indigo,html[data-netbox-color-mode=dark] table tbody tr.indigo,html[data-netbox-color-mode=light] table tbody tr.indigo{background-color:#6610f226;border-color:#adb5bd}}@media print{html table tbody tr.purple,html[data-netbox-color-mode=dark] table tbody tr.purple,html[data-netbox-color-mode=light] table tbody tr.purple{background-color:#6f42c126;border-color:#adb5bd}}@media print{html table tbody tr.pink,html[data-netbox-color-mode=dark] table tbody tr.pink,html[data-netbox-color-mode=light] table tbody tr.pink{background-color:#d6338426;border-color:#adb5bd}}@media print{html table tbody tr.red,html[data-netbox-color-mode=dark] table tbody tr.red,html[data-netbox-color-mode=light] table tbody tr.red{background-color:#dc354526;border-color:#adb5bd}}@media print{html table tbody tr.orange,html[data-netbox-color-mode=dark] table tbody tr.orange,html[data-netbox-color-mode=light] table tbody tr.orange{background-color:#fd7e1426;border-color:#adb5bd}}@media print{html table tbody tr.yellow,html[data-netbox-color-mode=dark] table tbody tr.yellow,html[data-netbox-color-mode=light] table tbody tr.yellow{background-color:#ffc10726;border-color:#adb5bd}}@media print{html table tbody tr.green,html[data-netbox-color-mode=dark] table tbody tr.green,html[data-netbox-color-mode=light] table tbody tr.green{background-color:#19875426;border-color:#adb5bd}}@media print{html table tbody tr.teal,html[data-netbox-color-mode=dark] table tbody tr.teal,html[data-netbox-color-mode=light] table tbody tr.teal{background-color:#20c99726;border-color:#adb5bd}}@media print{html table tbody tr.cyan,html[data-netbox-color-mode=dark] table tbody tr.cyan,html[data-netbox-color-mode=light] table tbody tr.cyan{background-color:#0dcaf026;border-color:#adb5bd}}@media print{html table tbody tr.gray,html[data-netbox-color-mode=dark] table tbody tr.gray,html[data-netbox-color-mode=light] table tbody tr.gray{background-color:#adb5bd26;border-color:#adb5bd}}@media print{html table tbody tr.black,html[data-netbox-color-mode=dark] table tbody tr.black,html[data-netbox-color-mode=light] table tbody tr.black{background-color:#00000026;border-color:#adb5bd}}@media print{html table tbody tr.white,html[data-netbox-color-mode=dark] table tbody tr.white,html[data-netbox-color-mode=light] table tbody tr.white{background-color:#ffffff26;border-color:#adb5bd}}@media print{html table .table-badge-group .table-badge,html[data-netbox-color-mode=dark] table .table-badge-group .table-badge,html[data-netbox-color-mode=light] table .table-badge-group .table-badge{display:block;width:min-content;font-size:.875rem;font-weight:400}}@media print{html table .table-badge-group .table-badge:not(.badge),html[data-netbox-color-mode=dark] table .table-badge-group .table-badge:not(.badge),html[data-netbox-color-mode=light] table .table-badge-group .table-badge:not(.badge){padding:0 .65em}}@media print{html table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child),html[data-netbox-color-mode=dark] table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child),html[data-netbox-color-mode=light] table .table-badge-group .table-badge.badge:not(:last-of-type):not(:only-child){margin-bottom:.25rem}}@media print{html pre.change-data,html[data-netbox-color-mode=dark] pre.change-data,html[data-netbox-color-mode=light] pre.change-data{padding-right:0;padding-left:0}}@media print{html pre.change-data>span,html[data-netbox-color-mode=dark] pre.change-data>span,html[data-netbox-color-mode=light] pre.change-data>span{display:block;padding-right:1rem;padding-left:1rem}}@media print{html pre.change-data>span.added,html[data-netbox-color-mode=dark] pre.change-data>span.added,html[data-netbox-color-mode=light] pre.change-data>span.added{background-color:var(--nbx-change-added)}}@media print{html pre.change-data>span.removed,html[data-netbox-color-mode=dark] pre.change-data>span.removed,html[data-netbox-color-mode=light] pre.change-data>span.removed{background-color:var(--nbx-change-removed)}}@media print{html pre.change-diff,html[data-netbox-color-mode=dark] pre.change-diff,html[data-netbox-color-mode=light] pre.change-diff{border-color:transparent}}@media print{html pre.change-diff.change-removed,html[data-netbox-color-mode=dark] pre.change-diff.change-removed,html[data-netbox-color-mode=light] pre.change-diff.change-removed{background-color:var(--nbx-change-removed)}}@media print{html pre.change-diff.change-added,html[data-netbox-color-mode=dark] pre.change-diff.change-added,html[data-netbox-color-mode=light] pre.change-diff.change-added{background-color:var(--nbx-change-added)}}@media print{html div.card-overlay,html[data-netbox-color-mode=dark] div.card-overlay,html[data-netbox-color-mode=light] div.card-overlay{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#ffffffbf;border-radius:.375rem}}@media print{html div.card-overlay>div.spinner-border,html[data-netbox-color-mode=dark] div.card-overlay>div.spinner-border,html[data-netbox-color-mode=light] div.card-overlay>div.spinner-border{width:6rem;height:6rem;color:#6c757d}}@media print{html .table-controls,html[data-netbox-color-mode=dark] .table-controls,html[data-netbox-color-mode=light] .table-controls{display:flex}}@media print and (min-width: 768px){html .table-controls,html[data-netbox-color-mode=dark] .table-controls,html[data-netbox-color-mode=light] .table-controls{margin-top:0!important;margin-bottom:0!important}}@media print{html .table-controls .table-configure,html[data-netbox-color-mode=dark] .table-controls .table-configure,html[data-netbox-color-mode=light] .table-controls .table-configure{justify-content:flex-start}}@media print and (min-width: 768px){html .table-controls .table-configure,html[data-netbox-color-mode=dark] .table-controls .table-configure,html[data-netbox-color-mode=light] .table-controls .table-configure{justify-content:flex-end}}@media print{html .table-controls .form-switch.form-check-inline,html[data-netbox-color-mode=dark] .table-controls .form-switch.form-check-inline,html[data-netbox-color-mode=light] .table-controls .form-switch.form-check-inline{flex:1 0 auto;font-size:.875rem}}@media print{html .nav-tabs,html[data-netbox-color-mode=dark] .nav-tabs,html[data-netbox-color-mode=light] .nav-tabs{background-color:#fff}}@media print{html .nav-tabs .nav-link:hover,html[data-netbox-color-mode=dark] .nav-tabs .nav-link:hover,html[data-netbox-color-mode=light] .nav-tabs .nav-link:hover{border-bottom-color:transparent}}@media print{html .nav-tabs .nav-link.active,html[data-netbox-color-mode=dark] .nav-tabs .nav-link.active,html[data-netbox-color-mode=light] .nav-tabs .nav-link.active{background-color:#f8f9fa;border-bottom-color:#f8f9fa;transform:translateY(1px)}}@media print{html .tab-content,html[data-netbox-color-mode=dark] .tab-content,html[data-netbox-color-mode=light] .tab-content{display:flex;flex-direction:column;padding:1rem}}@media print{html .masonry,html[data-netbox-color-mode=dark] .masonry,html[data-netbox-color-mode=light] .masonry{position:static!important;display:block!important;height:unset!important}}@media print{html .masonry .masonry-item,html[data-netbox-color-mode=dark] .masonry .masonry-item,html[data-netbox-color-mode=light] .masonry .masonry-item{position:static!important;top:unset!important;left:unset!important;display:block!important}}@media print{html .record-depth,html[data-netbox-color-mode=dark] .record-depth,html[data-netbox-color-mode=light] .record-depth{display:inline;font-size:1rem;user-select:none;opacity:.33}}@media print{html .record-depth span:only-of-type,html .record-depth span:last-of-type,html[data-netbox-color-mode=dark] .record-depth span:only-of-type,html[data-netbox-color-mode=dark] .record-depth span:last-of-type,html[data-netbox-color-mode=light] .record-depth span:only-of-type,html[data-netbox-color-mode=light] .record-depth span:last-of-type{margin-right:.25rem}}@media print{html .popover.image-preview-popover,html[data-netbox-color-mode=dark] .popover.image-preview-popover,html[data-netbox-color-mode=light] .popover.image-preview-popover{max-width:unset}}@media print{html .rendered-markdown table,html[data-netbox-color-mode=dark] .rendered-markdown table,html[data-netbox-color-mode=light] .rendered-markdown table{width:100%}}@media print{html .rendered-markdown th,html[data-netbox-color-mode=dark] .rendered-markdown th,html[data-netbox-color-mode=light] .rendered-markdown th{border-bottom:2px solid #ddd;padding:8px}}@media print{html .rendered-markdown td,html[data-netbox-color-mode=dark] .rendered-markdown td,html[data-netbox-color-mode=light] .rendered-markdown td{border-top:1px solid #ddd;padding:8px}}@media print{html td pre,html[data-netbox-color-mode=dark] td pre,html[data-netbox-color-mode=light] td pre{margin-bottom:0}}@media print{html pre.block,html[data-netbox-color-mode=dark] pre.block,html[data-netbox-color-mode=light] pre.block{padding:1rem;background-color:var(--nbx-pre-bg);border:1px solid var(--nbx-pre-border-color);border-radius:.375rem}}@media print{html #django-messages,html[data-netbox-color-mode=dark] #django-messages,html[data-netbox-color-mode=light] #django-messages{position:fixed;right:1rem;bottom:0;margin:1rem}}@media print{html html[data-netbox-url-name=home] .content-container,html html[data-netbox-url-name=home] .search,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home] .content-container,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home] .search,html[data-netbox-color-mode=light] html[data-netbox-url-name=home] .content-container,html[data-netbox-color-mode=light] html[data-netbox-url-name=home] .search{background-color:#f8f9fa!important}}@media print{html html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html[data-netbox-color-mode=dark] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search,html[data-netbox-color-mode=light] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .content-container,html[data-netbox-color-mode=light] html[data-netbox-url-name=home][data-netbox-color-mode=dark] .search{background-color:#171b1d!important}}@media print{html html[data-netbox-url-name=login] #django-messages,html[data-netbox-color-mode=dark] html[data-netbox-url-name=login] #django-messages,html[data-netbox-color-mode=light] html[data-netbox-url-name=login] #django-messages{display:none}} diff --git a/netbox/project-static/styles/netbox.scss b/netbox/project-static/styles/netbox.scss index d78429bf953..a54b6c32434 100644 --- a/netbox/project-static/styles/netbox.scss +++ b/netbox/project-static/styles/netbox.scss @@ -358,7 +358,7 @@ nav.search { // Don't overtake dropdowns z-index: 999; justify-content: center; - background-color: var(--nbx-body-bg); + background-color: $navbar-light-color; .search-container { display: flex; @@ -452,8 +452,8 @@ main.login-container { } .footer { + background-color: $tab-content-bg; padding: 0; - .nav-link { padding: 0.5rem; } @@ -517,6 +517,10 @@ h6.accordion-item-title { } } +.navbar { + border-bottom: 1px solid $border-color; +} + .navbar-brand { padding-top: 0.75rem; padding-bottom: 0.75rem; @@ -554,6 +558,7 @@ div.content-container { } div.content { + background-color: $tab-content-bg; flex: 1; } @@ -592,6 +597,10 @@ span.color-label { box-shadow: $box-shadow-sm; } +.badge a { + color: inherit; +} + .btn { white-space: nowrap; } @@ -898,6 +907,7 @@ div.card-overlay { // Tabbed content .nav-tabs { + background-color: $body-bg; .nav-link { &:hover { // Don't show a bottom-border on a hovered nav link because it overlaps with the .nav-tab border. @@ -919,14 +929,6 @@ div.card-overlay { display: flex; flex-direction: column; padding: $spacer; - background-color: $tab-content-bg; - border-bottom: 1px solid $nav-tabs-border-color; - - // Remove background and border when printing. - @media print { - background-color: var(--nbx-body-bg) !important; - border-bottom: none !important; - } } // Override masonry-layout styles when printing. diff --git a/netbox/project-static/styles/sidenav.scss b/netbox/project-static/styles/sidenav.scss index 9dfdd855a41..4261e5120b1 100644 --- a/netbox/project-static/styles/sidenav.scss +++ b/netbox/project-static/styles/sidenav.scss @@ -223,11 +223,6 @@ font-weight: $font-weight-bold; color: var(--nbx-sidenav-parent-color); - &.active { - color: $accordion-button-active-color; - background: $accordion-button-active-bg; - } - &:after { display: inline-block; margin-left: auto; @@ -284,7 +279,7 @@ font-size: $font-size-sm; color: var(--nbx-sidenav-link-color); white-space: nowrap; - transition: $transition-100ms-ease-in-out; + transition-duration: 0ms; &.active { background-color: var(--nbx-sidebar-link-active-bg); diff --git a/netbox/project-static/styles/theme-dark.scss b/netbox/project-static/styles/theme-dark.scss index c787d38bf8f..2db29ad38ea 100644 --- a/netbox/project-static/styles/theme-dark.scss +++ b/netbox/project-static/styles/theme-dark.scss @@ -146,7 +146,7 @@ $nav-tabs-link-active-border-color: $gray-800 $gray-800 $nav-tabs-link-active-bg $nav-pills-link-active-color: $component-active-color; $nav-pills-link-active-bg: $component-active-bg; -$navbar-light-color: $gray-500; +$navbar-light-color: $darkest; $navbar-light-toggler-icon-bg: url("data:image/svg+xml,"); $navbar-light-toggler-border-color: $gray-700; diff --git a/netbox/project-static/styles/theme-light.scss b/netbox/project-static/styles/theme-light.scss index 05ead54b5e0..d417e1bf67c 100644 --- a/netbox/project-static/styles/theme-light.scss +++ b/netbox/project-static/styles/theme-light.scss @@ -2,8 +2,6 @@ @import './theme-base.scss'; -$input-border-color: $gray-200; - // Theme colors (BS5 classes) $primary: #337ab7; $secondary: $gray-600; @@ -43,6 +41,8 @@ $theme-colors: ( $light: $gray-200; +$navbar-light-color: $gray-100; + $card-cap-color: $gray-800; $accordion-bg: transparent; diff --git a/netbox/project-static/styles/variables.scss b/netbox/project-static/styles/variables.scss index ddeb6025a3b..8075cf5b0dd 100644 --- a/netbox/project-static/styles/variables.scss +++ b/netbox/project-static/styles/variables.scss @@ -5,7 +5,7 @@ --nbx-sidebar-bg: #{$gray-200}; --nbx-sidebar-scroll: #{$gray-500}; --nbx-sidebar-link-hover-bg: #{rgba($gray-600, 0.15)}; - --nbx-sidebar-link-active-bg: #{$blue-100}; + --nbx-sidebar-link-active-bg: #9cc8f8; --nbx-sidebar-title-color: #{$text-muted}; --nbx-sidebar-shadow: inset 0px -25px 20px -25px rgba(0, 0, 0, 0.25); --nbx-breadcrumb-bg: #{$light}; diff --git a/netbox/templates/base/layout.html b/netbox/templates/base/layout.html index 7b1597bf036..cf3841dd257 100644 --- a/netbox/templates/base/layout.html +++ b/netbox/templates/base/layout.html @@ -20,7 +20,7 @@ {# Top bar #} -